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

Commit 0c83c809 authored by PETER LIANG's avatar PETER LIANG Committed by Android (Google) Code Review
Browse files

Merge "Multiple shortcut menu for android R (9/n)."

parents 8285b415 5a0aeffe
Loading
Loading
Loading
Loading
+31 −12
Original line number Diff line number Diff line
@@ -39,6 +39,8 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.TypedArray;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.drawable.Drawable;
import android.os.Build;
import android.os.Bundle;
@@ -74,6 +76,8 @@ import java.util.StringJoiner;
 */
public class AccessibilityButtonChooserActivity extends Activity {
    private static final char SERVICES_SEPARATOR = ':';
    private static final float DISABLED_ALPHA = 0.5f;
    private static final float ENABLED_ALPHA = 1.0f;
    private static final TextUtils.SimpleStringSplitter sStringColonSplitter =
            new TextUtils.SimpleStringSplitter(SERVICES_SEPARATOR);
    @ShortcutType
@@ -452,9 +456,16 @@ public class AccessibilityButtonChooserActivity extends Activity {
            final boolean isLaunchMenuMode = (mShortcutMenuMode == ShortcutMenuMode.LAUNCH);
            final boolean isHardwareButtonTriggered =
                    (mShortcutButtonType == ACCESSIBILITY_SHORTCUT_KEY);

            holder.mLabelView.setEnabled(isLaunchMenuMode || isHardwareButtonTriggered);
            holder.mViewItem.setEnabled(isLaunchMenuMode || isHardwareButtonTriggered);
            final boolean enabledState = (isLaunchMenuMode || isHardwareButtonTriggered);
            final ColorMatrix grayScaleMatrix = new ColorMatrix();
            grayScaleMatrix.setSaturation(/* grayScale */0);

            holder.mIconView.setColorFilter(enabledState
                    ? null : new ColorMatrixColorFilter(grayScaleMatrix));
            holder.mIconView.setAlpha(enabledState
                    ? ENABLED_ALPHA : DISABLED_ALPHA);
            holder.mLabelView.setEnabled(enabledState);
            holder.mViewItem.setEnabled(enabledState);
            holder.mViewItem.setImageDrawable(context.getDrawable(R.drawable.ic_delete_item));
            holder.mViewItem.setVisibility(View.VISIBLE);
            holder.mSwitchItem.setVisibility(View.GONE);
@@ -463,12 +474,15 @@ public class AccessibilityButtonChooserActivity extends Activity {

        private void updateInvisibleActionItemVisibility(@NonNull Context context,
                @NonNull ViewHolder holder) {
            final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);

            holder.mIconView.setColorFilter(null);
            holder.mIconView.setAlpha(ENABLED_ALPHA);
            holder.mLabelView.setEnabled(true);
            holder.mViewItem.setEnabled(true);
            holder.mViewItem.setImageDrawable(context.getDrawable(R.drawable.ic_delete_item));
            holder.mViewItem.setVisibility(View.VISIBLE);
            holder.mSwitchItem.setVisibility(View.GONE);
            holder.mItemContainer.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
            holder.mItemContainer.setVisibility((mShortcutMenuMode == ShortcutMenuMode.EDIT)
                    ? View.VISIBLE : View.GONE);
        }

        private void updateIntuitiveActionItemVisibility(@NonNull Context context,
@@ -478,6 +492,10 @@ public class AccessibilityButtonChooserActivity extends Activity {
                    ? isWhiteListingServiceEnabled(context, target)
                    : isAccessibilityServiceEnabled(context, target);

            holder.mIconView.setColorFilter(null);
            holder.mIconView.setAlpha(ENABLED_ALPHA);
            holder.mLabelView.setEnabled(true);
            holder.mViewItem.setEnabled(true);
            holder.mViewItem.setImageDrawable(context.getDrawable(R.drawable.ic_delete_item));
            holder.mViewItem.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
            holder.mSwitchItem.setVisibility(isEditMenuMode ? View.GONE : View.VISIBLE);
@@ -487,12 +505,13 @@ public class AccessibilityButtonChooserActivity extends Activity {

        private void updateBounceActionItemVisibility(@NonNull Context context,
                @NonNull ViewHolder holder) {
            final boolean isEditMenuMode = (mShortcutMenuMode == ShortcutMenuMode.EDIT);

            holder.mViewItem.setImageDrawable(
                    isEditMenuMode ? context.getDrawable(R.drawable.ic_delete_item)
                            : context.getDrawable(R.drawable.ic_open_in_new));
            holder.mViewItem.setVisibility(isEditMenuMode ? View.VISIBLE : View.GONE);
            holder.mIconView.setColorFilter(null);
            holder.mIconView.setAlpha(ENABLED_ALPHA);
            holder.mLabelView.setEnabled(true);
            holder.mViewItem.setEnabled(true);
            holder.mViewItem.setImageDrawable(context.getDrawable(R.drawable.ic_delete_item));
            holder.mViewItem.setVisibility((mShortcutMenuMode == ShortcutMenuMode.EDIT)
                    ? View.VISIBLE : View.GONE);
            holder.mSwitchItem.setVisibility(View.GONE);
            holder.mItemContainer.setVisibility(View.VISIBLE);
        }
+0 −26
Original line number Diff line number Diff line
<!--
    Copyright (C) 2020 The Android Open Source Project

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
  -->

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24"
    android:tint="?attr/colorControlNormal">
  <path
      android:pathData="M19,19H5V5h7V3H5c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2v-7h-2v7zM14,3v2h3.59l-9.83,9.83 1.41,1.41L19,6.41V10h2V3h-7z"
      android:fillColor="#FFFFFF"/>
</vector>
+0 −1
Original line number Diff line number Diff line
@@ -3230,7 +3230,6 @@
  <java-symbol type="drawable" name="ic_accessibility_magnification" />

  <java-symbol type="drawable" name="ic_delete_item" />
  <java-symbol type="drawable" name="ic_open_in_new" />

  <!-- com.android.internal.widget.RecyclerView -->
  <java-symbol type="id" name="item_touch_helper_previous_elevation"/>