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

Commit e62bd129 authored by Song Chun Fan's avatar Song Chun Fan Committed by Automerger Merge Worker
Browse files

Merge "Revert "Revert "[SettingsProvider] skip caching in system server"""...

Merge "Revert "Revert "[SettingsProvider] skip caching in system server""" into udc-dev am: 23cdcba7 am: e9d9b921

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/22999028



Change-Id: Id406cc9fd969dd6d6bbc45cbe42ab32b908ea196
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 7cbab817 e9d9b921
Loading
Loading
Loading
Loading
+9 −7
Original line number Original line Diff line number Diff line
@@ -3036,9 +3036,7 @@ public final class Settings {
        public void destroy() {
        public void destroy() {
            try {
            try {
                // If this process is the system server process, mArray is the same object as
                if (!mArray.isClosed()) {
                // the memory int array kept inside SettingsProvider, so skipping the close()
                if (!Settings.isInSystemServer() && !mArray.isClosed()) {
                    mArray.close();
                    mArray.close();
                }
                }
            } catch (IOException e) {
            } catch (IOException e) {
@@ -3218,8 +3216,9 @@ public final class Settings {
        @UnsupportedAppUsage
        @UnsupportedAppUsage
        public String getStringForUser(ContentResolver cr, String name, final int userHandle) {
        public String getStringForUser(ContentResolver cr, String name, final int userHandle) {
            final boolean isSelf = (userHandle == UserHandle.myUserId());
            final boolean isSelf = (userHandle == UserHandle.myUserId());
            final boolean useCache = isSelf && !isInSystemServer();
            boolean needsGenerationTracker = false;
            boolean needsGenerationTracker = false;
            if (isSelf) {
            if (useCache) {
                synchronized (NameValueCache.this) {
                synchronized (NameValueCache.this) {
                    final GenerationTracker generationTracker = mGenerationTrackers.get(name);
                    final GenerationTracker generationTracker = mGenerationTrackers.get(name);
                    if (generationTracker != null) {
                    if (generationTracker != null) {
@@ -3365,10 +3364,13 @@ public final class Settings {
                                }
                                }
                            }
                            }
                        } else {
                        } else {
                            if (LOCAL_LOGV) Log.i(TAG, "call-query of user " + userHandle
                            if (DEBUG || LOCAL_LOGV) {
                                Log.i(TAG, "call-query of user " + userHandle
                                        + " by " + UserHandle.myUserId()
                                        + " by " + UserHandle.myUserId()
                                        + (isInSystemServer() ? " in system_server" : "")
                                        + " so not updating cache");
                                        + " so not updating cache");
                            }
                            }
                        }
                        return value;
                        return value;
                    }
                    }
                    // If the response Bundle is null, we fall through
                    // If the response Bundle is null, we fall through