Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
Your Cashier
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ahmad Abi Mulya
Your Cashier
Commits
bee2fb9a
Commit
bee2fb9a
authored
Aug 26, 2020
by
Ahmad Abi Mulya
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update slider
parent
7629187c
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
3 additions
and
65 deletions
+3
-65
ProductActivity.java
...m/example/yourcashiertest/activities/ProductActivity.java
+0
-63
yout_cashier.png
app/src/main/res/drawable/yout_cashier.png
+0
-0
slide1.xml
app/src/main/res/layout/slide1.xml
+2
-1
strings.xml
app/src/main/res/values/strings.xml
+1
-1
No files found.
app/src/main/java/com/example/yourcashiertest/activities/ProductActivity.java
View file @
bee2fb9a
...
...
@@ -4,8 +4,6 @@ import androidx.appcompat.app.AppCompatActivity;
import
androidx.core.content.FileProvider
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.loader.content.CursorLoader
;
import
android.Manifest
;
import
android.annotation.SuppressLint
;
import
android.app.AlertDialog
;
...
...
@@ -20,17 +18,14 @@ import android.os.Environment;
import
android.provider.MediaStore
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
com.example.yourcashiertest.R
;
import
com.example.yourcashiertest.databinding.ActivityProductBinding
;
import
com.example.yourcashiertest.entities.Product
;
import
com.example.yourcashiertest.utils.ViewUtil
;
import
com.example.yourcashiertest.viewmodels.ProductViewModel
;
import
java.io.File
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
public
class
ProductActivity
extends
AppCompatActivity
{
private
static
final
int
PICK_IMAGE
=
123
;
ActivityProductBinding
binding
;
...
...
@@ -38,36 +33,26 @@ public class ProductActivity extends AppCompatActivity{
private
static
final
int
REQUEST_IMAGE_CAPTURE
=
1
;
private
File
file
;
private
ProductViewModel
viewModel
;
Uri
selectedImageUri
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
viewModel
=
new
ViewModelProvider
(
this
).
get
(
ProductViewModel
.
class
);
binding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_product
);
Product
product
=
getIntent
().
getParcelableExtra
(
MainActivity
.
DATA_PRODUCT
);
if
(
getSupportActionBar
()
!=
null
)
{
getSupportActionBar
().
setHomeButtonEnabled
(
true
);
getSupportActionBar
().
setDisplayHomeAsUpEnabled
(
true
);
}
if
(
product
!=
null
){
isUpdate
=
true
;
viewModel
.
setPhoto
(
product
.
getPhoto
());
viewModel
.
setProduct
(
product
);
binding
.
btnSubmit
.
setText
(
R
.
string
.
btn_edit
);
binding
.
tvHeadProduct
.
setText
(
"UPDATE PRODUCT"
);
}
else
{
product
=
new
Product
(
""
,
""
,
0
,
0
,
""
,
""
);
}
binding
.
cvProduct
.
setOnClickListener
(
v
->
selectAction
(
this
));
Product
fixProduct
=
product
;
binding
.
btnSubmit
.
setOnClickListener
(
v
->
{
try
{
...
...
@@ -79,56 +64,30 @@ public class ProductActivity extends AppCompatActivity{
ViewUtil
.
showMessage
(
binding
.
getRoot
(),
getString
(
R
.
string
.
form_error_message
));
return
;
}
if
(
file
!=
null
){
fixProduct
.
setPhoto
(
file
.
getAbsolutePath
());
}
else
{
fixProduct
.
setPhoto
(
""
);
}
fixProduct
.
setName
(
binding
.
etProduct
.
getText
().
toString
());
fixProduct
.
setCategory
(
binding
.
etCategory
.
getText
().
toString
());
fixProduct
.
setDescription
(
binding
.
etDescription
.
getText
().
toString
());
fixProduct
.
setPrice
(
Long
.
parseLong
(
binding
.
etPrice
.
getText
().
toString
()));
fixProduct
.
setQuantity
(
Long
.
parseLong
(
binding
.
etQuantity
.
getText
().
toString
()));
if
(
isUpdate
){
viewModel
.
updateProduct
(
fixProduct
);
}
else
{
viewModel
.
insertProduct
(
fixProduct
);
}
finish
();
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
});
binding
.
setViewModel
(
viewModel
);
}
private
void
openFile
(){
Intent
i
=
new
Intent
(
Intent
.
ACTION_PICK
,
MediaStore
.
Images
.
Media
.
EXTERNAL_CONTENT_URI
);
startActivityForResult
(
i
,
100
);
}
private
String
getRealPathFromURI
(
Uri
contentUri
)
{
String
[]
proj
=
{
MediaStore
.
Images
.
Media
.
DATA
};
CursorLoader
loader
=
new
CursorLoader
(
this
,
contentUri
,
proj
,
null
,
null
,
null
);
Cursor
cursor
=
loader
.
loadInBackground
();
int
column_index
=
cursor
.
getColumnIndexOrThrow
(
MediaStore
.
Images
.
Media
.
DATA
);
cursor
.
moveToFirst
();
String
result
=
cursor
.
getString
(
column_index
);
cursor
.
close
();
return
result
;
}
private
void
takePhoto
()
{
Intent
takePictureIntent
=
new
Intent
(
MediaStore
.
ACTION_IMAGE_CAPTURE
);
if
(
takePictureIntent
.
resolveActivity
(
getPackageManager
())
!=
null
)
{
File
photoFile
=
createImageFile
();
if
(
photoFile
!=
null
)
{
Uri
photoURI
=
FileProvider
.
getUriForFile
(
this
,
"com.example.yourcashiertest.fileprovider"
,
...
...
@@ -138,18 +97,13 @@ public class ProductActivity extends AppCompatActivity{
}
}
}
private
void
selectAction
(
Context
context
){
final
CharSequence
[]
options
=
{
"Take Photo"
,
"Choose from Gallery"
,
"Cancel"
};
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
context
);
builder
.
setTitle
(
"Choose your profile picture"
);
builder
.
setItems
(
options
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
item
)
{
if
(
options
[
item
].
equals
(
"Take Photo"
))
{
takePhoto
();
}
else
if
(
options
[
item
].
equals
(
"Choose from Gallery"
))
{
...
...
@@ -161,14 +115,11 @@ public class ProductActivity extends AppCompatActivity{
});
builder
.
show
();
}
private
void
openGallery
(){
Intent
intent
=
new
Intent
(
Intent
.
ACTION_PICK
);
intent
.
setType
(
"image/*"
);
startActivityForResult
(
intent
,
PICK_IMAGE
);
}
private
File
createImageFile
()
{
try
{
String
timeStamp
=
new
SimpleDateFormat
(
"yyyyMMdd_HHmmss"
).
format
(
new
Date
());
...
...
@@ -181,23 +132,13 @@ public class ProductActivity extends AppCompatActivity{
return
image
;
}
catch
(
Exception
ex
)
{
ex
.
printStackTrace
();
return
null
;
}
}
public
void
getPhoto
(){
Intent
intent
=
new
Intent
();
intent
.
setType
(
"image/*"
);
intent
.
setAction
(
Intent
.
ACTION_GET_CONTENT
);
startActivityForResult
(
Intent
.
createChooser
(
intent
,
"select a picture"
),
REQUEST_IMAGE_CAPTURE
);
}
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
Uri
imageUri
;
if
(
resultCode
==
RESULT_OK
&&
requestCode
==
PICK_IMAGE
){
//set image to image view
binding
.
ivProduct
.
setImageURI
(
data
.
getData
());
...
...
@@ -209,7 +150,6 @@ public class ProductActivity extends AppCompatActivity{
}
}
}
public
String
getPath
(
Uri
uri
)
{
String
[]
projection
=
{
MediaStore
.
Images
.
Media
.
DATA
};
...
...
@@ -221,17 +161,14 @@ public class ProductActivity extends AppCompatActivity{
cursor
.
close
();
return
s
;
}
@Override
public
boolean
onSupportNavigateUp
()
{
onBackPressed
();
return
super
.
onSupportNavigateUp
();
}
@Override
protected
void
onDestroy
()
{
super
.
onDestroy
();
binding
=
null
;
}
}
\ No newline at end of file
app/src/main/res/drawable/yout_cashier.png
0 → 100644
View file @
bee2fb9a
5.65 KB
app/src/main/res/layout/slide1.xml
View file @
bee2fb9a
...
...
@@ -13,7 +13,8 @@
<ImageView
android:layout_width=
"250dp"
android:layout_height=
"200dp"
/>
android:layout_height=
"200dp"
android:src=
"@drawable/yout_cashier"
/>
<TextView
android:layout_width=
"wrap_content"
...
...
app/src/main/res/values/strings.xml
View file @
bee2fb9a
...
...
@@ -27,7 +27,7 @@
<string
name=
"payment_by_cash_was_successful"
>
Payment by Cash was successful
</string>
<string
name=
"refund"
>
Refund
</string>
<string
name=
"payment_status"
>
Payment Status
</string>
<string
name=
"lupa_password"
>
Forg
e
t Password?
</string>
<string
name=
"lupa_password"
>
Forg
o
t Password?
</string>
<string
name=
"dont_have_an_account"
>
Dont have an Account?
</string>
<string
name=
"sign_up_here"
>
Sign Up Here
</string>
<string
name=
"sign_in_here"
>
Sign In Here
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment