<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>
-->
<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">
android:key="description"
android:summary="@*android:string/battery_saver_description"
android:persistent="false"
- android:selectable="false" />
+ android:selectable="false"
+ settings:allowDividerAbove="true" />
</PreferenceScreen>
-->
<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
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"
--- /dev/null
+/*
+ * 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);
+ }
+}
--- /dev/null
+/*
+ * 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);
+ }
+ }
+}
import android.content.Context;
import android.net.NetworkTemplate;
import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceCategory;
import android.util.AttributeSet;
+import com.android.settings.DividedCategory;
-public class TemplatePreferenceCategory extends PreferenceCategory implements TemplatePreference {
+public class TemplatePreferenceCategory extends DividedCategory implements TemplatePreference {
private NetworkTemplate mTemplate;
private int mSubId;
import android.support.v7.preference.PreferenceViewHolder;
import android.util.AttributeSet;
import android.widget.TextView;
+import com.android.settings.DividerPreference;
-public class WallOfTextPreference extends Preference {
-
- public WallOfTextPreference(Context context) {
- super(context);
- }
+public class WallOfTextPreference extends DividerPreference {
public WallOfTextPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
- public WallOfTextPreference(Context context, AttributeSet attrs, int defStyleAttr) {
- super(context, attrs, defStyleAttr);
- }
-
- public WallOfTextPreference(Context context, AttributeSet attrs, int defStyleAttr,
- int defStyleRes) {
- super(context, attrs, defStyleAttr, defStyleRes);
- }
-
@Override
public void onBindViewHolder(PreferenceViewHolder view) {
super.onBindViewHolder(view);