summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorBenjamin Franz <bfranz@google.com>2016-04-15 14:53:16 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-04-15 14:53:17 +0000
commit2f4c2299c7ef4b9d604b9833c790a7afd2ed75af (patch)
treeaa763fc7c80ddfc165f8889e227ebc2682423f9d /core/java/android
parenta4c0b1de1a33219b4f8ef1cdfc4e7641ac246f4b (diff)
parentf02420c5e1bcc8b2c278f272aca633fe6d2b4e88 (diff)
Merge "Maybe decrypt user when quiet mode is disabled" into nyc-dev
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/os/IUserManager.aidl2
-rw-r--r--core/java/android/os/UserManager.java18
2 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/os/IUserManager.aidl b/core/java/android/os/IUserManager.aidl
index 67d395954e1e..55b0d2a15317 100644
--- a/core/java/android/os/IUserManager.aidl
+++ b/core/java/android/os/IUserManager.aidl
@@ -20,6 +20,7 @@ package android.os;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.content.pm.UserInfo;
+import android.content.IntentSender;
import android.content.RestrictionEntry;
import android.graphics.Bitmap;
import android.os.ParcelFileDescriptor;
@@ -70,6 +71,7 @@ interface IUserManager {
boolean markGuestForDeletion(int userHandle);
void setQuietModeEnabled(int userHandle, boolean enableQuietMode);
boolean isQuietModeEnabled(int userHandle);
+ boolean trySetQuietModeDisabled(int userHandle, in IntentSender target);
void setSeedAccountData(int userHandle, in String accountName,
in String accountType, in PersistableBundle accountOptions, boolean persist);
String getSeedAccountName();
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index d5b3b3518701..086a9776aa8f 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -29,6 +29,7 @@ import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.content.IntentSender;
import android.content.pm.UserInfo;
import android.content.res.Resources;
import android.graphics.Bitmap;
@@ -1691,6 +1692,23 @@ public class UserManager {
}
/**
+ * Tries disabling quiet mode for a given user. If the user is still locked, we unlock the user
+ * first by showing the confirm credentials screen and disable quiet mode upon successful
+ * unlocking. If the user is already unlocked, we call through to {@link #setQuietModeEnabled}
+ * directly.
+ *
+ * @return true if the quiet mode was disabled immediately
+ * @hide
+ */
+ public boolean trySetQuietModeDisabled(@UserIdInt int userHandle, IntentSender target) {
+ try {
+ return mService.trySetQuietModeDisabled(userHandle, target);
+ } catch (RemoteException re) {
+ throw re.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* If the target user is a managed profile of the calling user or the caller
* is itself a managed profile, then this returns a badged copy of the given
* icon to be able to distinguish it from the original icon. For badging an