Search in sources :

Example 76 with Overview

use of com.android.launcher3.tapl.Overview in project android_packages_apps_Launcher3 by ProtonAOSP.

the class RecentsViewStateController method setState.

@Override
public void setState(@NonNull LauncherState state) {
    super.setState(state);
    if (state.overviewUi) {
        mRecentsView.updateEmptyMessage();
        mRecentsView.resetTaskVisuals();
    }
    setAlphas(PropertySetter.NO_ANIM_PROPERTY_SETTER, new StateAnimationConfig(), state);
    mRecentsView.setFullscreenProgress(state.getOverviewFullscreenProgress());
    // In Overview, we may be layering app surfaces behind Launcher, so we need to notify
    // DepthController to prevent optimizations which might occlude the layers behind
    mLauncher.getDepthController().setHasContentBehindLauncher(state.overviewUi);
    handleSplitSelectionState(state, null);
}
Also used : StateAnimationConfig(com.android.launcher3.states.StateAnimationConfig)

Example 77 with Overview

use of com.android.launcher3.tapl.Overview in project android_packages_apps_Launcher3 by ProtonAOSP.

the class TaskView method onTaskListVisibilityChanged.

/**
 * See {@link TaskDataChanges}
 * @param visible If this task view will be visible to the user in overview or hidden
 */
