diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java index b556336c5..50f9d1327 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardViewActivity.java @@ -2,8 +2,11 @@ package protect.card_locker; import android.app.Activity; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; +import android.content.pm.ActivityInfo; +import android.content.res.Configuration; import android.os.Build; import android.os.Bundle; import android.support.design.widget.Snackbar; @@ -53,6 +56,8 @@ public class LoyaltyCardViewActivity extends AppCompatActivity boolean updateLoyaltyCard; boolean viewLoyaltyCard; + boolean rotationEnabled; + DBHelper db; @Override @@ -305,6 +310,8 @@ public class LoyaltyCardViewActivity extends AppCompatActivity getMenuInflater().inflate(R.menu.card_add_menu, menu); } + rotationEnabled = true; + return super.onCreateOptionsMenu(menu); } @@ -361,6 +368,22 @@ public class LoyaltyCardViewActivity extends AppCompatActivity finish(); return true; + case R.id.action_lock_unlock: + if(rotationEnabled) + { + item.setIcon(R.drawable.ic_lock_outline_white_24dp); + item.setTitle(R.string.unlockScreen); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); + } + else + { + item.setIcon(R.drawable.ic_lock_open_white_24dp); + item.setTitle(R.string.lockScreen); + setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); + } + rotationEnabled = !rotationEnabled; + return true; + case R.id.action_save: doSave(); return true; diff --git a/app/src/main/res/drawable-hdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_lock_open_white_24dp.png new file mode 100644 index 000000000..6bae68f56 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_lock_open_white_24dp.png differ diff --git a/app/src/main/res/drawable-hdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_lock_outline_white_24dp.png new file mode 100644 index 000000000..e53f54186 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_lock_outline_white_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_lock_open_white_24dp.png new file mode 100644 index 000000000..3f47b54cf Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_lock_open_white_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_lock_outline_white_24dp.png new file mode 100644 index 000000000..13f432fe0 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_lock_outline_white_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_lock_open_white_24dp.png new file mode 100644 index 000000000..cbe9e1cd0 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_lock_open_white_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_lock_outline_white_24dp.png new file mode 100644 index 000000000..e2d109130 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_lock_outline_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_lock_open_white_24dp.png new file mode 100644 index 000000000..1d1b0f4d3 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_lock_open_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_lock_outline_white_24dp.png new file mode 100644 index 000000000..bd2cf4dae Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_lock_outline_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_lock_open_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_lock_open_white_24dp.png new file mode 100644 index 000000000..8ab410727 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_lock_open_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_lock_outline_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_lock_outline_white_24dp.png new file mode 100644 index 000000000..de1d564b1 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_lock_outline_white_24dp.png differ diff --git a/app/src/main/res/menu/card_view_menu.xml b/app/src/main/res/menu/card_view_menu.xml index 657d80dca..df5498c9e 100644 --- a/app/src/main/res/menu/card_view_menu.xml +++ b/app/src/main/res/menu/card_view_menu.xml @@ -2,6 +2,11 @@ + Editovat Smazat Potvrdit + Lock Screen + Unlock Screen Odstzranit věrnostní kartu Opravdu chcete smazat tuto věrnostní kartu? Ano diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 8f4071dfc..9ff7d193d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -33,6 +33,8 @@ %1$s: %2$s Bestätigen Kopiere die Nummer in die Zwischenablage + Lock Screen + Unlock Screen Löschen Bitte bestätigen Sie, dass diese Karte gelöscht werden soll. Lösche die Kundenkarte diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 87aa34148..e8c660771 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -18,6 +18,8 @@ Modifier Modifier Supprimer + Lock Screen + Unlock Screen Confirmer Supprimer la carte de fidélité Confirmez que vous souhaitez supprimer cette carte diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 9e4897c3c..1d3bf2f07 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -56,6 +56,8 @@ Copia ID negli appunti ID della carta copiato negli appunti Conferma + Lock Screen + Unlock Screen Rimuovi carta fedeltà Conferma che vuoi eliminare questa carta. Fare il backup dei dati ti permette di spostare le tue tessere da un dispositivo ad un altro. diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 953c51718..18c0d71c3 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -19,6 +19,8 @@ Redaguoti Ištrinti Patvirtinti + Lock Screen + Unlock Screen Panaikinti lojalumo kortelę Prašome patvirtinti jog Jūs norite panaikinti šią lojalumo kortelę. Gerai diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index d0908a155..52f695c1b 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -58,7 +58,8 @@ Bevestig Bevestig deze kaart te verwijderen. Verwijder kaart - + Lock Screen + Unlock Screen Data die is geback-upt maakt het mogelijk om je klantenkaarten naar een ander apparaat te verplaatsen. Importeren succesvol Importeren mislukte diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 613d83108..7e5d86717 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -19,6 +19,8 @@ Edit Delete Confirm + Lock Screen + Unlock Screen Remove Loyalty Card Please confirm that you want to delete this card. OK diff --git a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java index 0501b0c79..5504d80d2 100644 --- a/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java +++ b/app/src/test/java/protect/card_locker/LoyaltyCardViewActivityTest.java @@ -6,6 +6,7 @@ import android.content.pm.ActivityInfo; import android.content.pm.ApplicationInfo; import android.content.pm.ResolveInfo; import android.os.Bundle; +import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.EditText; @@ -30,6 +31,7 @@ import java.io.IOException; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import static org.robolectric.Shadows.shadowOf; @RunWith(RobolectricTestRunner.class) @@ -414,4 +416,27 @@ public class LoyaltyCardViewActivityTest shadowOf(activity).clickMenuItem(android.R.id.home); assertEquals(true, activity.isFinishing()); } + + @Test + public void checkMenu() throws IOException + { + ActivityController activityController = createActivityWithLoyaltyCard(false); + Activity activity = (Activity)activityController.get(); + DBHelper db = new DBHelper(activity); + + db.insertLoyaltyCard("store", "note", BARCODE_DATA, BARCODE_TYPE); + + activityController.start(); + activityController.visible(); + activityController.resume(); + + final Menu menu = shadowOf(activity).getOptionsMenu(); + assertTrue(menu != null); + + // The settings and add button should be present + assertEquals(menu.size(), 2); + + assertEquals("Lock Screen", menu.findItem(R.id.action_lock_unlock).getTitle().toString()); + assertEquals("Edit", menu.findItem(R.id.action_edit).getTitle().toString()); + } }