Loading api/current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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 { core/java/android/app/ContextImpl.java +5 −5 Original line number Original line Diff line number Diff line Loading @@ -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; } } } } } } Loading core/java/android/os/Build.java +13 −0 Original line number Original line Diff line number Diff line Loading @@ -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". */ Loading services/core/java/com/android/server/pm/UserManagerService.java +3 −5 Original line number Original line Diff line number Diff line Loading @@ -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); } } Loading Loading @@ -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 Loading Loading @@ -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"); Loading Loading
api/current.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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 {
core/java/android/app/ContextImpl.java +5 −5 Original line number Original line Diff line number Diff line Loading @@ -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; } } } } } } Loading
core/java/android/os/Build.java +13 −0 Original line number Original line Diff line number Diff line Loading @@ -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". */ Loading
services/core/java/com/android/server/pm/UserManagerService.java +3 −5 Original line number Original line Diff line number Diff line Loading @@ -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); } } Loading Loading @@ -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 Loading Loading @@ -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"); Loading