diff --git a/samples/ShortcutDemo/publisher/AndroidManifest.xml b/samples/ShortcutDemo/publisher/AndroidManifest.xml index 13da33aec..83b98205a 100644 --- a/samples/ShortcutDemo/publisher/AndroidManifest.xml +++ b/samples/ShortcutDemo/publisher/AndroidManifest.xml @@ -34,6 +34,18 @@ + + + + + + + + + diff --git a/samples/ShortcutDemo/publisher/res/values/strings.xml b/samples/ShortcutDemo/publisher/res/values/strings.xml index df6dc1d27..6ee5b8820 100644 --- a/samples/ShortcutDemo/publisher/res/values/strings.xml +++ b/samples/ShortcutDemo/publisher/res/values/strings.xml @@ -47,4 +47,5 @@ Show notification + diff --git a/samples/ShortcutDemo/publisher/res/xml/shortcuts.xml b/samples/ShortcutDemo/publisher/res/xml/shortcuts.xml index 05f1d9d48..46994419b 100644 --- a/samples/ShortcutDemo/publisher/res/xml/shortcuts.xml +++ b/samples/ShortcutDemo/publisher/res/xml/shortcuts.xml @@ -1,3 +1,18 @@ + + + + + + + + diff --git a/samples/ShortcutDemo/publisher/res1/values/strings.xml b/samples/ShortcutDemo/publisher/res1/values/strings.xml index aed11977f..af125000b 100644 --- a/samples/ShortcutDemo/publisher/res1/values/strings.xml +++ b/samples/ShortcutDemo/publisher/res1/values/strings.xml @@ -16,4 +16,5 @@ [P1] Shortcuts Demo + [P1] Shortcuts Demo Alias diff --git a/samples/ShortcutDemo/publisher/res2/values/strings.xml b/samples/ShortcutDemo/publisher/res2/values/strings.xml index 04fdf0380..daede9263 100644 --- a/samples/ShortcutDemo/publisher/res2/values/strings.xml +++ b/samples/ShortcutDemo/publisher/res2/values/strings.xml @@ -16,4 +16,5 @@ [P2] Shortcuts Demo + [P2] Shortcuts Demo Alias diff --git a/samples/ShortcutDemo/publisher/src/com/example/android/pm/shortcutdemo/ShortcutPublisher.java b/samples/ShortcutDemo/publisher/src/com/example/android/pm/shortcutdemo/ShortcutPublisher.java index ea13b9901..5dc855908 100644 --- a/samples/ShortcutDemo/publisher/src/com/example/android/pm/shortcutdemo/ShortcutPublisher.java +++ b/samples/ShortcutDemo/publisher/src/com/example/android/pm/shortcutdemo/ShortcutPublisher.java @@ -63,6 +63,8 @@ public class ShortcutPublisher extends Activity { private static final AtomicInteger sSequenceNumber = new AtomicInteger(); + private ComponentName mMyActivity; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -71,10 +73,16 @@ public class ShortcutPublisher extends Activity { mShortcutManager = getSystemService(ShortcutManager.class); + mMyActivity = getIntent().getComponent(); + if (mMyActivity == null) { + mMyActivity = new ComponentName(this, ShortcutPublisher.class); + } + mList = (ListView) findViewById(android.R.id.list); mAdapter = new MyAdapter(this); mList.setAdapter(mAdapter); + Log.d(TAG, "intent=" + getIntent()); Log.d(TAG, "extras=" + getIntent().getExtras()); } @@ -93,16 +101,19 @@ public class ShortcutPublisher extends Activity { private List getAllShortcuts() { final Map map = new ArrayMap<>(); for (ShortcutInfo si : mShortcutManager.getManifestShortcuts()) { + if (!si.getActivity().equals(mMyActivity)) continue; if (!map.containsKey(si.getId())) { map.put(si.getId(), si); } } for (ShortcutInfo si : mShortcutManager.getDynamicShortcuts()) { + if (!si.getActivity().equals(mMyActivity)) continue; if (!map.containsKey(si.getId())) { map.put(si.getId(), si); } } for (ShortcutInfo si : mShortcutManager.getPinnedShortcuts()) { + if (!si.getActivity().equals(mMyActivity)) continue; if (!map.containsKey(si.getId())) { map.put(si.getId(), si); } @@ -195,21 +206,19 @@ public class ShortcutPublisher extends Activity { intent3.putExtra("nest", new Bundle()); intent3.getBundleExtra("nest").putInt("int", 123); - final ComponentName activity = new ComponentName(this, ShortcutPublisher.class); - final ShortcutInfo si1 = addRandomIntents(this, new ShortcutInfo.Builder(this, "shortcut1")) - .setActivity(activity) + .setActivity(mMyActivity) .build(); final ShortcutInfo si2 = new ShortcutInfo.Builder(this, SETUP_SHORTCUT_ID) - .setActivity(activity) + .setActivity(mMyActivity) .setShortLabel("Shortcut Demo Main") .setIcon(icon2) .setIntent(intent2) .build(); final ShortcutInfo si3 = new ShortcutInfo.Builder(this, "shortcut3") - .setActivity(activity) + .setActivity(mMyActivity) .setShortLabel("Shortcut Demo Main with extras") .setIcon(icon3) .setIntent(intent3) @@ -237,7 +246,7 @@ public class ShortcutPublisher extends Activity { final ShortcutInfo si = addRandomIntents(this, new ShortcutInfo.Builder(this, "shortcut-" + formatTime(System.currentTimeMillis()) + "-" + sSequenceNumber.getAndIncrement())) - .setActivity(new ComponentName(this, ShortcutPublisher.class)) + .setActivity(mMyActivity) .build(); callApi(this, () -> mShortcutManager.addDynamicShortcuts(Arrays.asList(si))); refreshList(); @@ -248,6 +257,8 @@ public class ShortcutPublisher extends Activity { for (ShortcutInfo si : getAllShortcuts()) { if (SETUP_SHORTCUT_ID.equals(si.getId())) continue; + if (si.isImmutable()) continue; + if (!si.getActivity().equals(mMyActivity)) continue; updateList.add(addRandomIntents(this, new ShortcutInfo.Builder(this, si.getId())) .build()); } diff --git a/samples/ShortcutDemo/publisher/src/com/example/android/pm/shortcutdemo/ShortcutPublishingService.java b/samples/ShortcutDemo/publisher/src/com/example/android/pm/shortcutdemo/ShortcutPublishingService.java index 0724038dd..3e20094c2 100644 --- a/samples/ShortcutDemo/publisher/src/com/example/android/pm/shortcutdemo/ShortcutPublishingService.java +++ b/samples/ShortcutDemo/publisher/src/com/example/android/pm/shortcutdemo/ShortcutPublishingService.java @@ -50,7 +50,6 @@ public class ShortcutPublishingService extends IntentService { private void addShortcut() { final ShortcutInfo si1 = ShortcutPublisher.addRandomIntents( this, new ShortcutInfo.Builder(this, ("shortcut-" + System.currentTimeMillis()))) - .setActivity(new ComponentName(this, ShortcutPublisher.class)) .build(); ShortcutPublisher.callApi(this, () -> getSystemService(ShortcutManager.class).addDynamicShortcuts(Arrays.asList(si1)));