Moving Pause button to the left of the context menu header
See this mock: https://www.google.com/url?q=https://docs.google.com/presentation/d/1AepsnLeKcRhjMW35SkB5yMKO3u6waigug8Tyfe0LO5o/edit%23slide%3Did.g455d187f2a_0_45&sa=D&ust=1542320415002000&usg=AFQjCNH-jsy5THG1WqxjeYbj628QFMJKvQ Bug: 117888000 Test: Manual Change-Id: I1edbc569347f09f0806ad6749735c3dec198277a
This commit is contained in:
parent
b2f9c1f0c1
commit
fdfeb6dd3b
|
@ -22,4 +22,10 @@
|
|||
android:orientation="horizontal"
|
||||
android:gravity="end|center_vertical"
|
||||
android:background="?attr/popupColorSecondary"
|
||||
android:clipToPadding="true" />
|
||||
android:clipToPadding="true">
|
||||
|
||||
<Space android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:id="@+id/separator"/>
|
||||
</LinearLayout>
|
||||
|
|
|
@ -126,6 +126,12 @@ public abstract class ArrowPopup extends AbstractFloatingView {
|
|||
return (T) view;
|
||||
}
|
||||
|
||||
public <T extends View> T inflateAndAdd(int resId, ViewGroup container, int index) {
|
||||
View view = mInflater.inflate(resId, container, false);
|
||||
container.addView(view, index);
|
||||
return (T) view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when all view inflation and reordering in complete.
|
||||
*/
|
||||
|
|
|
@ -391,7 +391,8 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource,
|
|||
}
|
||||
|
||||
private void initializeSystemShortcut(int resId, ViewGroup container, SystemShortcut info) {
|
||||
View view = inflateAndAdd(resId, container);
|
||||
View view = inflateAndAdd(
|
||||
resId, container, getInsertIndexForSystemShortcut(container, info));
|
||||
if (view instanceof DeepShortcutView) {
|
||||
// Expanded system shortcut, with both icon and text shown on white background.
|
||||
final DeepShortcutView shortcutView = (DeepShortcutView) view;
|
||||
|
@ -405,6 +406,17 @@ public class PopupContainerWithArrow extends ArrowPopup implements DragSource,
|
|||
(ItemInfo) mOriginalIcon.getTag()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns an index for inserting a shortcut into a container.
|
||||
*/
|
||||
private int getInsertIndexForSystemShortcut(ViewGroup container, SystemShortcut shortcut) {
|
||||
final View separator = container.findViewById(R.id.separator);
|
||||
|
||||
return separator != null && shortcut.isLeftGroup() ?
|
||||
container.indexOfChild(separator) :
|
||||
container.getChildCount();
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines when the deferred drag should be started.
|
||||
*
|
||||
|
|
|
@ -76,4 +76,9 @@ public class RemoteActionShortcut extends SystemShortcut<Launcher> {
|
|||
LauncherLogProto.ControlType.REMOTE_ACTION_SHORTCUT, view);
|
||||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLeftGroup() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -71,6 +71,13 @@ public abstract class SystemShortcut<T extends BaseDraggingActivity> extends Ite
|
|||
mAccessibilityActionId = other.mAccessibilityActionId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Should be in the left group of icons in app's context menu header.
|
||||
*/
|
||||
public boolean isLeftGroup() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public void setIconAndLabelFor(View iconView, TextView labelView) {
|
||||
if (mIcon != null) {
|
||||
mIcon.loadDrawableAsync(iconView.getContext(),
|
||||
|
|
Loading…
Reference in New Issue