Commit bee2fb9a authored by Ahmad Abi Mulya's avatar Ahmad Abi Mulya

update slider

parent 7629187c
...@@ -4,8 +4,6 @@ import androidx.appcompat.app.AppCompatActivity; ...@@ -4,8 +4,6 @@ import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.FileProvider; import androidx.core.content.FileProvider;
import androidx.databinding.DataBindingUtil; import androidx.databinding.DataBindingUtil;
import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelProvider;
import androidx.loader.content.CursorLoader;
import android.Manifest; import android.Manifest;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.AlertDialog; import android.app.AlertDialog;
...@@ -20,17 +18,14 @@ import android.os.Environment; ...@@ -20,17 +18,14 @@ import android.os.Environment;
import android.provider.MediaStore; import android.provider.MediaStore;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import com.example.yourcashiertest.R; import com.example.yourcashiertest.R;
import com.example.yourcashiertest.databinding.ActivityProductBinding; import com.example.yourcashiertest.databinding.ActivityProductBinding;
import com.example.yourcashiertest.entities.Product; import com.example.yourcashiertest.entities.Product;
import com.example.yourcashiertest.utils.ViewUtil; import com.example.yourcashiertest.utils.ViewUtil;
import com.example.yourcashiertest.viewmodels.ProductViewModel; import com.example.yourcashiertest.viewmodels.ProductViewModel;
import java.io.File; import java.io.File;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
public class ProductActivity extends AppCompatActivity{ public class ProductActivity extends AppCompatActivity{
private static final int PICK_IMAGE = 123; private static final int PICK_IMAGE = 123;
ActivityProductBinding binding; ActivityProductBinding binding;
...@@ -38,36 +33,26 @@ public class ProductActivity extends AppCompatActivity{ ...@@ -38,36 +33,26 @@ public class ProductActivity extends AppCompatActivity{
private static final int REQUEST_IMAGE_CAPTURE = 1; private static final int REQUEST_IMAGE_CAPTURE = 1;
private File file; private File file;
private ProductViewModel viewModel; private ProductViewModel viewModel;
Uri selectedImageUri;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
viewModel = new ViewModelProvider(this).get(ProductViewModel.class); viewModel = new ViewModelProvider(this).get(ProductViewModel.class);
binding = DataBindingUtil.setContentView(this, R.layout.activity_product); binding = DataBindingUtil.setContentView(this, R.layout.activity_product);
Product product = getIntent().getParcelableExtra(MainActivity.DATA_PRODUCT); Product product = getIntent().getParcelableExtra(MainActivity.DATA_PRODUCT);
if (getSupportActionBar() != null) { if (getSupportActionBar() != null) {
getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
} }
if (product != null){ if (product != null){
isUpdate = true; isUpdate = true;
viewModel.setPhoto(product.getPhoto()); viewModel.setPhoto(product.getPhoto());
viewModel.setProduct(product); viewModel.setProduct(product);
binding.btnSubmit.setText(R.string.btn_edit); binding.btnSubmit.setText(R.string.btn_edit);
binding.tvHeadProduct.setText("UPDATE PRODUCT"); binding.tvHeadProduct.setText("UPDATE PRODUCT");
}else { }else {
product = new Product("", "", 0, 0, "", ""); product = new Product("", "", 0, 0, "", "");
} }
binding.cvProduct.setOnClickListener(v -> selectAction(this)); binding.cvProduct.setOnClickListener(v -> selectAction(this));
Product fixProduct = product; Product fixProduct = product;
binding.btnSubmit.setOnClickListener(v -> { binding.btnSubmit.setOnClickListener(v -> {
try { try {
...@@ -79,56 +64,30 @@ public class ProductActivity extends AppCompatActivity{ ...@@ -79,56 +64,30 @@ public class ProductActivity extends AppCompatActivity{
ViewUtil.showMessage(binding.getRoot(), getString(R.string.form_error_message)); ViewUtil.showMessage(binding.getRoot(), getString(R.string.form_error_message));
return; return;
} }
if (file != null){ if (file != null){
fixProduct.setPhoto(file.getAbsolutePath()); fixProduct.setPhoto(file.getAbsolutePath());
}else {
fixProduct.setPhoto("");
} }
fixProduct.setName(binding.etProduct.getText().toString()); fixProduct.setName(binding.etProduct.getText().toString());
fixProduct.setCategory(binding.etCategory.getText().toString()); fixProduct.setCategory(binding.etCategory.getText().toString());
fixProduct.setDescription(binding.etDescription.getText().toString()); fixProduct.setDescription(binding.etDescription.getText().toString());
fixProduct.setPrice(Long.parseLong(binding.etPrice.getText().toString())); fixProduct.setPrice(Long.parseLong(binding.etPrice.getText().toString()));
fixProduct.setQuantity(Long.parseLong(binding.etQuantity.getText().toString())); fixProduct.setQuantity(Long.parseLong(binding.etQuantity.getText().toString()));
if (isUpdate){ if (isUpdate){
viewModel.updateProduct(fixProduct); viewModel.updateProduct(fixProduct);
}else { }else {
viewModel.insertProduct(fixProduct); viewModel.insertProduct(fixProduct);
} }
finish(); finish();
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
} }
}); });
binding.setViewModel(viewModel); 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() { private void takePhoto() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getPackageManager()) != null) { if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
File photoFile = createImageFile(); File photoFile = createImageFile();
if (photoFile != null) { if (photoFile != null) {
Uri photoURI = FileProvider.getUriForFile(this, Uri photoURI = FileProvider.getUriForFile(this,
"com.example.yourcashiertest.fileprovider", "com.example.yourcashiertest.fileprovider",
...@@ -138,18 +97,13 @@ public class ProductActivity extends AppCompatActivity{ ...@@ -138,18 +97,13 @@ public class ProductActivity extends AppCompatActivity{
} }
} }
} }
private void selectAction(Context context){ private void selectAction(Context context){
final CharSequence[] options = { "Take Photo", "Choose from Gallery","Cancel" }; final CharSequence[] options = { "Take Photo", "Choose from Gallery","Cancel" };
AlertDialog.Builder builder = new AlertDialog.Builder(context); AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Choose your profile picture"); builder.setTitle("Choose your profile picture");
builder.setItems(options, new DialogInterface.OnClickListener() { builder.setItems(options, new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int item) { public void onClick(DialogInterface dialog, int item) {
if (options[item].equals("Take Photo")) { if (options[item].equals("Take Photo")) {
takePhoto(); takePhoto();
} else if (options[item].equals("Choose from Gallery")) { } else if (options[item].equals("Choose from Gallery")) {
...@@ -161,14 +115,11 @@ public class ProductActivity extends AppCompatActivity{ ...@@ -161,14 +115,11 @@ public class ProductActivity extends AppCompatActivity{
}); });
builder.show(); builder.show();
} }
private void openGallery(){ private void openGallery(){
Intent intent = new Intent(Intent.ACTION_PICK); Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*"); intent.setType("image/*");
startActivityForResult(intent, PICK_IMAGE); startActivityForResult(intent, PICK_IMAGE);
} }
private File createImageFile() { private File createImageFile() {
try { try {
String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
...@@ -181,23 +132,13 @@ public class ProductActivity extends AppCompatActivity{ ...@@ -181,23 +132,13 @@ public class ProductActivity extends AppCompatActivity{
return image; return image;
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
return null; 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 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
Uri imageUri; Uri imageUri;
if (resultCode == RESULT_OK && requestCode == PICK_IMAGE){ if (resultCode == RESULT_OK && requestCode == PICK_IMAGE){
//set image to image view //set image to image view
binding.ivProduct.setImageURI(data.getData()); binding.ivProduct.setImageURI(data.getData());
...@@ -209,7 +150,6 @@ public class ProductActivity extends AppCompatActivity{ ...@@ -209,7 +150,6 @@ public class ProductActivity extends AppCompatActivity{
} }
} }
} }
public String getPath(Uri uri) public String getPath(Uri uri)
{ {
String[] projection = { MediaStore.Images.Media.DATA }; String[] projection = { MediaStore.Images.Media.DATA };
...@@ -221,17 +161,14 @@ public class ProductActivity extends AppCompatActivity{ ...@@ -221,17 +161,14 @@ public class ProductActivity extends AppCompatActivity{
cursor.close(); cursor.close();
return s; return s;
} }
@Override @Override
public boolean onSupportNavigateUp() { public boolean onSupportNavigateUp() {
onBackPressed(); onBackPressed();
return super.onSupportNavigateUp(); return super.onSupportNavigateUp();
} }
@Override @Override
protected void onDestroy() { protected void onDestroy() {
super.onDestroy(); super.onDestroy();
binding = null; binding = null;
} }
} }
\ No newline at end of file
...@@ -13,7 +13,8 @@ ...@@ -13,7 +13,8 @@
<ImageView <ImageView
android:layout_width="250dp" android:layout_width="250dp"
android:layout_height="200dp" /> android:layout_height="200dp"
android:src="@drawable/yout_cashier"/>
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
<string name="payment_by_cash_was_successful">Payment by Cash was successful</string> <string name="payment_by_cash_was_successful">Payment by Cash was successful</string>
<string name="refund">Refund</string> <string name="refund">Refund</string>
<string name="payment_status">Payment Status</string> <string name="payment_status">Payment Status</string>
<string name="lupa_password">Forget Password?</string> <string name="lupa_password">Forgot Password?</string>
<string name="dont_have_an_account">Dont have an Account?</string> <string name="dont_have_an_account">Dont have an Account?</string>
<string name="sign_up_here">Sign Up Here</string> <string name="sign_up_here">Sign Up Here</string>
<string name="sign_in_here">Sign In Here</string> <string name="sign_in_here">Sign In Here</string>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment