Merge "Start enforcing explicit intents for Context.bindService()"
This commit is contained in:
committed by
Android (Google) Code Review
commit
4c1d506d7b
@@ -18617,6 +18617,7 @@ package android.os {
|
||||
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 KITKAT = 19; // 0x13
|
||||
field public static final int L = 10000; // 0x2710
|
||||
}
|
||||
|
||||
public final class Bundle implements java.lang.Cloneable android.os.Parcelable {
|
||||
|
||||
@@ -1479,13 +1479,13 @@ class ContextImpl extends Context {
|
||||
|
||||
private void validateServiceIntent(Intent service) {
|
||||
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
|
||||
+ " " + 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -467,6 +467,19 @@ public class Build {
|
||||
* </ul>
|
||||
*/
|
||||
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". */
|
||||
|
||||
@@ -234,9 +234,7 @@ public class UserManagerService extends IUserManager.Stub {
|
||||
}
|
||||
|
||||
void systemReady() {
|
||||
final Context context = ActivityThread.systemMain().getSystemContext();
|
||||
mUserPackageMonitor.register(context,
|
||||
null, UserHandle.ALL, false);
|
||||
mUserPackageMonitor.register(mContext, null, UserHandle.ALL, false);
|
||||
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
|
||||
* {@link android.Manifest.permission.MANAGE_USERS MANAGE_USERS}
|
||||
* {@link android.Manifest.permission#MANAGE_USERS MANAGE_USERS}
|
||||
* permission can make certain calls to the UserManager.
|
||||
*
|
||||
* @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
|
||||
* 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) {
|
||||
checkManageUsersPermission("Only the system can remove users");
|
||||
|
||||
Reference in New Issue
Block a user