Ensure overflow isn't selected when bar is collapsed am: 16b05e251b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/23900933 Change-Id: I19c19e06e387ce56a78d10b8251edf8449ceb989 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -184,6 +184,8 @@ public class BubbleBarController extends IBubblesListener.Stub {
|
|||||||
bubbleControllers.runAfterInit(() -> {
|
bubbleControllers.runAfterInit(() -> {
|
||||||
mBubbleBarViewController.setHiddenForBubbles(!BUBBLE_BAR_ENABLED);
|
mBubbleBarViewController.setHiddenForBubbles(!BUBBLE_BAR_ENABLED);
|
||||||
mBubbleStashedHandleViewController.setHiddenForBubbles(!BUBBLE_BAR_ENABLED);
|
mBubbleStashedHandleViewController.setHiddenForBubbles(!BUBBLE_BAR_ENABLED);
|
||||||
|
mBubbleBarViewController.setUpdateSelectedBubbleAfterCollapse(
|
||||||
|
key -> setSelectedBubble(mBubbles.get(key)));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import com.android.launcher3.taskbar.TaskbarActivityContext;
|
|||||||
import com.android.launcher3.views.ActivityContext;
|
import com.android.launcher3.views.ActivityContext;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The view that holds all the bubble views. Modifying this view should happen through
|
* The view that holds all the bubble views. Modifying this view should happen through
|
||||||
@@ -101,6 +102,9 @@ public class BubbleBarView extends FrameLayout {
|
|||||||
@Nullable
|
@Nullable
|
||||||
private Runnable mReorderRunnable;
|
private Runnable mReorderRunnable;
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
private Consumer<String> mUpdateSelectedBubbleAfterCollapse;
|
||||||
|
|
||||||
public BubbleBarView(Context context) {
|
public BubbleBarView(Context context) {
|
||||||
this(context, null);
|
this(context, null);
|
||||||
}
|
}
|
||||||
@@ -144,6 +148,13 @@ public class BubbleBarView extends FrameLayout {
|
|||||||
mReorderRunnable.run();
|
mReorderRunnable.run();
|
||||||
mReorderRunnable = null;
|
mReorderRunnable = null;
|
||||||
}
|
}
|
||||||
|
// If the bar was just collapsed and the overflow was the last bubble that was
|
||||||
|
// selected, set the first bubble as selected.
|
||||||
|
if (!mIsBarExpanded && mUpdateSelectedBubbleAfterCollapse != null
|
||||||
|
&& mSelectedBubbleView.getBubble() instanceof BubbleBarOverflow) {
|
||||||
|
BubbleView firstBubble = (BubbleView) getChildAt(0);
|
||||||
|
mUpdateSelectedBubbleAfterCollapse.accept(firstBubble.getBubble().getKey());
|
||||||
|
}
|
||||||
updateWidth();
|
updateWidth();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -293,6 +304,11 @@ public class BubbleBarView extends FrameLayout {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setUpdateSelectedBubbleAfterCollapse(
|
||||||
|
Consumer<String> updateSelectedBubbleAfterCollapse) {
|
||||||
|
mUpdateSelectedBubbleAfterCollapse = updateSelectedBubbleAfterCollapse;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets which bubble view should be shown as selected.
|
* Sets which bubble view should be shown as selected.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import com.android.quickstep.SystemUiProxy;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller for {@link BubbleBarView}. Manages the visibility of the bubble bar as well as
|
* Controller for {@link BubbleBarView}. Manages the visibility of the bubble bar as well as
|
||||||
@@ -184,6 +185,12 @@ public class BubbleBarViewController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Sets a callback that updates the selected bubble after the bubble bar collapses. */
|
||||||
|
public void setUpdateSelectedBubbleAfterCollapse(
|
||||||
|
Consumer<String> updateSelectedBubbleAfterCollapse) {
|
||||||
|
mBarView.setUpdateSelectedBubbleAfterCollapse(updateSelectedBubbleAfterCollapse);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets whether the bubble bar should be hidden due to SysUI state (e.g. on lockscreen).
|
* Sets whether the bubble bar should be hidden due to SysUI state (e.g. on lockscreen).
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user