diff options
author | Kevin <kevhan@google.com> | 2019-06-17 17:22:56 -0700 |
---|---|---|
committer | Kevin <kevhan@google.com> | 2019-06-17 17:22:56 -0700 |
commit | 71f06807a458ec285841198e2363ba9d75f26ebf (patch) | |
tree | 1f066685571bb92705f856c28dfb0ec56530d4b9 /quickstep/src | |
parent | e1abaa64c25fdc9841f5cbeff2647ff4f95ac255 (diff) | |
download | android_packages_apps_Trebuchet-71f06807a458ec285841198e2363ba9d75f26ebf.tar.gz android_packages_apps_Trebuchet-71f06807a458ec285841198e2363ba9d75f26ebf.tar.bz2 android_packages_apps_Trebuchet-71f06807a458ec285841198e2363ba9d75f26ebf.zip |
Add QuickstepProcessInitializer back to common src
While removing unused files in Go version of quickstep, I removed
QuickstepProcessInitializer which seemed unused but is actually
initialized as a resource based ovverride. This CL puts it back as
common src so that both Launcher3GoIconRecents and the rest of the
variants all use this class.
Bug: 135472635
Test: Run Launcher3GoIconRecents => no exception
Test: Run Launcher3 => no exception
Change-Id: I56f319bac536ec4da96285fab932fe574afa4520
Diffstat (limited to 'quickstep/src')
-rw-r--r-- | quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java b/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java new file mode 100644 index 000000000..befeee0db --- /dev/null +++ b/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java @@ -0,0 +1,54 @@ +/* + * 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.quickstep; + +import android.content.Context; +import android.content.pm.PackageManager; +import android.os.UserManager; +import android.util.Log; + +import com.android.launcher3.BuildConfig; +import com.android.launcher3.MainProcessInitializer; +import com.android.systemui.shared.system.ThreadedRendererCompat; + +@SuppressWarnings("unused") +public class QuickstepProcessInitializer extends MainProcessInitializer { + + private static final String TAG = "QuickstepProcessInitializer"; + + public QuickstepProcessInitializer(Context context) { } + + @Override + protected void init(Context context) { + // Workaround for b/120550382, an external app can cause the launcher process to start for + // a work profile user which we do not support. Disable the application immediately when we + // detect this to be the case. + UserManager um = (UserManager) context.getSystemService(Context.USER_SERVICE); + if (um.isManagedProfile()) { + PackageManager pm = context.getPackageManager(); + pm.setApplicationEnabledSetting(context.getPackageName(), + PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0 /* flags */); + Log.w(TAG, "Disabling " + BuildConfig.APPLICATION_ID + + ", unable to run in a managed profile"); + return; + } + + super.init(context); + + // Elevate GPU priority for Quickstep and Remote animations. + ThreadedRendererCompat.setContextPriority(ThreadedRendererCompat.EGL_CONTEXT_PRIORITY_HIGH_IMG); + } +} |