Show "work mode off" dialog when work security option is clicked
Bug: 28158297 Change-Id: I31bc3197d2ff9c95419ea87d009fe7d677181d69
This commit is contained in:
@@ -625,6 +625,10 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
startFragment(this, "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
|
startFragment(this, "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
|
||||||
R.string.lock_settings_picker_title, SET_OR_CHANGE_LOCK_METHOD_REQUEST, null);
|
R.string.lock_settings_picker_title, SET_OR_CHANGE_LOCK_METHOD_REQUEST, null);
|
||||||
} else if (KEY_UNLOCK_SET_OR_CHANGE_PROFILE.equals(key)) {
|
} else if (KEY_UNLOCK_SET_OR_CHANGE_PROFILE.equals(key)) {
|
||||||
|
if (Utils.startQuiteModeDialogIfNecessary(this.getActivity(), mUm,
|
||||||
|
mProfileChallengeUserId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
Bundle extras = new Bundle();
|
Bundle extras = new Bundle();
|
||||||
extras.putInt(Intent.EXTRA_USER_ID, mProfileChallengeUserId);
|
extras.putInt(Intent.EXTRA_USER_ID, mProfileChallengeUserId);
|
||||||
startFragment(this, "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
|
startFragment(this, "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
|
||||||
@@ -746,8 +750,16 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
final String key = preference.getKey();
|
final String key = preference.getKey();
|
||||||
final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils();
|
final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils();
|
||||||
if (KEY_VISIBLE_PATTERN_PROFILE.equals(key)) {
|
if (KEY_VISIBLE_PATTERN_PROFILE.equals(key)) {
|
||||||
|
if (Utils.startQuiteModeDialogIfNecessary(this.getActivity(), mUm,
|
||||||
|
mProfileChallengeUserId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
lockPatternUtils.setVisiblePatternEnabled((Boolean) value, mProfileChallengeUserId);
|
lockPatternUtils.setVisiblePatternEnabled((Boolean) value, mProfileChallengeUserId);
|
||||||
} else if (KEY_UNIFICATION.equals(key)) {
|
} else if (KEY_UNIFICATION.equals(key)) {
|
||||||
|
if (Utils.startQuiteModeDialogIfNecessary(this.getActivity(), mUm,
|
||||||
|
mProfileChallengeUserId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if ((Boolean) value) {
|
if ((Boolean) value) {
|
||||||
final boolean compliantForDevice =
|
final boolean compliantForDevice =
|
||||||
(mLockPatternUtils.getKeyguardStoredPasswordQuality(mProfileChallengeUserId)
|
(mLockPatternUtils.getKeyguardStoredPasswordQuality(mProfileChallengeUserId)
|
||||||
|
@@ -87,6 +87,8 @@ import android.view.animation.Animation.AnimationListener;
|
|||||||
import android.view.animation.AnimationUtils;
|
import android.view.animation.AnimationUtils;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.TabWidget;
|
import android.widget.TabWidget;
|
||||||
|
|
||||||
|
import com.android.internal.app.UnlaunchableAppActivity;
|
||||||
import com.android.internal.util.UserIcons;
|
import com.android.internal.util.UserIcons;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -1104,5 +1106,15 @@ public final class Utils extends com.android.settingslib.Utils {
|
|||||||
return Settings.Global.getInt(context.getContentResolver(),
|
return Settings.Global.getInt(context.getContentResolver(),
|
||||||
Settings.Global.DEVICE_PROVISIONED, 0) != 0;
|
Settings.Global.DEVICE_PROVISIONED, 0) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean startQuiteModeDialogIfNecessary(Context context, UserManager um,
|
||||||
|
int userId) {
|
||||||
|
if (um.isQuietModeEnabled(UserHandle.of(userId))) {
|
||||||
|
final Intent intent = UnlaunchableAppActivity.createInQuietModeDialogIntent(userId);
|
||||||
|
context.startActivity(intent);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -40,6 +40,7 @@ import android.os.Handler;
|
|||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
|
import android.support.v7.preference.Preference.OnPreferenceClickListener;
|
||||||
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
|
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
|
||||||
import android.support.v7.preference.PreferenceGroup;
|
import android.support.v7.preference.PreferenceGroup;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
@@ -808,7 +809,7 @@ public class FingerprintSettings extends SubSettings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Preference getFingerprintPreferenceForUser(Context context, int userId) {
|
public static Preference getFingerprintPreferenceForUser(Context context, final int userId) {
|
||||||
FingerprintManager fpm = (FingerprintManager) context.getSystemService(
|
FingerprintManager fpm = (FingerprintManager) context.getSystemService(
|
||||||
Context.FINGERPRINT_SERVICE);
|
Context.FINGERPRINT_SERVICE);
|
||||||
if (fpm == null || !fpm.isHardwareDetected()) {
|
if (fpm == null || !fpm.isHardwareDetected()) {
|
||||||
@@ -818,7 +819,6 @@ public class FingerprintSettings extends SubSettings {
|
|||||||
Preference fingerprintPreference = new Preference(context);
|
Preference fingerprintPreference = new Preference(context);
|
||||||
fingerprintPreference.setKey(KEY_FINGERPRINT_SETTINGS);
|
fingerprintPreference.setKey(KEY_FINGERPRINT_SETTINGS);
|
||||||
fingerprintPreference.setTitle(R.string.security_settings_fingerprint_preference_title);
|
fingerprintPreference.setTitle(R.string.security_settings_fingerprint_preference_title);
|
||||||
Intent intent = new Intent();
|
|
||||||
final List<Fingerprint> items = fpm.getEnrolledFingerprints(userId);
|
final List<Fingerprint> items = fpm.getEnrolledFingerprints(userId);
|
||||||
final int fingerprintCount = items != null ? items.size() : 0;
|
final int fingerprintCount = items != null ? items.size() : 0;
|
||||||
final String clazz;
|
final String clazz;
|
||||||
@@ -832,9 +832,22 @@ public class FingerprintSettings extends SubSettings {
|
|||||||
R.string.security_settings_fingerprint_preference_summary_none);
|
R.string.security_settings_fingerprint_preference_summary_none);
|
||||||
clazz = FingerprintEnrollIntroduction.class.getName();
|
clazz = FingerprintEnrollIntroduction.class.getName();
|
||||||
}
|
}
|
||||||
|
fingerprintPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() {
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
final Context context = preference.getContext();
|
||||||
|
final UserManager userManager = UserManager.get(context);
|
||||||
|
if (Utils.startQuiteModeDialogIfNecessary(context, userManager,
|
||||||
|
userId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Intent intent = new Intent();
|
||||||
intent.setClassName("com.android.settings", clazz);
|
intent.setClassName("com.android.settings", clazz);
|
||||||
intent.putExtra(Intent.EXTRA_USER_ID, userId);
|
intent.putExtra(Intent.EXTRA_USER_ID, userId);
|
||||||
fingerprintPreference.setIntent(intent);
|
context.startActivity(intent);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
return fingerprintPreference;
|
return fingerprintPreference;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user