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

Commit 3676b931 authored by Jason Monk's avatar Jason Monk
Browse files

Add moar dividers

Bug: 27834471
Change-Id: I575040edcdf76124f21a667e64762acb86a65cb2
parent bd5eb133
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -130,4 +130,9 @@
    <declare-styleable name="WorkPreference">
        <attr name="forWork" format="boolean" />
    </declare-styleable>

    <declare-styleable name="DividerPreference">
        <attr name="allowDividerAbove" format="boolean" />
        <attr name="allowDividerBelow" format="boolean" />
    </declare-styleable>
</resources>
+3 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
-->

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:settings="http://schemas.android.com/apk/res-auto"
        android:title="@string/battery_saver"
        android:key="battery_saver">

@@ -29,6 +30,7 @@
            android:key="description"
            android:summary="@*android:string/battery_saver_description"
            android:persistent="false"
            android:selectable="false" />
            android:selectable="false"
            settings:allowDividerAbove="true" />

</PreferenceScreen>
+4 −2
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
-->

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:settings="http://schemas.android.com/apk/res-auto"
    android:title="@string/data_usage_summary_title">

    <PreferenceCategory
@@ -25,9 +26,10 @@
            android:key="status_header"
            android:selectable="false" />

        <Preference
        <com.android.settings.DividerPreference
            android:key="limit_summary"
            android:selectable="false" />
            android:selectable="false"
            settings:allowDividerBelow="true" />

        <com.android.settings.datausage.DataSaverPreference
            android:key="restrict_background"
+36 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 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;

import android.content.Context;
import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.AttributeSet;

/**
 * PreferenceCategory that allows a divider above it.
 */
public class DividedCategory extends PreferenceCategory {

    public DividedCategory(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    @Override
    public void onBindViewHolder(PreferenceViewHolder holder) {
        super.onBindViewHolder(holder);
        holder.setDividerAllowedAbove(true);
    }
}
+49 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 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;

import android.content.Context;
import android.content.res.TypedArray;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.AttributeSet;

public class DividerPreference extends Preference {

    private Boolean mAllowAbove;
    private Boolean mAllowBelow;

    public DividerPreference(Context context, AttributeSet attrs) {
        super(context, attrs);
        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.DividerPreference, 0, 0);
        if (a.hasValue(R.styleable.DividerPreference_allowDividerAbove)) {
            mAllowAbove = a.getBoolean(R.styleable.DividerPreference_allowDividerAbove, false);
        }
        if (a.hasValue(R.styleable.DividerPreference_allowDividerBelow)) {
            mAllowBelow = a.getBoolean(R.styleable.DividerPreference_allowDividerBelow, false);
        }
    }

    @Override
    public void onBindViewHolder(PreferenceViewHolder holder) {
        super.onBindViewHolder(holder);
        if (mAllowAbove != null) {
            holder.setDividerAllowedAbove(mAllowAbove);
        }
        if (mAllowBelow != null) {
            holder.setDividerAllowedBelow(mAllowBelow);
        }
    }
}
Loading