diff --git a/res/layout/accessibility_color_contrast_preview.xml b/res/layout/accessibility_color_contrast_preview.xml index 44f75840ac5..16035496e3f 100644 --- a/res/layout/accessibility_color_contrast_preview.xml +++ b/res/layout/accessibility_color_contrast_preview.xml @@ -21,17 +21,17 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" + android:background="@drawable/color_contrast_preview_background" + android:importantForAccessibility="no" android:paddingLeft="24dp" android:paddingRight="24dp" - android:paddingBottom="24dp" - android:background="@drawable/color_contrast_preview_background"> + android:paddingBottom="24dp"> + app:layout_constraintTop_toTopOf="parent" /> - + app:layout_constrainedWidth="true" + app:layout_constraintEnd_toStartOf="@+id/ic_star" + app:layout_constraintStart_toEndOf="@id/ic_group" + app:layout_constraintTop_toTopOf="@+id/email_background"> + + + + + + - - + app:layout_constrainedWidth="true" + app:layout_constraintEnd_toEndOf="@+id/email_background" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="@+id/email_header" + app:layout_constraintTop_toBottomOf="@+id/email_header" /> + + + app:layout_constrainedWidth="true" + app:layout_constraintEnd_toEndOf="@+id/email_main_background" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toStartOf="@+id/email_main_background" + app:layout_constraintTop_toTopOf="@+id/email_main_background" /> + app:layout_constraintTop_toBottomOf="@+id/email_title" /> @@ -175,25 +223,31 @@ android:id="@+id/email_attachment" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginEnd="10dp" + android:ellipsize="end" + android:maxLines="1" android:paddingEnd="10dp" + android:text="@string/color_contrast_preview_email_attachment_name" android:textColor="?androidprv:attr/materialColorOnTertiaryContainer" android:textSize="12sp" - app:layout_constraintStart_toEndOf="@+id/ic_article_filled" - app:layout_constraintTop_toTopOf="@+id/attachment_background" + app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="@+id/attachment_background" - android:text="@string/color_contrast_preview_email_attachment_name" /> + app:layout_constraintEnd_toStartOf="@+id/ic_edit" + app:layout_constraintHorizontal_bias="0.0" + app:layout_constraintStart_toEndOf="@+id/ic_article_filled" + app:layout_constraintTop_toTopOf="@+id/attachment_background" /> + app:layout_constraintBottom_toBottomOf="@+id/email_background" + app:layout_constraintEnd_toEndOf="@+id/email_background" /> + app:layout_constraintStart_toEndOf="@+id/ic_inbox" + app:layout_constraintTop_toTopOf="@id/ic_inbox" /> + app:layout_constraintTop_toTopOf="@id/ic_inbox" /> diff --git a/res/layout/accessibility_color_contrast_selector.xml b/res/layout/accessibility_color_contrast_selector.xml index 38bcf7a9630..18b085ac7c0 100644 --- a/res/layout/accessibility_color_contrast_selector.xml +++ b/res/layout/accessibility_color_contrast_selector.xml @@ -23,6 +23,7 @@ android:layout_height="wrap_content"> @@ -58,7 +59,7 @@ android:layout_gravity="center" android:layout_height="wrap_content" android:layout_width="wrap_content" - android:contentDescription="@string/contrast_default" + android:contentDescription="@null" android:src="@drawable/ic_contrast_standard"/> @@ -67,6 +68,8 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/contrast_button_text_spacing" android:gravity="center_horizontal|top" + android:ellipsize="end" + android:singleLine="true" android:textSize="@dimen/contrast_button_text_size" android:text="@string/contrast_default" android:textColor="?androidprv:attr/materialColorOnSurface"/> @@ -77,12 +80,12 @@ android:layout_height="match_parent" /> @@ -91,7 +94,7 @@ android:layout_gravity="center" android:layout_height="wrap_content" android:layout_width="wrap_content" - android:contentDescription="@string/contrast_medium" + android:contentDescription="@null" android:src="@drawable/ic_contrast_medium"/> @@ -100,6 +103,8 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/contrast_button_text_spacing" android:gravity="center_horizontal|top" + android:ellipsize="end" + android:singleLine="true" android:textSize="@dimen/contrast_button_text_size" android:text="@string/contrast_medium" android:textColor="?androidprv:attr/materialColorOnSurface"/> @@ -110,12 +115,12 @@ android:layout_height="match_parent" /> @@ -124,7 +129,7 @@ android:layout_gravity="center" android:layout_height="wrap_content" android:layout_width="wrap_content" - android:contentDescription="@string/contrast_high" + android:contentDescription="@null" android:src="@drawable/ic_contrast_high"/> @@ -133,6 +138,8 @@ android:layout_height="wrap_content" android:layout_marginTop="@dimen/contrast_button_text_spacing" android:gravity="center_horizontal|top" + android:ellipsize="end" + android:singleLine="true" android:textSize="@dimen/contrast_button_text_size" android:text="@string/contrast_high" android:textColor="?androidprv:attr/materialColorOnSurface"/> diff --git a/res/values/strings.xml b/res/values/strings.xml index 909580d8192..1d538e7360b 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4692,9 +4692,11 @@ Business trip report - For further assistance, please reach out to \nmyself or Helen. This report will be + For further assistance, please reach out to myself or Helen. This report will be Client Expenses + + About color contrast Turn screen darker diff --git a/res/xml/accessibility_color_contrast.xml b/res/xml/accessibility_color_contrast.xml index 67c939b6a43..5962b8dee2d 100644 --- a/res/xml/accessibility_color_contrast.xml +++ b/res/xml/accessibility_color_contrast.xml @@ -28,7 +28,7 @@ android:key="color_contrast_selector" android:selectable="false" android:layout="@layout/accessibility_color_contrast_selector" - settings:controller="com.android.settings.accessibility.ContrastSelectorPreferenceController"/> + settings:controller="com.android.settings.accessibility.ContrastSelectorPreferenceController" /> + settings:searchable="false" + settings:controller="com.android.settings.accessibility.ColorContrastFooterPreferenceController" /> diff --git a/src/com/android/settings/accessibility/ColorContrastFooterPreferenceController.java b/src/com/android/settings/accessibility/ColorContrastFooterPreferenceController.java new file mode 100644 index 00000000000..99f74183e69 --- /dev/null +++ b/src/com/android/settings/accessibility/ColorContrastFooterPreferenceController.java @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2024 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. + */ + +package com.android.settings.accessibility; + +import android.content.Context; + +import androidx.annotation.NonNull; + +import com.android.settings.R; + +/** Preference controller for footer in color contrast page. */ +public class ColorContrastFooterPreferenceController extends + AccessibilityFooterPreferenceController { + public ColorContrastFooterPreferenceController(@NonNull Context context, + @NonNull String key) { + super(context, key); + } + + @Override + protected String getIntroductionTitle() { + return mContext.getString(R.string.color_contrast_about_title); + } +} diff --git a/src/com/android/settings/accessibility/ContrastSelectorPreferenceController.java b/src/com/android/settings/accessibility/ContrastSelectorPreferenceController.java index b99680fa0b6..5b746cdd705 100644 --- a/src/com/android/settings/accessibility/ContrastSelectorPreferenceController.java +++ b/src/com/android/settings/accessibility/ContrastSelectorPreferenceController.java @@ -26,7 +26,7 @@ import android.app.UiModeManager; import android.content.Context; import android.provider.Settings; import android.view.View; -import android.widget.FrameLayout; +import android.widget.LinearLayout; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -53,7 +53,7 @@ public class ContrastSelectorPreferenceController extends BasePreferenceControll private final Executor mMainExecutor; private final UiModeManager mUiModeManager; - private Map mContrastButtons = new HashMap<>(); + private Map mContrastButtons = new HashMap<>(); public ContrastSelectorPreferenceController(@NonNull Context context, @NonNull String preferenceKey) { diff --git a/tests/robotests/src/com/android/settings/accessibility/ContrastSelectorPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ContrastSelectorPreferenceControllerTest.java index 38d6e801538..83d9cb957b4 100644 --- a/tests/robotests/src/com/android/settings/accessibility/ContrastSelectorPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/ContrastSelectorPreferenceControllerTest.java @@ -27,7 +27,7 @@ import static org.mockito.Mockito.when; import android.app.UiModeManager; import android.content.Context; -import android.widget.FrameLayout; +import android.widget.LinearLayout; import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; @@ -57,7 +57,7 @@ public class ContrastSelectorPreferenceControllerTest { @Mock private PreferenceScreen mScreen; @Mock - private FrameLayout mFrameLayout; + private LinearLayout mLinearLayout; @Mock private LayoutPreference mLayoutPreference; private Context mContext; @@ -72,7 +72,7 @@ public class ContrastSelectorPreferenceControllerTest { when(mContext.getSystemService(UiModeManager.class)).thenReturn(mUiService); mController = new ContrastSelectorPreferenceController(mContext, PREFERENCE_KEY); when(mScreen.findPreference(PREFERENCE_KEY)).thenReturn(mLayoutPreference); - when(mLayoutPreference.findViewById(anyInt())).thenReturn(mFrameLayout); + when(mLayoutPreference.findViewById(anyInt())).thenReturn(mLinearLayout); } @Test @@ -102,7 +102,7 @@ public class ContrastSelectorPreferenceControllerTest { public void displayPreference_shouldAddClickListener() { mController.displayPreference(mScreen); - verify(mFrameLayout, times(3)).setOnClickListener(any()); + verify(mLinearLayout, times(3)).setOnClickListener(any()); } @Test @@ -110,6 +110,6 @@ public class ContrastSelectorPreferenceControllerTest { mController.displayPreference(mScreen); mController.onContrastChanged(1); - verify(mFrameLayout, times(2)).setSelected(true); + verify(mLinearLayout, times(2)).setSelected(true); } }