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

Commit 99df3826 authored by Edgar Wang's avatar Edgar Wang
Browse files

Create SettingsLibSeekBarPreference

- Move SeekBarPreference & LabledSeekBarPreference from Settings.
- Create RestrictedSeekBarPreference.
- Create interface Restrictable.
- Support config reserved icon space.

Bug: 176818438
Test: robotest

Change-Id: I959f5672cde027432e39f672dfff94e385d104e5
parent ad87e568
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ java_defaults {
        "SettingsLibCollapsingToolbarBaseActivity",
        "SettingsLibTwoTargetPreference",
        "SettingsLibSettingsTransition",
        "SettingsLibSeekBarPreference",
    ],
}

+14 −0
Original line number Diff line number Diff line
android_library {
    name: "SettingsLibSeekBarPreference",

    srcs: ["src/**/*.java"],
    resource_dirs: ["res"],

    static_libs: [
        "androidx.annotation_annotation",
        "androidx.preference_preference",
        "SettingsLibSettingsTheme",
    ],

    min_sdk_version: "28",
}
+23 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright (C) 2021 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.
  -->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.android.settingslib.widget">

    <uses-sdk android:minSdkVersion="28" />

</manifest>
+15 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?>
<issues format="5" by="lint 4.1.0" client="cli" variant="all" version="4.1.0">

    <issue
        id="NewApi"
        message="Call requires API level R (current min is 28): android.widget.ProgressBar#setStateDescription"
        errorLine1="            mSeekBar.setStateDescription(mSeekBarStateDescription);"
        errorLine2="                     ~~~~~~~~~~~~~~~~~~~">
        <location
            file="frameworks/base/packages/SettingsLib/SeekBarPreference/src/com/android/settingslib/widget/SeekBarPreference.java"
            line="115"
            column="22"/>
    </issue>

</issues>
+79 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>

<!--
  Copyright (C) 2021 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.
  -->

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:gravity="center_vertical"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingStart="8dp"
    android:paddingEnd="8dp"
    android:paddingTop="16dp"
    android:paddingBottom="8dp">

    <TextView
        android:id="@android:id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_alignParentTop="true"
        android:ellipsize="marquee"
        android:fadingEdge="horizontal"
        android:singleLine="true"
        android:textAppearance="@android:style/TextAppearance.Material.Subhead"
        android:textColor="?android:attr/textColorPrimary" />

    <SeekBar
        android:id="@*android:id/seekbar"
        android:layout_below="@android:id/title"
        android:layout_gravity="center_vertical"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:layout_marginTop="-20dp"
        android:layout_marginBottom="-28dp"
        style="@android:style/Widget.Material.SeekBar.Discrete" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@*android:id/seekbar"
        android:paddingBottom="8dp"
        android:orientation="horizontal">

        <TextView
            android:id="@android:id/text1"
            android:layout_marginStart="16dp"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="start|top"
            android:gravity="start"
            android:layout_weight="1"/>

        <TextView
            android:id="@android:id/text2"
            android:layout_marginEnd="16dp"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="end|top"
            android:gravity="end"
            android:layout_weight="1"/>

    </LinearLayout>

</RelativeLayout>
Loading