Merge "Protect App pinning" into udc-qpr-dev am: 7127e7606d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/23467969 Change-Id: Id45f32a96ac63bcb6075daed2e23f8ad4ab5aba7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -23,7 +23,6 @@ import android.content.Intent;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.provider.SearchIndexableResource;
|
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.widget.Switch;
|
import android.widget.Switch;
|
||||||
|
|
||||||
@@ -38,14 +37,12 @@ import com.android.settings.R;
|
|||||||
import com.android.settings.SettingsActivity;
|
import com.android.settings.SettingsActivity;
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
import com.android.settings.password.ChooseLockGeneric;
|
import com.android.settings.password.ChooseLockGeneric;
|
||||||
|
import com.android.settings.password.ChooseLockSettingsHelper;
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
import com.android.settings.search.BaseSearchIndexProvider;
|
||||||
import com.android.settings.widget.SettingsMainSwitchBar;
|
import com.android.settings.widget.SettingsMainSwitchBar;
|
||||||
import com.android.settingslib.search.SearchIndexable;
|
import com.android.settingslib.search.SearchIndexable;
|
||||||
import com.android.settingslib.widget.FooterPreference;
|
import com.android.settingslib.widget.FooterPreference;
|
||||||
import com.android.settingslib.widget.OnMainSwitchChangeListener;
|
import com.android.settingslib.widget.OnMainSwitchChangeListener;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.List;
|
|
||||||
/**
|
/**
|
||||||
* Screen pinning settings.
|
* Screen pinning settings.
|
||||||
*/
|
*/
|
||||||
@@ -56,6 +53,7 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment
|
|||||||
private static final String KEY_USE_SCREEN_LOCK = "use_screen_lock";
|
private static final String KEY_USE_SCREEN_LOCK = "use_screen_lock";
|
||||||
private static final String KEY_FOOTER = "screen_pinning_settings_screen_footer";
|
private static final String KEY_FOOTER = "screen_pinning_settings_screen_footer";
|
||||||
private static final int CHANGE_LOCK_METHOD_REQUEST = 43;
|
private static final int CHANGE_LOCK_METHOD_REQUEST = 43;
|
||||||
|
private static final int CONFIRM_REQUEST = 1000;
|
||||||
|
|
||||||
private SettingsMainSwitchBar mSwitchBar;
|
private SettingsMainSwitchBar mSwitchBar;
|
||||||
private SwitchPreference mUseScreenLock;
|
private SwitchPreference mUseScreenLock;
|
||||||
@@ -129,10 +127,10 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean setScreenLockUsed(boolean isEnabled) {
|
private boolean setScreenLockUsed(boolean isEnabled) {
|
||||||
|
LockPatternUtils lockPatternUtils = new LockPatternUtils(getActivity());
|
||||||
|
final int passwordQuality = lockPatternUtils
|
||||||
|
.getKeyguardStoredPasswordQuality(UserHandle.myUserId());
|
||||||
if (isEnabled) {
|
if (isEnabled) {
|
||||||
LockPatternUtils lockPatternUtils = new LockPatternUtils(getActivity());
|
|
||||||
int passwordQuality = lockPatternUtils
|
|
||||||
.getKeyguardStoredPasswordQuality(UserHandle.myUserId());
|
|
||||||
if (passwordQuality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
|
if (passwordQuality == DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
|
||||||
Intent chooseLockIntent = new Intent(DevicePolicyManager.ACTION_SET_NEW_PASSWORD);
|
Intent chooseLockIntent = new Intent(DevicePolicyManager.ACTION_SET_NEW_PASSWORD);
|
||||||
chooseLockIntent.putExtra(
|
chooseLockIntent.putExtra(
|
||||||
@@ -141,6 +139,12 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment
|
|||||||
startActivityForResult(chooseLockIntent, CHANGE_LOCK_METHOD_REQUEST);
|
startActivityForResult(chooseLockIntent, CHANGE_LOCK_METHOD_REQUEST);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (passwordQuality != DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED) {
|
||||||
|
final ChooseLockSettingsHelper.Builder builder =
|
||||||
|
new ChooseLockSettingsHelper.Builder(getActivity(), this);
|
||||||
|
return builder.setRequestCode(CONFIRM_REQUEST).show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
setScreenLockUsedSetting(isEnabled);
|
setScreenLockUsedSetting(isEnabled);
|
||||||
return true;
|
return true;
|
||||||
@@ -162,6 +166,8 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment
|
|||||||
setScreenLockUsed(validPassQuality);
|
setScreenLockUsed(validPassQuality);
|
||||||
// Make sure the screen updates.
|
// Make sure the screen updates.
|
||||||
mUseScreenLock.setChecked(validPassQuality);
|
mUseScreenLock.setChecked(validPassQuality);
|
||||||
|
} else if (requestCode == CONFIRM_REQUEST) {
|
||||||
|
setScreenLockUsedSetting(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -245,14 +251,5 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment
|
|||||||
* For search
|
* For search
|
||||||
*/
|
*/
|
||||||
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||||
new BaseSearchIndexProvider() {
|
new BaseSearchIndexProvider(R.xml.screen_pinning_settings);
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
|
|
||||||
boolean enabled) {
|
|
||||||
final SearchIndexableResource sir = new SearchIndexableResource(context);
|
|
||||||
sir.xmlResId = R.xml.screen_pinning_settings;
|
|
||||||
return Arrays.asList(sir);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user