Prompt credentials for installing/deleting sounds
Actually we probably want to confirm credentials in all locked cases not just when starting the user -- fewer corners to special case. Fix: 34734809 Test: manual. set a work profile lock, screen off/on, open sound settings, try to set a work ringtone. first attempt should prompt for credentials, second attempt should not until next screen-off. Change-Id: I1fea94f3b0d1b768b22741b887d9891f5e318549
This commit is contained in:
@@ -46,7 +46,7 @@ public class DefaultRingtonePreference extends RingtonePreference {
|
|||||||
@Override
|
@Override
|
||||||
public void performClick() {
|
public void performClick() {
|
||||||
if (mUserId != UserHandle.USER_CURRENT) {
|
if (mUserId != UserHandle.USER_CURRENT) {
|
||||||
if (Utils.unlockWorkProfileIfNecessary(getContext(), mUserId) ||
|
if (Utils.confirmWorkProfileCredentialsIfNecessary(getContext(), mUserId) ||
|
||||||
Utils.startQuietModeDialogIfNecessary(getContext(),
|
Utils.startQuietModeDialogIfNecessary(getContext(),
|
||||||
UserManager.get(getContext()), mUserId)) {
|
UserManager.get(getContext()), mUserId)) {
|
||||||
return;
|
return;
|
||||||
|
@@ -1161,6 +1161,18 @@ public final class Utils extends com.android.settingslib.Utils {
|
|||||||
if (!(new LockPatternUtils(context)).isSecure(userId)) {
|
if (!(new LockPatternUtils(context)).isSecure(userId)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
return confirmWorkProfileCredentials(context, userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean confirmWorkProfileCredentialsIfNecessary(Context context, int userId) {
|
||||||
|
KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
|
||||||
|
if (!km.isDeviceLocked(userId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return confirmWorkProfileCredentials(context, userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean confirmWorkProfileCredentials(Context context, int userId) {
|
||||||
final KeyguardManager km = (KeyguardManager) context.getSystemService(
|
final KeyguardManager km = (KeyguardManager) context.getSystemService(
|
||||||
Context.KEYGUARD_SERVICE);
|
Context.KEYGUARD_SERVICE);
|
||||||
final Intent unlockIntent = km.createConfirmDeviceCredentialIntent(null, null, userId);
|
final Intent unlockIntent = km.createConfirmDeviceCredentialIntent(null, null, userId);
|
||||||
@@ -1170,7 +1182,6 @@ public final class Utils extends com.android.settingslib.Utils {
|
|||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CharSequence getApplicationLabel(Context context, String packageName) {
|
public static CharSequence getApplicationLabel(Context context, String packageName) {
|
||||||
|
Reference in New Issue
Block a user