Eliminate duplicated code in Settings for category headers
Change-Id: I5bdba2ad4f9e1987f9e818af9d5aa96a9d558f6b
diff --git a/src/com/android/settings/DataUsageSummary.java b/src/com/android/settings/DataUsageSummary.java
index 9a20882..3ee9e07 100644
--- a/src/com/android/settings/DataUsageSummary.java
+++ b/src/com/android/settings/DataUsageSummary.java
@@ -1811,8 +1811,8 @@
final AppItem item = mItems.get(position);
if (getItemViewType(position) == 1) {
if (convertView == null) {
- convertView = inflateCategoryHeader(LayoutInflater.from(parent.getContext()),
- parent);
+ convertView = Utils.inflateCategoryHeader(LayoutInflater.from(
+ parent.getContext()), parent);
}
final TextView title = (TextView) convertView.findViewById(android.R.id.title);
@@ -2503,14 +2503,6 @@
return view;
}
- private static View inflateCategoryHeader(LayoutInflater inflater, ViewGroup root) {
- final TypedArray a = inflater.getContext().obtainStyledAttributes(null,
- com.android.internal.R.styleable.Preference,
- com.android.internal.R.attr.preferenceCategoryStyle, 0);
- final int resId = a.getResourceId(com.android.internal.R.styleable.Preference_layout, 0);
- return inflater.inflate(resId, root, false);
- }
-
/**
* Test if any networks are currently limited.
*/
diff --git a/src/com/android/settings/DeviceAdminSettings.java b/src/com/android/settings/DeviceAdminSettings.java
index 334d18f..0e3dc42 100644
--- a/src/com/android/settings/DeviceAdminSettings.java
+++ b/src/com/android/settings/DeviceAdminSettings.java
@@ -303,7 +303,7 @@
bindView(convertView, (DeviceAdminInfo) o);
} else {
if (convertView == null) {
- convertView = newTitleView(parent);
+ convertView = Utils.inflateCategoryHeader(mInflater, parent);
}
final TextView title = (TextView) convertView.findViewById(android.R.id.title);
title.setText((String)o);
@@ -322,15 +322,6 @@
return v;
}
- private View newTitleView(ViewGroup parent) {
- final TypedArray a = mInflater.getContext().obtainStyledAttributes(null,
- com.android.internal.R.styleable.Preference,
- com.android.internal.R.attr.preferenceCategoryStyle, 0);
- final int resId = a.getResourceId(com.android.internal.R.styleable.Preference_layout,
- 0);
- return mInflater.inflate(resId, parent, false);
- }
-
private void bindView(View view, DeviceAdminInfo item) {
final Activity activity = getActivity();
ViewHolder vh = (ViewHolder) view.getTag();
diff --git a/src/com/android/settings/MasterClear.java b/src/com/android/settings/MasterClear.java
index 2b086a6..18b51d9 100644
--- a/src/com/android/settings/MasterClear.java
+++ b/src/com/android/settings/MasterClear.java
@@ -209,7 +209,7 @@
.getAuthenticatorTypesAsUser(profileId);
final int M = descs.length;
- View titleView = newTitleView(contents, inflater);
+ View titleView = Utils.inflateCategoryHeader(inflater, contents);
final TextView titleText = (TextView) titleView.findViewById(android.R.id.title);
titleText.setText(userInfo.isManagedProfile() ? R.string.category_work
: R.string.category_personal);
@@ -275,13 +275,4 @@
establishInitialState();
return mContentView;
}
-
- private View newTitleView(ViewGroup parent, LayoutInflater inflater) {
- final TypedArray a = inflater.getContext().obtainStyledAttributes(null,
- com.android.internal.R.styleable.Preference,
- com.android.internal.R.attr.preferenceCategoryStyle, 0);
- final int resId = a.getResourceId(com.android.internal.R.styleable.Preference_layout,
- 0);
- return inflater.inflate(resId, parent, false);
- }
}
diff --git a/src/com/android/settings/TrustedCredentialsSettings.java b/src/com/android/settings/TrustedCredentialsSettings.java
index e2b49d6..95a6bf4 100644
--- a/src/com/android/settings/TrustedCredentialsSettings.java
+++ b/src/com/android/settings/TrustedCredentialsSettings.java
@@ -321,7 +321,7 @@
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) getActivity()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
- convertView = inflateCategoryHeader(inflater, parent);
+ convertView = Utils.inflateCategoryHeader(inflater, parent);
}
final TextView title = (TextView) convertView.findViewById(android.R.id.title);
@@ -354,15 +354,6 @@
public int getListViewId(Tab tab) {
return tab.mExpandableList;
}
- private View inflateCategoryHeader(LayoutInflater inflater, ViewGroup parent) {
- final TypedArray a = inflater.getContext().obtainStyledAttributes(null,
- com.android.internal.R.styleable.Preference,
- com.android.internal.R.attr.preferenceCategoryStyle, 0);
- final int resId = a.getResourceId(com.android.internal.R.styleable.Preference_layout,
- 0);
- return inflater.inflate(resId, parent, false);
- }
-
}
private class TrustedCertificateAdapter extends BaseAdapter implements
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 6517ffe..5bc1a60 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -37,6 +37,7 @@
import android.content.pm.Signature;
import android.content.pm.UserInfo;
import android.content.res.Resources;
+import android.content.res.TypedArray;
import android.content.res.Resources.NotFoundException;
import android.database.Cursor;
import android.graphics.Bitmap;
@@ -65,6 +66,7 @@
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
+import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
@@ -1095,4 +1097,14 @@
return null;
}
+ public static View inflateCategoryHeader(LayoutInflater inflater, ViewGroup parent) {
+ final TypedArray a = inflater.getContext().obtainStyledAttributes(null,
+ com.android.internal.R.styleable.Preference,
+ com.android.internal.R.attr.preferenceCategoryStyle, 0);
+ final int resId = a.getResourceId(com.android.internal.R.styleable.Preference_layout,
+ 0);
+ a.recycle();
+ return inflater.inflate(resId, parent, false);
+ }
+
}