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

Commit 4c1d506d authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Start enforcing explicit intents for Context.bindService()"

parents e0583b2c 10ad9822
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -18617,6 +18617,7 @@ package android.os {
    field public static final int JELLY_BEAN_MR1 = 17; // 0x11
    field public static final int JELLY_BEAN_MR1 = 17; // 0x11
    field public static final int JELLY_BEAN_MR2 = 18; // 0x12
    field public static final int JELLY_BEAN_MR2 = 18; // 0x12
    field public static final int KITKAT = 19; // 0x13
    field public static final int KITKAT = 19; // 0x13
    field public static final int L = 10000; // 0x2710
  }
  }
  public final class Bundle implements java.lang.Cloneable android.os.Parcelable {
  public final class Bundle implements java.lang.Cloneable android.os.Parcelable {
+5 −5
Original line number Original line Diff line number Diff line
@@ -1479,13 +1479,13 @@ class ContextImpl extends Context {


    private void validateServiceIntent(Intent service) {
    private void validateServiceIntent(Intent service) {
        if (service.getComponent() == null && service.getPackage() == null) {
        if (service.getComponent() == null && service.getPackage() == null) {
            if (true || getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.KITKAT) {
            if (getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.L) {
                IllegalArgumentException ex = new IllegalArgumentException(
                        "Service Intent must be explicit: " + service);
                throw ex;
            } else {
                Log.w(TAG, "Implicit intents with startService are not safe: " + service
                Log.w(TAG, "Implicit intents with startService are not safe: " + service
                        + " " + Debug.getCallers(2, 3));
                        + " " + Debug.getCallers(2, 3));
                //IllegalArgumentException ex = new IllegalArgumentException(
                //        "Service Intent must be explicit: " + service);
                //Log.e(TAG, "This will become an error", ex);
                //throw ex;
            }
            }
        }
        }
    }
    }
+13 −0
Original line number Original line Diff line number Diff line
@@ -467,6 +467,19 @@ public class Build {
         * </ul>
         * </ul>
         */
         */
        public static final int KITKAT = 19;
        public static final int KITKAT = 19;

        /**
         * L!
         *
         * <p>Applications targeting this or a later release will get these
         * new changes in behavior:</p>
         * <ul>
         * <li> {@link android.content.Context#bindService Context.bindService} now
         * requires an explicit Intent, and will throw an exception if given an explicit
         * Intent.</li>
         * </ul>
         */
        public static final int L = CUR_DEVELOPMENT;
    }
    }
    
    
    /** The type of build, like "user" or "eng". */
    /** The type of build, like "user" or "eng". */
+3 −5
Original line number Original line Diff line number Diff line
@@ -234,9 +234,7 @@ public class UserManagerService extends IUserManager.Stub {
    }
    }


    void systemReady() {
    void systemReady() {
        final Context context = ActivityThread.systemMain().getSystemContext();
        mUserPackageMonitor.register(mContext, null, UserHandle.ALL, false);
        mUserPackageMonitor.register(context,
                null, UserHandle.ALL, false);
        userForeground(UserHandle.USER_OWNER);
        userForeground(UserHandle.USER_OWNER);
    }
    }


@@ -457,7 +455,7 @@ public class UserManagerService extends IUserManager.Stub {


    /**
    /**
     * Enforces that only the system UID or root's UID or apps that have the
     * Enforces that only the system UID or root's UID or apps that have the
     * {@link android.Manifest.permission.MANAGE_USERS MANAGE_USERS}
     * {@link android.Manifest.permission#MANAGE_USERS MANAGE_USERS}
     * permission can make certain calls to the UserManager.
     * permission can make certain calls to the UserManager.
     *
     *
     * @param message used as message if SecurityException is thrown
     * @param message used as message if SecurityException is thrown
@@ -1046,7 +1044,7 @@ public class UserManagerService extends IUserManager.Stub {
    /**
    /**
     * Removes a user and all data directories created for that user. This method should be called
     * Removes a user and all data directories created for that user. This method should be called
     * after the user's processes have been terminated.
     * after the user's processes have been terminated.
     * @param id the user's id
     * @param userHandle the user's id
     */
     */
    public boolean removeUser(int userHandle) {
    public boolean removeUser(int userHandle) {
        checkManageUsersPermission("Only the system can remove users");
        checkManageUsersPermission("Only the system can remove users");