Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70e8f660 authored by Narayan Kamath's avatar Narayan Kamath
Browse files

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
parent ec403e8f
Loading
Loading
Loading
Loading
+5 −25
Original line number Diff line number Diff line
@@ -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) {