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)));