Loading core/java/android/content/Intent.java +82 −1 Original line number Original line Diff line number Diff line Loading @@ -1112,11 +1112,17 @@ public class Intent implements Parcelable { /** /** * Broadcast Action: Sent after the screen turns off. * Broadcast Action: Sent after the screen turns off. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF"; public static final String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF"; /** /** * Broadcast Action: Sent after the screen turns on. * Broadcast Action: Sent after the screen turns on. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON"; public static final String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON"; Loading @@ -1124,6 +1130,9 @@ public class Intent implements Parcelable { /** /** * Broadcast Action: Sent when the user is present after device wakes up (e.g when the * Broadcast Action: Sent when the user is present after device wakes up (e.g when the * keyguard is gone). * keyguard is gone). * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USER_PRESENT= "android.intent.action.USER_PRESENT"; public static final String ACTION_USER_PRESENT= "android.intent.action.USER_PRESENT"; Loading @@ -1134,6 +1143,9 @@ public class Intent implements Parcelable { * in manifests, only by exlicitly registering for it with * in manifests, only by exlicitly registering for it with * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) * Context.registerReceiver()}. * Context.registerReceiver()}. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_TIME_TICK = "android.intent.action.TIME_TICK"; public static final String ACTION_TIME_TICK = "android.intent.action.TIME_TICK"; Loading @@ -1152,6 +1164,9 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li><em>time-zone</em> - The java.util.TimeZone.getID() value identifying the new time zone.</li> * <li><em>time-zone</em> - The java.util.TimeZone.getID() value identifying the new time zone.</li> * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_TIMEZONE_CHANGED = "android.intent.action.TIMEZONE_CHANGED"; public static final String ACTION_TIMEZONE_CHANGED = "android.intent.action.TIMEZONE_CHANGED"; Loading @@ -1177,6 +1192,9 @@ public class Intent implements Parcelable { * such as installing alarms. You must hold the * such as installing alarms. You must hold the * {@link android.Manifest.permission#RECEIVE_BOOT_COMPLETED} permission * {@link android.Manifest.permission#RECEIVE_BOOT_COMPLETED} permission * in order to receive this broadcast. * in order to receive this broadcast. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED"; public static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED"; Loading @@ -1184,12 +1202,18 @@ public class Intent implements Parcelable { * Broadcast Action: This is broadcast when a user action should request a * Broadcast Action: This is broadcast when a user action should request a * temporary system dialog to dismiss. Some examples of temporary system * temporary system dialog to dismiss. Some examples of temporary system * dialogs are the notification window-shade and the recent tasks dialog. * dialogs are the notification window-shade and the recent tasks dialog. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ public static final String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS"; public static final String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS"; /** /** * Broadcast Action: Trigger the download and eventual installation * Broadcast Action: Trigger the download and eventual installation * of a package. * of a package. * <p>Input: {@link #getData} is the URI of the package file to download. * <p>Input: {@link #getData} is the URI of the package file to download. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL"; public static final String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL"; Loading @@ -1203,6 +1227,9 @@ public class Intent implements Parcelable { * <li> {@link #EXTRA_REPLACING} is set to true if this is following * <li> {@link #EXTRA_REPLACING} is set to true if this is following * an {@link #ACTION_PACKAGE_REMOVED} broadcast for the same package. * an {@link #ACTION_PACKAGE_REMOVED} broadcast for the same package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED"; public static final String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED"; Loading @@ -1214,6 +1241,9 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the new package. * <li> {@link #EXTRA_UID} containing the integer uid assigned to the new package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_REPLACED = "android.intent.action.PACKAGE_REPLACED"; public static final String ACTION_PACKAGE_REPLACED = "android.intent.action.PACKAGE_REPLACED"; Loading @@ -1229,6 +1259,9 @@ public class Intent implements Parcelable { * <li> {@link #EXTRA_REPLACING} is set to true if this will be followed * <li> {@link #EXTRA_REPLACING} is set to true if this will be followed * by an {@link #ACTION_PACKAGE_ADDED} broadcast for the same package. * by an {@link #ACTION_PACKAGE_ADDED} broadcast for the same package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED"; public static final String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED"; Loading @@ -1238,6 +1271,9 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED"; public static final String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED"; Loading @@ -1251,6 +1287,9 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_RESTARTED = "android.intent.action.PACKAGE_RESTARTED"; public static final String ACTION_PACKAGE_RESTARTED = "android.intent.action.PACKAGE_RESTARTED"; Loading @@ -1263,12 +1302,18 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED"; public static final String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED"; /** /** * Broadcast Action: A user ID has been removed from the system. The user * Broadcast Action: A user ID has been removed from the system. The user * ID number is stored in the extra data under {@link #EXTRA_UID}. * ID number is stored in the extra data under {@link #EXTRA_UID}. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_UID_REMOVED = "android.intent.action.UID_REMOVED"; public static final String ACTION_UID_REMOVED = "android.intent.action.UID_REMOVED"; Loading @@ -1288,6 +1333,9 @@ public class Intent implements Parcelable { * can not be restarted will need to watch for this action and handle it * can not be restarted will need to watch for this action and handle it * appropriately. * appropriately. * * * <p class="note">This is a protected intent that can only be sent * by the system. * * @see android.content.res.Configuration * @see android.content.res.Configuration */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) Loading @@ -1298,15 +1346,21 @@ public class Intent implements Parcelable { * * * <p class="note"> * <p class="note"> * You can <em>not</em> receive this through components declared * You can <em>not</em> receive this through components declared * in manifests, only by exlicitly registering for it with * in manifests, only by explicitly registering for it with * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) * Context.registerReceiver()}. * Context.registerReceiver()}. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_BATTERY_CHANGED = "android.intent.action.BATTERY_CHANGED"; public static final String ACTION_BATTERY_CHANGED = "android.intent.action.BATTERY_CHANGED"; /** /** * Broadcast Action: Indicates low battery condition on the device. * Broadcast Action: Indicates low battery condition on the device. * This broadcast corresponds to the "Low battery warning" system dialog. * This broadcast corresponds to the "Low battery warning" system dialog. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_BATTERY_LOW = "android.intent.action.BATTERY_LOW"; public static final String ACTION_BATTERY_LOW = "android.intent.action.BATTERY_LOW"; Loading @@ -1314,6 +1368,9 @@ public class Intent implements Parcelable { * Broadcast Action: Indicates the battery is now okay after being low. * Broadcast Action: Indicates the battery is now okay after being low. * This will be sent after {@link #ACTION_BATTERY_LOW} once the battery has * This will be sent after {@link #ACTION_BATTERY_LOW} once the battery has * gone back up to an okay state. * gone back up to an okay state. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_BATTERY_OKAY = "android.intent.action.BATTERY_OKAY"; public static final String ACTION_BATTERY_OKAY = "android.intent.action.BATTERY_OKAY"; Loading @@ -1323,6 +1380,9 @@ public class Intent implements Parcelable { * Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to * Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to * stay active to receive this notification. This action can be used to implement actions * stay active to receive this notification. This action can be used to implement actions * that wait until power is available to trigger. * that wait until power is available to trigger. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_POWER_CONNECTED = "android.intent.action.POWER_CONNECTED"; public static final String ACTION_POWER_CONNECTED = "android.intent.action.POWER_CONNECTED"; Loading @@ -1332,6 +1392,9 @@ public class Intent implements Parcelable { * Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to * Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to * stay active to receive this notification. This action can be used to implement actions * stay active to receive this notification. This action can be used to implement actions * that wait until power is available to trigger. * that wait until power is available to trigger. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_POWER_DISCONNECTED = public static final String ACTION_POWER_DISCONNECTED = Loading @@ -1342,16 +1405,25 @@ public class Intent implements Parcelable { * off, not sleeping). Once the broadcast is complete, the final shutdown * off, not sleeping). Once the broadcast is complete, the final shutdown * will proceed and all unsaved data lost. Apps will not normally need * will proceed and all unsaved data lost. Apps will not normally need * to handle this, since the forground activity will be paused as well. * to handle this, since the forground activity will be paused as well. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN"; public static final String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN"; /** /** * Broadcast Action: Indicates low memory condition on the device * Broadcast Action: Indicates low memory condition on the device * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_DEVICE_STORAGE_LOW = "android.intent.action.DEVICE_STORAGE_LOW"; public static final String ACTION_DEVICE_STORAGE_LOW = "android.intent.action.DEVICE_STORAGE_LOW"; /** /** * Broadcast Action: Indicates low memory condition on the device no longer exists * Broadcast Action: Indicates low memory condition on the device no longer exists * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_DEVICE_STORAGE_OK = "android.intent.action.DEVICE_STORAGE_OK"; public static final String ACTION_DEVICE_STORAGE_OK = "android.intent.action.DEVICE_STORAGE_OK"; Loading Loading @@ -1516,6 +1588,9 @@ public class Intent implements Parcelable { * then cell radio and possibly other radios such as bluetooth or WiFi may have also been * then cell radio and possibly other radios such as bluetooth or WiFi may have also been * turned off</li> * turned off</li> * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE"; public static final String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE"; Loading Loading @@ -1594,6 +1669,9 @@ public class Intent implements Parcelable { * <p>You must hold the * <p>You must hold the * {@link android.Manifest.permission#PROCESS_OUTGOING_CALLS} * {@link android.Manifest.permission#PROCESS_OUTGOING_CALLS} * permission to receive this Intent.</p> * permission to receive this Intent.</p> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_NEW_OUTGOING_CALL = public static final String ACTION_NEW_OUTGOING_CALL = Loading @@ -1602,6 +1680,9 @@ public class Intent implements Parcelable { /** /** * Broadcast Action: Have the device reboot. This is only for use by * Broadcast Action: Have the device reboot. This is only for use by * system code. * system code. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_REBOOT = public static final String ACTION_REBOOT = Loading core/java/android/content/pm/IPackageManager.aidl +2 −0 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,8 @@ interface IPackageManager { void removePermission(String name); void removePermission(String name); boolean isProtectedBroadcast(String actionName); int checkSignatures(String pkg1, String pkg2); int checkSignatures(String pkg1, String pkg2); String[] getPackagesForUid(int uid); String[] getPackagesForUid(int uid); Loading core/java/android/content/pm/PackageParser.java +44 −20 Original line number Original line Diff line number Diff line Loading @@ -720,7 +720,7 @@ public class PackageParser { sa.recycle(); sa.recycle(); if (name != null && !pkg.requestedPermissions.contains(name)) { if (name != null && !pkg.requestedPermissions.contains(name)) { pkg.requestedPermissions.add(name); pkg.requestedPermissions.add(name.intern()); } } XmlUtils.skipCurrentTag(parser); XmlUtils.skipCurrentTag(parser); Loading Loading @@ -851,21 +851,6 @@ public class PackageParser { XmlUtils.skipCurrentTag(parser); XmlUtils.skipCurrentTag(parser); } else if (tagName.equals("instrumentation")) { if (parseInstrumentation(pkg, res, parser, attrs, outError) == null) { return null; } } else if (tagName.equals("eat-comment")) { // Just skip this tag XmlUtils.skipCurrentTag(parser); continue; } else if (RIGID_PARSER) { outError[0] = "Bad element under <manifest>: " + parser.getName(); mParseError = PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED; return null; } else if (tagName.equals("supports-density")) { } else if (tagName.equals("supports-density")) { sa = res.obtainAttributes(attrs, sa = res.obtainAttributes(attrs, com.android.internal.R.styleable.AndroidManifestSupportsDensity); com.android.internal.R.styleable.AndroidManifestSupportsDensity); Loading Loading @@ -900,6 +885,43 @@ public class PackageParser { sa.recycle(); sa.recycle(); XmlUtils.skipCurrentTag(parser); XmlUtils.skipCurrentTag(parser); } else if (tagName.equals("protected-broadcast")) { sa = res.obtainAttributes(attrs, com.android.internal.R.styleable.AndroidManifestProtectedBroadcast); String name = sa.getNonResourceString( com.android.internal.R.styleable.AndroidManifestProtectedBroadcast_name); sa.recycle(); if (name != null && (flags&PARSE_IS_SYSTEM) != 0) { if (pkg.protectedBroadcasts == null) { pkg.protectedBroadcasts = new ArrayList<String>(); } if (!pkg.protectedBroadcasts.contains(name)) { pkg.protectedBroadcasts.add(name.intern()); } } XmlUtils.skipCurrentTag(parser); } else if (tagName.equals("instrumentation")) { if (parseInstrumentation(pkg, res, parser, attrs, outError) == null) { return null; } } else if (tagName.equals("eat-comment")) { // Just skip this tag XmlUtils.skipCurrentTag(parser); continue; } else if (RIGID_PARSER) { outError[0] = "Bad element under <manifest>: " + parser.getName(); mParseError = PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED; return null; } else { } else { Log.w(TAG, "Bad element under <manifest>: " Log.w(TAG, "Bad element under <manifest>: " + parser.getName()); + parser.getName()); Loading Loading @@ -1429,7 +1451,7 @@ public class PackageParser { sa.recycle(); sa.recycle(); if (lname != null && !owner.usesLibraries.contains(lname)) { if (lname != null && !owner.usesLibraries.contains(lname)) { owner.usesLibraries.add(lname); owner.usesLibraries.add(lname.intern()); } } XmlUtils.skipCurrentTag(parser); XmlUtils.skipCurrentTag(parser); Loading Loading @@ -2210,7 +2232,7 @@ public class PackageParser { return null; return null; } } boolean success = true; name = name.intern(); TypedValue v = sa.peekValue( TypedValue v = sa.peekValue( com.android.internal.R.styleable.AndroidManifestMetaData_resource); com.android.internal.R.styleable.AndroidManifestMetaData_resource); Loading @@ -2224,7 +2246,7 @@ public class PackageParser { if (v != null) { if (v != null) { if (v.type == TypedValue.TYPE_STRING) { if (v.type == TypedValue.TYPE_STRING) { CharSequence cs = v.coerceToString(); CharSequence cs = v.coerceToString(); data.putString(name, cs != null ? cs.toString() : null); data.putString(name, cs != null ? cs.toString().intern() : null); } else if (v.type == TypedValue.TYPE_INT_BOOLEAN) { } else if (v.type == TypedValue.TYPE_INT_BOOLEAN) { data.putBoolean(name, v.data != 0); data.putBoolean(name, v.data != 0); } else if (v.type >= TypedValue.TYPE_FIRST_INT } else if (v.type >= TypedValue.TYPE_FIRST_INT Loading Loading @@ -2405,6 +2427,8 @@ public class PackageParser { public final ArrayList<String> requestedPermissions = new ArrayList<String>(); public final ArrayList<String> requestedPermissions = new ArrayList<String>(); public ArrayList<String> protectedBroadcasts; public final ArrayList<String> usesLibraries = new ArrayList<String>(); public final ArrayList<String> usesLibraries = new ArrayList<String>(); public String[] usesLibraryFiles = null; public String[] usesLibraryFiles = null; Loading core/java/android/os/Process.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -67,6 +67,12 @@ public class Process { */ */ public static final int PHONE_UID = 1001; public static final int PHONE_UID = 1001; /** * Defines the UID/GID for the user shell. * @hide */ public static final int SHELL_UID = 2000; /** /** * Defines the UID/GID for the WIFI supplicant process. * Defines the UID/GID for the WIFI supplicant process. * @hide * @hide Loading core/java/android/provider/Telephony.java +3 −0 Original line number Original line Diff line number Diff line Loading @@ -1642,6 +1642,9 @@ public final class Telephony { * * * It is recommended to display <em>plmn</em> before / above <em>spn</em> if * It is recommended to display <em>plmn</em> before / above <em>spn</em> if * both are displayed. * both are displayed. * * <p>Note this is a protected intent that can only be sent * by the system. */ */ public static final String SPN_STRINGS_UPDATED_ACTION = public static final String SPN_STRINGS_UPDATED_ACTION = "android.provider.Telephony.SPN_STRINGS_UPDATED"; "android.provider.Telephony.SPN_STRINGS_UPDATED"; Loading Loading
core/java/android/content/Intent.java +82 −1 Original line number Original line Diff line number Diff line Loading @@ -1112,11 +1112,17 @@ public class Intent implements Parcelable { /** /** * Broadcast Action: Sent after the screen turns off. * Broadcast Action: Sent after the screen turns off. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF"; public static final String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF"; /** /** * Broadcast Action: Sent after the screen turns on. * Broadcast Action: Sent after the screen turns on. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON"; public static final String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON"; Loading @@ -1124,6 +1130,9 @@ public class Intent implements Parcelable { /** /** * Broadcast Action: Sent when the user is present after device wakes up (e.g when the * Broadcast Action: Sent when the user is present after device wakes up (e.g when the * keyguard is gone). * keyguard is gone). * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_USER_PRESENT= "android.intent.action.USER_PRESENT"; public static final String ACTION_USER_PRESENT= "android.intent.action.USER_PRESENT"; Loading @@ -1134,6 +1143,9 @@ public class Intent implements Parcelable { * in manifests, only by exlicitly registering for it with * in manifests, only by exlicitly registering for it with * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) * Context.registerReceiver()}. * Context.registerReceiver()}. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_TIME_TICK = "android.intent.action.TIME_TICK"; public static final String ACTION_TIME_TICK = "android.intent.action.TIME_TICK"; Loading @@ -1152,6 +1164,9 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li><em>time-zone</em> - The java.util.TimeZone.getID() value identifying the new time zone.</li> * <li><em>time-zone</em> - The java.util.TimeZone.getID() value identifying the new time zone.</li> * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_TIMEZONE_CHANGED = "android.intent.action.TIMEZONE_CHANGED"; public static final String ACTION_TIMEZONE_CHANGED = "android.intent.action.TIMEZONE_CHANGED"; Loading @@ -1177,6 +1192,9 @@ public class Intent implements Parcelable { * such as installing alarms. You must hold the * such as installing alarms. You must hold the * {@link android.Manifest.permission#RECEIVE_BOOT_COMPLETED} permission * {@link android.Manifest.permission#RECEIVE_BOOT_COMPLETED} permission * in order to receive this broadcast. * in order to receive this broadcast. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED"; public static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED"; Loading @@ -1184,12 +1202,18 @@ public class Intent implements Parcelable { * Broadcast Action: This is broadcast when a user action should request a * Broadcast Action: This is broadcast when a user action should request a * temporary system dialog to dismiss. Some examples of temporary system * temporary system dialog to dismiss. Some examples of temporary system * dialogs are the notification window-shade and the recent tasks dialog. * dialogs are the notification window-shade and the recent tasks dialog. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ public static final String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS"; public static final String ACTION_CLOSE_SYSTEM_DIALOGS = "android.intent.action.CLOSE_SYSTEM_DIALOGS"; /** /** * Broadcast Action: Trigger the download and eventual installation * Broadcast Action: Trigger the download and eventual installation * of a package. * of a package. * <p>Input: {@link #getData} is the URI of the package file to download. * <p>Input: {@link #getData} is the URI of the package file to download. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL"; public static final String ACTION_PACKAGE_INSTALL = "android.intent.action.PACKAGE_INSTALL"; Loading @@ -1203,6 +1227,9 @@ public class Intent implements Parcelable { * <li> {@link #EXTRA_REPLACING} is set to true if this is following * <li> {@link #EXTRA_REPLACING} is set to true if this is following * an {@link #ACTION_PACKAGE_REMOVED} broadcast for the same package. * an {@link #ACTION_PACKAGE_REMOVED} broadcast for the same package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED"; public static final String ACTION_PACKAGE_ADDED = "android.intent.action.PACKAGE_ADDED"; Loading @@ -1214,6 +1241,9 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the new package. * <li> {@link #EXTRA_UID} containing the integer uid assigned to the new package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_REPLACED = "android.intent.action.PACKAGE_REPLACED"; public static final String ACTION_PACKAGE_REPLACED = "android.intent.action.PACKAGE_REPLACED"; Loading @@ -1229,6 +1259,9 @@ public class Intent implements Parcelable { * <li> {@link #EXTRA_REPLACING} is set to true if this will be followed * <li> {@link #EXTRA_REPLACING} is set to true if this will be followed * by an {@link #ACTION_PACKAGE_ADDED} broadcast for the same package. * by an {@link #ACTION_PACKAGE_ADDED} broadcast for the same package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED"; public static final String ACTION_PACKAGE_REMOVED = "android.intent.action.PACKAGE_REMOVED"; Loading @@ -1238,6 +1271,9 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED"; public static final String ACTION_PACKAGE_CHANGED = "android.intent.action.PACKAGE_CHANGED"; Loading @@ -1251,6 +1287,9 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_RESTARTED = "android.intent.action.PACKAGE_RESTARTED"; public static final String ACTION_PACKAGE_RESTARTED = "android.intent.action.PACKAGE_RESTARTED"; Loading @@ -1263,12 +1302,18 @@ public class Intent implements Parcelable { * <ul> * <ul> * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * <li> {@link #EXTRA_UID} containing the integer uid assigned to the package. * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED"; public static final String ACTION_PACKAGE_DATA_CLEARED = "android.intent.action.PACKAGE_DATA_CLEARED"; /** /** * Broadcast Action: A user ID has been removed from the system. The user * Broadcast Action: A user ID has been removed from the system. The user * ID number is stored in the extra data under {@link #EXTRA_UID}. * ID number is stored in the extra data under {@link #EXTRA_UID}. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_UID_REMOVED = "android.intent.action.UID_REMOVED"; public static final String ACTION_UID_REMOVED = "android.intent.action.UID_REMOVED"; Loading @@ -1288,6 +1333,9 @@ public class Intent implements Parcelable { * can not be restarted will need to watch for this action and handle it * can not be restarted will need to watch for this action and handle it * appropriately. * appropriately. * * * <p class="note">This is a protected intent that can only be sent * by the system. * * @see android.content.res.Configuration * @see android.content.res.Configuration */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) Loading @@ -1298,15 +1346,21 @@ public class Intent implements Parcelable { * * * <p class="note"> * <p class="note"> * You can <em>not</em> receive this through components declared * You can <em>not</em> receive this through components declared * in manifests, only by exlicitly registering for it with * in manifests, only by explicitly registering for it with * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter) * Context.registerReceiver()}. * Context.registerReceiver()}. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_BATTERY_CHANGED = "android.intent.action.BATTERY_CHANGED"; public static final String ACTION_BATTERY_CHANGED = "android.intent.action.BATTERY_CHANGED"; /** /** * Broadcast Action: Indicates low battery condition on the device. * Broadcast Action: Indicates low battery condition on the device. * This broadcast corresponds to the "Low battery warning" system dialog. * This broadcast corresponds to the "Low battery warning" system dialog. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_BATTERY_LOW = "android.intent.action.BATTERY_LOW"; public static final String ACTION_BATTERY_LOW = "android.intent.action.BATTERY_LOW"; Loading @@ -1314,6 +1368,9 @@ public class Intent implements Parcelable { * Broadcast Action: Indicates the battery is now okay after being low. * Broadcast Action: Indicates the battery is now okay after being low. * This will be sent after {@link #ACTION_BATTERY_LOW} once the battery has * This will be sent after {@link #ACTION_BATTERY_LOW} once the battery has * gone back up to an okay state. * gone back up to an okay state. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_BATTERY_OKAY = "android.intent.action.BATTERY_OKAY"; public static final String ACTION_BATTERY_OKAY = "android.intent.action.BATTERY_OKAY"; Loading @@ -1323,6 +1380,9 @@ public class Intent implements Parcelable { * Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to * Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to * stay active to receive this notification. This action can be used to implement actions * stay active to receive this notification. This action can be used to implement actions * that wait until power is available to trigger. * that wait until power is available to trigger. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_POWER_CONNECTED = "android.intent.action.POWER_CONNECTED"; public static final String ACTION_POWER_CONNECTED = "android.intent.action.POWER_CONNECTED"; Loading @@ -1332,6 +1392,9 @@ public class Intent implements Parcelable { * Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to * Unlike ACTION_BATTERY_CHANGED, applications will be woken for this and so do not have to * stay active to receive this notification. This action can be used to implement actions * stay active to receive this notification. This action can be used to implement actions * that wait until power is available to trigger. * that wait until power is available to trigger. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_POWER_DISCONNECTED = public static final String ACTION_POWER_DISCONNECTED = Loading @@ -1342,16 +1405,25 @@ public class Intent implements Parcelable { * off, not sleeping). Once the broadcast is complete, the final shutdown * off, not sleeping). Once the broadcast is complete, the final shutdown * will proceed and all unsaved data lost. Apps will not normally need * will proceed and all unsaved data lost. Apps will not normally need * to handle this, since the forground activity will be paused as well. * to handle this, since the forground activity will be paused as well. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN"; public static final String ACTION_SHUTDOWN = "android.intent.action.ACTION_SHUTDOWN"; /** /** * Broadcast Action: Indicates low memory condition on the device * Broadcast Action: Indicates low memory condition on the device * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_DEVICE_STORAGE_LOW = "android.intent.action.DEVICE_STORAGE_LOW"; public static final String ACTION_DEVICE_STORAGE_LOW = "android.intent.action.DEVICE_STORAGE_LOW"; /** /** * Broadcast Action: Indicates low memory condition on the device no longer exists * Broadcast Action: Indicates low memory condition on the device no longer exists * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_DEVICE_STORAGE_OK = "android.intent.action.DEVICE_STORAGE_OK"; public static final String ACTION_DEVICE_STORAGE_OK = "android.intent.action.DEVICE_STORAGE_OK"; Loading Loading @@ -1516,6 +1588,9 @@ public class Intent implements Parcelable { * then cell radio and possibly other radios such as bluetooth or WiFi may have also been * then cell radio and possibly other radios such as bluetooth or WiFi may have also been * turned off</li> * turned off</li> * </ul> * </ul> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE"; public static final String ACTION_AIRPLANE_MODE_CHANGED = "android.intent.action.AIRPLANE_MODE"; Loading Loading @@ -1594,6 +1669,9 @@ public class Intent implements Parcelable { * <p>You must hold the * <p>You must hold the * {@link android.Manifest.permission#PROCESS_OUTGOING_CALLS} * {@link android.Manifest.permission#PROCESS_OUTGOING_CALLS} * permission to receive this Intent.</p> * permission to receive this Intent.</p> * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_NEW_OUTGOING_CALL = public static final String ACTION_NEW_OUTGOING_CALL = Loading @@ -1602,6 +1680,9 @@ public class Intent implements Parcelable { /** /** * Broadcast Action: Have the device reboot. This is only for use by * Broadcast Action: Have the device reboot. This is only for use by * system code. * system code. * * <p class="note">This is a protected intent that can only be sent * by the system. */ */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String ACTION_REBOOT = public static final String ACTION_REBOOT = Loading
core/java/android/content/pm/IPackageManager.aidl +2 −0 Original line number Original line Diff line number Diff line Loading @@ -71,6 +71,8 @@ interface IPackageManager { void removePermission(String name); void removePermission(String name); boolean isProtectedBroadcast(String actionName); int checkSignatures(String pkg1, String pkg2); int checkSignatures(String pkg1, String pkg2); String[] getPackagesForUid(int uid); String[] getPackagesForUid(int uid); Loading
core/java/android/content/pm/PackageParser.java +44 −20 Original line number Original line Diff line number Diff line Loading @@ -720,7 +720,7 @@ public class PackageParser { sa.recycle(); sa.recycle(); if (name != null && !pkg.requestedPermissions.contains(name)) { if (name != null && !pkg.requestedPermissions.contains(name)) { pkg.requestedPermissions.add(name); pkg.requestedPermissions.add(name.intern()); } } XmlUtils.skipCurrentTag(parser); XmlUtils.skipCurrentTag(parser); Loading Loading @@ -851,21 +851,6 @@ public class PackageParser { XmlUtils.skipCurrentTag(parser); XmlUtils.skipCurrentTag(parser); } else if (tagName.equals("instrumentation")) { if (parseInstrumentation(pkg, res, parser, attrs, outError) == null) { return null; } } else if (tagName.equals("eat-comment")) { // Just skip this tag XmlUtils.skipCurrentTag(parser); continue; } else if (RIGID_PARSER) { outError[0] = "Bad element under <manifest>: " + parser.getName(); mParseError = PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED; return null; } else if (tagName.equals("supports-density")) { } else if (tagName.equals("supports-density")) { sa = res.obtainAttributes(attrs, sa = res.obtainAttributes(attrs, com.android.internal.R.styleable.AndroidManifestSupportsDensity); com.android.internal.R.styleable.AndroidManifestSupportsDensity); Loading Loading @@ -900,6 +885,43 @@ public class PackageParser { sa.recycle(); sa.recycle(); XmlUtils.skipCurrentTag(parser); XmlUtils.skipCurrentTag(parser); } else if (tagName.equals("protected-broadcast")) { sa = res.obtainAttributes(attrs, com.android.internal.R.styleable.AndroidManifestProtectedBroadcast); String name = sa.getNonResourceString( com.android.internal.R.styleable.AndroidManifestProtectedBroadcast_name); sa.recycle(); if (name != null && (flags&PARSE_IS_SYSTEM) != 0) { if (pkg.protectedBroadcasts == null) { pkg.protectedBroadcasts = new ArrayList<String>(); } if (!pkg.protectedBroadcasts.contains(name)) { pkg.protectedBroadcasts.add(name.intern()); } } XmlUtils.skipCurrentTag(parser); } else if (tagName.equals("instrumentation")) { if (parseInstrumentation(pkg, res, parser, attrs, outError) == null) { return null; } } else if (tagName.equals("eat-comment")) { // Just skip this tag XmlUtils.skipCurrentTag(parser); continue; } else if (RIGID_PARSER) { outError[0] = "Bad element under <manifest>: " + parser.getName(); mParseError = PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED; return null; } else { } else { Log.w(TAG, "Bad element under <manifest>: " Log.w(TAG, "Bad element under <manifest>: " + parser.getName()); + parser.getName()); Loading Loading @@ -1429,7 +1451,7 @@ public class PackageParser { sa.recycle(); sa.recycle(); if (lname != null && !owner.usesLibraries.contains(lname)) { if (lname != null && !owner.usesLibraries.contains(lname)) { owner.usesLibraries.add(lname); owner.usesLibraries.add(lname.intern()); } } XmlUtils.skipCurrentTag(parser); XmlUtils.skipCurrentTag(parser); Loading Loading @@ -2210,7 +2232,7 @@ public class PackageParser { return null; return null; } } boolean success = true; name = name.intern(); TypedValue v = sa.peekValue( TypedValue v = sa.peekValue( com.android.internal.R.styleable.AndroidManifestMetaData_resource); com.android.internal.R.styleable.AndroidManifestMetaData_resource); Loading @@ -2224,7 +2246,7 @@ public class PackageParser { if (v != null) { if (v != null) { if (v.type == TypedValue.TYPE_STRING) { if (v.type == TypedValue.TYPE_STRING) { CharSequence cs = v.coerceToString(); CharSequence cs = v.coerceToString(); data.putString(name, cs != null ? cs.toString() : null); data.putString(name, cs != null ? cs.toString().intern() : null); } else if (v.type == TypedValue.TYPE_INT_BOOLEAN) { } else if (v.type == TypedValue.TYPE_INT_BOOLEAN) { data.putBoolean(name, v.data != 0); data.putBoolean(name, v.data != 0); } else if (v.type >= TypedValue.TYPE_FIRST_INT } else if (v.type >= TypedValue.TYPE_FIRST_INT Loading Loading @@ -2405,6 +2427,8 @@ public class PackageParser { public final ArrayList<String> requestedPermissions = new ArrayList<String>(); public final ArrayList<String> requestedPermissions = new ArrayList<String>(); public ArrayList<String> protectedBroadcasts; public final ArrayList<String> usesLibraries = new ArrayList<String>(); public final ArrayList<String> usesLibraries = new ArrayList<String>(); public String[] usesLibraryFiles = null; public String[] usesLibraryFiles = null; Loading
core/java/android/os/Process.java +6 −0 Original line number Original line Diff line number Diff line Loading @@ -67,6 +67,12 @@ public class Process { */ */ public static final int PHONE_UID = 1001; public static final int PHONE_UID = 1001; /** * Defines the UID/GID for the user shell. * @hide */ public static final int SHELL_UID = 2000; /** /** * Defines the UID/GID for the WIFI supplicant process. * Defines the UID/GID for the WIFI supplicant process. * @hide * @hide Loading
core/java/android/provider/Telephony.java +3 −0 Original line number Original line Diff line number Diff line Loading @@ -1642,6 +1642,9 @@ public final class Telephony { * * * It is recommended to display <em>plmn</em> before / above <em>spn</em> if * It is recommended to display <em>plmn</em> before / above <em>spn</em> if * both are displayed. * both are displayed. * * <p>Note this is a protected intent that can only be sent * by the system. */ */ public static final String SPN_STRINGS_UPDATED_ACTION = public static final String SPN_STRINGS_UPDATED_ACTION = "android.provider.Telephony.SPN_STRINGS_UPDATED"; "android.provider.Telephony.SPN_STRINGS_UPDATED"; Loading