Merge "Fix and deprecate lock pattern related settings" into mnc-dev
This commit is contained in:
@@ -26576,7 +26576,7 @@ package android.provider {
|
||||
field public static final deprecated java.lang.String LOCATION_PROVIDERS_ALLOWED = "location_providers_allowed";
|
||||
field public static final deprecated java.lang.String LOCK_PATTERN_ENABLED = "lock_pattern_autolock";
|
||||
field public static final deprecated java.lang.String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED = "lock_pattern_tactile_feedback_enabled";
|
||||
field public static final java.lang.String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
|
||||
field public static final deprecated java.lang.String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
|
||||
field public static final deprecated java.lang.String LOGGING_ID = "logging_id";
|
||||
field public static final deprecated java.lang.String NETWORK_PREFERENCE = "network_preference";
|
||||
field public static final java.lang.String PARENTAL_CONTROL_ENABLED = "parental_control_enabled";
|
||||
|
||||
@@ -28636,7 +28636,7 @@ package android.provider {
|
||||
field public static final deprecated java.lang.String LOCATION_PROVIDERS_ALLOWED = "location_providers_allowed";
|
||||
field public static final deprecated java.lang.String LOCK_PATTERN_ENABLED = "lock_pattern_autolock";
|
||||
field public static final deprecated java.lang.String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED = "lock_pattern_tactile_feedback_enabled";
|
||||
field public static final java.lang.String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
|
||||
field public static final deprecated java.lang.String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
|
||||
field public static final deprecated java.lang.String LOGGING_ID = "logging_id";
|
||||
field public static final deprecated java.lang.String NETWORK_PREFERENCE = "network_preference";
|
||||
field public static final java.lang.String PARENTAL_CONTROL_ENABLED = "parental_control_enabled";
|
||||
|
||||
@@ -19,6 +19,8 @@ package android.provider;
|
||||
import android.annotation.SdkConstant;
|
||||
import android.annotation.SdkConstant.SdkConstantType;
|
||||
import android.annotation.SystemApi;
|
||||
import android.app.ActivityThread;
|
||||
import android.app.Application;
|
||||
import android.app.SearchManager;
|
||||
import android.app.WallpaperManager;
|
||||
import android.content.ComponentName;
|
||||
@@ -3839,10 +3841,24 @@ public final class Settings {
|
||||
}
|
||||
}
|
||||
if (sLockSettings != null && !sIsSystemProcess) {
|
||||
try {
|
||||
return sLockSettings.getString(name, "0", userHandle);
|
||||
} catch (RemoteException re) {
|
||||
// Fall through
|
||||
// No context; use the ActivityThread's context as an approximation for
|
||||
// determining the target API level.
|
||||
Application application = ActivityThread.currentApplication();
|
||||
|
||||
boolean isPreMnc = application != null
|
||||
&& application.getApplicationInfo() != null
|
||||
&& application.getApplicationInfo().targetSdkVersion
|
||||
<= VERSION_CODES.LOLLIPOP_MR1;
|
||||
if (isPreMnc) {
|
||||
try {
|
||||
return sLockSettings.getString(name, "0", userHandle);
|
||||
} catch (RemoteException re) {
|
||||
// Fall through
|
||||
}
|
||||
} else {
|
||||
throw new SecurityException("Settings.Secure." + name
|
||||
+ " is deprecated and no longer accessible."
|
||||
+ " See API documentation for potential replacements.");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4378,14 +4394,19 @@ public final class Settings {
|
||||
* Whether autolock is enabled (0 = false, 1 = true)
|
||||
*
|
||||
* @deprecated Use {@link android.app.KeyguardManager} to determine the state and security
|
||||
* level of the keyguard.
|
||||
* level of the keyguard. Accessing this setting from an app that is targeting
|
||||
* {@link VERSION_CODES#MNC} or later throws a {@code SecurityException}.
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String LOCK_PATTERN_ENABLED = "lock_pattern_autolock";
|
||||
|
||||
/**
|
||||
* Whether lock pattern is visible as user enters (0 = false, 1 = true)
|
||||
*
|
||||
* @deprecated Accessing this setting from an app that is targeting
|
||||
* {@link VERSION_CODES#MNC} or later throws a {@code SecurityException}.
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern";
|
||||
|
||||
/**
|
||||
@@ -4395,6 +4416,8 @@ public final class Settings {
|
||||
* @deprecated Starting in {@link VERSION_CODES#JELLY_BEAN_MR1} the
|
||||
* lockscreen uses
|
||||
* {@link Settings.System#HAPTIC_FEEDBACK_ENABLED}.
|
||||
* Accessing this setting from an app that is targeting
|
||||
* {@link VERSION_CODES#MNC} or later throws a {@code SecurityException}.
|
||||
*/
|
||||
@Deprecated
|
||||
public static final String
|
||||
|
||||
@@ -335,7 +335,12 @@ public class LockSettingsService extends ILockSettings.Stub {
|
||||
|
||||
public String getStringUnchecked(String key, String defaultValue, int userId) {
|
||||
if (Settings.Secure.LOCK_PATTERN_ENABLED.equals(key)) {
|
||||
return mLockPatternUtils.isLockPatternEnabled(userId) ? "1" : "0";
|
||||
long ident = Binder.clearCallingIdentity();
|
||||
try {
|
||||
return mLockPatternUtils.isLockPatternEnabled(userId) ? "1" : "0";
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(ident);
|
||||
}
|
||||
}
|
||||
|
||||
return mStorage.readKeyValue(key, defaultValue, userId);
|
||||
|
||||
Reference in New Issue
Block a user