Merge remote-tracking branch 'aosp/android12-release' into 12-dev
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.launcher3;
|
||||
|
||||
import static android.animation.ValueAnimator.areAnimatorsEnabled;
|
||||
import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED;
|
||||
import static android.view.accessibility.AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED;
|
||||
|
||||
@@ -35,8 +36,6 @@ import android.widget.LinearLayout;
|
||||
import androidx.annotation.IntDef;
|
||||
|
||||
import com.android.launcher3.anim.PendingAnimation;
|
||||
import com.android.launcher3.userevent.nano.LauncherLogProto.Action;
|
||||
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.android.launcher3.util.TouchController;
|
||||
import com.android.launcher3.views.ActivityContext;
|
||||
import com.android.launcher3.views.BaseDragLayer;
|
||||
@@ -50,6 +49,7 @@ import java.lang.annotation.RetentionPolicy;
|
||||
public abstract class AbstractFloatingView extends LinearLayout implements TouchController {
|
||||
|
||||
@IntDef(flag = true, value = {
|
||||
TYPE_COMPOSE_VIEW,
|
||||
TYPE_FOLDER,
|
||||
TYPE_ACTION_POPUP,
|
||||
TYPE_WIDGETS_BOTTOM_SHEET,
|
||||
@@ -60,12 +60,12 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch
|
||||
TYPE_SNACKBAR,
|
||||
TYPE_LISTENER,
|
||||
TYPE_ALL_APPS_EDU,
|
||||
|
||||
TYPE_DRAG_DROP_POPUP,
|
||||
TYPE_TASK_MENU,
|
||||
TYPE_OPTIONS_POPUP,
|
||||
TYPE_ICON_SURFACE,
|
||||
|
||||
TYPE_COMPOSE_VIEW
|
||||
TYPE_PIN_WIDGET_FROM_EXTERNAL_POPUP,
|
||||
TYPE_WIDGETS_EDUCATION_DIALOG
|
||||
})
|
||||
@Retention(RetentionPolicy.SOURCE)
|
||||
public @interface FloatingViewType {}
|
||||
@@ -79,25 +79,30 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch
|
||||
public static final int TYPE_SNACKBAR = 1 << 7;
|
||||
public static final int TYPE_LISTENER = 1 << 8;
|
||||
public static final int TYPE_ALL_APPS_EDU = 1 << 9;
|
||||
public static final int TYPE_DRAG_DROP_POPUP = 1 << 10;
|
||||
|
||||
// Popups related to quickstep UI
|
||||
public static final int TYPE_TASK_MENU = 1 << 10;
|
||||
public static final int TYPE_OPTIONS_POPUP = 1 << 11;
|
||||
public static final int TYPE_ICON_SURFACE = 1 << 12;
|
||||
public static final int TYPE_TASK_MENU = 1 << 11;
|
||||
public static final int TYPE_OPTIONS_POPUP = 1 << 12;
|
||||
public static final int TYPE_ICON_SURFACE = 1 << 13;
|
||||
|
||||
public static final int TYPE_PIN_WIDGET_FROM_EXTERNAL_POPUP = 1 << 14;
|
||||
public static final int TYPE_WIDGETS_EDUCATION_DIALOG = 1 << 15;
|
||||
|
||||
// Custom compose popups
|
||||
public static final int TYPE_COMPOSE_VIEW = 1 << 13;
|
||||
public static final int TYPE_COMPOSE_VIEW = 1 << 16;
|
||||
|
||||
public static final int TYPE_ALL = TYPE_FOLDER | TYPE_ACTION_POPUP
|
||||
| TYPE_WIDGETS_BOTTOM_SHEET | TYPE_WIDGET_RESIZE_FRAME | TYPE_WIDGETS_FULL_SHEET
|
||||
| TYPE_ON_BOARD_POPUP | TYPE_DISCOVERY_BOUNCE | TYPE_TASK_MENU
|
||||
| TYPE_OPTIONS_POPUP | TYPE_SNACKBAR | TYPE_LISTENER | TYPE_ALL_APPS_EDU
|
||||
| TYPE_ICON_SURFACE | TYPE_COMPOSE_VIEW;
|
||||
| TYPE_ICON_SURFACE | TYPE_DRAG_DROP_POPUP | TYPE_PIN_WIDGET_FROM_EXTERNAL_POPUP
|
||||
| TYPE_WIDGETS_EDUCATION_DIALOG | TYPE_COMPOSE_VIEW;
|
||||
|
||||
// Type of popups which should be kept open during launcher rebind
|
||||
public static final int TYPE_REBIND_SAFE = TYPE_WIDGETS_FULL_SHEET
|
||||
| TYPE_WIDGETS_BOTTOM_SHEET | TYPE_ON_BOARD_POPUP | TYPE_DISCOVERY_BOUNCE
|
||||
| TYPE_ALL_APPS_EDU | TYPE_ICON_SURFACE | TYPE_COMPOSE_VIEW;
|
||||
| TYPE_ALL_APPS_EDU | TYPE_ICON_SURFACE | TYPE_WIDGETS_EDUCATION_DIALOG | TYPE_COMPOSE_VIEW;
|
||||
|
||||
// Usually we show the back button when a floating view is open. Instead, hide for these types.
|
||||
public static final int TYPE_HIDE_BACK_BUTTON = TYPE_ON_BOARD_POPUP | TYPE_DISCOVERY_BOUNCE
|
||||
@@ -109,7 +114,7 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch
|
||||
// These view all have particular operation associated with swipe down interaction.
|
||||
public static final int TYPE_STATUS_BAR_SWIPE_DOWN_DISALLOW = TYPE_WIDGETS_BOTTOM_SHEET |
|
||||
TYPE_WIDGETS_FULL_SHEET | TYPE_WIDGET_RESIZE_FRAME | TYPE_ON_BOARD_POPUP |
|
||||
TYPE_DISCOVERY_BOUNCE | TYPE_TASK_MENU | TYPE_COMPOSE_VIEW;
|
||||
TYPE_DISCOVERY_BOUNCE | TYPE_TASK_MENU | TYPE_DRAG_DROP_POPUP | TYPE_COMPOSE_VIEW;
|
||||
|
||||
protected boolean mIsOpen;
|
||||
|
||||
@@ -131,10 +136,9 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch
|
||||
}
|
||||
|
||||
public final void close(boolean animate) {
|
||||
animate &= Utilities.areAnimationsEnabled(getContext());
|
||||
animate &= areAnimatorsEnabled();
|
||||
if (mIsOpen) {
|
||||
BaseActivity.fromContext(getContext()).getUserEventDispatcher()
|
||||
.resetElapsedContainerMillis("container closed");
|
||||
// Add to WW logging
|
||||
}
|
||||
handleClose(animate);
|
||||
mIsOpen = false;
|
||||
@@ -149,12 +153,6 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch
|
||||
public void addHintCloseAnim(
|
||||
float distanceToMove, Interpolator interpolator, PendingAnimation target) { }
|
||||
|
||||
public abstract void logActionCommand(int command);
|
||||
|
||||
public int getLogContainerType() {
|
||||
return ContainerType.DEFAULT_CONTAINERTYPE;
|
||||
}
|
||||
|
||||
public final boolean isOpen() {
|
||||
return mIsOpen;
|
||||
}
|
||||
@@ -163,7 +161,6 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch
|
||||
|
||||
/** @return Whether the back is consumed. If false, Launcher will handle the back as well. */
|
||||
public boolean onBackPressed() {
|
||||
logActionCommand(Action.Command.BACK);
|
||||
close(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user