Loading core/java/android/provider/Settings.java +44 −56 Original line number Diff line number Diff line Loading @@ -3036,7 +3036,9 @@ public final class Settings { public void destroy() { try { if (!mArray.isClosed()) { // If this process is the system server process, mArray is the same object as // the memory int array kept inside SettingsProvider, so skipping the close() if (!Settings.isInSystemServer() && !mArray.isClosed()) { mArray.close(); } } catch (IOException e) { Loading Loading @@ -3216,9 +3218,8 @@ public final class Settings { @UnsupportedAppUsage public String getStringForUser(ContentResolver cr, String name, final int userHandle) { final boolean isSelf = (userHandle == UserHandle.myUserId()); final boolean useCache = isSelf && !isInSystemServer(); boolean needsGenerationTracker = false; if (useCache) { if (isSelf) { synchronized (NameValueCache.this) { final GenerationTracker generationTracker = mGenerationTrackers.get(name); if (generationTracker != null) { Loading Loading @@ -3250,10 +3251,8 @@ public final class Settings { needsGenerationTracker = true; } else { if (DEBUG || LOCAL_LOGV) { Log.v(TAG, "get setting " + name + " for user " + userHandle + " by user " + UserHandle.myUserId() + (isInSystemServer() ? " in system_server" : "") + " so skipping cache"); Log.v(TAG, "get setting for user " + userHandle + " by user " + UserHandle.myUserId() + " so skipping cache"); } } Loading Loading @@ -3366,13 +3365,10 @@ public final class Settings { } } } else { if (DEBUG || LOCAL_LOGV) { Log.i(TAG, "call-query of user " + userHandle if (LOCAL_LOGV) Log.i(TAG, "call-query of user " + userHandle + " by " + UserHandle.myUserId() + (isInSystemServer() ? " in system_server" : "") + " so not updating cache"); } } return value; } // If the response Bundle is null, we fall through Loading Loading @@ -3444,14 +3440,12 @@ public final class Settings { public ArrayMap<String, String> getStringsForPrefix(ContentResolver cr, String prefix, List<String> names) { final boolean useCache = !isInSystemServer(); String namespace = prefix.substring(0, prefix.length() - 1); Config.enforceReadPermission(namespace); ArrayMap<String, String> keyValues = new ArrayMap<>(); int currentGeneration = -1; boolean needsGenerationTracker = false; if (useCache) { synchronized (NameValueCache.this) { final GenerationTracker generationTracker = mGenerationTrackers.get(prefix); if (generationTracker != null) { Loading Loading @@ -3497,12 +3491,6 @@ public final class Settings { needsGenerationTracker = true; } } } else { if (DEBUG || LOCAL_LOGV) { Log.v(TAG, "getting settings for prefix " + prefix + " in system_server" + " so skipping cache"); } } if (mCallListCommand == null) { // No list command specified, return empty map Loading Loading
core/java/android/provider/Settings.java +44 −56 Original line number Diff line number Diff line Loading @@ -3036,7 +3036,9 @@ public final class Settings { public void destroy() { try { if (!mArray.isClosed()) { // If this process is the system server process, mArray is the same object as // the memory int array kept inside SettingsProvider, so skipping the close() if (!Settings.isInSystemServer() && !mArray.isClosed()) { mArray.close(); } } catch (IOException e) { Loading Loading @@ -3216,9 +3218,8 @@ public final class Settings { @UnsupportedAppUsage public String getStringForUser(ContentResolver cr, String name, final int userHandle) { final boolean isSelf = (userHandle == UserHandle.myUserId()); final boolean useCache = isSelf && !isInSystemServer(); boolean needsGenerationTracker = false; if (useCache) { if (isSelf) { synchronized (NameValueCache.this) { final GenerationTracker generationTracker = mGenerationTrackers.get(name); if (generationTracker != null) { Loading Loading @@ -3250,10 +3251,8 @@ public final class Settings { needsGenerationTracker = true; } else { if (DEBUG || LOCAL_LOGV) { Log.v(TAG, "get setting " + name + " for user " + userHandle + " by user " + UserHandle.myUserId() + (isInSystemServer() ? " in system_server" : "") + " so skipping cache"); Log.v(TAG, "get setting for user " + userHandle + " by user " + UserHandle.myUserId() + " so skipping cache"); } } Loading Loading @@ -3366,13 +3365,10 @@ public final class Settings { } } } else { if (DEBUG || LOCAL_LOGV) { Log.i(TAG, "call-query of user " + userHandle if (LOCAL_LOGV) Log.i(TAG, "call-query of user " + userHandle + " by " + UserHandle.myUserId() + (isInSystemServer() ? " in system_server" : "") + " so not updating cache"); } } return value; } // If the response Bundle is null, we fall through Loading Loading @@ -3444,14 +3440,12 @@ public final class Settings { public ArrayMap<String, String> getStringsForPrefix(ContentResolver cr, String prefix, List<String> names) { final boolean useCache = !isInSystemServer(); String namespace = prefix.substring(0, prefix.length() - 1); Config.enforceReadPermission(namespace); ArrayMap<String, String> keyValues = new ArrayMap<>(); int currentGeneration = -1; boolean needsGenerationTracker = false; if (useCache) { synchronized (NameValueCache.this) { final GenerationTracker generationTracker = mGenerationTrackers.get(prefix); if (generationTracker != null) { Loading Loading @@ -3497,12 +3491,6 @@ public final class Settings { needsGenerationTracker = true; } } } else { if (DEBUG || LOCAL_LOGV) { Log.v(TAG, "getting settings for prefix " + prefix + " in system_server" + " so skipping cache"); } } if (mCallListCommand == null) { // No list command specified, return empty map Loading