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;
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
......@@ -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"
......
......@@ -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">Forget Password?</string>
<string name="lupa_password">Forgot 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>
......
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