public void onTaskListVisibilityChanged(boolean visible, @TaskDataChanges int changes) {
    if (mTask == null) {
        return;
    }
    cancelPendingLoadTasks();
    if (visible) {
        // These calls are no-ops if the data is already loaded, try and load the high
        // resolution thumbnail if the state permits
        RecentsModel model = RecentsModel.INSTANCE.get(getContext());
        TaskThumbnailCache thumbnailCache = model.getThumbnailCache();
        TaskIconCache iconCache = model.getIconCache();
        if (needsUpdate(changes, FLAG_UPDATE_THUMBNAIL)) {
            mThumbnailLoadRequest = thumbnailCache.updateThumbnailInBackground(mTask, thumbnail -> {
                mSnapshotView.setThumbnail(mTask, thumbnail);
            });
        }
        if (needsUpdate(changes, FLAG_UPDATE_ICON)) {
            mIconLoadRequest = iconCache.updateIconInBackground(mTask, (task) -> {
                setIcon(mIconView, task.icon);
                mDigitalWellBeingToast.initialize(mTask);
            });
        }
    } else {
        if (needsUpdate(changes, FLAG_UPDATE_THUMBNAIL)) {
            mSnapshotView.setThumbnail(null, null);
            // Reset the task thumbnail reference as well (it will be fetched from the cache or
            // reloaded next time we need it)
            mTask.thumbnail = null;
        }
        if (needsUpdate(changes, FLAG_UPDATE_ICON)) {
            setIcon(mIconView, null);
        }
    }
}
Also used : Rect(android.graphics.Rect) Task(com.android.systemui.shared.recents.model.Task) Arrays(java.util.Arrays) Bundle(android.os.Bundle) Utilities.getDescendantCoordRelativeToAncestor(com.android.launcher3.Utilities.getDescendantCoordRelativeToAncestor) NonNull(androidx.annotation.NonNull) TestProtocol(com.android.launcher3.testing.TestProtocol) FrameLayout(android.widget.FrameLayout) Animator(android.animation.Animator) LauncherSettings(com.android.launcher3.LauncherSettings) SplitPositionOption(com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption) Drawable(android.graphics.drawable.Drawable) TouchDelegate(android.view.TouchDelegate) FloatProperty(android.util.FloatProperty) ActivityOptions(android.app.ActivityOptions) AttributeSet(android.util.AttributeSet) ActivityManagerWrapper(com.android.systemui.shared.system.ActivityManagerWrapper) Interpolators(com.android.launcher3.anim.Interpolators) TaskViewUtils(com.android.quickstep.TaskViewUtils) STAGE_POSITION_BOTTOM_OR_RIGHT(com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT) MAIN_EXECUTOR(com.android.launcher3.util.Executors.MAIN_EXECUTOR) View(android.view.View) TransformingTouchDelegate(com.android.launcher3.util.TransformingTouchDelegate) Log(android.util.Log) RectF(android.graphics.RectF) Utilities(com.android.launcher3.Utilities) UI_HELPER_EXECUTOR(com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR) Interpolator(android.view.animation.Interpolator) ObjectAnimator(android.animation.ObjectAnimator) LAUNCHER_TASK_LAUNCH_TAP(com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_LAUNCH_TAP) TaskUtils(com.android.quickstep.TaskUtils) AnimatorListenerAdapter(android.animation.AnimatorListenerAdapter) ViewGroup(android.view.ViewGroup) DeviceProfile(com.android.launcher3.DeviceProfile) Outline(android.graphics.Outline) List(java.util.List) Nullable(androidx.annotation.Nullable) Stream(java.util.stream.Stream) CancellableTask(com.android.quickstep.util.CancellableTask) ThumbnailData(com.android.systemui.shared.recents.model.ThumbnailData) IdRes(android.annotation.IdRes) RemoteTargetHandle(com.android.quickstep.RemoteTargetGluer.RemoteTargetHandle) TYPE_TASK_MENU(com.android.launcher3.AbstractFloatingView.TYPE_TASK_MENU) ACCEL_DEACCEL(com.android.launcher3.anim.Interpolators.ACCEL_DEACCEL) ActivityOptionsCompat(com.android.systemui.shared.system.ActivityOptionsCompat) Context(android.content.Context) AccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo) TaskThumbnailCache(com.android.quickstep.TaskThumbnailCache) RemoteAnimationTargetCompat(com.android.systemui.shared.system.RemoteAnimationTargetCompat) SplitConfigurationOptions(com.android.launcher3.util.SplitConfigurationOptions) ViewOutlineProvider(android.view.ViewOutlineProvider) QuickStepContract(com.android.systemui.shared.system.QuickStepContract) Intent(android.content.Intent) HashMap(java.util.HashMap) SystemUiProxy(com.android.quickstep.SystemUiProxy) IntDef(androidx.annotation.IntDef) FAST_OUT_SLOW_IN(com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN) RemoteAnimationTargets(com.android.quickstep.RemoteAnimationTargets) Retention(java.lang.annotation.Retention) Utilities.comp(com.android.launcher3.Utilities.comp) TransformParams(com.android.quickstep.util.TransformParams) ENABLE_QUICKSTEP_LIVE_TILE(com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE) MotionEvent(android.view.MotionEvent) WorkspaceItemInfo(com.android.launcher3.model.data.WorkspaceItemInfo) STAGE_POSITION_UNDEFINED(com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_UNDEFINED) Toast(android.widget.Toast) AnimatorSet(android.animation.AnimatorSet) ActivityOptionsWrapper(com.android.launcher3.util.ActivityOptionsWrapper) TaskOverlayFactory(com.android.quickstep.TaskOverlayFactory) SystemShortcut(com.android.launcher3.popup.SystemShortcut) TaskCornerRadius(com.android.quickstep.util.TaskCornerRadius) Reusable(com.android.launcher3.util.ViewPool.Reusable) StatefulActivity(com.android.launcher3.statemanager.StatefulActivity) TaskIconCache(com.android.quickstep.TaskIconCache) RecentsOrientedState(com.android.quickstep.util.RecentsOrientedState) Consumer(java.util.function.Consumer) LINEAR(com.android.launcher3.anim.Interpolators.LINEAR) OVERVIEW_SPLIT_SELECT(com.android.launcher3.LauncherState.OVERVIEW_SPLIT_SELECT) PreviewPositionHelper(com.android.quickstep.views.TaskThumbnailView.PreviewPositionHelper) R(com.android.launcher3.R) TestLogging(com.android.launcher3.testing.TestLogging) RecentsModel(com.android.quickstep.RecentsModel) ComponentKey(com.android.launcher3.util.ComponentKey) SOURCE(java.lang.annotation.RetentionPolicy.SOURCE) LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS(com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS) AbstractFloatingView(com.android.launcher3.AbstractFloatingView) PagedOrientationHandler(com.android.launcher3.touch.PagedOrientationHandler) RunnableList(com.android.launcher3.util.RunnableList) Collections(java.util.Collections) LENGTH_SHORT(android.widget.Toast.LENGTH_SHORT) RecentsModel(com.android.quickstep.RecentsModel) TaskThumbnailCache(com.android.quickstep.TaskThumbnailCache) TaskIconCache(com.android.quickstep.TaskIconCache)

Example 78 with Overview

use of com.android.launcher3.tapl.Overview in project android_packages_apps_Launcher3 by ProtonAOSP.

the class TaplTestsQuickstep method testBackground.

@Test
@NavigationModeSwitch
@PortraitLandscape
public void testBackground() throws Exception {
    startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR));
    final Background background = getAndAssertBackground();
    assertNotNull("Background.switchToOverview() returned null", background.switchToOverview());
    assertTrue("Launcher internal state didn't switch to Overview", isInState(() -> LauncherState.OVERVIEW));
}
Also used : Background(com.android.launcher3.tapl.Background) LargeTest(androidx.test.filters.LargeTest) Test(org.junit.Test) NavigationModeSwitch(com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch)

