diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2011-03-03 18:17:41 -0800 |
---|---|---|
committer | Svetoslav Ganov <svetoslavganov@google.com> | 2011-03-03 18:20:43 -0800 |
commit | 9aa597e68b3fb30b079d627e1fcdea766e98ad26 (patch) | |
tree | 331c05d3a5372bdd3ce89ab326929ec5f6085dbf /core/java/android/app | |
parent | 6e71c954faff34b78a2952436b4f48d84a8c20cd (diff) | |
download | frameworks_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.java | 26 |
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; } |