Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 48e61cf5 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 6841

* changes:
  resolved conflicts for merge of 889c2d37 to master
parents 9cf012a9 54a26bc8
Loading
Loading
Loading
Loading
+82 −1
Original line number Original line Diff line number Diff line
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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";
@@ -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)
@@ -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";
@@ -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";
@@ -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";
@@ -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 =
@@ -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";
@@ -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";
@@ -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 =
@@ -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 =
+2 −0
Original line number Original line Diff line number Diff line
@@ -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);
+44 −20
Original line number Original line Diff line number Diff line
@@ -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);
@@ -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);
@@ -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());
@@ -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);
@@ -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);
@@ -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
@@ -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;


+6 −0
Original line number Original line Diff line number Diff line
@@ -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
+3 −0
Original line number Original line Diff line number Diff line
@@ -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