Merge "Showing the shortcuts in the disabled state and removing ti from the menu when its disabled" into ub-launcher3-calgary
This commit is contained in:
@@ -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] -->
|
||||
|
||||
@@ -2659,6 +2659,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;
|
||||
|
||||
@@ -2842,9 +2842,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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -101,6 +101,10 @@ public class ShortcutInfoCompat {
|
||||
return mShortcutInfo.isDeclaredInManifest();
|
||||
}
|
||||
|
||||
public boolean isEnabled() {
|
||||
return mShortcutInfo.isEnabled();
|
||||
}
|
||||
|
||||
public int getRank() {
|
||||
return mShortcutInfo.getRank();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user