Merge "Introduce PACKAGE_FIRST_ADDED broadcast" into oc-dev
am: 117ac766a9
Change-Id: I9bec0f90873a5bcb9ff89eadcf7e334e9f0afb89
This commit is contained in:
@@ -9342,6 +9342,7 @@ package android.content {
|
||||
field public static final java.lang.String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_FIRST_ADDED = "android.intent.action.PACKAGE_FIRST_ADDED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_FIRST_LAUNCH = "android.intent.action.PACKAGE_FIRST_LAUNCH";
|
||||
field public static final java.lang.String ACTION_PACKAGE_FULLY_REMOVED = "android.intent.action.PACKAGE_FULLY_REMOVED";
|
||||
field public static final deprecated java.lang.String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL";
|
||||
|
||||
@@ -9868,6 +9868,7 @@ package android.content {
|
||||
field public static final java.lang.String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_FIRST_ADDED = "android.intent.action.PACKAGE_FIRST_ADDED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_FIRST_LAUNCH = "android.intent.action.PACKAGE_FIRST_LAUNCH";
|
||||
field public static final java.lang.String ACTION_PACKAGE_FULLY_REMOVED = "android.intent.action.PACKAGE_FULLY_REMOVED";
|
||||
field public static final deprecated java.lang.String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL";
|
||||
|
||||
@@ -9376,6 +9376,7 @@ package android.content {
|
||||
field public static final java.lang.String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_FIRST_ADDED = "android.intent.action.PACKAGE_FIRST_ADDED";
|
||||
field public static final java.lang.String ACTION_PACKAGE_FIRST_LAUNCH = "android.intent.action.PACKAGE_FIRST_LAUNCH";
|
||||
field public static final java.lang.String ACTION_PACKAGE_FULLY_REMOVED = "android.intent.action.PACKAGE_FULLY_REMOVED";
|
||||
field public static final deprecated java.lang.String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL";
|
||||
|
||||
@@ -2062,13 +2062,13 @@ public class Intent implements Parcelable, Cloneable {
|
||||
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
|
||||
public static final String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL";
|
||||
/**
|
||||
* Broadcast Action: A new application package has been installed on the
|
||||
* Broadcast Action: An application package has been installed or updated on the
|
||||
* device. The data contains the name of the package. Note that the
|
||||
* newly installed package does <em>not</em> receive this broadcast.
|
||||
* <p>May include the following extras:
|
||||
* <ul>
|
||||
* <li> {@link #EXTRA_UID} containing the integer uid assigned to the new package.
|
||||
* <li> {@link #EXTRA_REPLACING} is set to true if this is following
|
||||
* <li> {@link #EXTRA_UID} containing the integer uid assigned to this package.
|
||||
* <li> {@link #EXTRA_REPLACING} is set to {@code true} if this is following
|
||||
* an {@link #ACTION_PACKAGE_REMOVED} broadcast for the same package.
|
||||
* </ul>
|
||||
*
|
||||
@@ -2077,6 +2077,22 @@ public class Intent implements Parcelable, Cloneable {
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
|
||||
public static final String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED";
|
||||
/**
|
||||
* Broadcast Action: A new application package has been installed on the
|
||||
* device. The data contains the name of the package. Note that the
|
||||
* newly installed package does <em>not</em> receive this broadcast.
|
||||
* <p class="note">Unlike {@link #ACTION_PACKAGE_ADDED}, this broadcast is delivered
|
||||
* to manifest receivers as well as those registered at runtime.
|
||||
* <p>May include the following extras:
|
||||
* <ul>
|
||||
* <li> {@link #EXTRA_UID} containing the integer uid assigned to the new package.
|
||||
* </ul>
|
||||
*
|
||||
* <p class="note">This is a protected intent that can only be sent
|
||||
* by the system.
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
|
||||
public static final String ACTION_PACKAGE_FIRST_ADDED = "android.intent.action.PACKAGE_FIRST_ADDED";
|
||||
/**
|
||||
* Broadcast Action: A new version of an application package has been
|
||||
* installed, replacing an existing version that was previously installed.
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
<protected-broadcast android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
<protected-broadcast android:name="android.intent.action.PACKAGE_INSTALL" />
|
||||
<protected-broadcast android:name="android.intent.action.PACKAGE_ADDED" />
|
||||
<protected-broadcast android:name="android.intent.action.PACKAGE_FIRST_ADDED" />
|
||||
<protected-broadcast android:name="android.intent.action.PACKAGE_REPLACED" />
|
||||
<protected-broadcast android:name="android.intent.action.MY_PACKAGE_REPLACED" />
|
||||
<protected-broadcast android:name="android.intent.action.PACKAGE_REMOVED" />
|
||||
|
||||
@@ -1833,6 +1833,10 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
extras.putInt(Intent.EXTRA_UID, res.uid);
|
||||
if (update) {
|
||||
extras.putBoolean(Intent.EXTRA_REPLACING, true);
|
||||
} else {
|
||||
sendPackageBroadcast(Intent.ACTION_PACKAGE_FIRST_ADDED, packageName,
|
||||
extras, Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND,
|
||||
null /*targetPackage*/, null /*finishedReceiver*/, updateUsers);
|
||||
}
|
||||
sendPackageBroadcast(Intent.ACTION_PACKAGE_ADDED, packageName,
|
||||
extras, 0 /*flags*/, null /*targetPackage*/,
|
||||
@@ -13271,8 +13275,10 @@ public class PackageManagerService extends IPackageManager.Stub {
|
||||
// Set to UID of the first user, EXTRA_UID is automatically updated in sendPackageBroadcast
|
||||
extras.putInt(Intent.EXTRA_UID, UserHandle.getUid(userIds[0], appId));
|
||||
|
||||
sendPackageBroadcast(Intent.ACTION_PACKAGE_ADDED,
|
||||
packageName, extras, 0, null, null, userIds);
|
||||
sendPackageBroadcast(Intent.ACTION_PACKAGE_FIRST_ADDED, packageName,
|
||||
extras, Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND, null, null, userIds);
|
||||
sendPackageBroadcast(Intent.ACTION_PACKAGE_ADDED, packageName,
|
||||
extras, 0, null, null, userIds);
|
||||
if (isSystem) {
|
||||
mHandler.post(() -> {
|
||||
for (int userId : userIds) {
|
||||
|
||||
Reference in New Issue
Block a user