/**@class android.content.pm.ShortcutInfo
 implements android.os.Parcelable

@extends java.lang.Object

 Represents a shortcut that can be published via {@link android.content.pm.ShortcutManager}.

 @see ShortcutManager
*/
var ShortcutInfo = {

/**@hide */
RANK_NOT_SET : "2147483647",
/**@hide */
FLAG_DYNAMIC : "1",
/**@hide */
FLAG_PINNED : "2",
/**@hide */
FLAG_HAS_ICON_RES : "4",
/**@hide */
FLAG_HAS_ICON_FILE : "8",
/**@hide */
FLAG_KEY_FIELDS_ONLY : "16",
/**@hide */
FLAG_MANIFEST : "32",
/**@hide */
FLAG_DISABLED : "64",
/**@hide */
FLAG_STRINGS_RESOLVED : "128",
/**@hide */
FLAG_IMMUTABLE : "256",
/**@hide */
FLAG_ADAPTIVE_BITMAP : "512",
/**@hide */
FLAG_RETURNED_BY_SERVICE : "1024",
/**@hide When this is set, the bitmap icon is waiting to be saved. */
FLAG_ICON_FILE_PENDING_SAVE : "2048",
/** "Shadow" shortcuts are the ones that are restored, but the owner package hasn't been
 installed yet.
 @hide
*/
FLAG_SHADOW : "4096",
/**@hide */
FLAG_LONG_LIVED : "8192",
/**@hide */
CLONE_REMOVE_NON_KEY_INFO : "4",
/**@hide */
CLONE_REMOVE_RES_NAMES : "8",
/**@hide */
CLONE_REMOVE_PERSON : "16",
/**@hide */
CLONE_REMOVE_FOR_CREATOR : "9",
/**@hide */
CLONE_REMOVE_FOR_LAUNCHER : "27",
/**@hide */
CLONE_REMOVE_FOR_LAUNCHER_APPROVAL : "26",
/**@hide */
CLONE_REMOVE_FOR_APP_PREDICTION : "9",
/** Shortcut is not disabled.
*/
DISABLED_REASON_NOT_DISABLED : "0",
/** Shortcut has been disabled by the publisher app with the
 {@link android.content.pm.ShortcutManager#disableShortcuts(List)} API.
*/
DISABLED_REASON_BY_APP : "1",
/** Shortcut has been disabled due to changes to the publisher app. (e.g. a manifest shortcut
 no longer exists.)
*/
DISABLED_REASON_APP_CHANGED : "2",
/** Shortcut is disabled for an unknown reason.
*/
DISABLED_REASON_UNKNOWN : "3",
/** Shortcut has been restored from the previous device, but the publisher app on the current
 device is of a lower version. The shortcut will not be usable until the app is upgraded to
 the same version or higher.
*/
DISABLED_REASON_VERSION_LOWER : "100",
/** Shortcut has not been restored because the publisher app does not support backup and restore.
*/
DISABLED_REASON_BACKUP_NOT_SUPPORTED : "101",
/** Shortcut has not been restored because the publisher app's signature has changed.
*/
DISABLED_REASON_SIGNATURE_MISMATCH : "102",
/** Shortcut has not been restored for unknown reason.
*/
DISABLED_REASON_OTHER_RESTORE_ISSUE : "103",
/** Shortcut category for messaging related actions, such as chat.
*/
SHORTCUT_CATEGORY_CONVERSATION : "android.shortcut.conversation",
/**@hide */
VERSION_CODE_UNKNOWN : "-1",
/***/
CREATOR : "null",
/**Return a label for disabled reasons, which are *not* supposed to be shown to the user.
@hide 
*/
getDisabledReasonDebugString : function(  ) {},

/**Return a label for a disabled reason for shortcuts that are disabled due to a backup and
 restore issue. If the reason is not due to backup & restore, then it'll return null.

 This method returns localized, user-facing strings, which will be returned by
 {@link #getDisabledMessage}().
@hide 
*/
getDisabledReasonForRestoreIssue : function(  ) {},

/**
@hide 
*/
isDisabledForRestoreIssue : function(  ) {},

/**Throws if any of the mandatory fields is not set.
@hide 
*/
enforceMandatoryFields : function(  ) {},

/**Load the string resources for the text fields and set them to the actual value fields.
 This will set {@link #FLAG_STRINGS_RESOLVED}.
@param {Object {Resources}} res {@link Resources} for the publisher.  Must have been loaded with
 {@link PackageManager#getResourcesForApplicationAsUser}.
@hide 
*/
resolveResourceStrings : function(  ) {},

/**Look up resource name for a given resource ID.
@return {String} a simple resource name (e.g. "text_1") when {@code withType} is false, or with the
 type (e.g. "string/text_1").
@hide 
*/
lookUpResourceName : function(  ) {},

/**Extract the package name from a fully-donated resource name.
 e.g. "com.android.app1:drawable/icon1" -> "com.android.app1"
@hide 
*/
getResourcePackageName : function(  ) {},

/**Extract the type name from a fully-donated resource name.
 e.g. "com.android.app1:drawable/icon1" -> "drawable"
@hide 
*/
getResourceTypeName : function(  ) {},

/**Extract the type name + the entry name from a fully-donated resource name.
 e.g. "com.android.app1:drawable/icon1" -> "drawable/icon1"
@hide 
*/
getResourceTypeAndEntryName : function(  ) {},

/**Extract the entry name from a fully-donated resource name.
 e.g. "com.android.app1:drawable/icon1" -> "icon1"
@hide 
*/
getResourceEntryName : function(  ) {},

/**Return the resource ID for a given resource ID.

 Basically its' a wrapper over {@link Resources#getIdentifier(String, String, String)}, except
 if {@code resourceName} is an integer then it'll just return its value.  (Which also the
 aforementioned method would do internally, but not documented, so doing here explicitly.)
@param {Object {Resources}} res {@link Resources} for the publisher.  Must have been loaded with
 {@link PackageManager#getResourcesForApplicationAsUser}.
@hide 
*/
lookUpResourceId : function(  ) {},

/**Look up resource names from the resource IDs for the icon res and the text fields, and fill
 in the resource name fields.
@param {Object {Resources}} res {@link Resources} for the publisher.  Must have been loaded with
 {@link PackageManager#getResourcesForApplicationAsUser}.
@hide 
*/
lookupAndFillInResourceNames : function(  ) {},

/**Look up resource IDs from the resource names for the icon res and the text fields, and fill
 in the resource ID fields.

 This is called when an app is updated.
@hide 
*/
lookupAndFillInResourceIds : function(  ) {},

/**Copy a {@link android.content.pm.ShortcutInfo}, optionally removing fields.
@hide 
*/
clone : function(  ) {},

/**
@hide 
@isUpdating set true if it's "update", as opposed to "replace".
*/
ensureUpdatableWith : function(  ) {},

/**Copy non-null/zero fields from another {@link android.content.pm.ShortcutInfo}.  Only "public" information
 will be overwritten.  The timestamp will *not* be updated to be consistent with other
 setters (and also the clock is not injectable in this file).

 - Flags will not change
 - mBitmapPath will not change
 - Current time will be set to timestamp
@throws IllegalStateException if source is not compatible.
@hide 
*/
copyNonNullFieldsFrom : function(  ) {},

/**
@hide 
*/
validateIcon : function(  ) {},

/**
@hide 
*/
getInvalidIconException : function(  ) {},

/**Returns the ID of a shortcut.

 <p>Shortcut IDs are unique within each publisher app and must be stable across
 devices so that shortcuts will still be valid when restored on a different device.
 See {@link android.content.pm.ShortcutManager} for details.
*/
getId : function(  ) {},

/**Gets the {@link LocusId} associated with this shortcut.

 <p>Used by the Android system to correlate objects (such as
 {@link Notification} and {@link ContentCaptureContext}).
*/
getLocusId : function(  ) {},

/**Return the package name of the publisher app.
*/
getPackage : function(  ) {},

/**Return the target activity.

 <p>This has nothing to do with the activity that this shortcut will launch.
 Launcher apps should show the launcher icon for the returned activity alongside
 this shortcut.
@see Builder#setActivity
*/
getActivity : function(  ) {},

/**
@hide 
*/
setActivity : function(  ) {},

/**Returns the shortcut icon.
@hide 
*/
getIcon : function(  ) {},

/**
@hide -- old signature, the internal code still uses it.
*/
getTitle : function(  ) {},

/**
@hide -- old signature, the internal code still uses it.
*/
getTitleResId : function(  ) {},

/**
@hide -- old signature, the internal code still uses it.
*/
getText : function(  ) {},

/**
@hide -- old signature, the internal code still uses it.
*/
getTextResId : function(  ) {},

/**Return the short description of a shortcut.
@see Builder#setShortLabel(CharSequence)
*/
getShortLabel : function(  ) {},

/**
@hide 
*/
getShortLabelResourceId : function(  ) {},

/**Return the long description of a shortcut.
@see Builder#setLongLabel(CharSequence)
*/
getLongLabel : function(  ) {},

/**
@hide 
*/
getLongLabelResourceId : function(  ) {},

/**Return the message that should be shown when the user attempts to start a shortcut
 that is disabled.
@see Builder#setDisabledMessage(CharSequence)
*/
getDisabledMessage : function(  ) {},

/**
@hide 
*/
getDisabledMessageResourceId : function(  ) {},

/**
@hide 
*/
setDisabledReason : function(  ) {},

/**Returns why a shortcut has been disabled.
*/
getDisabledReason : function(  ) {},

/**Return the shortcut's categories.
@see Builder#setCategories(Set)
*/
getCategories : function(  ) {},

/**Returns the intent that is executed when the user selects this shortcut.
 If setIntents() was used, then return the last intent in the array.

 <p>Launcher apps <b>cannot</b> see the intent.  If a {@link android.content.pm.ShortcutInfo} is
 obtained via {@link android.content.pm.LauncherApps}, then this method will always return null.
 Launchers can only start a shortcut intent with {@link android.content.pm.LauncherApps#startShortcut}.
@see Builder#setIntent(Intent)
*/
getIntent : function(  ) {},

/**Return the intent set with {@link android.content.pm.SigningDetails.Builder#setIntents(Intent[])}.

 <p>Launcher apps <b>cannot</b> see the intents.  If a {@link android.content.pm.ShortcutInfo} is
 obtained via {@link android.content.pm.LauncherApps}, then this method will always return null.
 Launchers can only start a shortcut intent with {@link android.content.pm.LauncherApps#startShortcut}.
@see Builder#setIntents(Intent[])
*/
getIntents : function(  ) {},

/**Return "raw" intents, which is the original intents without the extras.
@hide 
*/
getIntentsNoExtras : function(  ) {},

/**Return the Persons set with {@link android.content.pm.SigningDetails.Builder#setPersons(Person[])}.
@hide 
*/
getPersons : function(  ) {},

/**The extras in the intents.  We convert extras into {@link PersistableBundle} so we can
 persist them.
@hide 
*/
getIntentPersistableExtrases : function(  ) {},

/**"Rank" of a shortcut, which is a non-negative, sequential value that's unique for each
 {@link #getActivity} for each of the two types of shortcuts (static and dynamic).

 <p>Because static shortcuts and dynamic shortcuts have overlapping ranks,
 when a launcher app shows shortcuts for an activity, it should first show
 the static shortcuts, followed by the dynamic shortcuts.  Within each of those categories,
 shortcuts should be sorted by rank in ascending order.

 <p><em>Floating shortcuts</em>, or shortcuts that are neither static nor dynamic, will all
 have rank 0, because they aren't sorted.

 See the {@link android.content.pm.ShortcutManager}'s class javadoc for details.
@see Builder#setRank(int)
*/
getRank : function(  ) {},

/**
@hide 
*/
hasRank : function(  ) {},

/**
@hide 
*/
setRank : function(  ) {},

/**
@hide 
*/
clearImplicitRankAndRankChangedFlag : function(  ) {},

/**
@hide 
*/
setImplicitRank : function(  ) {},

/**
@hide 
*/
getImplicitRank : function(  ) {},

/**
@hide 
*/
setRankChanged : function(  ) {},

/**
@hide 
*/
isRankChanged : function(  ) {},

/**Extras that the app can set for any purpose.
@see Builder#setExtras(PersistableBundle)
*/
getExtras : function(  ) {},

/**
@hide 
*/
getUserId : function(  ) {},

/**{@link UserHandle} on which the publisher created this shortcut.
*/
getUserHandle : function(  ) {},

/**Last time when any of the fields was updated.
*/
getLastChangedTimestamp : function(  ) {},

/**
@hide 
*/
getFlags : function(  ) {},

/**
@hide 
*/
replaceFlags : function(  ) {},

/**
@hide 
*/
addFlags : function(  ) {},

/**
@hide 
*/
clearFlags : function(  ) {},

/**
@hide 
*/
hasFlags : function(  ) {},

/**
@hide 
*/
isReturnedByServer : function(  ) {},

/**
@hide 
*/
setReturnedByServer : function(  ) {},

/**
@hide 
*/
isLongLived : function(  ) {},

/**
@hide 
*/
setLongLived : function(  ) {},

/**Return whether a shortcut is dynamic.
*/
isDynamic : function(  ) {},

/**Return whether a shortcut is pinned.
*/
isPinned : function(  ) {},

/**Return whether a shortcut is static; that is, whether a shortcut is
 published from AndroidManifest.xml.  If {@code true}, the shortcut is
 also {@link #isImmutable}().

 <p>When an app is upgraded and a shortcut is no longer published from AndroidManifest.xml,
 this will be set to {@code false}.  If the shortcut is not pinned, then it'll disappear.
 However, if it's pinned, it will still be visible, {@link #isEnabled}() will be
 {@code false} and {@link #isImmutable}() will be {@code true}.
*/
isDeclaredInManifest : function(  ) {},

/**
@hide kept for unit tests
*/
isManifestShortcut : function(  ) {},

/**
@return {Boolean} true if pinned but neither static nor dynamic.
@hide 
*/
isFloating : function(  ) {},

/**
@hide 
*/
isOriginallyFromManifest : function(  ) {},

/**
@hide 
*/
isDynamicVisible : function(  ) {},

/**
@hide 
*/
isPinnedVisible : function(  ) {},

/**
@hide 
*/
isManifestVisible : function(  ) {},

/**Return if a shortcut is immutable, in which case it cannot be modified with any of
 {@link android.content.pm.ShortcutManager} APIs.

 <p>All static shortcuts are immutable.  When a static shortcut is pinned and is then
 disabled because it doesn't appear in AndroidManifest.xml for a newer version of the
 app, {@link #isDeclaredInManifest}() returns {@code false}, but the shortcut
 is still immutable.

 <p>All shortcuts originally published via the {@link android.content.pm.ShortcutManager} APIs
 are all mutable.
*/
isImmutable : function(  ) {},

/**Returns {@code false} if a shortcut is disabled with
 {@link android.content.pm.ShortcutManager#disableShortcuts}.
*/
isEnabled : function(  ) {},

/**
@hide 
*/
isAlive : function(  ) {},

/**
@hide 
*/
usesQuota : function(  ) {},

/**Return whether a shortcut's icon is a resource in the owning package.
@hide internal/unit tests only
*/
hasIconResource : function(  ) {},

/**
@hide 
*/
hasStringResources : function(  ) {},

/**
@hide 
*/
hasAnyResources : function(  ) {},

/**Return whether a shortcut's icon is stored as a file.
@hide internal/unit tests only
*/
hasIconFile : function(  ) {},

/**Return whether a shortcut's icon is adaptive bitmap following design guideline
 defined in {@link android.graphics.drawable.AdaptiveIconDrawable}.
@hide internal/unit tests only
*/
hasAdaptiveBitmap : function(  ) {},

/**
@hide 
*/
isIconPendingSave : function(  ) {},

/**
@hide 
*/
setIconPendingSave : function(  ) {},

/**
@hide 
*/
clearIconPendingSave : function(  ) {},

/**When the system wasn't able to restore a shortcut, it'll still be registered to the system
 but disabled, and such shortcuts will not be visible to the publisher. They're still visible
 to launchers though.
@hide 
*/
isVisibleToPublisher : function(  ) {},

/**Return whether a shortcut only contains "key" information only or not.  If true, only the
 following fields are available.
 <ul>
     <li>{@link #getId}()
     <li>{@link #getPackage}()
     <li>{@link #getActivity}()
     <li>{@link #getLastChangedTimestamp}()
     <li>{@link #isDynamic}()
     <li>{@link #isPinned}()
     <li>{@link #isDeclaredInManifest}()
     <li>{@link #isImmutable}()
     <li>{@link #isEnabled}()
     <li>{@link #getUserHandle}()
 </ul>

 <p>For performance reasons, shortcuts passed to
 {@link android.content.pm.LauncherApps.Callback#onShortcutsChanged(String, List, UserHandle)} as well as those
 returned from {@link android.content.pm.LauncherApps#getShortcuts(ShortcutQuery, UserHandle)}
 while using the {@link android.content.pm.LauncherApps.ShortcutQuery#FLAG_GET_KEY_FIELDS_ONLY} option contain only key
 information.
*/
hasKeyFieldsOnly : function(  ) {},

/**
@hide 
*/
hasStringResourcesResolved : function(  ) {},

/**
@hide 
*/
updateTimestamp : function(  ) {},

/**
@hide 
*/
setTimestamp : function(  ) {},

/**
@hide 
*/
clearIcon : function(  ) {},

/**
@hide 
*/
setIconResourceId : function(  ) {},

/**Get the resource ID for the icon, valid only when {@link #hasIconResource}() } is true.
@hide internal / tests only.
*/
getIconResourceId : function(  ) {},

/**Bitmap path.  Note this will be null even if {@link #hasIconFile}() is set when the save
 is pending.  Use {@link #isIconPendingSave}() to check it.
@hide 
*/
getBitmapPath : function(  ) {},

/**
@hide 
*/
setBitmapPath : function(  ) {},

/**
@hide 
*/
setDisabledMessageResId : function(  ) {},

/**
@hide 
*/
setDisabledMessage : function(  ) {},

/**
@hide 
*/
getTitleResName : function(  ) {},

/**
@hide 
*/
setTitleResName : function(  ) {},

/**
@hide 
*/
getTextResName : function(  ) {},

/**
@hide 
*/
setTextResName : function(  ) {},

/**
@hide 
*/
getDisabledMessageResName : function(  ) {},

/**
@hide 
*/
setDisabledMessageResName : function(  ) {},

/**
@hide 
*/
getIconResName : function(  ) {},

/**
@hide 
*/
setIconResName : function(  ) {},

/**Replaces the intent.
@throws IllegalArgumentException when extra is not compatible with {@link PersistableBundle}.
@hide 
*/
setIntents : function(  ) {},

/**
@hide 
*/
setIntentExtras : function(  ) {},

/**Replaces the categories.
@hide 
*/
setCategories : function(  ) {},

/**
*/
writeToParcel : function(  ) {},

/**
*/
describeContents : function(  ) {},

/**Return a string representation, intended for logging.  Some fields will be retracted.
*/
toString : function(  ) {},

/**
@hide 
*/
toInsecureString : function(  ) {},

/**
@hide 
*/
toDumpString : function(  ) {},


};