Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.rohim.otrust.scanner_app;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.os.Bundle;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.view.View;
- import android.widget.Button;
- import android.widget.EditText;
- import com.rohim.otrust.scanner_app.StartMenu.ProductData;
- import java.math.BigDecimal;
- public class AddProduct extends AppCompatActivity implements View.OnClickListener {
- private static final int REQUEST_BARCODE = 0;
- private static final ProductData mProductData = new ProductData();
- EditText mBarcodeEdit;
- EditText mFormatEdit;
- EditText mTitleEdit;
- EditText mPriceEdit;
- private Button mScanButton;
- private Button mAddButton;
- ProductDatabase mProductDb;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_add_product);
- mProductDb = new ProductDatabase(this);
- mBarcodeEdit = (EditText) findViewById(R.id.et_barcode);
- mFormatEdit = (EditText) findViewById(R.id.et_format);
- mTitleEdit = (EditText) findViewById(R.id.et_title);
- mPriceEdit = (EditText) findViewById(R.id.et_price);
- mScanButton = (Button) findViewById(R.id.btn_scanbar);
- mScanButton.setOnClickListener(this);
- mAddButton = (Button) findViewById(R.id.btn_addproduct);
- mAddButton.setOnClickListener(this);
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()){
- case R.id.btn_scanbar:
- Intent intent = new Intent("com.google.zxing.client.android.SCAN");
- intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");
- startActivityForResult(intent, REQUEST_BARCODE);
- //Scann dengan menampilkan kamera...
- // IntentIntegrator scanIntegrator = new IntentIntegrator(AddProduct.this);
- // scanIntegrator.initiateScan();
- break;
- case R.id.btn_addproduct:
- String barcode = mBarcodeEdit.getText().toString();
- String format = mFormatEdit.getText().toString();
- String title = mTitleEdit.getText().toString();
- String price = mPriceEdit.getText().toString();
- String errors = validateFields(barcode, format, title, price);
- if (errors.length() > 0){
- showInfoDialog(this, "Please Fix Errors", errors);
- }else {
- mProductData.barcode = barcode;
- mProductData.format = format;
- mProductData.title = title;
- mProductData.Price = new BigDecimal(price);
- mProductDb.insert(mProductData);
- showInfoDialog(this, "Success", "Product saved successfully");
- resetForm();
- }
- break;
- }
- }
- private void showInfoDialog(Context context, String title, String information){
- new AlertDialog.Builder(context)
- .setMessage(information)
- .setTitle(title)
- .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.dismiss();
- }
- }).show();
- }
- private void resetForm(){
- mBarcodeEdit.getText().clear();
- mFormatEdit.getText().clear();
- mTitleEdit.getText().clear();
- mPriceEdit.getText().clear();
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent intent) {
- if (requestCode == REQUEST_BARCODE){
- if (resultCode == RESULT_OK){
- String barcode = intent.getStringExtra("SCAN_RESULT");
- mBarcodeEdit.setText(barcode);
- String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
- mFormatEdit.setText(format);
- //
- // Intent result = new Intent(this.getApplicationContext(), Result.class);
- // Bundle b = new Bundle();
- //
- // b.putString("barcode", barcode);
- // intent.putExtras(b);
- // startActivityForResult(result, REQUEST_BARCODE);
- }else if (resultCode == RESULT_CANCELED){
- finish();
- }
- }
- }
- private static String validateFields(String barcode, String format, String title, String price){
- StringBuilder errors = new StringBuilder();
- if (barcode.matches("^\\s*$")) {
- errors.append("Barcode required\n");
- }
- if (format.matches("^\\s*$")) {
- errors.append("Format required\n");
- }
- if (title.matches("^\\s*$")) {
- errors.append("Title required\n");
- }
- if (!price.matches("^-?\\d+(.\\d+)?$")) {
- errors.append("Need numeric price\n");
- }
- return errors.toString();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement