From 83a1f7fe91816959715067987dd7f4727492f129 Mon Sep 17 00:00:00 2001 From: Svetoslav Ganov Date: Wed, 27 Apr 2016 13:50:49 -0700 Subject: [PATCH] Add a missing null object check We now have a null object instead of null values and there was a place where we returned null instead of the correct null object. bug:28423485 Change-Id: I2626768acdf8d19fc94aa5e978eb057818450fa5 --- .../src/com/android/providers/settings/SettingsProvider.java | 5 +++-- .../src/com/android/providers/settings/SettingsState.java | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index db720bb52558b..5ff9c0ce3c847 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -846,7 +846,7 @@ public class SettingsProvider extends ContentProvider { // Special case for location (sigh). if (isLocationProvidersAllowedRestricted(name, callingUserId, owningUserId)) { - return null; + continue; } Setting setting = mSettingsRegistry.getSettingLocked( @@ -871,7 +871,8 @@ public class SettingsProvider extends ContentProvider { // Special case for location (sigh). if (isLocationProvidersAllowedRestricted(name, callingUserId, owningUserId)) { - return null; + return mSettingsRegistry.getSettingsLocked(SETTINGS_TYPE_SECURE, + owningUserId).getNullSetting(); } // Get the value. diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java index 6dfd0e6786149..2de0618c6564e 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java @@ -16,7 +16,6 @@ package com.android.providers.settings; -import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.SystemClock; @@ -159,6 +158,10 @@ final class SettingsState { return mVersion; } + public Setting getNullSetting() { + return mNullSetting; + } + // The settings provider must hold its lock when calling here. public void setVersionLocked(int version) { if (version == mVersion) {