diff --git a/quickstep/res/drawable/ic_floating_task_button.xml b/quickstep/res/drawable/ic_floating_task_button.xml deleted file mode 100644 index 63b2fd85b7..0000000000 --- a/quickstep/res/drawable/ic_floating_task_button.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - diff --git a/quickstep/res/layout/taskbar_floating_task_button.xml b/quickstep/res/layout/taskbar_floating_task_button.xml deleted file mode 100644 index b5beded54a..0000000000 --- a/quickstep/res/layout/taskbar_floating_task_button.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - diff --git a/quickstep/src/com/android/launcher3/taskbar/FloatingTaskIntentResolver.java b/quickstep/src/com/android/launcher3/taskbar/FloatingTaskIntentResolver.java deleted file mode 100644 index 5f4d239532..0000000000 --- a/quickstep/src/com/android/launcher3/taskbar/FloatingTaskIntentResolver.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (C) 2022 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.taskbar; - -import static android.content.pm.PackageManager.MATCH_DEFAULT_ONLY; - -import android.annotation.Nullable; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.pm.ActivityInfo; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; -import android.text.TextUtils; -import android.util.Log; - -import com.android.launcher3.R; - -// TODO: This would be replaced by the thing that has the role and provides the intent. -/** - * Helper to determine what intent should be used to display in a floating window, if one - * exists. - */ -public class FloatingTaskIntentResolver { - private static final String TAG = FloatingTaskIntentResolver.class.getSimpleName(); - - @Nullable - /** Gets an intent for a floating task, if one exists. */ - public static Intent getIntent(Context context) { - PackageManager pm = context.getPackageManager(); - String pkg = context.getString(R.string.floating_task_package); - String action = context.getString(R.string.floating_task_action); - if (TextUtils.isEmpty(pkg) || TextUtils.isEmpty(action)) { - Log.d(TAG, "intent could not be found, pkg= " + pkg + " action= " + action); - return null; - } - Intent intent = createIntent(pm, null, pkg, action); - if (intent != null) { - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - return intent; - } - Log.d(TAG, "No valid intent found!"); - return null; - } - - @Nullable - private static Intent createIntent(PackageManager pm, @Nullable String activityName, - String packageName, String action) { - if (TextUtils.isEmpty(activityName)) { - activityName = queryActivityForAction(pm, packageName, action); - } - if (TextUtils.isEmpty(activityName)) { - Log.d(TAG, "Activity name is empty even after action search: " + action); - return null; - } - ComponentName component = new ComponentName(packageName, activityName); - Intent intent = new Intent(action).setComponent(component).setPackage(packageName); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - Log.d(TAG, "createIntent returning: " + intent); - return intent; - } - - @Nullable - private static String queryActivityForAction(PackageManager pm, String packageName, - String action) { - Intent intent = new Intent(action).setPackage(packageName); - ResolveInfo resolveInfo = pm.resolveActivity(intent, MATCH_DEFAULT_ONLY); - if (resolveInfo == null || resolveInfo.activityInfo == null) { - Log.d(TAG, "queryActivityForAction: + " + resolveInfo); - return null; - } - ActivityInfo info = resolveInfo.activityInfo; - if (!info.exported) { - Log.d(TAG, "queryActivityForAction: + " + info + " not exported"); - return null; - } - if (!info.enabled) { - Log.d(TAG, "queryActivityForAction: + " + info + " not enabled"); - return null; - } - return resolveInfo.activityInfo.name; - } -} diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java index c754a59a06..921d1701d6 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java @@ -16,14 +16,11 @@ package com.android.launcher3.taskbar; import android.content.Context; -import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Rect; -import android.os.SystemProperties; import android.util.AttributeSet; -import android.util.Log; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -85,12 +82,6 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar private View mQsb; - // Only non-null when device supports having a floating task. - private @Nullable View mFloatingTaskButton; - private @Nullable Intent mFloatingTaskIntent; - private static final boolean FLOATING_TASKS_ENABLED = - SystemProperties.getBoolean("persist.wm.debug.floating_tasks", false); - public TaskbarView(@NonNull Context context) { this(context, null); } @@ -139,17 +130,6 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar // TODO: Disable touch events on QSB otherwise it can crash. mQsb = LayoutInflater.from(context).inflate(R.layout.search_container_hotseat, this, false); - if (FLOATING_TASKS_ENABLED) { - mFloatingTaskIntent = FloatingTaskIntentResolver.getIntent(context); - if (mFloatingTaskIntent != null) { - mFloatingTaskButton = LayoutInflater.from(context) - .inflate(R.layout.taskbar_floating_task_button, this, false); - mFloatingTaskButton.setPadding(mItemPadding, mItemPadding, mItemPadding, - mItemPadding); - } else { - Log.d(TAG, "Floating tasks is enabled but no intent was found!"); - } - } } private int getColorWithGivenLuminance(int color, float luminance) { @@ -177,10 +157,6 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar if (mAllAppsButton != null) { mAllAppsButton.setOnClickListener(mControllerCallbacks.getAllAppsButtonClickListener()); } - if (mFloatingTaskButton != null) { - mFloatingTaskButton.setOnClickListener( - mControllerCallbacks.getFloatingTaskButtonListener(mFloatingTaskIntent)); - } } private void removeAndRecycle(View view) { @@ -205,9 +181,6 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar } removeView(mQsb); - if (mFloatingTaskButton != null) { - removeView(mFloatingTaskButton); - } for (int i = 0; i < hotseatItemInfos.length; i++) { ItemInfo hotseatItemInfo = hotseatItemInfos[i]; @@ -290,11 +263,6 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar mQsb.setVisibility(View.INVISIBLE); } - if (mFloatingTaskButton != null) { - int index = Utilities.isRtl(getResources()) ? 0 : getChildCount(); - addView(mFloatingTaskButton, index); - } - mThemeIconsBackground = calculateThemeIconsBackground(); setThemedIconsBackgroundColor(mThemeIconsBackground); } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index f0277a4d08..6a8af6e41a 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -25,7 +25,6 @@ import static com.android.launcher3.taskbar.TaskbarManager.isPhoneMode; import static com.android.quickstep.AnimatedFloat.VALUE; import android.annotation.NonNull; -import android.content.Intent; import android.graphics.Rect; import android.util.FloatProperty; import android.util.Log; @@ -55,7 +54,6 @@ import com.android.launcher3.util.LauncherBindableItemsContainer; import com.android.launcher3.util.MultiPropertyFactory; import com.android.launcher3.util.MultiValueAlpha; import com.android.quickstep.AnimatedFloat; -import com.android.quickstep.SystemUiProxy; import java.io.PrintWriter; import java.util.function.Predicate; @@ -447,13 +445,6 @@ public class TaskbarViewController implements TaskbarControllers.LoggableTaskbar }; } - public View.OnClickListener getFloatingTaskButtonListener(@NonNull Intent intent) { - return v -> { - SystemUiProxy proxy = SystemUiProxy.INSTANCE.get(v.getContext()); - proxy.showFloatingTask(intent); - }; - } - public View.OnLongClickListener getIconOnLongClickListener() { return mControllers.taskbarDragController::startDragOnLongClick; } diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java index 7705a2512a..8d9f11db8c 100644 --- a/quickstep/src/com/android/quickstep/SystemUiProxy.java +++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java @@ -59,7 +59,6 @@ import com.android.systemui.shared.system.smartspace.ISysuiUnlockAnimationContro import com.android.systemui.shared.system.smartspace.SmartspaceState; import com.android.wm.shell.back.IBackAnimation; import com.android.wm.shell.desktopmode.IDesktopMode; -import com.android.wm.shell.floating.IFloatingTasks; import com.android.wm.shell.onehanded.IOneHanded; import com.android.wm.shell.pip.IPip; import com.android.wm.shell.pip.IPipAnimationListener; @@ -90,7 +89,6 @@ public class SystemUiProxy implements ISystemUiProxy { private IPip mPip; private ISysuiUnlockAnimationController mSysuiUnlockAnimationController; private ISplitScreen mSplitScreen; - private IFloatingTasks mFloatingTasks; private IOneHanded mOneHanded; private IShellTransitions mShellTransitions; private IStartingWindow mStartingWindow; @@ -168,7 +166,7 @@ public class SystemUiProxy implements ISystemUiProxy { } public void setProxy(ISystemUiProxy proxy, IPip pip, ISplitScreen splitScreen, - IFloatingTasks floatingTasks, IOneHanded oneHanded, IShellTransitions shellTransitions, + IOneHanded oneHanded, IShellTransitions shellTransitions, IStartingWindow startingWindow, IRecentTasks recentTasks, ISysuiUnlockAnimationController sysuiUnlockAnimationController, IBackAnimation backAnimation, IDesktopMode desktopMode) { @@ -176,7 +174,6 @@ public class SystemUiProxy implements ISystemUiProxy { mSystemUiProxy = proxy; mPip = pip; mSplitScreen = splitScreen; - mFloatingTasks = floatingTasks; mOneHanded = oneHanded; mShellTransitions = shellTransitions; mStartingWindow = startingWindow; @@ -210,7 +207,7 @@ public class SystemUiProxy implements ISystemUiProxy { } public void clearProxy() { - setProxy(null, null, null, null, null, null, null, null, null, null, null); + setProxy(null, null, null, null, null, null, null, null, null, null); } // TODO(141886704): Find a way to remove this @@ -695,20 +692,6 @@ public class SystemUiProxy implements ISystemUiProxy { return null; } - // - // Floating tasks - // - - public void showFloatingTask(Intent intent) { - if (mFloatingTasks != null) { - try { - mFloatingTasks.showTask(intent); - } catch (RemoteException e) { - Log.w(TAG, "Launcher: Failed call showFloatingTask", e); - } - } - } - // // One handed // diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index e9f9d80e01..7b9b04a915 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -32,7 +32,6 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_N import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_TRACING_ENABLED; import static com.android.wm.shell.sysui.ShellSharedConstants.KEY_EXTRA_SHELL_BACK_ANIMATION; import static com.android.wm.shell.sysui.ShellSharedConstants.KEY_EXTRA_SHELL_DESKTOP_MODE; -import static com.android.wm.shell.sysui.ShellSharedConstants.KEY_EXTRA_SHELL_FLOATING_TASKS; import static com.android.wm.shell.sysui.ShellSharedConstants.KEY_EXTRA_SHELL_ONE_HANDED; import static com.android.wm.shell.sysui.ShellSharedConstants.KEY_EXTRA_SHELL_PIP; import static com.android.wm.shell.sysui.ShellSharedConstants.KEY_EXTRA_SHELL_RECENT_TASKS; @@ -114,7 +113,6 @@ import com.android.systemui.shared.system.smartspace.ISysuiUnlockAnimationContro import com.android.systemui.shared.tracing.ProtoTraceable; import com.android.wm.shell.back.IBackAnimation; import com.android.wm.shell.desktopmode.IDesktopMode; -import com.android.wm.shell.floating.IFloatingTasks; import com.android.wm.shell.onehanded.IOneHanded; import com.android.wm.shell.pip.IPip; import com.android.wm.shell.recents.IRecentTasks; @@ -172,8 +170,6 @@ public class TouchInteractionService extends Service IPip pip = IPip.Stub.asInterface(bundle.getBinder(KEY_EXTRA_SHELL_PIP)); ISplitScreen splitscreen = ISplitScreen.Stub.asInterface(bundle.getBinder( KEY_EXTRA_SHELL_SPLIT_SCREEN)); - IFloatingTasks floatingTasks = IFloatingTasks.Stub.asInterface(bundle.getBinder( - KEY_EXTRA_SHELL_FLOATING_TASKS)); IOneHanded onehanded = IOneHanded.Stub.asInterface( bundle.getBinder(KEY_EXTRA_SHELL_ONE_HANDED)); IShellTransitions shellTransitions = IShellTransitions.Stub.asInterface( @@ -191,7 +187,7 @@ public class TouchInteractionService extends Service bundle.getBinder(KEY_EXTRA_SHELL_DESKTOP_MODE)); MAIN_EXECUTOR.execute(() -> { SystemUiProxy.INSTANCE.get(TouchInteractionService.this).setProxy(proxy, pip, - splitscreen, floatingTasks, onehanded, shellTransitions, startingWindow, + splitscreen, onehanded, shellTransitions, startingWindow, recentTasks, launcherUnlockAnimationController, backAnimation, desktopMode); TouchInteractionService.this.initInputMonitor("TISBinder#onInitialize()"); preloadOverview(true /* fromInit */); diff --git a/res/values/config.xml b/res/values/config.xml index 11b6e8ca45..d9b3da5b07 100644 --- a/res/values/config.xml +++ b/res/values/config.xml @@ -205,6 +205,4 @@ 0 - -