summaryrefslogtreecommitdiffstats
path: root/core/java/android/app
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2011-03-03 18:17:41 -0800
committerSvetoslav Ganov <svetoslavganov@google.com>2011-03-03 18:20:43 -0800
commit9aa597e68b3fb30b079d627e1fcdea766e98ad26 (patch)
tree331c05d3a5372bdd3ce89ab326929ec5f6085dbf /core/java/android/app
parent6e71c954faff34b78a2952436b4f48d84a8c20cd (diff)
downloadframeworks_base-9aa597e68b3fb30b079d627e1fcdea766e98ad26.zip
frameworks_base-9aa597e68b3fb30b079d627e1fcdea766e98ad26.tar.gz
frameworks_base-9aa597e68b3fb30b079d627e1fcdea766e98ad26.tar.bz2
Propagating core settings to the system process.
bug:3511123 Now the core settins are stored in the ActivityThread instad in the AppBindData of the currently bound app. Also the settings are pushed to the system process on init. Change-Id: I100bb7dc80d0d4548def22c328427bbef1694eb7
Diffstat (limited to 'core/java/android/app')
-rw-r--r--core/java/android/app/ActivityThread.java26
1 files changed, 11 insertions, 15 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index b409f2f..bd83762 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -200,6 +200,8 @@ public final class ActivityThread {
static Handler sMainThreadHandler; // set once in main()
+ Bundle mCoreSettings = null;
+
private static final class ActivityClientRecord {
IBinder token;
int ident;
@@ -354,7 +356,6 @@ public final class ActivityThread {
boolean restrictedBackupMode;
Configuration config;
boolean handlingProfiling;
- Bundle coreSettings;
public String toString() {
return "AppBindData{appInfo=" + appInfo + "}";
}
@@ -559,6 +560,8 @@ public final class ActivityThread {
ServiceManager.initServiceCache(services);
}
+ setCoreSettings(coreSettings);
+
AppBindData data = new AppBindData();
data.processName = processName;
data.appInfo = appInfo;
@@ -570,7 +573,6 @@ public final class ActivityThread {
data.debugMode = debugMode;
data.restrictedBackupMode = isRestrictedBackupMode;
data.config = config;
- data.coreSettings = coreSettings;
queueOrSendMessage(H.BIND_APPLICATION, data);
}
@@ -898,8 +900,8 @@ public final class ActivityThread {
pw.println(String.format(format, objs));
}
- public void setCoreSettings(Bundle settings) {
- queueOrSendMessage(H.SET_CORE_SETTINGS, settings);
+ public void setCoreSettings(Bundle coreSettings) {
+ queueOrSendMessage(H.SET_CORE_SETTINGS, coreSettings);
}
}
@@ -2720,10 +2722,8 @@ public final class ActivityThread {
}
private void handleSetCoreSettings(Bundle coreSettings) {
- if (mBoundApplication != null) {
- synchronized (mBoundApplication) {
- mBoundApplication.coreSettings = coreSettings;
- }
+ synchronized (mPackages) {
+ mCoreSettings = coreSettings;
}
}
@@ -3990,13 +3990,9 @@ public final class ActivityThread {
}
public int getIntCoreSetting(String key, int defaultValue) {
- if (mBoundApplication == null) {
- return defaultValue;
- }
- synchronized (mBoundApplication) {
- Bundle coreSettings = mBoundApplication.coreSettings;
- if (coreSettings != null) {
- return coreSettings.getInt(key, defaultValue);
+ synchronized (mPackages) {
+ if (mCoreSettings != null) {
+ return mCoreSettings.getInt(key, defaultValue);
} else {
return defaultValue;
}