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

Commit c395188d authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Automerger Merge Worker
Browse files

Merge "Fix ripple in GA" into rvc-dev am: bad91c0e am: 7a2d48a8 am: 2e42318f am: 9c0cdf7b

Change-Id: Ic7b89663ef0b78ae1db8acbdb834f2b6524fad61
parents 26e34379 9c0cdf7b
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -18,5 +18,7 @@
    style="@style/Control.MenuItem"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="start" />
    android:layout_gravity="start"
    android:paddingStart="@dimen/control_menu_horizontal_padding"
    android:paddingEnd="@dimen/control_menu_horizontal_padding"/>
+1 −0
Original line number Diff line number Diff line
@@ -396,6 +396,7 @@
    <style name="Theme.SystemUI.Dialog.Alert" parent="@*android:style/Theme.DeviceDefault.Light.Dialog.Alert" />

    <style name="Theme.SystemUI.Dialog.GlobalActions" parent="@android:style/Theme.DeviceDefault.Light.NoActionBar.Fullscreen">
        <item name="android:colorError">@*android:color/error_color_material_dark</item>
        <item name="android:windowIsFloating">true</item>
    </style>

+9 −12
Original line number Diff line number Diff line
@@ -306,7 +306,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
            RingerModeTracker ringerModeTracker, SysUiState sysUiState, @Main Handler handler,
            ControlsComponent controlsComponent,
            CurrentUserContextTracker currentUserContextTracker) {
        mContext = new ContextThemeWrapper(context, com.android.systemui.R.style.qs_theme);
        mContext = context;
        mWindowManagerFuncs = windowManagerFuncs;
        mAudioManager = audioManager;
        mDreamManager = iDreamManager;
@@ -564,8 +564,8 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,

        mItems.clear();
        mOverflowItems.clear();
        String[] defaultActions = getDefaultActions();

        String[] defaultActions = getDefaultActions();
        // make sure emergency affordance action is first, if needed
        if (mEmergencyAffordanceManager.needsEmergencyAffordance()) {
            addActionItem(new EmergencyAffordanceAction());
@@ -1341,18 +1341,11 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
            View view = convertView != null ? convertView
                    : LayoutInflater.from(mContext).inflate(viewLayoutResource, parent, false);
            TextView textView = (TextView) view;
            textView.setOnClickListener(v -> onClickItem(position));
            if (action.getMessageResId() != 0) {
                textView.setText(action.getMessageResId());
            } else {
                textView.setText(action.getMessage());
            }

            if (action instanceof LongPressAction) {
                textView.setOnLongClickListener(v -> onLongClickItem(position));
            } else {
                textView.setOnLongClickListener(null);
            }
            return textView;
        }

@@ -2064,11 +2057,15 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
        }

        private ListPopupWindow createPowerOverflowPopup() {
            ListPopupWindow popup = new GlobalActionsPopupMenu(
            GlobalActionsPopupMenu popup = new GlobalActionsPopupMenu(
                    new ContextThemeWrapper(
                            mContext,
                            com.android.systemui.R.style.Control_ListPopupWindow
                    ), false /* isDropDownMode */);
            popup.setOnItemClickListener(
                    (parent, view, position, id) -> mOverflowAdapter.onClickItem(position));
            popup.setOnItemLongClickListener(
                    (parent, view, position, id) -> mOverflowAdapter.onLongClickItem(position));
            View overflowButton =
                    findViewById(com.android.systemui.R.id.global_actions_overflow_button);
            popup.setAnchorView(overflowButton);
+12 −8
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.content.res.Resources;
import android.view.View;
import android.view.View.MeasureSpec;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ListAdapter;
import android.widget.ListPopupWindow;
import android.widget.ListView;
@@ -37,10 +38,10 @@ import com.android.systemui.R;
public class GlobalActionsPopupMenu extends ListPopupWindow {
    private Context mContext;
    private boolean mIsDropDownMode;
    private int mMenuHorizontalPadding = 0;
    private int mMenuVerticalPadding = 0;
    private int mGlobalActionsSidePadding = 0;
    private ListAdapter mAdapter;
    private AdapterView.OnItemLongClickListener mOnItemLongClickListener;

    public GlobalActionsPopupMenu(@NonNull Context context, boolean isDropDownMode) {
        super(context);
@@ -57,8 +58,6 @@ public class GlobalActionsPopupMenu extends ListPopupWindow {
        mGlobalActionsSidePadding = res.getDimensionPixelSize(R.dimen.global_actions_side_margin);
        if (!isDropDownMode) {
            mMenuVerticalPadding = res.getDimensionPixelSize(R.dimen.control_menu_vertical_padding);
            mMenuHorizontalPadding =
                res.getDimensionPixelSize(R.dimen.control_menu_horizontal_padding);
        }
    }

@@ -76,6 +75,9 @@ public class GlobalActionsPopupMenu extends ListPopupWindow {
    public void show() {
        // need to call show() first in order to construct the listView
        super.show();
        if (mOnItemLongClickListener != null) {
            getListView().setOnItemLongClickListener(mOnItemLongClickListener);
        }

        ListView listView = getListView();
        Resources res = mContext.getResources();
@@ -92,7 +94,7 @@ public class GlobalActionsPopupMenu extends ListPopupWindow {
            // width should be between [.5, .9] of screen
            int parentWidth = res.getSystem().getDisplayMetrics().widthPixels;
            int widthSpec = MeasureSpec.makeMeasureSpec(
                    (int) (parentWidth * 0.9) - 2 * mMenuHorizontalPadding, MeasureSpec.AT_MOST);
                    (int) (parentWidth * 0.9), MeasureSpec.AT_MOST);
            int maxWidth = 0;
            for (int i = 0; i < mAdapter.getCount(); i++) {
                View child = mAdapter.getView(i, null, listView);
@@ -100,10 +102,8 @@ public class GlobalActionsPopupMenu extends ListPopupWindow {
                int w = child.getMeasuredWidth();
                maxWidth = Math.max(w, maxWidth);
            }
            int width = Math.max(maxWidth, (int) (parentWidth * 0.5) - 2 * mMenuHorizontalPadding)
                    + 2 * mMenuHorizontalPadding;
            listView.setPadding(mMenuHorizontalPadding, mMenuVerticalPadding,
                    mMenuHorizontalPadding, mMenuVerticalPadding);
            int width = Math.max(maxWidth, (int) (parentWidth * 0.5));
            listView.setPadding(0, mMenuVerticalPadding, 0, mMenuVerticalPadding);

            setWidth(width);
            setHorizontalOffset(getAnchorView().getWidth() - mGlobalActionsSidePadding - width);
@@ -111,4 +111,8 @@ public class GlobalActionsPopupMenu extends ListPopupWindow {

        super.show();
    }

    public void setOnItemLongClickListener(AdapterView.OnItemLongClickListener listener) {
        mOnItemLongClickListener = listener;
    }
}