From 56c1f8c0f9548619367bdfafe44c7ded7cf08f5c Mon Sep 17 00:00:00 2001 From: Christian Dresen <c.dresen@fh-muenster.de> Date: Wed, 12 Apr 2017 00:06:22 +0200 Subject: [PATCH] Changed Custom Charge Dialog --- WarpDrinkApp/app/src/main/AndroidManifest.xml | 8 +++- .../ms/warpzone/warppay/MainActivity.java | 25 +++++++++-- .../warppay/dialogs/ChargeCustomDialog.java | 43 ++++++++++++++----- .../app/src/main/res/layout/activity_main.xml | 1 + .../main/res/layout/charge_custom_dialog.xml | 10 +++-- .../app/src/main/res/menu/menu_main.xml | 8 +++- 6 files changed, 76 insertions(+), 19 deletions(-) diff --git a/WarpDrinkApp/app/src/main/AndroidManifest.xml b/WarpDrinkApp/app/src/main/AndroidManifest.xml index 4553d3d..c87b717 100644 --- a/WarpDrinkApp/app/src/main/AndroidManifest.xml +++ b/WarpDrinkApp/app/src/main/AndroidManifest.xml @@ -2,22 +2,25 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="ms.warpzone.warppay" > <uses-permission android:name="android.permission.INTERNET"></uses-permission> + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.NFC" /> <uses-feature android:name="android.hardware.nfc" android:required="true" /> + <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:largeHeap="true" + android:name="ms.warpzone.warppay.WarpPayApplication" android:theme="@style/AppTheme"> - <meta-data android:name="AA_DB_NAME" android:value="warppay_1.db" /> - <meta-data android:name="AA_DB_VERSION" android:value="10" /> + <meta-data android:name="AA_DB_NAME" android:value="warppay_2.db" /> + <meta-data android:name="AA_DB_VERSION" android:value="11" /> <activity android:name="ms.warpzone.warppay.MainActivity" @@ -39,4 +42,5 @@ </activity> </application> + </manifest> diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java index 9450d8e..7609fcb 100644 --- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java +++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java @@ -16,8 +16,13 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.view.WindowManager; import android.widget.Toast; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + import ms.warpzone.warppay.data.models.local.Product; import ms.warpzone.warppay.data.models.local.User; @@ -46,7 +51,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - + getWindow().addFlags(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); setContentView(R.layout.activity_main); this.findViewById(R.id.mainLayout).setOnKeyListener(this); @@ -147,6 +152,9 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe }); this.barcodeLearnDialog.show(); break; + case R.id.action_exit: + finish(); + break; default: break; } @@ -165,6 +173,13 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe @Override public boolean dispatchKeyEvent(KeyEvent event) { + List blockedKeys = new ArrayList(Arrays.asList(KeyEvent.KEYCODE_VOLUME_DOWN, KeyEvent.KEYCODE_VOLUME_UP)); + if (blockedKeys.contains(event.getKeyCode())) { + return true; + } + + + if(this.manager.getCurrentUser() != null) { if (event.getAction() == KeyEvent.ACTION_UP) { if (KeyEvent.KEYCODE_ENTER == event.getKeyCode()) { @@ -186,9 +201,13 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe } return super.dispatchKeyEvent(event); } - - + + @Override + public void onBackPressed() { + // nothing to do here + // … really + } /* @Override diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/ChargeCustomDialog.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/ChargeCustomDialog.java index e93d6c6..97813fb 100644 --- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/ChargeCustomDialog.java +++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/ChargeCustomDialog.java @@ -2,9 +2,12 @@ package ms.warpzone.warppay.dialogs; import android.app.Dialog; import android.os.Bundle; +import android.text.InputType; +import android.view.KeyEvent; import android.view.View; import android.view.Window; import android.widget.Button; +import android.widget.EditText; import android.widget.NumberPicker; import ms.warpzone.warppay.MainActivity; @@ -12,12 +15,13 @@ import ms.warpzone.warppay.R; import ms.warpzone.warppay.manager.MainManager; public class ChargeCustomDialog extends Dialog implements - View.OnClickListener { + View.OnClickListener, View.OnKeyListener { private MainActivity c; private Dialog d; private Button btnCustomCharge; - private NumberPicker numPick; + private EditText etxtAmount; + public ChargeCustomDialog(ChargeDialog dialog, MainActivity a) { super(a); dialog.dismiss(); @@ -30,9 +34,10 @@ public class ChargeCustomDialog extends Dialog implements requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.charge_custom_dialog); - this.numPick = (NumberPicker) findViewById(R.id.numPick); - this.numPick.setMinValue(0); - this.numPick.setMaxValue(100); + this.etxtAmount = (EditText) findViewById(R.id.etxtCustomAmount); + //this.etxtAmount.setInputType(InputType.TYPE_CLASS_NUMBER); + this.etxtAmount.setOnKeyListener(this); + this.btnCustomCharge = (Button) findViewById(R.id.btnCustomCharge); this.btnCustomCharge.setOnClickListener(this); @@ -41,17 +46,35 @@ public class ChargeCustomDialog extends Dialog implements @Override public void onClick(View v) { - double amount = 0.0; + switch (v.getId()) { case R.id.btnCustomCharge: - amount = this.numPick.getValue(); + this.chargeAmount(); break; default: break; } - if(amount > 0.0) - MainManager.getInstance().chargeAmount(amount); - this.numPick.setEnabled(false); + + this.etxtAmount.setEnabled(false); dismiss(); } + + private void chargeAmount() { + try { + String text = this.etxtAmount.getText().toString(); + text = text.replace(",","."); + double amount = Double.valueOf(text); + if(amount > 0.0) + MainManager.getInstance().chargeAmount(amount); + } catch (Exception e) { + + } + } + @Override + public boolean onKey(View view, int i, KeyEvent keyEvent) { + if (KeyEvent.KEYCODE_ENTER == keyEvent.getKeyCode()) { + this.chargeAmount(); + } + return false; + } } diff --git a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml index bf6098a..cb71735 100644 --- a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml +++ b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml @@ -9,6 +9,7 @@ android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" + android:keepScreenOn="true" tools:context="ms.warpzone.warppay.MainActivity"> <LinearLayout diff --git a/WarpDrinkApp/app/src/main/res/layout/charge_custom_dialog.xml b/WarpDrinkApp/app/src/main/res/layout/charge_custom_dialog.xml index 86b3d3d..aa67261 100644 --- a/WarpDrinkApp/app/src/main/res/layout/charge_custom_dialog.xml +++ b/WarpDrinkApp/app/src/main/res/layout/charge_custom_dialog.xml @@ -4,10 +4,14 @@ android:layout_height="match_parent" android:gravity="center_horizontal"> - <NumberPicker - android:layout_width="wrap_content" + <EditText + android:id="@+id/etxtCustomAmount" + android:layout_width="match_parent" android:layout_height="wrap_content" - android:id="@+id/numPick" /> + android:ems="10" + android:inputType="numberDecimal" + android:digits="0123456789.," + android:text="" /> <Button android:id="@+id/btnCustomCharge" diff --git a/WarpDrinkApp/app/src/main/res/menu/menu_main.xml b/WarpDrinkApp/app/src/main/res/menu/menu_main.xml index 1f6b6c2..c929044 100644 --- a/WarpDrinkApp/app/src/main/res/menu/menu_main.xml +++ b/WarpDrinkApp/app/src/main/res/menu/menu_main.xml @@ -13,5 +13,11 @@ android:orderInCategory="200" android:icon="@drawable/ic_menu_refresh" android:title="@string/lernBarcodes" /> - + <!-- + <item + android:id="@+id/action_exit" + android:orderInCategory="200" + android:icon="@drawable/ic_menu_refresh" + android:title="Exit" /> + --> </menu> -- GitLab