mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2025-12-28 05:14:28 +00:00
Merge 6ccca29ee1 into 16f9b3f6b1
This commit is contained in:
commit
490201b2c3
@ -828,8 +828,7 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
|
||||
boolean result = super.onPrepareOptionsMenu(menu);
|
||||
if (loyaltyCard != null) {
|
||||
// Update star status
|
||||
if (loyaltyCard.starStatus == 1) {
|
||||
@ -842,15 +841,21 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
|
||||
// Update archive/unarchive button
|
||||
if (loyaltyCard.archiveStatus != 0) {
|
||||
menu.findItem(R.id.action_unarchive).setVisible(true);
|
||||
menu.findItem(R.id.action_archive).setVisible(false);
|
||||
menu.findItem(R.id.action_archive_unarchive).setTitle(R.string.archive);
|
||||
menu.findItem(R.id.action_archive_unarchive).setIcon(R.drawable.ic_archive);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
menu.findItem(R.id.action_archive_unarchive).setTooltipText(getString(R.string.archive));
|
||||
}
|
||||
} else {
|
||||
menu.findItem(R.id.action_unarchive).setVisible(false);
|
||||
menu.findItem(R.id.action_archive).setVisible(true);
|
||||
menu.findItem(R.id.action_archive_unarchive).setTitle(R.string.unarchive);
|
||||
menu.findItem(R.id.action_archive_unarchive).setIcon(R.drawable.ic_unarchive);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
menu.findItem(R.id.action_archive_unarchive).setTooltipText(getString(R.string.unarchive));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -887,22 +892,17 @@ public class LoyaltyCardViewActivity extends CatimaAppCompatActivity implements
|
||||
invalidateOptionsMenu();
|
||||
|
||||
return true;
|
||||
} else if (id == R.id.action_archive) {
|
||||
DBHelper.updateLoyaltyCardArchiveStatus(database, loyaltyCardId, 1);
|
||||
Toast.makeText(LoyaltyCardViewActivity.this, R.string.archived, Toast.LENGTH_LONG).show();
|
||||
} else if (id == R.id.action_archive_unarchive) {
|
||||
DBHelper.updateLoyaltyCardArchiveStatus(database, loyaltyCardId, loyaltyCard.archiveStatus == 0 ? 1 : 0);
|
||||
Toast.makeText(LoyaltyCardViewActivity.this, loyaltyCard.archiveStatus == 0 ? R.string.archived : R.string.unarchived, Toast.LENGTH_LONG).show();
|
||||
|
||||
// If we're archiving the card, remove any existing shortcut
|
||||
// Archived cards also do not show up in the shortcut picker
|
||||
if (loyaltyCard.archiveStatus == 0) {
|
||||
ShortcutHelper.removeShortcut(LoyaltyCardViewActivity.this, loyaltyCardId);
|
||||
}
|
||||
|
||||
ShortcutHelper.removeShortcut(LoyaltyCardViewActivity.this, loyaltyCardId);
|
||||
new ListWidget().updateAll(LoyaltyCardViewActivity.this);
|
||||
|
||||
// Re-init loyaltyCard with new data from DB
|
||||
onResume();
|
||||
invalidateOptionsMenu();
|
||||
|
||||
return true;
|
||||
} else if (id == R.id.action_unarchive) {
|
||||
DBHelper.updateLoyaltyCardArchiveStatus(database, loyaltyCardId, 0);
|
||||
Toast.makeText(LoyaltyCardViewActivity.this, R.string.unarchived, Toast.LENGTH_LONG).show();
|
||||
|
||||
// Re-init loyaltyCard with new data from DB
|
||||
onResume();
|
||||
invalidateOptionsMenu();
|
||||
|
||||
12
app/src/main/res/drawable/ic_archive.xml
Normal file
12
app/src/main/res/drawable/ic_archive.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M20.54,5.23l-1.39,-1.68C18.88,3.21 18.47,3 18,3H6c-0.47,0 -0.88,0.21 -1.16,0.55L3.46,5.23C3.17,5.57 3,6.02 3,6.5V19c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V6.5c0,-0.48 -0.17,-0.93 -0.46,-1.27zM12,17.5L6.5,12H10v-2h4v2h3.5L12,17.5zM5.12,5l0.81,-1h12l0.94,1H5.12z" />
|
||||
|
||||
</vector>
|
||||
@ -1,10 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/>
|
||||
</vector>
|
||||
5
app/src/main/res/drawable/ic_unarchive.xml
Normal file
5
app/src/main/res/drawable/ic_unarchive.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="?attr/colorControlNormal" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M20.55,5.22l-1.39,-1.68C18.88,3.21 18.47,3 18,3H6C5.53,3 5.12,3.21 4.85,3.55L3.46,5.22C3.17,5.57 3,6.01 3,6.5V19c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2V6.5C21,6.01 20.83,5.57 20.55,5.22zM12,9.5l5.5,5.5H14v2h-4v-2H6.5L12,9.5zM5.12,5l0.82,-1h12l0.93,1H5.12z"/>
|
||||
|
||||
</vector>
|
||||
@ -15,33 +15,19 @@
|
||||
app:showAsAction="always" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_overflow"
|
||||
android:title="@string/overflowMenu"
|
||||
android:icon="@drawable/ic_overflow_menu"
|
||||
app:showAsAction="always">
|
||||
android:id="@+id/action_archive_unarchive"
|
||||
android:icon="@drawable/ic_archive"
|
||||
android:title="@string/archive"
|
||||
app:showAsAction="always"/>
|
||||
|
||||
<menu>
|
||||
<item
|
||||
android:id="@+id/action_duplicate"
|
||||
android:title="@string/duplicateCard"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_duplicate"
|
||||
android:title="@string/duplicateCard"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_archive"
|
||||
android:title="@string/archive"
|
||||
app:showAsAction="never"/>
|
||||
<item
|
||||
android:id="@+id/action_unarchive"
|
||||
android:title="@string/unarchive"
|
||||
app:showAsAction="never"/>
|
||||
<item
|
||||
android:id="@+id/action_delete"
|
||||
android:title="@string/delete"
|
||||
app:showAsAction="never"/>
|
||||
|
||||
</menu>
|
||||
|
||||
</item>
|
||||
<item
|
||||
android:id="@+id/action_delete"
|
||||
android:title="@string/delete"
|
||||
app:showAsAction="never"/>
|
||||
|
||||
</menu>
|
||||
|
||||
@ -1034,11 +1034,13 @@ public class LoyaltyCardViewActivityTest {
|
||||
final Menu menu = shadowOf(activity).getOptionsMenu();
|
||||
assertTrue(menu != null);
|
||||
|
||||
// The share, star and overflow options should be present
|
||||
assertEquals(menu.size(), 3);
|
||||
assertEquals(menu.size(), 5);
|
||||
|
||||
assertEquals("Share", menu.findItem(R.id.action_share).getTitle().toString());
|
||||
assertEquals("Add to favorites", menu.findItem(R.id.action_star_unstar).getTitle().toString());
|
||||
assertEquals("Unarchive", menu.findItem(R.id.action_archive_unarchive).getTitle().toString());
|
||||
assertEquals("Duplicate", menu.findItem(R.id.action_duplicate).getTitle().toString());
|
||||
assertEquals("Delete", menu.findItem(R.id.action_delete).getTitle().toString());
|
||||
|
||||
database.close();
|
||||
}
|
||||
@ -1194,8 +1196,7 @@ public class LoyaltyCardViewActivityTest {
|
||||
final Menu menu = shadowOf(activity).getOptionsMenu();
|
||||
assertTrue(menu != null);
|
||||
|
||||
// The share, star and overflow options should be present
|
||||
assertEquals(menu.size(), 3);
|
||||
assertEquals(menu.size(), 5);
|
||||
|
||||
assertEquals("Add to favorites", menu.findItem(R.id.action_star_unstar).getTitle().toString());
|
||||
|
||||
@ -1207,6 +1208,16 @@ public class LoyaltyCardViewActivityTest {
|
||||
shadowOf(getMainLooper()).idle();
|
||||
assertEquals("Add to favorites", menu.findItem(R.id.action_star_unstar).getTitle().toString());
|
||||
|
||||
assertEquals("Unarchive", menu.findItem(R.id.action_archive_unarchive).getTitle().toString());
|
||||
|
||||
shadowOf(activity).clickMenuItem(R.id.action_archive_unarchive);
|
||||
shadowOf(getMainLooper()).idle();
|
||||
assertEquals("Archive", menu.findItem(R.id.action_archive_unarchive).getTitle().toString());
|
||||
|
||||
shadowOf(activity).clickMenuItem(R.id.action_archive_unarchive);
|
||||
shadowOf(getMainLooper()).idle();
|
||||
assertEquals("Unarchive", menu.findItem(R.id.action_archive_unarchive).getTitle().toString());
|
||||
|
||||
database.close();
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user