summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2012-09-26 23:22:59 -0700
committerDianne Hackborn <hackbod@google.com>2012-09-26 23:22:59 -0700
commitc7ba771a4584d624e66167d018fed7727a819032 (patch)
treee6301d12b0c29d4ab2adb96a0478f7c229c60208 /services
parent13987fb43255ccb3802d415e32b1c5caf14291bb (diff)
downloadframeworks_base-c7ba771a4584d624e66167d018fed7727a819032.zip
frameworks_base-c7ba771a4584d624e66167d018fed7727a819032.tar.gz
frameworks_base-c7ba771a4584d624e66167d018fed7727a819032.tar.bz2
Fix issue #7232952: Settings crash on tapping on Downloaded apps on a secondary user
Also tweak bind flags for new location services so they aren't put so aggressively up in the oom adj list. Change-Id: I9da25a3fea7681013b4d95b7db7e9a808f2d733b
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/ServiceWatcher.java2
-rw-r--r--services/java/com/android/server/am/ActivityManagerService.java5
2 files changed, 4 insertions, 3 deletions
diff --git a/services/java/com/android/server/ServiceWatcher.java b/services/java/com/android/server/ServiceWatcher.java
index 0dfaa05..e99949b 100644
--- a/services/java/com/android/server/ServiceWatcher.java
+++ b/services/java/com/android/server/ServiceWatcher.java
@@ -170,7 +170,7 @@ public class ServiceWatcher implements ServiceConnection {
}
if (D) Log.d(mTag, "binding " + packageName + " (version " + version + ")");
mContext.bindService(intent, this, Context.BIND_AUTO_CREATE | Context.BIND_NOT_FOREGROUND
- | Context.BIND_ALLOW_OOM_MANAGEMENT);
+ | Context.BIND_ALLOW_OOM_MANAGEMENT | Context.BIND_NOT_VISIBLE);
}
private boolean isSignatureMatch(Signature[] signatures) {
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java
index 370d427..0221245 100644
--- a/services/java/com/android/server/am/ActivityManagerService.java
+++ b/services/java/com/android/server/am/ActivityManagerService.java
@@ -11514,8 +11514,9 @@ public final class ActivityManagerService extends ActivityManagerNative
* Prevent non-system code (defined here to be non-persistent
* processes) from sending protected broadcasts.
*/
- if (callingUid == Process.SYSTEM_UID || callingUid == Process.PHONE_UID
- || callingUid == Process.SHELL_UID || callingUid == Process.BLUETOOTH_UID ||
+ int callingAppId = UserHandle.getAppId(callingUid);
+ if (callingAppId == Process.SYSTEM_UID || callingAppId == Process.PHONE_UID
+ || callingAppId == Process.SHELL_UID || callingAppId == Process.BLUETOOTH_UID ||
callingUid == 0) {
// Always okay.
} else if (callerApp == null || !callerApp.persistent) {