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

Commit bb3f508f authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "feat(expressive): Update ShortcutOptionPreference layout" into main

parents 34977227 e3ffa7bb
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@
        android:id="@android:id/title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
        android:layout_marginStart="16dp"
        android:hyphenationFrequency="normalFast"
        android:lineBreakWordStyle="phrase"
        android:textAppearance="?android:attr/textAppearanceLarge"
@@ -84,6 +84,7 @@
        app:layout_constraintHorizontal_bias="0"
        app:layout_constraintStart_toStartOf="@android:id/title"
        app:layout_constraintTop_toBottomOf="@android:id/summary"
        app:layout_constraintWidth_max="@dimen/settingslib_illustration_width" />
        app:layout_constraintWidth_max="@dimen/settingslib_illustration_width"
        tools:src="@drawable/accessibility_shortcut_type_volume_keys" />

</androidx.constraintlayout.widget.ConstraintLayout>
 No newline at end of file
+92 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?><!--
  ~ Copyright (C) 2025 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.
  -->

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/a11y_shortcut_option_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:paddingBottom="@dimen/settingslib_expressive_space_small4"
    android:paddingEnd="@dimen/settingslib_expressive_space_small1"
    android:paddingStart="@dimen/settingslib_expressive_space_small1"
    android:paddingTop="@dimen/settingslib_expressive_space_extrasmall6">

    <CheckBox
        android:id="@android:id/checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="@dimen/settingslib_expressive_space_extrasmall6"
        android:background="@null"
        android:clickable="false"
        android:focusable="false"
        android:gravity="center_vertical"
        android:orientation="vertical"
        app:layout_constrainedHeight="true"
        app:layout_constrainedWidth="true"
        app:layout_constraintBottom_toBottomOf="@android:id/title"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toEndOf="@android:id/title"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@android:id/title"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hyphenationFrequency="normalFast"
        android:lineBreakWordStyle="phrase"
        android:textAppearance="?android:attr/textAppearanceLarge"
        app:layout_constraintEnd_toStartOf="@android:id/checkbox"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:text="Shortcut option title" />

    <TextView
        android:id="@android:id/summary"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="@dimen/settingslib_expressive_space_extrasmall6"
        android:hyphenationFrequency="normalFast"
        android:lineBreakWordStyle="phrase"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:textColor="?android:attr/textColorSecondary"
        app:layout_constrainedHeight="true"
        app:layout_constraintBottom_toTopOf="@id/image"
        app:layout_constraintEnd_toEndOf="@android:id/title"
        app:layout_constraintStart_toStartOf="@android:id/title"
        app:layout_constraintTop_toBottomOf="@android:id/title"
        app:layout_goneMarginBottom="@dimen/settingslib_expressive_space_extrasmall6"
        tools:text="Shortcut option summary" />

    <com.airbnb.lottie.LottieAnimationView
        android:id="@+id/image"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/settingslib_expressive_space_small1"
        android:adjustViewBounds="true"
        android:maxHeight="@dimen/accessibility_imageview_size"
        android:scaleType="fitStart"
        app:layout_constrainedHeight="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@android:id/summary"
        tools:src="@drawable/accessibility_shortcut_type_volume_keys" />

</androidx.constraintlayout.widget.ConstraintLayout>
 No newline at end of file
+6 −1
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import androidx.preference.PreferenceViewHolder;

import com.android.settings.R;
import com.android.settingslib.widget.LottieColorUtils;
import com.android.settingslib.widget.SettingsThemeHelper;

import com.airbnb.lottie.LottieAnimationView;

@@ -74,8 +75,12 @@ public class ShortcutOptionPreference extends CheckBoxPreference {
    }

    private void init() {
        if (SettingsThemeHelper.isExpressiveTheme(getContext())) {
            setLayoutResource(R.layout.accessibility_shortcut_option_checkable_expressive);
        } else {
            setLayoutResource(R.layout.accessibility_shortcut_option_checkable);
        }
    }

    @Override
    public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {