mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2026-04-03 07:11:45 -04:00
Remove support for adding shortcuts from within the app
The preferred way to create a shortcut is through the launcher. Although it is possible for an app to create shortcuts, there is concern that allowing the app to do so may not be desirable due to potentials for abuse. As there is support now for adding shortcuts through the launcher, this app do not need to also support creating them itself.
This commit is contained in:
@@ -89,7 +89,6 @@ public class LoyaltyCardViewActivityTest
|
||||
*/
|
||||
private void saveLoyaltyCardWithArguments(final Activity activity,
|
||||
final String store, final String note,
|
||||
final boolean addShortcut,
|
||||
final String cardId,
|
||||
final String barcodeType,
|
||||
boolean creatingNewCard)
|
||||
@@ -106,25 +105,18 @@ public class LoyaltyCardViewActivityTest
|
||||
|
||||
final EditText storeField = (EditText) activity.findViewById(R.id.storeNameEdit);
|
||||
final EditText noteField = (EditText) activity.findViewById(R.id.noteEdit);
|
||||
final CheckBox shortcutCheckbox = (CheckBox) activity.findViewById(R.id.shortcutCheckbox);
|
||||
final TextView cardIdField = (TextView) activity.findViewById(R.id.cardIdView);
|
||||
final TextView barcodeTypeField = (TextView) activity.findViewById(R.id.barcodeType);
|
||||
|
||||
storeField.setText(store);
|
||||
noteField.setText(note);
|
||||
shortcutCheckbox.setChecked(addShortcut);
|
||||
cardIdField.setText(cardId);
|
||||
barcodeTypeField.setText(barcodeType);
|
||||
|
||||
ShortcutAddedReceiver shortcutAddedReceiver = new ShortcutAddedReceiver();
|
||||
shortcutAddedReceiver.registerReceiver(activity);
|
||||
|
||||
assertEquals(false, activity.isFinishing());
|
||||
shadowOf(activity).clickMenuItem(R.id.action_save);
|
||||
assertEquals(true, activity.isFinishing());
|
||||
|
||||
shortcutAddedReceiver.unregisterReceiver(activity);
|
||||
|
||||
assertEquals(1, db.getLoyaltyCardCount());
|
||||
|
||||
LoyaltyCard card = db.getLoyaltyCard(1);
|
||||
@@ -132,28 +124,6 @@ public class LoyaltyCardViewActivityTest
|
||||
assertEquals(note, card.note);
|
||||
assertEquals(cardId, card.cardId);
|
||||
assertEquals(barcodeType, card.barcodeType);
|
||||
|
||||
Intent shortcutRequest = shortcutAddedReceiver.lastRequest();
|
||||
|
||||
if(addShortcut)
|
||||
{
|
||||
assertNotNull(shortcutRequest);
|
||||
|
||||
String name = shortcutRequest.getStringExtra(Intent.EXTRA_SHORTCUT_NAME);
|
||||
assertEquals(card.store, name);
|
||||
|
||||
Intent startIntent = shortcutRequest.getParcelableExtra(Intent.EXTRA_SHORTCUT_INTENT);
|
||||
assertNotNull(startIntent);
|
||||
Bundle startBundle = startIntent.getExtras();
|
||||
assertNotNull(startBundle);
|
||||
|
||||
assertEquals(card.id, startBundle.getInt("id", -1));
|
||||
assertEquals(true, startBundle.getBoolean("view", false));
|
||||
}
|
||||
else
|
||||
{
|
||||
assertNull(shortcutRequest);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -216,8 +186,6 @@ public class LoyaltyCardViewActivityTest
|
||||
checkFieldProperties(activity, R.id.storeNameEdit, editVisibility, store);
|
||||
checkFieldProperties(activity, R.id.storeNameView, viewVisibility, store);
|
||||
checkFieldProperties(activity, R.id.noteEdit, editVisibility, note);
|
||||
checkFieldProperties(activity, R.id.shortcutBorder, editVisibility, null);
|
||||
checkFieldProperties(activity, R.id.shortcutTablerow, editVisibility, null);
|
||||
checkFieldProperties(activity, R.id.noteView, viewVisibility, note);
|
||||
checkFieldProperties(activity, R.id.cardIdView, View.VISIBLE, cardId);
|
||||
checkFieldProperties(activity, R.id.cardIdDivider, cardId.isEmpty() ? View.GONE : View.VISIBLE, null);
|
||||
@@ -308,30 +276,7 @@ public class LoyaltyCardViewActivityTest
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
// Save and check the gift card
|
||||
saveLoyaltyCardWithArguments(activity, "store", "note", false, BARCODE_DATA, BARCODE_TYPE, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void startWithoutParametersCaptureBarcodeCreateLoyaltyCardSaveShortcut() throws IOException
|
||||
{
|
||||
registerMediaStoreIntentHandler();
|
||||
|
||||
ActivityController activityController = Robolectric.buildActivity(LoyaltyCardViewActivity.class).create();
|
||||
activityController.start();
|
||||
activityController.visible();
|
||||
activityController.resume();
|
||||
|
||||
Activity activity = (Activity)activityController.get();
|
||||
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", "", "");
|
||||
|
||||
// Complete barcode capture successfully
|
||||
captureBarcodeWithResult(activity, R.id.captureButton, true);
|
||||
|
||||
checkAllFields(activity, ViewMode.ADD_CARD, "", "", BARCODE_DATA, BARCODE_TYPE);
|
||||
|
||||
// Save and check the gift card
|
||||
saveLoyaltyCardWithArguments(activity, "store", "note", true, BARCODE_DATA, BARCODE_TYPE, true);
|
||||
saveLoyaltyCardWithArguments(activity, "store", "note", BARCODE_DATA, BARCODE_TYPE, true);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
package protect.card_locker;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
|
||||
public class ShortcutAddedReceiver extends BroadcastReceiver
|
||||
{
|
||||
public static final String SHORTCUT_ADD_REQUEST = "com.android.launcher.action.INSTALL_SHORTCUT";
|
||||
|
||||
private Intent _request = null;
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent)
|
||||
{
|
||||
_request = intent;
|
||||
}
|
||||
|
||||
public void registerReceiver(Context context)
|
||||
{
|
||||
context.registerReceiver(this, new IntentFilter(SHORTCUT_ADD_REQUEST));
|
||||
}
|
||||
|
||||
public void unregisterReceiver(Context context)
|
||||
{
|
||||
context.unregisterReceiver(this);
|
||||
}
|
||||
|
||||
public Intent lastRequest()
|
||||
{
|
||||
return _request;
|
||||
}
|
||||
|
||||
public void reset()
|
||||
{
|
||||
_request = null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user