ShortcutManager: API rename

The words "title" and "text" implies that "text" is a secondary label
that's shown with the title, but it turned out the launcher would show
only one of those depending on how much space it has.

So now we change them to "shortLabel" and "longLabel"

Note we're only changing the API surface -- in order to mimimize
the impact to the code, internally we'll keep using the old names.

- Also remove "shortcutRank" while I'm here -- it should be implied
from the order of the XML elements.

Bug 29057378

Change-Id: I3203f63b0318c7462c1c61fef43cf9755fa8c008
This commit is contained in:
Makoto Onuki
2016-05-31 17:04:34 -07:00
parent cb9446453c
commit eddbfecb8d
18 changed files with 181 additions and 135 deletions

View File

@@ -1107,15 +1107,14 @@ package android {
field public static final int shareInterpolator = 16843195; // 0x10101bb
field public static final int sharedUserId = 16842763; // 0x101000b
field public static final int sharedUserLabel = 16843361; // 0x1010261
field public static final int shortcutCategories = 16844081; // 0x1010531
field public static final int shortcutDisabledMessage = 16844080; // 0x1010530
field public static final int shortcutIcon = 16844077; // 0x101052d
field public static final int shortcutCategories = 16844080; // 0x1010530
field public static final int shortcutDisabledMessage = 16844079; // 0x101052f
field public static final int shortcutIcon = 16844076; // 0x101052c
field public static final int shortcutId = 16844075; // 0x101052b
field public static final int shortcutIntentAction = 16844082; // 0x1010532
field public static final int shortcutIntentData = 16844083; // 0x1010533
field public static final int shortcutRank = 16844076; // 0x101052c
field public static final int shortcutText = 16844079; // 0x101052f
field public static final int shortcutTitle = 16844078; // 0x101052e
field public static final int shortcutIntentAction = 16844081; // 0x1010531
field public static final int shortcutIntentData = 16844082; // 0x1010532
field public static final int shortcutLongLabel = 16844078; // 0x101052e
field public static final int shortcutShortLabel = 16844077; // 0x101052d
field public static final int shouldDisableView = 16843246; // 0x10101ee
field public static final int showAsAction = 16843481; // 0x10102d9
field public static final int showDefault = 16843258; // 0x10101fa
@@ -10058,18 +10057,18 @@ package android.content.pm {
method public android.content.ComponentName getActivity();
method public java.util.Set<java.lang.String> getCategories();
method public java.lang.CharSequence getDisabledMessage();
method public int getDisabledMessageResId();
method public int getDisabledMessageResourceId();
method public android.os.PersistableBundle getExtras();
method public int getIconResourceId();
method public java.lang.String getId();
method public android.content.Intent getIntent();
method public long getLastChangedTimestamp();
method public java.lang.CharSequence getLongLabel();
method public int getLongLabelResourceId();
method public java.lang.String getPackage();
method public int getRank();
method public java.lang.CharSequence getText();
method public int getTextResId();
method public java.lang.CharSequence getTitle();
method public int getTitleResId();
method public java.lang.CharSequence getShortLabel();
method public int getShortLabelResourceId();
method public android.os.UserHandle getUserHandle();
method public boolean hasIconFile();
method public boolean hasIconResource();
@@ -10107,9 +10106,9 @@ package android.content.pm {
method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
method public android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setRank(int);
method public android.content.pm.ShortcutInfo.Builder setText(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setTitle(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.String);
}
public class ShortcutManager {

View File

@@ -1217,15 +1217,14 @@ package android {
field public static final int shareInterpolator = 16843195; // 0x10101bb
field public static final int sharedUserId = 16842763; // 0x101000b
field public static final int sharedUserLabel = 16843361; // 0x1010261
field public static final int shortcutCategories = 16844081; // 0x1010531
field public static final int shortcutDisabledMessage = 16844080; // 0x1010530
field public static final int shortcutIcon = 16844077; // 0x101052d
field public static final int shortcutCategories = 16844080; // 0x1010530
field public static final int shortcutDisabledMessage = 16844079; // 0x101052f
field public static final int shortcutIcon = 16844076; // 0x101052c
field public static final int shortcutId = 16844075; // 0x101052b
field public static final int shortcutIntentAction = 16844082; // 0x1010532
field public static final int shortcutIntentData = 16844083; // 0x1010533
field public static final int shortcutRank = 16844076; // 0x101052c
field public static final int shortcutText = 16844079; // 0x101052f
field public static final int shortcutTitle = 16844078; // 0x101052e
field public static final int shortcutIntentAction = 16844081; // 0x1010531
field public static final int shortcutIntentData = 16844082; // 0x1010532
field public static final int shortcutLongLabel = 16844078; // 0x101052e
field public static final int shortcutShortLabel = 16844077; // 0x101052d
field public static final int shouldDisableView = 16843246; // 0x10101ee
field public static final int showAsAction = 16843481; // 0x10102d9
field public static final int showDefault = 16843258; // 0x10101fa
@@ -10481,18 +10480,18 @@ package android.content.pm {
method public android.content.ComponentName getActivity();
method public java.util.Set<java.lang.String> getCategories();
method public java.lang.CharSequence getDisabledMessage();
method public int getDisabledMessageResId();
method public int getDisabledMessageResourceId();
method public android.os.PersistableBundle getExtras();
method public int getIconResourceId();
method public java.lang.String getId();
method public android.content.Intent getIntent();
method public long getLastChangedTimestamp();
method public java.lang.CharSequence getLongLabel();
method public int getLongLabelResourceId();
method public java.lang.String getPackage();
method public int getRank();
method public java.lang.CharSequence getText();
method public int getTextResId();
method public java.lang.CharSequence getTitle();
method public int getTitleResId();
method public java.lang.CharSequence getShortLabel();
method public int getShortLabelResourceId();
method public android.os.UserHandle getUserHandle();
method public boolean hasIconFile();
method public boolean hasIconResource();
@@ -10530,9 +10529,9 @@ package android.content.pm {
method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
method public android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setRank(int);
method public android.content.pm.ShortcutInfo.Builder setText(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setTitle(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.String);
}
public class ShortcutManager {

View File

@@ -1107,15 +1107,14 @@ package android {
field public static final int shareInterpolator = 16843195; // 0x10101bb
field public static final int sharedUserId = 16842763; // 0x101000b
field public static final int sharedUserLabel = 16843361; // 0x1010261
field public static final int shortcutCategories = 16844081; // 0x1010531
field public static final int shortcutDisabledMessage = 16844080; // 0x1010530
field public static final int shortcutIcon = 16844077; // 0x101052d
field public static final int shortcutCategories = 16844080; // 0x1010530
field public static final int shortcutDisabledMessage = 16844079; // 0x101052f
field public static final int shortcutIcon = 16844076; // 0x101052c
field public static final int shortcutId = 16844075; // 0x101052b
field public static final int shortcutIntentAction = 16844082; // 0x1010532
field public static final int shortcutIntentData = 16844083; // 0x1010533
field public static final int shortcutRank = 16844076; // 0x101052c
field public static final int shortcutText = 16844079; // 0x101052f
field public static final int shortcutTitle = 16844078; // 0x101052e
field public static final int shortcutIntentAction = 16844081; // 0x1010531
field public static final int shortcutIntentData = 16844082; // 0x1010532
field public static final int shortcutLongLabel = 16844078; // 0x101052e
field public static final int shortcutShortLabel = 16844077; // 0x101052d
field public static final int shouldDisableView = 16843246; // 0x10101ee
field public static final int showAsAction = 16843481; // 0x10102d9
field public static final int showDefault = 16843258; // 0x10101fa
@@ -10071,18 +10070,18 @@ package android.content.pm {
method public android.content.ComponentName getActivity();
method public java.util.Set<java.lang.String> getCategories();
method public java.lang.CharSequence getDisabledMessage();
method public int getDisabledMessageResId();
method public int getDisabledMessageResourceId();
method public android.os.PersistableBundle getExtras();
method public int getIconResourceId();
method public java.lang.String getId();
method public android.content.Intent getIntent();
method public long getLastChangedTimestamp();
method public java.lang.CharSequence getLongLabel();
method public int getLongLabelResourceId();
method public java.lang.String getPackage();
method public int getRank();
method public java.lang.CharSequence getText();
method public int getTextResId();
method public java.lang.CharSequence getTitle();
method public int getTitleResId();
method public java.lang.CharSequence getShortLabel();
method public int getShortLabelResourceId();
method public android.os.UserHandle getUserHandle();
method public boolean hasIconFile();
method public boolean hasIconResource();
@@ -10120,9 +10119,9 @@ package android.content.pm {
method public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
method public android.content.pm.ShortcutInfo.Builder setId(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setIntent(android.content.Intent);
method public android.content.pm.ShortcutInfo.Builder setLongLabel(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setRank(int);
method public android.content.pm.ShortcutInfo.Builder setText(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setTitle(java.lang.String);
method public android.content.pm.ShortcutInfo.Builder setShortLabel(java.lang.String);
}
public class ShortcutManager {

View File

@@ -350,7 +350,7 @@ public final class ShortcutInfo implements Parcelable {
mTitleResId = 0;
} else if (source.mTitleResId != 0) {
mTitle = null;
mTitleResId = source.getTitleResId();
mTitleResId = source.mTitleResId;
}
if (source.mText != null) {
mText = source.mText;
@@ -490,47 +490,77 @@ public final class ShortcutInfo implements Parcelable {
return this;
}
/** @hide */
public Builder setTitleResId(int titleResId) {
Preconditions.checkState(mTitle == null, "title already set");
mTitleResId = titleResId;
/**
* @hide We don't support resource strings for dynamic shortcuts for now. (But unit tests
* use it.)
*/
public Builder setShortLabelResId(int shortLabelResId) {
Preconditions.checkState(mTitle == null, "shortLabel already set");
mTitleResId = shortLabelResId;
return this;
}
/**
* Sets the title of a shortcut. This is a mandatory field.
* Sets the short title of a shortcut. This is a mandatory field.
*
* <p>This field is intended for a concise description of a shortcut displayed under
* an icon. The recommend max length is 10 characters.
*/
@NonNull
public Builder setTitle(@NonNull String title) {
Preconditions.checkState(mTitleResId == 0, "titleResId already set");
mTitle = Preconditions.checkStringNotEmpty(title, "title");
public Builder setShortLabel(@NonNull String shortLabel) {
Preconditions.checkState(mTitleResId == 0, "shortLabelResId already set");
mTitle = Preconditions.checkStringNotEmpty(shortLabel, "shortLabel");
return this;
}
/** @hide */
public Builder setTextResId(int textResId) {
Preconditions.checkState(mText == null, "text already set");
mTextResId = textResId;
/**
* @hide We don't support resource strings for dynamic shortcuts for now. (But unit tests
* use it.)
*/
public Builder setLongLabelResId(int longLabelResId) {
Preconditions.checkState(mText == null, "longLabel already set");
mTextResId = longLabelResId;
return this;
}
/**
* Sets the text of a shortcut. This is an optional field.
*
* <p>This field is intended to be more descriptive than the shortcut title.
* <p>This field is intended to be more descriptive than the shortcut title. The launcher
* shows this instead of the short title, when it has enough space.
* The recommend max length is 25 characters.
*/
@NonNull
public Builder setText(@NonNull String text) {
Preconditions.checkState(mTextResId == 0, "textResId already set");
mText = Preconditions.checkStringNotEmpty(text, "text");
public Builder setLongLabel(@NonNull String longLabel) {
Preconditions.checkState(mTextResId == 0, "longLabelResId already set");
mText = Preconditions.checkStringNotEmpty(longLabel, "longLabel");
return this;
}
/** @hide */
/** @hide -- old signature, the internal code still uses it. */
public Builder setTitle(@NonNull String value) {
return setShortLabel(value);
}
/** @hide -- old signature, the internal code still uses it. */
public Builder setTitleResId(int value) {
return setShortLabelResId(value);
}
/** @hide -- old signature, the internal code still uses it. */
public Builder setText(@NonNull String value) {
return setLongLabel(value);
}
/** @hide -- old signature, the internal code still uses it. */
public Builder setTextResId(int value) {
return setLongLabelResId(value);
}
/**
* @hide We don't support resource strings for dynamic shortcuts for now. (But unit tests
* use it.)
*/
public Builder setDisabledMessageResId(int disabledMessageResId) {
Preconditions.checkState(mDisabledMessage == null, "disabledMessage already set");
mDisabledMessageResId = disabledMessageResId;
@@ -641,32 +671,54 @@ public final class ShortcutInfo implements Parcelable {
return mIcon;
}
/**
* Return the shortcut title.
*
* <p>All shortcuts must have a non-empty title, but this method will return null when
* {@link #hasKeyFieldsOnly()} is true.
*/
/** @hide -- old signature, the internal code still uses it. */
@Nullable
public CharSequence getTitle() {
return mTitle;
}
/** TODO Javadoc */
/** @hide -- old signature, the internal code still uses it. */
public int getTitleResId() {
return mTitleResId;
}
/** @hide -- old signature, the internal code still uses it. */
@Nullable
public CharSequence getText() {
return mText;
}
/** @hide -- old signature, the internal code still uses it. */
public int getTextResId() {
return mTextResId;
}
/**
* Return the shorter version of the shortcut title.
*
* <p>All shortcuts must have a non-empty title, but this method will return null when
* {@link #hasKeyFieldsOnly()} is true.
*/
@Nullable
public CharSequence getShortLabel() {
return mTitle;
}
/** TODO Javadoc */
public int getShortLabelResourceId() {
return mTitleResId;
}
/**
* Return the shortcut text.
*/
@Nullable
public CharSequence getText() {
public CharSequence getLongLabel() {
return mText;
}
/** TODO Javadoc */
public int getTextResId() {
public int getLongLabelResourceId() {
return mTextResId;
}
@@ -679,7 +731,7 @@ public final class ShortcutInfo implements Parcelable {
}
/** TODO Javadoc */
public int getDisabledMessageResId() {
public int getDisabledMessageResourceId() {
return mDisabledMessageResId;
}
@@ -1104,19 +1156,19 @@ public final class ShortcutInfo implements Parcelable {
sb.append(", activity=");
sb.append(mActivity);
sb.append(", title=");
sb.append(", shortLabel=");
sb.append(secure ? "***" : mTitle);
sb.append(", titleResId=");
sb.append(", resId=");
sb.append(mTitleResId);
sb.append(", text=");
sb.append(", longLabel=");
sb.append(secure ? "***" : mText);
sb.append(", textResId=");
sb.append(", resId=");
sb.append(mTextResId);
sb.append(", disabledMessage=");
sb.append(secure ? "***" : mDisabledMessage);
sb.append(", disabledMessageResId=");
sb.append(", resId=");
sb.append(mDisabledMessageResId);
sb.append(", categories=");

View File

@@ -8248,10 +8248,9 @@ i
<declare-styleable name="Shortcut">
<attr name="shortcutId" format="string" />
<attr name="enabled" />
<attr name="shortcutRank" format="integer" />
<attr name="shortcutIcon" format="reference" />
<attr name="shortcutTitle" format="reference" />
<attr name="shortcutText" format="reference" />
<attr name="shortcutShortLabel" format="reference" />
<attr name="shortcutLongLabel" format="reference" />
<attr name="shortcutDisabledMessage" format="reference" />
<attr name="shortcutCategories" format="string" />
<attr name="shortcutIntentAction" format="string" />

View File

@@ -2739,10 +2739,9 @@
=============================================================== -->
<eat-comment />
<public type="attr" name="shortcutId" />
<public type="attr" name="shortcutRank" />
<public type="attr" name="shortcutIcon" />
<public type="attr" name="shortcutTitle" />
<public type="attr" name="shortcutText" />
<public type="attr" name="shortcutShortLabel" />
<public type="attr" name="shortcutLongLabel" />
<public type="attr" name="shortcutDisabledMessage" />
<public type="attr" name="shortcutCategories" />
<public type="attr" name="shortcutIntentAction" />

View File

@@ -829,7 +829,8 @@ class ShortcutPackage extends ShortcutPackageItem {
ShortcutService.writeAttr(out, ATTR_TEXT, si.getText());
ShortcutService.writeAttr(out, ATTR_TEXT_RES_ID, si.getTextResId());
ShortcutService.writeAttr(out, ATTR_DISABLED_MESSAGE, si.getDisabledMessage());
ShortcutService.writeAttr(out, ATTR_DISABLED_MESSAGE_RES_ID, si.getDisabledMessageResId());
ShortcutService.writeAttr(out, ATTR_DISABLED_MESSAGE_RES_ID,
si.getDisabledMessageResourceId());
ShortcutService.writeAttr(out, ATTR_INTENT, si.getIntentNoExtras());
ShortcutService.writeAttr(out, ATTR_RANK, si.getRank());
ShortcutService.writeAttr(out, ATTR_TIMESTAMP,

View File

@@ -85,6 +85,8 @@ public class ShortcutParser {
int type;
int rank = 0;
outer:
while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
&& (type != XmlPullParser.END_TAG || parser.getDepth() > 0)) {
@@ -99,7 +101,7 @@ public class ShortcutParser {
}
if (depth == 2 && TAG_SHORTCUT.equals(tag)) {
final ShortcutInfo si = parseShortcutAttributes(
service, attrs, packageName, activity, userId);
service, attrs, packageName, activity, userId, rank++);
if (ShortcutService.DEBUG) {
Slog.d(TAG, "Shortcut=" + si);
}
@@ -132,16 +134,15 @@ public class ShortcutParser {
private static ShortcutInfo parseShortcutAttributes(ShortcutService service,
AttributeSet attrs, String packageName, ComponentName activity,
@UserIdInt int userId) {
@UserIdInt int userId, int rank) {
final TypedArray sa = service.mContext.getResources().obtainAttributes(attrs,
R.styleable.Shortcut);
try {
final String id = sa.getString(R.styleable.Shortcut_shortcutId);
final boolean enabled = sa.getBoolean(R.styleable.Shortcut_enabled, true);
final int rank = sa.getInt(R.styleable.Shortcut_shortcutRank, 0);
final int iconResId = sa.getResourceId(R.styleable.Shortcut_shortcutIcon, 0);
final int titleResId = sa.getResourceId(R.styleable.Shortcut_shortcutTitle, 0);
final int textResId = sa.getResourceId(R.styleable.Shortcut_shortcutText, 0);
final int titleResId = sa.getResourceId(R.styleable.Shortcut_shortcutShortLabel, 0);
final int textResId = sa.getResourceId(R.styleable.Shortcut_shortcutLongLabel, 0);
final int disabledMessageResId = sa.getResourceId(
R.styleable.Shortcut_shortcutDisabledMessage, 0);
final String categories = sa.getString(R.styleable.Shortcut_shortcutCategories);

View File

@@ -2,10 +2,9 @@
<shortcut
android:shortcutId="ms1"
android:enabled="true"
android:shortcutRank="1"
android:shortcutIcon="@drawable/icon1"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutText="@string/shortcut_text1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutLongLabel="@string/shortcut_text1"
android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
android:shortcutCategories="android.shortcut.conversation:android.shortcut.media"
android:shortcutIntentAction="action1"

View File

@@ -2,10 +2,9 @@
<shortcut
android:shortcutId="ms1"
android:enabled="false"
android:shortcutRank="1"
android:shortcutIcon="@drawable/icon2"
android:shortcutTitle="@string/shortcut_title2"
android:shortcutText="@string/shortcut_text2"
android:shortcutShortLabel="@string/shortcut_title2"
android:shortcutLongLabel="@string/shortcut_text2"
android:shortcutDisabledMessage="@string/shortcut_disabled_message2"
/>
</shortcuts>

View File

@@ -2,10 +2,9 @@
<shortcut
android:shortcutId="ms1"
android:enabled="true"
android:shortcutRank="1"
android:shortcutIcon="@drawable/icon1"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutText="@string/shortcut_text1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutLongLabel="@string/shortcut_text1"
android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
android:shortcutCategories="android.shortcut.conversation:android.shortcut.media"
android:shortcutIntentAction="action1"
@@ -14,10 +13,9 @@
<shortcut
android:shortcutId="ms2"
android:enabled="true"
android:shortcutRank="2"
android:shortcutIcon="@drawable/icon2"
android:shortcutTitle="@string/shortcut_title2"
android:shortcutText="@string/shortcut_text2"
android:shortcutShortLabel="@string/shortcut_title2"
android:shortcutLongLabel="@string/shortcut_text2"
android:shortcutDisabledMessage="@string/shortcut_disabled_message2"
android:shortcutCategories="android.shortcut.conversation"
android:shortcutIntentAction="action2"

View File

@@ -1,12 +1,12 @@
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
<shortcut
android:shortcutId="ms1"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutIntentAction="action1"
/>
<shortcut
android:shortcutId="ms1"
android:shortcutTitle="@string/shortcut_title2"
android:shortcutShortLabel="@string/shortcut_title2"
android:shortcutIntentAction="action2"
/>
</shortcuts>

View File

@@ -2,10 +2,9 @@
<shortcut
android:shortcutId="ms1"
android:enabled="true"
android:shortcutRank="1"
android:shortcutIcon="@drawable/icon1"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutText="@string/shortcut_text1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutLongLabel="@string/shortcut_text1"
android:shortcutDisabledMessage="@string/shortcut_disabled_message1"
android:shortcutCategories="android.shortcut.conversation:android.shortcut.media"
android:shortcutIntentAction="action1"
@@ -14,27 +13,26 @@
<shortcut
android:shortcutId="ms2"
android:enabled="true"
android:shortcutRank="2"
android:shortcutIcon="@drawable/icon2"
android:shortcutTitle="@string/shortcut_title2"
android:shortcutText="@string/shortcut_text2"
android:shortcutShortLabel="@string/shortcut_title2"
android:shortcutLongLabel="@string/shortcut_text2"
android:shortcutDisabledMessage="@string/shortcut_disabled_message2"
android:shortcutCategories="android.shortcut.conversation"
android:shortcutIntentAction="action2"
/>
<shortcut
android:shortcutId="ms3"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutIntentAction="android.intent.action.VIEW"
/>
<shortcut
android:shortcutId="ms4"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutIntentAction="android.intent.action.VIEW"
/>
<shortcut
android:shortcutId="ms5"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutIntentAction="android.intent.action.VIEW"
/>
</shortcuts>

View File

@@ -1,11 +1,11 @@
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
<shortcut
android:shortcutTitle="@string/shortcut_title1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutIntentAction="android.intent.action.VIEW"
/>
<shortcut
android:shortcutId="x1"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutIntentAction="android.intent.action.VIEW"
/>
</shortcuts>

View File

@@ -5,7 +5,7 @@
/>
<shortcut
android:shortcutId="x2"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutIntentAction="android.intent.action.VIEW"
/>
</shortcuts>

View File

@@ -1,11 +1,11 @@
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android" >
<shortcut
android:shortcutId="manifest-shortcut-3"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutShortLabel="@string/shortcut_title1"
/>
<shortcut
android:shortcutId="x3"
android:shortcutTitle="@string/shortcut_title1"
android:shortcutShortLabel="@string/shortcut_title1"
android:shortcutIntentAction="android.intent.action.VIEW"
/>
</shortcuts>

View File

@@ -6359,7 +6359,7 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(123, si.getIcon().getResId());
assertEquals(10, si.getTitleResId());
assertEquals(11, si.getTextResId());
assertEquals(12, si.getDisabledMessageResId());
assertEquals(12, si.getDisabledMessageResourceId());
assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
assertEquals("action", si.getIntent().getAction());
assertEquals("val", si.getIntent().getStringExtra("key"));
@@ -6503,7 +6503,7 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(123, si.getIcon().getResId());
assertEquals(10, si.getTitleResId());
assertEquals(11, si.getTextResId());
assertEquals(12, si.getDisabledMessageResId());
assertEquals(12, si.getDisabledMessageResourceId());
assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
assertEquals("action", si.getIntent().getAction());
assertEquals("val", si.getIntent().getStringExtra("key"));
@@ -6522,7 +6522,7 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(null, si.getIcon());
assertEquals(10, si.getTitleResId());
assertEquals(11, si.getTextResId());
assertEquals(12, si.getDisabledMessageResId());
assertEquals(12, si.getDisabledMessageResourceId());
assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
assertEquals("action", si.getIntent().getAction());
assertEquals("val", si.getIntent().getStringExtra("key"));
@@ -6542,7 +6542,7 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(null, si.getIcon());
assertEquals(10, si.getTitleResId());
assertEquals(11, si.getTextResId());
assertEquals(12, si.getDisabledMessageResId());
assertEquals(12, si.getDisabledMessageResourceId());
assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
assertEquals(null, si.getIntent());
assertEquals(123, si.getRank());
@@ -6561,7 +6561,7 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(null, si.getIcon());
assertEquals(0, si.getTitleResId());
assertEquals(0, si.getTextResId());
assertEquals(0, si.getDisabledMessageResId());
assertEquals(0, si.getDisabledMessageResourceId());
assertEquals(null, si.getCategories());
assertEquals(null, si.getIntent());
assertEquals(0, si.getRank());
@@ -6680,14 +6680,14 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
.setDisabledMessage("xxx").build());
assertEquals(123, si.getRank());
assertEquals("xxx", si.getDisabledMessage());
assertEquals(0, si.getDisabledMessageResId());
assertEquals(0, si.getDisabledMessageResourceId());
si = sorig.clone(/* flags=*/ 0);
si.copyNonNullFieldsFrom(new ShortcutInfo.Builder(getTestContext()).setId("id")
.setDisabledMessageResId(11111).build());
assertEquals(123, si.getRank());
assertEquals(null, si.getDisabledMessage());
assertEquals(11111, si.getDisabledMessageResId());
assertEquals(11111, si.getDisabledMessageResourceId());
si = sorig.clone(/* flags=*/ 0);
si.copyNonNullFieldsFrom(new ShortcutInfo.Builder(getTestContext()).setId("id")
@@ -6808,14 +6808,14 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
.setDisabledMessage("xxx").build());
assertEquals(123, si.getRank());
assertEquals("xxx", si.getDisabledMessage());
assertEquals(0, si.getDisabledMessageResId());
assertEquals(0, si.getDisabledMessageResourceId());
si = sorig.clone(/* flags=*/ 0);
si.copyNonNullFieldsFrom(new ShortcutInfo.Builder(getTestContext()).setId("id")
.setDisabledMessageResId(11111).build());
assertEquals(123, si.getRank());
assertEquals(null, si.getDisabledMessage());
assertEquals(11111, si.getDisabledMessageResId());
assertEquals(11111, si.getDisabledMessageResourceId());
si = sorig.clone(/* flags=*/ 0);
si.copyNonNullFieldsFrom(new ShortcutInfo.Builder(getTestContext()).setId("id")
@@ -6967,7 +6967,7 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(null, si.getIcon());
assertEquals(10, si.getTitleResId());
assertEquals(11, si.getTextResId());
assertEquals(12, si.getDisabledMessageResId());
assertEquals(12, si.getDisabledMessageResourceId());
assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
assertEquals("action", si.getIntent().getAction());
assertEquals("val", si.getIntent().getStringExtra("key"));
@@ -7074,7 +7074,7 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(null, si.getIcon());
assertEquals(10, si.getTitleResId());
assertEquals(11, si.getTextResId());
assertEquals(12, si.getDisabledMessageResId());
assertEquals(12, si.getDisabledMessageResourceId());
assertEquals(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"), si.getCategories());
assertEquals("action", si.getIntent().getAction());
assertEquals("val", si.getIntent().getStringExtra("key"));
@@ -7547,11 +7547,12 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
si.getActivity());
assertEquals(R.string.shortcut_title1, si.getTitleResId());
assertEquals(R.string.shortcut_text1, si.getTextResId());
assertEquals(R.string.shortcut_disabled_message1, si.getDisabledMessageResId());
assertEquals(R.string.shortcut_disabled_message1, si.getDisabledMessageResourceId());
assertEquals(set("android.shortcut.conversation", "android.shortcut.media"),
si.getCategories());
assertEquals("action1", si.getIntent().getAction());
assertEquals(Uri.parse("http://a.b.c/1"), si.getIntent().getData());
assertEquals(0, si.getRank());
// check another
si = getCallerShortcut("ms2");
@@ -7560,10 +7561,11 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(R.drawable.icon2, si.getIconResourceId());
assertEquals(R.string.shortcut_title2, si.getTitleResId());
assertEquals(R.string.shortcut_text2, si.getTextResId());
assertEquals(R.string.shortcut_disabled_message2, si.getDisabledMessageResId());
assertEquals(R.string.shortcut_disabled_message2, si.getDisabledMessageResourceId());
assertEquals(set("android.shortcut.conversation"), si.getCategories());
assertEquals("action2", si.getIntent().getAction());
assertEquals(null, si.getIntent().getData());
assertEquals(1, si.getRank());
// check another
si = getCallerShortcut("ms3");
@@ -7572,10 +7574,11 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(0, si.getIconResourceId());
assertEquals(R.string.shortcut_title1, si.getTitleResId());
assertEquals(0, si.getTextResId());
assertEquals(0, si.getDisabledMessageResId());
assertEquals(0, si.getDisabledMessageResourceId());
assertEquals(null, si.getCategories());
assertEquals("android.intent.action.VIEW", si.getIntent().getAction());
assertEquals(null, si.getIntent().getData());
assertEquals(2, si.getRank());
});
}
@@ -7667,7 +7670,7 @@ public class ShortcutManagerTest extends InstrumentationTestCase {
assertEquals(R.drawable.icon2, si.getIconResourceId());
assertEquals(R.string.shortcut_title2, si.getTitleResId());
assertEquals(R.string.shortcut_text2, si.getTextResId());
assertEquals(R.string.shortcut_disabled_message2, si.getDisabledMessageResId());
assertEquals(R.string.shortcut_disabled_message2, si.getDisabledMessageResourceId());
assertEquals(Intent.ACTION_VIEW, si.getIntent().getAction());
// Make sure there's no other dangling shortcuts.

View File

@@ -317,7 +317,7 @@ public class ShortcutManagerTestUtils {
public static List<ShortcutInfo> assertAllHaveTitle(
List<ShortcutInfo> actualShortcuts) {
for (ShortcutInfo s : actualShortcuts) {
assertNotNull("ID " + s.getId(), s.getTitle());
assertNotNull("ID " + s.getId(), s.getShortLabel());
}
return actualShortcuts;
}
@@ -325,7 +325,7 @@ public class ShortcutManagerTestUtils {
public static List<ShortcutInfo> assertAllNotHaveTitle(
List<ShortcutInfo> actualShortcuts) {
for (ShortcutInfo s : actualShortcuts) {
assertNull("ID " + s.getId(), s.getTitle());
assertNull("ID " + s.getId(), s.getShortLabel());
}
return actualShortcuts;
}