summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2009-11-11 20:12:41 -0800
committerDianne Hackborn <hackbod@google.com>2009-11-11 20:13:53 -0800
commit86a72dacbea3331cd5423c1f2f6ecbfae535e57c (patch)
tree0fab52282b83a7bd36f2316165c510f2b39ed909 /core/java
parent532d56034532809da7691059742371c1b4d0656c (diff)
downloadframeworks_base-86a72dacbea3331cd5423c1f2f6ecbfae535e57c.zip
frameworks_base-86a72dacbea3331cd5423c1f2f6ecbfae535e57c.tar.gz
frameworks_base-86a72dacbea3331cd5423c1f2f6ecbfae535e57c.tar.bz2
Fix issue #2256270: Package manager sends bad broadcasts when components change
Also reworks this intent protocol a little bit to be much more efficient, only requiring one broadcast per package. Change-Id: I580de4843ebd3c7f2e6df7295a2f80d2937cef7c
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/content/Intent.java23
1 files changed, 16 insertions, 7 deletions
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index c676a5b..398f211 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -1275,12 +1275,15 @@ public class Intent implements Parcelable {
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
public static final String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED";
/**
- * Broadcast Action: An existing application package has been changed (e.g. a component has been
- * enabled or disabled. The data contains the name of the package.
+ * Broadcast Action: An existing application package has been changed (e.g.
+ * a component has been enabled or disabled). The data contains the name of
+ * the package.
* <ul>
* <li> {@link #EXTRA_UID} containing the integer uid assigned to the package.
- * <li> {@link #EXTRA_CHANGED_COMPONENT_NAME} containing the class name of the changed component.
- * <li> {@link #EXTRA_DONT_KILL_APP} containing boolean field to override the default action of restarting the application.
+ * <li> {@link #EXTRA_CHANGED_COMPONENT_NAME_LIST} containing the class name
+ * of the changed components.
+ * <li> {@link #EXTRA_DONT_KILL_APP} containing boolean field to override the
+ * default action of restarting the application.
* </ul>
*
* <p class="note">This is a protected intent that can only be sent
@@ -2101,14 +2104,20 @@ public class Intent implements Parcelable {
"android.intent.extra.remote_intent_token";
/**
- * Used as an int extra field in {@link android.content.Intent#ACTION_PACKAGE_CHANGED}
- * intent to supply the name of the component that changed.
- *
+ * @Deprecated See {@link #EXTRA_CHANGED_COMPONENT_NAME_LIST}; this field
+ * will contain only the first name in the list.
*/
public static final String EXTRA_CHANGED_COMPONENT_NAME =
"android.intent.extra.changed_component_name";
/**
+ * This field is part of {@link android.content.Intent#ACTION_PACKAGE_CHANGED}
+ * and contains a string array of all of the components that have changed.
+ */
+ public static final String EXTRA_CHANGED_COMPONENT_NAME_LIST =
+ "android.intent.extra.changed_component_name_list";
+
+ /**
* @hide
* Magic extra system code can use when binding, to give a label for
* who it is that has bound to a service. This is an integer giving