Remove code that sets user.* system properties.

This has been disallowed by the SELinux for several years now,
so can safely be removed. Given that saveLocaleLocked is
simplified quite a bit, we can now inline into its only caller.

bug: 18910417

Change-Id: I18251f77e4a25a0e7ecda8e85a9b3fcdc2dc7b05
This commit is contained in:
Narayan Kamath
2015-02-12 17:50:24 +00:00
parent ec403e8f47
commit 70e8f6600d

View File

@@ -16294,10 +16294,11 @@ public final class ActivityManagerService extends ActivityManagerNative
EventLog.writeEvent(EventLogTags.CONFIGURATION_CHANGED, changes);
if (values.locale != null && !initLocale) {
saveLocaleLocked(values.locale,
!values.locale.equals(mConfiguration.locale),
values.userSetLocale);
if (!initLocale && values.locale != null && values.userSetLocale) {
final String languageTag = values.locale.toLanguageTag();
SystemProperties.set("persist.sys.locale", languageTag);
mHandler.sendMessage(mHandler.obtainMessage(SEND_LOCALE_TO_MOUNT_DAEMON_MSG,
values.locale));
}
mConfigurationSeq++;
@@ -16403,27 +16404,6 @@ public final class ActivityManagerService extends ActivityManagerNative
&& config.touchscreen == Configuration.TOUCHSCREEN_NOTOUCH);
}
/**
* Save the locale. You must be inside a synchronized (this) block.
*/
private void saveLocaleLocked(Locale l, boolean isDiff, boolean isPersist) {
final String languageTag = l.toLanguageTag();
if (isDiff) {
SystemProperties.set("user.locale", languageTag);
// TODO: Who uses these ? There are no references to these system
// properties in documents or code. Did the author intend to call
// System.setProperty() instead ? Even that wouldn't have any effect.
SystemProperties.set("user.language", l.getLanguage());
SystemProperties.set("user.region", l.getCountry());
}
if (isPersist) {
SystemProperties.set("persist.sys.locale", languageTag);
mHandler.sendMessage(mHandler.obtainMessage(SEND_LOCALE_TO_MOUNT_DAEMON_MSG, l));
}
}
@Override
public boolean shouldUpRecreateTask(IBinder token, String destAffinity) {
synchronized (this) {