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

Commit aaee1a15 authored by Matías Hernández's avatar Matías Hernández Committed by Android (Google) Code Review
Browse files

Merge "(Once more) fix minimum height of mode name edit box for a11y" into main

parents 6b98c4e7 b3468ca8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@
            android:id="@android:id/edit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minHeight="48dp"
            android:maxLines="1"
            android:inputType="text|textCapSentences"
            android:imeOptions="actionDone"
+22 −4
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@

package com.android.settings.notification.modes;

import static android.util.TypedValue.COMPLEX_UNIT_DIP;
import static android.view.View.MeasureSpec.makeMeasureSpec;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.verify;
@@ -25,6 +28,8 @@ import android.app.Flags;
import android.content.Context;
import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.util.TypedValue;
import android.view.View.MeasureSpec;
import android.widget.EditText;

import androidx.preference.PreferenceManager;
@@ -45,6 +50,7 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;

import java.util.function.Consumer;

@@ -55,6 +61,7 @@ public class ZenModeEditNamePreferenceControllerTest {
    @Rule
    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();

    private Context mContext;
    private ZenModeEditNamePreferenceController mController;
    private LayoutPreference mPreference;
    private TextInputLayout mTextInputLayout;
@@ -65,15 +72,15 @@ public class ZenModeEditNamePreferenceControllerTest {
    public void setup() {
        MockitoAnnotations.initMocks(this);

        Context context = RuntimeEnvironment.application;
        PreferenceManager preferenceManager = new PreferenceManager(context);
        mContext = RuntimeEnvironment.application;
        PreferenceManager preferenceManager = new PreferenceManager(mContext);

        // Inflation is a test in itself, because it will crash if the Theme isn't set correctly.
        PreferenceScreen preferenceScreen = preferenceManager.inflateFromResource(context,
        PreferenceScreen preferenceScreen = preferenceManager.inflateFromResource(mContext,
                R.xml.modes_edit_name_icon, null);
        mPreference = preferenceScreen.findPreference("name");

        mController = new ZenModeEditNamePreferenceController(context, "name", mNameSetter);
        mController = new ZenModeEditNamePreferenceController(mContext, "name", mNameSetter);
        mController.displayPreference(preferenceScreen);
        mTextInputLayout = mPreference.findViewById(R.id.edit_input_layout);
        mEditText = mPreference.findViewById(android.R.id.edit);
@@ -114,4 +121,15 @@ public class ZenModeEditNamePreferenceControllerTest {

        assertThat(mTextInputLayout.getError()).isNull();
    }

    @Test
    @Config(qualifiers = "xxxhdpi")
    public void onEditTextMeasure_hasRequiredHeightForAccessibility() {
        mEditText.measure(makeMeasureSpec(1_000, MeasureSpec.AT_MOST),
                makeMeasureSpec(1_000, MeasureSpec.AT_MOST));

        assertThat(mEditText.getMeasuredHeight()).isAtLeast(
                (int) TypedValue.applyDimension(COMPLEX_UNIT_DIP, 48,
                        mContext.getResources().getDisplayMetrics()));
    }
}