summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/compat/UserManagerCompatVN.java
diff options
context:
space:
mode:
authorKenny Guy <kennyguy@google.com>2016-01-22 17:48:29 +0000
committerRubin Xu <rubinxu@google.com>2016-01-25 21:23:59 +0000
commitff05f4375dd47242d7e4864287e0d5af8ac8ba8f (patch)
tree04d63751aa8a06fdb6a765a6aec546d8d0cc15dc /src/com/android/launcher3/compat/UserManagerCompatVN.java
parent44cba696386b44f9115cad13ec9ecf67a0ac9119 (diff)
downloadandroid_packages_apps_Trebuchet-ff05f4375dd47242d7e4864287e0d5af8ac8ba8f.tar.gz
android_packages_apps_Trebuchet-ff05f4375dd47242d7e4864287e0d5af8ac8ba8f.tar.bz2
android_packages_apps_Trebuchet-ff05f4375dd47242d7e4864287e0d5af8ac8ba8f.zip
Respond to managed profile availabilty Intents.
Grey out applications when managed profile is not available. Change-Id: I9bb9442cd0b3d0d207062716bfd6b179e3ba8489
Diffstat (limited to 'src/com/android/launcher3/compat/UserManagerCompatVN.java')
-rw-r--r--src/com/android/launcher3/compat/UserManagerCompatVN.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/com/android/launcher3/compat/UserManagerCompatVN.java b/src/com/android/launcher3/compat/UserManagerCompatVN.java
new file mode 100644
index 000000000..ae41e68a3
--- /dev/null
+++ b/src/com/android/launcher3/compat/UserManagerCompatVN.java
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.launcher3.compat;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.Log;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+//TODO: Once gogole3 SDK is updated to N, add @TargetApi(Build.VERSION_CODES.N)
+public class UserManagerCompatVN extends UserManagerCompatVL {
+
+ private static final String TAG = "UserManagerCompatVN";
+
+ UserManagerCompatVN(Context context) {
+ super(context);
+ }
+
+ @Override
+ public boolean isQuietModeEnabled(UserHandleCompat user) {
+ if (user != null) {
+ try {
+ //TODO: Replace with proper API call once google3 SDK is updated.
+ Method isQuietModeEnabledMethod = UserManager.class.getMethod("isQuietModeEnabled",
+ UserHandle.class);
+ return (boolean) isQuietModeEnabledMethod.invoke(mUserManager, user.getUser());
+ } catch (NoSuchMethodError | NoSuchMethodException | IllegalAccessException
+ | InvocationTargetException e) {
+ Log.e(TAG, "Running on N without isQuietModeEnabled", e);
+ } catch (IllegalArgumentException e) {
+ // TODO remove this when API is fixed to not throw this
+ // when called on user that isn't a managed profile.
+ }
+ }
+ return false;
+ }
+}
+