diff options
author | Tony Mak <tonymak@google.com> | 2018-01-03 14:41:31 +0000 |
---|---|---|
committer | Tony Mak <tonymak@google.com> | 2018-01-04 19:06:01 +0000 |
commit | 6eeb040d86ba209bffbbb9a1c59d5ca0b659f343 (patch) | |
tree | 2d9ece21261a537bffa2255f988f5216d681cc99 /src/com/android/launcher3/compat/UserManagerCompatVP.java | |
parent | cd7431d9256979e11faefb87912f888eb8b99258 (diff) | |
download | android_packages_apps_Trebuchet-6eeb040d86ba209bffbbb9a1c59d5ca0b659f343.tar.gz android_packages_apps_Trebuchet-6eeb040d86ba209bffbbb9a1c59d5ca0b659f343.tar.bz2 android_packages_apps_Trebuchet-6eeb040d86ba209bffbbb9a1c59d5ca0b659f343.zip |
Consume work mode API
Fix: 69905244
Change-Id: I5958b3a2ebba2fa0e0f69448d5526dc72ed6a97b
Diffstat (limited to 'src/com/android/launcher3/compat/UserManagerCompatVP.java')
-rw-r--r-- | src/com/android/launcher3/compat/UserManagerCompatVP.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/com/android/launcher3/compat/UserManagerCompatVP.java b/src/com/android/launcher3/compat/UserManagerCompatVP.java new file mode 100644 index 000000000..a0bf0ab22 --- /dev/null +++ b/src/com/android/launcher3/compat/UserManagerCompatVP.java @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2018 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; + +public class UserManagerCompatVP extends UserManagerCompatVNMr1 { + private static final String TAG = "UserManagerCompatVP"; + + private Method mTrySetQuietModeEnabledMethod; + + UserManagerCompatVP(Context context) { + super(context); + // TODO: Replace it with proper API call once SDK is ready. + try { + mTrySetQuietModeEnabledMethod = UserManager.class.getDeclaredMethod( + "trySetQuietModeEnabled", boolean.class, UserHandle.class); + } catch (NoSuchMethodException e) { + Log.e(TAG, "trySetQuietModeEnabled is not available", e); + } + } + + @Override + public boolean trySetQuietModeEnabled(boolean enableQuietMode, UserHandle user) { + if (mTrySetQuietModeEnabledMethod == null) { + return false; + } + try { + return (boolean) + mTrySetQuietModeEnabledMethod.invoke(mUserManager, enableQuietMode, user); + } catch (IllegalAccessException | InvocationTargetException e) { + Log.e(TAG, "Failed to invoke mTrySetQuietModeEnabledMethod", e); + } + return false; + } +} |