Example 79 with Overview

use of com.android.launcher3.tapl.Overview in project android_packages_apps_Launcher3 by ProtonAOSP.

the class ViewInflationDuringSwipeUp method executeSwipeUpTestWithWidget.

private void executeSwipeUpTestWithWidget(IntConsumer widgetIdCreationCallback, IntConsumer updateBeforeSwipeUp, String finalWidgetText) {
    try {
        // Clear all existing data
        LauncherSettings.Settings.call(mResolver, LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB);
        LauncherSettings.Settings.call(mResolver, LauncherSettings.Settings.METHOD_CLEAR_EMPTY_DB_FLAG);
        LauncherAppWidgetProviderInfo info = TestViewHelpers.findWidgetProvider(this, false);
        // Make sure the widget is big enough to show a list of items
        info.minSpanX = 2;
        info.minSpanY = 2;
        info.spanX = 2;
        info.spanY = 2;
        LauncherAppWidgetInfo item = createWidgetInfo(info, getTargetContext(), true);
        addItemToScreen(item);
        assertTrue("Widget is not present", mLauncher.pressHome().tryGetWidget(info.label, DEFAULT_UI_TIMEOUT) != null);
        int widgetId = item.appWidgetId;
        // Verify widget id
        widgetIdCreationCallback.accept(widgetId);
        // Go to overview once so that all views are initialized and cached
        startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR));
        mLauncher.getBackground().switchToOverview().dismissAllTasks();
        // Track view creations
        mInitTracker.startTracking();
        startTestActivity(2);
        Background background = mLauncher.getBackground();
        // Update widget
        updateBeforeSwipeUp.accept(widgetId);
        background.switchToOverview();
        assertEquals("Views inflated during swipe up", 0, mInitTracker.viewInitCount);
        // Widget is updated when going home
        mInitTracker.disableLog();
        mLauncher.pressHome();
        verifyWidget(finalWidgetText);
        assertNotEquals(1, mInitTracker.viewInitCount);
    } finally {
        mConfigMap.clear();
    }
}
Also used : LauncherAppWidgetProviderInfo(com.android.launcher3.widget.LauncherAppWidgetProviderInfo) Background(com.android.launcher3.tapl.Background) LauncherAppWidgetInfo(com.android.launcher3.model.data.LauncherAppWidgetInfo)

Example 80 with Overview

use of com.android.launcher3.tapl.Overview in project android_packages_apps_Launcher3 by ProtonAOSP.

the class TaplTestsQuickstep method testOverviewActions.

/**
 * Smoke test for action buttons: Presses all the buttons and makes sure no crashes occur.
 */
@Test
@NavigationModeSwitch
@PortraitLandscape
// b/195673272
@ScreenRecord
public void testOverviewActions() throws Exception {
    // Experimenting for b/165029151:
    final Overview overview = mLauncher.pressHome().switchToOverview();
    if (overview.hasTasks())
        overview.dismissAllTasks();
    mLauncher.pressHome();
    // 
    startTestAppsWithCheck();
    OverviewActions actionsView = mLauncher.pressHome().switchToOverview().getOverviewActions();
    actionsView.clickAndDismissScreenshot();
}
Also used : OverviewActions(com.android.launcher3.tapl.OverviewActions) Overview(com.android.launcher3.tapl.Overview) ScreenRecord(com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord) LargeTest(androidx.test.filters.LargeTest) Test(org.junit.Test) NavigationModeSwitch(com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch)

Aggregations

LauncherState (com.android.launcher3.LauncherState)53 Animator (android.animation.Animator)50 ValueAnimator (android.animation.ValueAnimator)42 StateAnimationConfig (com.android.launcher3.states.StateAnimationConfig)41 RecentsView (com.android.quickstep.views.RecentsView)40 AnimatorSet (android.animation.AnimatorSet)38 Launcher (com.android.launcher3.Launcher)36 AnimatorListenerAdapter (android.animation.AnimatorListenerAdapter)34 ObjectAnimator (android.animation.ObjectAnimator)30 LargeTest (androidx.test.filters.LargeTest)29 Test (org.junit.Test)29 Point (android.graphics.Point)24 View (android.view.View)22 DeviceProfile (com.android.launcher3.DeviceProfile)19 PendingAnimation (com.android.launcher3.anim.PendingAnimation)19 RemoteAnimationTargetCompat (com.android.systemui.shared.system.RemoteAnimationTargetCompat)19 ItemInfo (com.android.launcher3.model.data.ItemInfo)18 DepthController (com.android.launcher3.statehandlers.DepthController)17 Task (com.android.systemui.shared.recents.model.Task)17 Rect (android.graphics.Rect)16