Prompt to turn on/unlock profile before showing account sync settings
Bug: 29087280 Change-Id: I39e175ab23d4f1071727fe9c0906e40da1e7aada
This commit is contained in:
@@ -25,6 +25,7 @@ import android.app.AppGlobals;
|
||||
import android.app.Dialog;
|
||||
import android.app.Fragment;
|
||||
import android.app.IActivityManager;
|
||||
import android.app.KeyguardManager;
|
||||
import android.app.admin.DevicePolicyManager;
|
||||
import android.content.ComponentName;
|
||||
import android.content.ContentResolver;
|
||||
@@ -49,8 +50,6 @@ import android.net.LinkProperties;
|
||||
import android.net.Uri;
|
||||
import android.os.BatteryManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.HandlerThread;
|
||||
import android.os.IBinder;
|
||||
import android.os.INetworkManagementService;
|
||||
import android.os.Looper;
|
||||
@@ -92,6 +91,7 @@ import android.widget.TabWidget;
|
||||
import com.android.internal.app.UnlaunchableAppActivity;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
import com.android.internal.util.UserIcons;
|
||||
import com.android.internal.widget.LockPatternUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@@ -1129,6 +1129,30 @@ public final class Utils extends com.android.settingslib.Utils {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static boolean unlockWorkProfileIfNecessary(Context context, int userId) {
|
||||
try {
|
||||
if (!ActivityManagerNative.getDefault().isUserRunning(userId,
|
||||
ActivityManager.FLAG_AND_LOCKED)) {
|
||||
return false;
|
||||
}
|
||||
} catch (RemoteException e) {
|
||||
return false;
|
||||
}
|
||||
if (!(new LockPatternUtils(context)).isSecure(userId)) {
|
||||
return false;
|
||||
}
|
||||
final KeyguardManager km = (KeyguardManager) context.getSystemService(
|
||||
Context.KEYGUARD_SERVICE);
|
||||
final Intent unlockIntent = km.createConfirmDeviceCredentialIntent(null, null, userId);
|
||||
if (unlockIntent != null) {
|
||||
context.startActivity(unlockIntent);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static CharSequence getApplicationLabel(Context context, String packageName) {
|
||||
try {
|
||||
final ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(
|
||||
|
Reference in New Issue
Block a user