summaryrefslogtreecommitdiffstats
path: root/services/core
diff options
context:
space:
mode:
authorJessica Wagantall <jwagantall@cyngn.com>2016-09-07 12:40:24 -0700
committerJessica Wagantall <jwagantall@cyngn.com>2016-09-07 12:40:24 -0700
commite0f87f165ecf0f44be98c5101ade78d746f3322c (patch)
treedcda27d29a15412997d7d588c8e211457439231b /services/core
parentcaf9123b78d25476e057701c2a3fb64d2ce09d53 (diff)
parent90ea10c4d3e4aceba98276f5f16389aa6f99584a (diff)
downloadframeworks_base-e0f87f165ecf0f44be98c5101ade78d746f3322c.zip
frameworks_base-e0f87f165ecf0f44be98c5101ade78d746f3322c.tar.gz
frameworks_base-e0f87f165ecf0f44be98c5101ade78d746f3322c.tar.bz2
Merge tag 'android-6.0.1_r66' into HEAD
Android 6.0.1 release 66 # gpg: Signature made Tue 06 Sep 2016 09:26:45 AM PDT using DSA key ID 9AB10E78 # gpg: Can't check signature: public key not found
Diffstat (limited to 'services/core')
-rw-r--r--services/core/java/com/android/server/notification/NotificationManagerService.java5
-rw-r--r--services/core/java/com/android/server/pm/UserManagerService.java2
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java7
3 files changed, 13 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index 76c97cb..9b2804a 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -1991,6 +1991,7 @@ public class NotificationManagerService extends SystemService {
}
private void enforcePolicyAccess(String pkg, String method) {
+ checkCallerIsSameApp(pkg);
if (!checkPolicyAccess(pkg)) {
Slog.w(TAG, "Notification policy access denied calling " + method);
throw new SecurityException("Notification policy access denied");
@@ -3629,6 +3630,10 @@ public class NotificationManagerService extends SystemService {
if (isCallerSystem()) {
return;
}
+ checkCallerIsSameApp(pkg);
+ }
+
+ private static void checkCallerIsSameApp(String pkg) {
final int uid = Binder.getCallingUid();
try {
ApplicationInfo ai = AppGlobals.getPackageManager().getApplicationInfo(
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 96d505b..583d764 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -301,7 +301,7 @@ public class UserManagerService extends IUserManager.Stub {
@Override
public List<UserInfo> getProfiles(int userId, boolean enabledOnly) {
if (userId != UserHandle.getCallingUserId()) {
- checkManageUsersPermission("getting profiles related to user " + userId);
+ checkManageOrCreateUsersPermission("getting profiles related to user " + userId);
}
final long ident = Binder.clearCallingIdentity();
try {
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index b1337e5..3d79757 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -66,6 +66,7 @@ import android.os.SystemProperties;
import android.os.SystemService;
import android.os.Trace;
import android.os.UserHandle;
+import android.os.UserManager;
import android.os.WorkSource;
import android.provider.Settings;
import android.util.ArraySet;
@@ -7687,6 +7688,12 @@ public class WindowManagerService extends IWindowManager.Stub
+ " milliseconds before attempting to detect safe mode.");
}
+ UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+ if (um != null && um.hasUserRestriction(UserManager.DISALLOW_SAFE_BOOT)) {
+ mSafeMode = false;
+ return false;
+ }
+
int menuState = mInputManager.getKeyCodeState(-1, InputDevice.SOURCE_ANY,
KeyEvent.KEYCODE_MENU);
int sState = mInputManager.getKeyCodeState(-1, InputDevice.SOURCE_ANY, KeyEvent.KEYCODE_S);