summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/shortcuts
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-07-28 12:11:54 -0700
committerSunny Goyal <sunnygoyal@google.com>2016-07-29 16:10:31 -0700
commitd3b87ef1963fb96177ca85bcd6a25879e27e419c (patch)
treef334d5aa2b24626cba47ec1936264a08e385a4b5 /src/com/android/launcher3/shortcuts
parentc42087e5c011dbf912c0f8b8d27d15ec5a97dca1 (diff)
downloadandroid_packages_apps_Trebuchet-d3b87ef1963fb96177ca85bcd6a25879e27e419c.tar.gz
android_packages_apps_Trebuchet-d3b87ef1963fb96177ca85bcd6a25879e27e419c.tar.bz2
android_packages_apps_Trebuchet-d3b87ef1963fb96177ca85bcd6a25879e27e419c.zip
Adding quiet mode support for shortcuts
> LauncherApps returns empty list when the user is locked. Not relying on LauncherApps in this case > When the user is locked, removing all dynamic shortcuts > Loading shortcuts from DB when the user is locked > Verifying the shortcuts again when the user is available Bug: 30411561 Change-Id: Ib6eb372c5b009cadb86a8f6e781f3f3cbf787ceb
Diffstat (limited to 'src/com/android/launcher3/shortcuts')
-rw-r--r--src/com/android/launcher3/shortcuts/DeepShortcutManager.java4
-rw-r--r--src/com/android/launcher3/shortcuts/ShortcutKey.java18
2 files changed, 18 insertions, 4 deletions
diff --git a/src/com/android/launcher3/shortcuts/DeepShortcutManager.java b/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
index 450c36df4..36bb2b5df 100644
--- a/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
+++ b/src/com/android/launcher3/shortcuts/DeepShortcutManager.java
@@ -98,7 +98,7 @@ public class DeepShortcutManager {
public void unpinShortcut(final ShortcutKey key) {
if (Utilities.isNycMR1OrAbove()) {
String packageName = key.componentName.getPackageName();
- String id = key.id;
+ String id = key.getId();
UserHandleCompat user = key.user;
List<String> pinnedIds = extractIds(queryForPinnedShortcuts(packageName, user));
pinnedIds.remove(id);
@@ -120,7 +120,7 @@ public class DeepShortcutManager {
public void pinShortcut(final ShortcutKey key) {
if (Utilities.isNycMR1OrAbove()) {
String packageName = key.componentName.getPackageName();
- String id = key.id;
+ String id = key.getId();
UserHandleCompat user = key.user;
List<String> pinnedIds = extractIds(queryForPinnedShortcuts(packageName, user));
pinnedIds.add(id);
diff --git a/src/com/android/launcher3/shortcuts/ShortcutKey.java b/src/com/android/launcher3/shortcuts/ShortcutKey.java
index c15f91dd3..405303042 100644
--- a/src/com/android/launcher3/shortcuts/ShortcutKey.java
+++ b/src/com/android/launcher3/shortcuts/ShortcutKey.java
@@ -1,7 +1,9 @@
package com.android.launcher3.shortcuts;
import android.content.ComponentName;
+import android.content.Intent;
+import com.android.launcher3.ItemInfo;
import com.android.launcher3.compat.UserHandleCompat;
import com.android.launcher3.util.ComponentKey;
@@ -9,16 +11,28 @@ import com.android.launcher3.util.ComponentKey;
* A key that uniquely identifies a shortcut using its package, id, and user handle.
*/
public class ShortcutKey extends ComponentKey {
- final String id;
public ShortcutKey(String packageName, UserHandleCompat user, String id) {
// Use the id as the class name.
super(new ComponentName(packageName, id), user);
- this.id = id;
+ }
+
+ public String getId() {
+ return componentName.getClassName();
}
public static ShortcutKey fromInfo(ShortcutInfoCompat shortcutInfo) {
return new ShortcutKey(shortcutInfo.getPackage(), shortcutInfo.getUserHandle(),
shortcutInfo.getId());
}
+
+ public static ShortcutKey fromIntent(Intent intent, UserHandleCompat user) {
+ String shortcutId = intent.getStringExtra(
+ ShortcutInfoCompat.EXTRA_SHORTCUT_ID);
+ return new ShortcutKey(intent.getPackage(), user, shortcutId);
+ }
+
+ public static ShortcutKey fromItemInfo(ItemInfo info) {
+ return fromIntent(info.getIntent(), info.user);
+ }
}