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 83b45a8e73b35df07245c27361ccced5ce7a1d57..9450d8ea3af4a8cd8531e2be6a6e79822e698b5a 100644 --- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java +++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java @@ -93,6 +93,17 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe MainManager.getInstance().setCurrentUser(u); } } + @Override + public void onUserInteraction(){ + if(MainManager.getInstance().getCurrentUser() != null) { + MainManager.getInstance().startTimer(); + //MainManager.getInstance().stopScreenSaverTimer(); + } else { + MainManager.getInstance().stopTimer(); + //MainManager.getInstance().resetScreenSaverTimer(); + } + + } public static String byteArrayToHex(byte[] a) { StringBuilder sb = new StringBuilder(a.length * 2); diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/NyanCatDialog.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/NyanCatDialog.java new file mode 100644 index 0000000000000000000000000000000000000000..7ee563c991a46c187fc8f018f8e98c78f3dac956 --- /dev/null +++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/NyanCatDialog.java @@ -0,0 +1,64 @@ +package ms.warpzone.warppay.dialogs; + +import android.app.Dialog; +import android.media.MediaPlayer; +import android.net.Uri; +import android.os.Bundle; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.view.Window; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.ListView; +import android.widget.TextView; +import android.widget.VideoView; + +import java.util.ArrayList; + +import ms.warpzone.warppay.MainActivity; +import ms.warpzone.warppay.R; +import ms.warpzone.warppay.data.models.local.Product; +import ms.warpzone.warppay.data.models.rest.RestProduct; +import ms.warpzone.warppay.manager.MainManager; +import retrofit.Callback; +import retrofit.Response; +import retrofit.Retrofit; + +public class NyanCatDialog extends Dialog implements View.OnClickListener{ + + public Dialog d; + + private VideoView vvNyanCat; + + public NyanCatDialog() { + super(MainManager.getInstance().getMainActivity()); + + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + requestWindowFeature(Window.FEATURE_NO_TITLE); + setContentView(R.layout.nyan_cat_dialog); + + this.vvNyanCat = (VideoView) findViewById(R.id.vvNyanCat); + String uri = "android.resource://" + MainManager.getInstance().getMainActivity().getPackageName() + "/" + R.raw.nyancat; + this.vvNyanCat.setVideoURI(Uri.parse(uri)); + this.vvNyanCat.setOnClickListener(this); + this.vvNyanCat.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { + public void onCompletion(MediaPlayer mp) { + vvNyanCat.start(); + } + }); + this.vvNyanCat.start(); + } + + @Override + public void onClick(View v) { + this.vvNyanCat.stopPlayback(); + dismiss(); + } + +} diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/PayChoiceDialog.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/PayChoiceDialog.java index a9cf0e9569d06127b70c87b9a3fa96c695456b7d..a989cbaf8901f97519e53203431818d8c72b313f 100644 --- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/PayChoiceDialog.java +++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/dialogs/PayChoiceDialog.java @@ -44,7 +44,7 @@ public class PayChoiceDialog extends Dialog implements View.OnClickListener { @Override public void onClick(View v) { - MainManager.getInstance().startTimer(); + // MainManager.getInstance().startTimer(); switch (v.getId()) { case R.id.btnCredit: MainManager.getInstance().performPayment(false); diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/listener/CategoryOnClickListener.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/listener/CategoryOnClickListener.java index aaff1babaa4d29b52eecdbda17a468cff11ce122..14701bb2b0497b6835c7effc6e54853945d8139a 100644 --- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/listener/CategoryOnClickListener.java +++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/listener/CategoryOnClickListener.java @@ -11,7 +11,7 @@ public class CategoryOnClickListener implements View.OnClickListener { @Override public void onClick(View view) { - MainManager.getInstance().startTimer(); + //MainManager.getInstance().startTimer(); Button clicked = (Button) view; String category = (String) clicked.getText(); ProductDialog p = new ProductDialog(category); diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java index 46476baaf322a7dfcc808ab36d4ec696baac2bc8..1da43024e659e9e07cf68f73109ca158229681eb 100644 --- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java +++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java @@ -40,6 +40,7 @@ import ms.warpzone.warppay.data.models.rest.RestCategory; import ms.warpzone.warppay.data.models.rest.RestProduct; import ms.warpzone.warppay.data.models.rest.RestTransaction; import ms.warpzone.warppay.data.models.rest.RestUser; +import ms.warpzone.warppay.dialogs.NyanCatDialog; import ms.warpzone.warppay.dialogs.PinCodesDialog; import ms.warpzone.warppay.orderList.Order; import retrofit.Callback; @@ -57,6 +58,7 @@ public class MainManager { private boolean barcodeLearning=false; private Timer timer; private static MainManager instance = new MainManager(); + private Timer screenSaverTimer; public static MainManager getInstance() { return instance; @@ -205,11 +207,10 @@ public class MainManager { this.timer.purge(); } } + public void startTimer() { this.stopTimer(); - this.timer = new Timer(); - TimerTask t = new TimerTask() { @Override public void run() { @@ -226,6 +227,33 @@ public class MainManager { this.timer.schedule(t, 30000); } + + public void resetScreenSaverTimer() { + this.stopScreenSaverTimer(); + this.screenSaverTimer = new Timer(); + + TimerTask t = new TimerTask() { + @Override + public void run() { + Handler mainHandler = new Handler(MainManager.getInstance().getMainActivity().getApplicationContext().getMainLooper()); + Runnable myRunnable = new Runnable() { + @Override + public void run() { + new NyanCatDialog().show(); + } + }; + mainHandler.post(myRunnable); + } + }; + this.screenSaverTimer.schedule(t, 4000); + } + + public void stopScreenSaverTimer() { + if (this.screenSaverTimer != null) { + this.screenSaverTimer.cancel(); + this.screenSaverTimer.purge(); + } + } public User getCurrentUser() { return this.dataManager.getCurrentUser(); } 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 821f39032e5f65548490fb25d8d129a8a10ddd15..0b16f0321bb965d530901a861d11cf41431470d2 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 @@ -187,7 +187,6 @@ public class UiManager implements View.OnKeyListener, View.OnClickListener, Adap @Override public void onClick(View v) { - MainManager.getInstance().startTimer(); switch (v.getId()) { case R.id.btnCharge: this.chargeDialog = new ChargeDialog(); diff --git a/WarpDrinkApp/app/src/main/res/layout/nyan_cat_dialog.xml b/WarpDrinkApp/app/src/main/res/layout/nyan_cat_dialog.xml new file mode 100644 index 0000000000000000000000000000000000000000..0ae6d1276157d65fe0a83efcfc51eb31b135ae3a --- /dev/null +++ b/WarpDrinkApp/app/src/main/res/layout/nyan_cat_dialog.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:background="@android:color/black" + android:orientation="vertical"> + + + <RelativeLayout + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <VideoView + android:id="@+id/vvNyanCat" + android:layout_width="match_parent" + android:layout_height="match_parent" + + android:layout_alignParentLeft="true" + android:layout_alignParentRight="true" + /> + </RelativeLayout> + +</LinearLayout> \ No newline at end of file diff --git a/WarpDrinkApp/app/src/main/res/raw/nyancat.mp4 b/WarpDrinkApp/app/src/main/res/raw/nyancat.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..c629a592db48e2ea5e60fba439a8ad755bef7c19 Binary files /dev/null and b/WarpDrinkApp/app/src/main/res/raw/nyancat.mp4 differ