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

Commit 6da5e32b authored by jackqdyulei's avatar jackqdyulei
Browse files

Add CardPreference in battery settings page

This is MatrialCardView styled preference that only support
icon, title and summary.

Bug: 119618813
Test: RunSettingsRoboTests
Change-Id: Ibbf9eb2a01c8ee0579e1553ead6e43e96531c92a
parent 8b9529e5
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2019 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.
  -->

<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <com.google.android.material.card.MaterialCardView
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="8dp"
        style="@style/ContextualCardStyle">
        <include layout="@layout/preference_material" />
    </com.google.android.material.card.MaterialCardView>
</FrameLayout>
+2 −0
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@

    <attr name="slicePreferenceStyle" format="reference" />

    <attr name="cardPreferenceStyle" format="reference" />

    <attr name="footerPreferenceStyle" format="reference" />

    <declare-styleable name="FixedLineSummaryPreference">
+5 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@

    <style name="PreferenceTheme" parent="@style/PreferenceThemeOverlay.SettingsBase">
        <item name="apnPreferenceStyle">@style/ApnPreference</item>
        <item name="cardPreferenceStyle">@style/CardPreference</item>
        <item name="slicePreferenceStyle">@style/SlicePreference</item>
        <item name="seekBarPreferenceStyle">@style/SettingsSeekBarPreference</item>
        <item name="twoStateButtonPreferenceStyle">@style/TwoStateButtonPreference</item>
@@ -35,6 +36,10 @@
        <item name="android:layout">@layout/apn_preference_layout</item>
    </style>

    <style name="CardPreference" parent="@style/Preference.Material">
        <item name="android:layout">@layout/card_preference_layout</item>
    </style>

    <style name="SlicePreference" parent="@style/Preference.Material">
        <item name="android:layout">@layout/slice_preference_layout</item>
    </style>
+2 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import androidx.annotation.IntDef;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;

import com.android.settings.widget.CardPreference;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;

import java.lang.annotation.Retention;
@@ -147,7 +148,7 @@ public abstract class BatteryTip implements Comparable<BatteryTip>, Parcelable {
    public abstract void log(Context context, MetricsFeatureProvider metricsFeatureProvider);

    public Preference buildPreference(Context context) {
        Preference preference = new Preference(context);
        Preference preference = new CardPreference(context);

        preference.setKey(getKey());
        preference.setTitle(getTitle(context));
+39 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 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.widget;

import android.content.Context;
import android.util.AttributeSet;

import androidx.preference.Preference;

import com.android.settings.R;

import com.google.android.material.card.MaterialCardView;

/**
 * Preference that wrapped by {@link MaterialCardView}, only support to set icon, title and summary
 */
public class CardPreference extends Preference {
    public CardPreference(Context context) {
        this(context, null /* attrs */);
    }

    public CardPreference(Context context, AttributeSet attrs) {
        super(context, attrs, R.attr.cardPreferenceStyle);
    }
}
Loading