Use shortcut disabled message if available.

Bug: 30681210
Change-Id: Ibb5fd58e5fc9557b63730bc1e3c3977133769466
This commit is contained in:
Tony Wickham
2016-08-04 16:34:49 -07:00
parent 960a7fe15e
commit 4efffc5ba6
3 changed files with 17 additions and 0 deletions

View File

@@ -2668,6 +2668,12 @@ public class Launcher extends Activity
// If the app is only disabled because of the above flags, launch activity anyway.
// Framework will tell the user why the app is suspended.
} else {
if (!TextUtils.isEmpty(shortcut.disabledMessage)) {
// Use a message specific to this shortcut, if it has one.
Toast.makeText(this, shortcut.disabledMessage, Toast.LENGTH_SHORT).show();
return;
}
// Otherwise just use a generic error message.
int error = R.string.activity_not_available;
if ((shortcut.isDisabled & ShortcutInfo.FLAG_DISABLED_SAFEMODE) != 0) {
error = R.string.safemode_shortcut_error;

View File

@@ -133,6 +133,12 @@ public class ShortcutInfo extends ItemInfo {
*/
int isDisabled = DEFAULT;
/**
* A message to display when the user tries to start a disabled shortcut.
* This is currently only used for deep shortcuts.
*/
CharSequence disabledMessage;
int status;
/**
@@ -309,6 +315,7 @@ public class ShortcutInfo extends ItemInfo {
} else {
isDisabled |= FLAG_DISABLED_BY_PUBLISHER;
}
disabledMessage = shortcutInfo.getDisabledMessage();
// TODO: Use cache for this
LauncherAppState launcherAppState = LauncherAppState.getInstance();

View File

@@ -114,6 +114,10 @@ public class ShortcutInfoCompat {
return mShortcutInfo.getRank();
}
public CharSequence getDisabledMessage() {
return mShortcutInfo.getDisabledMessage();
}
@Override
public String toString() {
return mShortcutInfo.toString();