diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-07-28 10:07:32 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2016-07-28 12:22:51 -0700 |
commit | 70a7c9b70003ae87e2b2968bc6ceded0fe0f0e8b (patch) | |
tree | 684f590870e709b17016888136a48e242e50cfb6 | |
parent | 64035e9ee6909774160b12abbeced91588bc9bb9 (diff) | |
download | android_packages_apps_Trebuchet-70a7c9b70003ae87e2b2968bc6ceded0fe0f0e8b.tar.gz android_packages_apps_Trebuchet-70a7c9b70003ae87e2b2968bc6ceded0fe0f0e8b.tar.bz2 android_packages_apps_Trebuchet-70a7c9b70003ae87e2b2968bc6ceded0fe0f0e8b.zip |
Showing the shortcuts in the disabled state and removing ti from the menu
when its disabled
Bug: 30315906
Change-Id: Ice747e7be955d8bb2dd65191f7613e2afd4abc1c
-rw-r--r-- | res/values/strings.xml | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/Launcher.java | 2 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 8 | ||||
-rw-r--r-- | src/com/android/launcher3/ShortcutInfo.java | 19 | ||||
-rw-r--r-- | src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java | 4 |
5 files changed, 28 insertions, 7 deletions
diff --git a/res/values/strings.xml b/res/values/strings.xml index 9f3075287..2bc0cae0e 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -35,6 +35,8 @@ <string name="safemode_shortcut_error">Downloaded app disabled in Safe mode</string> <!-- SafeMode widget error string --> <string name="safemode_widget_error">Widgets disabled in Safe mode</string> + <!-- Message shown when a shortcut is not available. It could have been temporarily disabled and may start working again after some time. --> + <string name="shortcut_not_available">Shortcut isn\'t available</string> <!-- Widgets --> <!-- Message to tell the user to press and hold on a widget to add it [CHAR_LIMIT=50] --> diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index d668d2a74..fe84eb39b 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -2655,6 +2655,8 @@ public class Launcher extends Activity int error = R.string.activity_not_available; if ((shortcut.isDisabled & ShortcutInfo.FLAG_DISABLED_SAFEMODE) != 0) { error = R.string.safemode_shortcut_error; + } else if ((shortcut.isDisabled & ShortcutInfo.FLAG_DISABLED_BY_PUBLISHER) != 0) { + error = R.string.shortcut_not_available; } Toast.makeText(this, error, Toast.LENGTH_SHORT).show(); return; diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 17c39faa2..3d240a96d 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -2821,9 +2821,11 @@ public class LauncherModel extends BroadcastReceiver // Now add the new shortcuts to the map. for (ShortcutInfoCompat shortcut : shortcuts) { - ComponentKey targetComponent - = new ComponentKey(shortcut.getActivity(), shortcut.getUserHandle()); - mBgDeepShortcutMap.addToList(targetComponent, shortcut.getId()); + if (shortcut.isEnabled()) { + ComponentKey targetComponent + = new ComponentKey(shortcut.getActivity(), shortcut.getUserHandle()); + mBgDeepShortcutMap.addToList(targetComponent, shortcut.getId()); + } } } diff --git a/src/com/android/launcher3/ShortcutInfo.java b/src/com/android/launcher3/ShortcutInfo.java index c87bc08c9..00ac9bda4 100644 --- a/src/com/android/launcher3/ShortcutInfo.java +++ b/src/com/android/launcher3/ShortcutInfo.java @@ -100,22 +100,28 @@ public class ShortcutInfo extends ItemInfo { /** * Indicates that the icon is disabled due to safe mode restrictions. */ - public static final int FLAG_DISABLED_SAFEMODE = 1; + public static final int FLAG_DISABLED_SAFEMODE = 1 << 0; /** * Indicates that the icon is disabled as the app is not available. */ - public static final int FLAG_DISABLED_NOT_AVAILABLE = 2; + public static final int FLAG_DISABLED_NOT_AVAILABLE = 1 << 1; /** * Indicates that the icon is disabled as the app is suspended */ - public static final int FLAG_DISABLED_SUSPENDED = 4; + public static final int FLAG_DISABLED_SUSPENDED = 1 << 2; /** * Indicates that the icon is disabled as the user is in quiet mode. */ - public static final int FLAG_DISABLED_QUIET_USER = 8; + public static final int FLAG_DISABLED_QUIET_USER = 1 << 3; + + + /** + * Indicates that the icon is disabled as the publisher has disabled the actual shortcut. + */ + public static final int FLAG_DISABLED_BY_PUBLISHER = 1 << 4; /** * Could be disabled, if the the app is installed but unavailable (eg. in safe mode or when @@ -293,6 +299,11 @@ public class ShortcutInfo extends ItemInfo { } contentDescription = UserManagerCompat.getInstance(context) .getBadgedLabelForUser(label, user); + if (shortcutInfo.isEnabled()) { + isDisabled &= ~FLAG_DISABLED_BY_PUBLISHER; + } else { + isDisabled |= FLAG_DISABLED_BY_PUBLISHER; + } LauncherAppState launcherAppState = LauncherAppState.getInstance(); Drawable unbadgedIcon = launcherAppState.getShortcutManager() diff --git a/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java b/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java index 00553dfbd..9e7add56c 100644 --- a/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java +++ b/src/com/android/launcher3/shortcuts/ShortcutInfoCompat.java @@ -101,6 +101,10 @@ public class ShortcutInfoCompat { return mShortcutInfo.isDeclaredInManifest(); } + public boolean isEnabled() { + return mShortcutInfo.isEnabled(); + } + public int getRank() { return mShortcutInfo.getRank(); } |