Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9928a1d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Implement overlay window for Taskbar EDU and All Apps." into tm-qpr-dev

parents ded9a748 2d6371aa
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -276,13 +276,6 @@ public class LauncherTaskbarUIController extends TaskbarUIController {
                && !mLauncher.getOnboardingPrefs().getBoolean(OnboardingPrefs.TASKBAR_EDU_SEEN);
    }

    /**
     * Manually ends the taskbar education flow.
     */
    public void hideEdu() {
        mControllers.taskbarEduController.hideEdu();
    }

    @Override
    public void onTaskbarIconLaunched(ItemInfo item) {
        InstanceId instanceId = new InstanceIdSequence().newInstanceId();
+4 −2
Original line number Diff line number Diff line
@@ -76,6 +76,7 @@ import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.model.data.WorkspaceItemInfo;
import com.android.launcher3.popup.PopupDataProvider;
import com.android.launcher3.taskbar.allapps.TaskbarAllAppsController;
import com.android.launcher3.taskbar.overlay.TaskbarOverlayController;
import com.android.launcher3.testing.TestLogging;
import com.android.launcher3.testing.shared.TestProtocol;
import com.android.launcher3.touch.ItemClickHandler;
@@ -211,7 +212,8 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
                new TaskbarAutohideSuspendController(this),
                new TaskbarPopupController(this),
                new TaskbarForceVisibleImmersiveController(this),
                new TaskbarAllAppsController(this, dp),
                new TaskbarOverlayController(this, dp),
                new TaskbarAllAppsController(),
                new TaskbarInsetsController(this),
                new VoiceInteractionWindowController(this),
                isDesktopMode
@@ -243,7 +245,7 @@ public class TaskbarActivityContext extends BaseTaskbarContext {
    /** Updates {@link DeviceProfile} instances for any Taskbar windows. */
    public void updateDeviceProfile(DeviceProfile dp, NavigationMode navMode) {
        mNavMode = navMode;
        mControllers.taskbarAllAppsController.updateDeviceProfile(dp);
        mControllers.taskbarOverlayController.updateDeviceProfile(dp);
        mDeviceProfile = dp.copy(this);
        updateIconSize(getResources());

+6 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;

import com.android.launcher3.taskbar.allapps.TaskbarAllAppsController;
import com.android.launcher3.taskbar.overlay.TaskbarOverlayController;
import com.android.systemui.shared.rotation.RotationButtonController;

import java.io.PrintWriter;
@@ -54,6 +55,7 @@ public class TaskbarControllers {
    public final TaskbarInsetsController taskbarInsetsController;
    public final VoiceInteractionWindowController voiceInteractionWindowController;
    public final TaskbarRecentAppsController taskbarRecentAppsController;
    public final TaskbarOverlayController taskbarOverlayController;

    @Nullable private LoggableTaskbarController[] mControllersToLog = null;

@@ -81,6 +83,7 @@ public class TaskbarControllers {
            TaskbarAutohideSuspendController taskbarAutoHideSuspendController,
            TaskbarPopupController taskbarPopupController,
            TaskbarForceVisibleImmersiveController taskbarForceVisibleImmersiveController,
            TaskbarOverlayController taskbarOverlayController,
            TaskbarAllAppsController taskbarAllAppsController,
            TaskbarInsetsController taskbarInsetsController,
            VoiceInteractionWindowController voiceInteractionWindowController,
@@ -101,6 +104,7 @@ public class TaskbarControllers {
        this.taskbarAutohideSuspendController = taskbarAutoHideSuspendController;
        this.taskbarPopupController = taskbarPopupController;
        this.taskbarForceVisibleImmersiveController = taskbarForceVisibleImmersiveController;
        this.taskbarOverlayController = taskbarOverlayController;
        this.taskbarAllAppsController = taskbarAllAppsController;
        this.taskbarInsetsController = taskbarInsetsController;
        this.voiceInteractionWindowController = voiceInteractionWindowController;
@@ -129,6 +133,7 @@ public class TaskbarControllers {
        taskbarEduController.init(this);
        taskbarPopupController.init(this);
        taskbarForceVisibleImmersiveController.init(this);
        taskbarOverlayController.init(this);
        taskbarAllAppsController.init(this, sharedState.allAppsVisible);
        navButtonController.init(this);
        taskbarInsetsController.init(this);
@@ -179,7 +184,7 @@ public class TaskbarControllers {
        taskbarAutohideSuspendController.onDestroy();
        taskbarPopupController.onDestroy();
        taskbarForceVisibleImmersiveController.onDestroy();
        taskbarAllAppsController.onDestroy();
        taskbarOverlayController.onDestroy();
        navButtonController.onDestroy();
        taskbarInsetsController.onDestroy();
        voiceInteractionWindowController.onDestroy();
+5 −8
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.view.View;
import com.android.launcher3.R;
import com.android.launcher3.icons.BitmapInfo;
import com.android.launcher3.model.data.ItemInfo;
import com.android.launcher3.taskbar.overlay.TaskbarOverlayContext;
import com.android.launcher3.uioverrides.PredictedAppIcon;

import java.io.PrintWriter;
@@ -87,8 +88,10 @@ public class TaskbarEduController implements TaskbarControllers.LoggableTaskbarC
    void showEdu() {
        mActivity.setTaskbarWindowFullscreen(true);
        mActivity.getDragLayer().post(() -> {
            mTaskbarEduView = (TaskbarEduView) mActivity.getLayoutInflater().inflate(
                    R.layout.taskbar_edu, mActivity.getDragLayer(), false);
            TaskbarOverlayContext overlayContext =
                    mControllers.taskbarOverlayController.requestWindow();
            mTaskbarEduView = (TaskbarEduView) overlayContext.getLayoutInflater().inflate(
                    R.layout.taskbar_edu, overlayContext.getDragLayer(), false);
            mTaskbarEduView.init(new TaskbarEduCallbacks());
            mControllers.navbarButtonsViewController.setSlideInViewVisible(true);
            mTaskbarEduView.setOnCloseBeginListener(
@@ -99,12 +102,6 @@ public class TaskbarEduController implements TaskbarControllers.LoggableTaskbarC
        });
    }

    void hideEdu() {
        if (mTaskbarEduView != null) {
            mTaskbarEduView.close(true /* animate */);
        }
    }

    /**
     * Starts the given animation, ending the previous animation first if it's still playing.
     */
+2 −1
Original line number Diff line number Diff line
@@ -28,10 +28,11 @@ import android.widget.Button;

import com.android.launcher3.Insettable;
import com.android.launcher3.R;
import com.android.launcher3.taskbar.overlay.TaskbarOverlayContext;
import com.android.launcher3.views.AbstractSlideInView;

/** Education view about the Taskbar. */
public class TaskbarEduView extends AbstractSlideInView<TaskbarActivityContext>
public class TaskbarEduView extends AbstractSlideInView<TaskbarOverlayContext>
        implements Insettable {

    private static final int DEFAULT_OPEN_DURATION = 500;
Loading