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 0a83eac03f4e7431ffd671edd44de4ddcd609adc..f4e2538fd3e0f27dfed093bdb353569db6ed93e2 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 70d9e1437fbf3bb7addc0d51e7e0ee24a2549620..eed63c453216ad78a107bcb85590a9513c151ada 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 cb71735644a9fa913ae59583d0c2e0b46225edf6..15fff6aae96b53341abeea83037e7c8981ce73cd 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 4182a2e2ddab4fad736f404b614ae3ebb10620ae..341a545ea2de93263e54029a2cdb1836ff12ef40 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>