From b7c60a2f431e9f5fcbab55a73081712fa1916b03 Mon Sep 17 00:00:00 2001 From: Christian Dresen <c.dresen@fh-muenster.de> Date: Wed, 19 Apr 2017 22:37:42 +0200 Subject: [PATCH] =?UTF-8?q?Settings-Button=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ms/warpzone/warppay/MainActivity.java | 10 ++++--- .../warpzone/warppay/manager/UiManager.java | 21 ++++++++++++--- .../app/src/main/res/layout/activity_main.xml | 26 ++++++++++++++++--- .../app/src/main/res/values/strings.xml | 2 ++ 4 files changed, 49 insertions(+), 10 deletions(-) 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 0a83eac..f4e2538 100644 --- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java +++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java @@ -16,6 +16,7 @@ import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.widget.PopupMenu; import android.widget.Toast; import java.util.ArrayList; @@ -32,7 +33,7 @@ import ms.warpzone.warppay.manager.UiManager; import ms.warpzone.warppay.orderList.Order; -public class MainActivity extends AppCompatActivity implements View.OnClickListener, View.OnKeyListener{ +public class MainActivity extends AppCompatActivity implements View.OnClickListener, View.OnKeyListener, PopupMenu.OnMenuItemClickListener { private MainManager manager; private NfcAdapter nfcAdapter; @@ -41,6 +42,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe private String[][] mNFCTechLists; private String barcode; private BarcodeLearnDialog barcodeLearnDialog; + public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_main, menu); @@ -120,8 +122,9 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe UiManager.getInstance().onClick(v); } - public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { + @Override + public boolean onMenuItemClick(MenuItem menuItem) { + switch (menuItem.getItemId()) { case R.id.action_learn_card_id: MainManager.getInstance().stopTimer(); if (this.manager.getCurrentUser() != null){ @@ -157,6 +160,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe return true; } + public void removeOrderOnClickHandler(View v) { MainManager.getInstance().removeOrder((Order) v.getTag()); diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/UiManager.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/UiManager.java index 70d9e14..eed63c4 100644 --- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/UiManager.java +++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/UiManager.java @@ -4,6 +4,7 @@ import android.annotation.TargetApi; import android.content.DialogInterface; import android.os.Build; import android.view.KeyEvent; +import android.view.MenuItem; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.AdapterView; @@ -13,6 +14,7 @@ import android.widget.Button; import android.widget.GridLayout; import android.widget.ImageButton; import android.widget.ListView; +import android.widget.PopupMenu; import android.widget.TextView; import java.util.ArrayList; @@ -37,7 +39,7 @@ import ms.warpzone.warppay.orderList.Order; public class UiManager implements View.OnKeyListener, View.OnClickListener, AdapterView.OnItemClickListener { private MainActivity mainActivity; - private Button btnPay, btnCharge, btnLogout, btnGuest; + private Button btnPay, btnCharge, btnLogout, btnGuest, btnSettings; private ImageButton btnRefresh; private TextView txtSum,txtCredit; private ListView lstOrdered; @@ -56,7 +58,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap private ChargeDialog chargeDialog; private ChargeCustomDialog chargeCustomDialog; private PinCodesDialog pinCodesDialog; - + private PopupMenu popupMenuSettings; private static UiManager ourInstance = new UiManager(); public static UiManager getInstance() { @@ -77,7 +79,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap this.btnPay = (Button) mainActivity.findViewById(R.id.btnPay); this.btnCharge = (Button) mainActivity.findViewById(R.id.btnCharge); this.btnGuest = (Button) mainActivity.findViewById(R.id.btnGuest); - + this.btnSettings = (Button) mainActivity.findViewById(R.id.btnSettings); /* this.txtBarcode = (EditText) mainActivity.findViewById(R.id.txtBarcode); this.txtBarcode.setShowSoftInputOnFocus(false); this.txtBarcode.setOnKeyListener(this); @@ -103,6 +105,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap this.btnLogout.setVisibility(View.INVISIBLE); this.enableControls(false); this.mainActivity = mainActivity; + } public void showSoftKeyboard(View view) { @@ -147,6 +150,8 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap this.chargeDialog.dismiss(); if(this.productDialog != null) this.productDialog.dismiss(); + if(this.popupMenuSettings != null) + this.popupMenuSettings.dismiss(); } private void enableControls(boolean enable) { @@ -162,6 +167,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap this.btnPay.setEnabled(enable); this.btnPay.setVisibility(visible); this.txtSum.setVisibility(visible); + this.btnSettings.setVisibility(visible); if(DataManager.getInstance().getIs_guest()) { this.btnCharge.setEnabled(false); this.btnCharge.setVisibility(View.INVISIBLE); @@ -208,6 +214,12 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap case R.id.btnLogout: MainManager.getInstance().clearCurrentUser(); break; + case R.id.btnSettings: + this.popupMenuSettings = new PopupMenu(this.mainActivity.getApplicationContext(), v); + this.popupMenuSettings.setOnMenuItemClickListener(this.mainActivity); + this.popupMenuSettings.inflate(R.menu.menu_main); + this.popupMenuSettings.show(); + break; case R.id.btnRefresh: MainManager.getInstance().refreshData(); break; @@ -221,6 +233,7 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap } } + //@ToDo: Custom Charge spinnt // @ToDo: payment dismiss spinnt @Override @@ -283,4 +296,6 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap public void setChargeCustomDialog(ChargeCustomDialog chargeCustomDialog) { this.chargeCustomDialog = chargeCustomDialog; } + + } diff --git a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml index cb71735..15fff6a 100644 --- a/WarpDrinkApp/app/src/main/res/layout/activity_main.xml +++ b/WarpDrinkApp/app/src/main/res/layout/activity_main.xml @@ -1,4 +1,5 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/mainLayout" android:layout_width="match_parent" @@ -194,7 +195,7 @@ <Button android:id="@+id/btnCharge" style="@style/ButtonText" - android:layout_width="300dp" + android:layout_width="263dp" android:layout_height="50dp" android:layout_column="1" android:layout_gravity="center_vertical" @@ -205,13 +206,30 @@ android:text="@string/btnCharge" /> <Space - android:layout_width="200px" - android:layout_height="20px" /> + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" /> + + <Button + android:id="@+id/btnSettings" + android:layout_width="173dp" + android:layout_height="wrap_content" + android:layout_column="1" + android:layout_gravity="center_vertical" + android:layout_row="40" + android:width="10dp" + android:onClick="onClick" + android:text="@string/btnSettings" /> + + <Space + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="1" /> <Button android:id="@+id/btnPay" style="@style/ButtonText" - android:layout_width="355dp" + android:layout_width="295dp" android:layout_height="50dp" android:layout_column="0" android:layout_gravity="center_vertical" diff --git a/WarpDrinkApp/app/src/main/res/values/strings.xml b/WarpDrinkApp/app/src/main/res/values/strings.xml index 4182a2e..341a545 100644 --- a/WarpDrinkApp/app/src/main/res/values/strings.xml +++ b/WarpDrinkApp/app/src/main/res/values/strings.xml @@ -14,6 +14,8 @@ <string name="btn_fiftyCent">0,50 €</string> <string name="btn_pay">Bezahlen</string> <string name="btnCharge">Aufladen</string> + <string name="btnSettings">Settings</string> + <string name="sum">Gesamt</string> <string name="name">Name</string> <string name="btnLogout">Logout</string> -- GitLab