diff --git a/res/drawable/ic_settings_about.png b/res/drawable/ic_settings_about.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_about.png differ
diff --git a/res/drawable/ic_settings_accessibility.png b/res/drawable/ic_settings_accessibility.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_accessibility.png differ
diff --git a/res/drawable/ic_settings_applications.png b/res/drawable/ic_settings_applications.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_applications.png differ
diff --git a/res/drawable/ic_settings_call.png b/res/drawable/ic_settings_call.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_call.png differ
diff --git a/res/drawable/ic_settings_date_time.png b/res/drawable/ic_settings_date_time.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_date_time.png differ
diff --git a/res/drawable/ic_settings_language.png b/res/drawable/ic_settings_language.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_language.png differ
diff --git a/res/drawable/ic_settings_search.png b/res/drawable/ic_settings_search.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_search.png differ
diff --git a/res/drawable/ic_settings_security.png b/res/drawable/ic_settings_security.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_security.png differ
diff --git a/res/drawable/ic_settings_sound_display.png b/res/drawable/ic_settings_sound_display.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_sound_display.png differ
diff --git a/res/drawable/ic_settings_speech.png b/res/drawable/ic_settings_speech.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_speech.png differ
diff --git a/res/drawable/ic_settings_storage.png b/res/drawable/ic_settings_storage.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_storage.png differ
diff --git a/res/drawable/ic_settings_sync.png b/res/drawable/ic_settings_sync.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_sync.png differ
diff --git a/res/drawable/ic_settings_wireless.png b/res/drawable/ic_settings_wireless.png
new file mode 100755
index 00000000000..16db056f788
Binary files /dev/null and b/res/drawable/ic_settings_wireless.png differ
diff --git a/res/layout/preference_icon.xml b/res/layout/preference_icon.xml
new file mode 100644
index 00000000000..d6bce0e228f
--- /dev/null
+++ b/res/layout/preference_icon.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 9bf79f9c0c5..0a2c5c52e9e 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -18,4 +18,7 @@
+
+
+
diff --git a/res/xml/settings.xml b/res/xml/settings.xml
index 9ca581ae019..4e2177e05ce 100644
--- a/res/xml/settings.xml
+++ b/res/xml/settings.xml
@@ -16,64 +16,71 @@
-
-
-
+
-
-
+
-
-
-
+
-
-
-
+
-
-
-
+
-
-
@@ -81,39 +88,42 @@
android:action="android.intent.action.MAIN"
android:targetPackage="com.android.settings"
android:targetClass="com.android.settings.ApplicationSettings" />
-
+
-
-
-
+
-
-
-
+
-
-
+
-
-
+
-
-
+
-
-
-
+
-
-
-
+
diff --git a/src/com/android/settings/IconPreferenceScreen.java b/src/com/android/settings/IconPreferenceScreen.java
new file mode 100644
index 00000000000..c7c53038ed9
--- /dev/null
+++ b/src/com/android/settings/IconPreferenceScreen.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2009 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.graphics.drawable.Drawable;
+import android.preference.Preference;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.ImageView;
+
+public class IconPreferenceScreen extends Preference {
+
+ private Drawable mIcon;
+
+ public IconPreferenceScreen(Context context, AttributeSet attrs) {
+ this(context, attrs, 0);
+ }
+
+ public IconPreferenceScreen(Context context, AttributeSet attrs, int defStyle) {
+ super(context, attrs, defStyle);
+ setLayoutResource(R.layout.preference_icon);
+ TypedArray a = context.obtainStyledAttributes(attrs,
+ R.styleable.IconPreferenceScreen, defStyle, 0);
+ mIcon = a.getDrawable(R.styleable.IconPreferenceScreen_icon);
+ }
+
+ @Override
+ public void onBindView(View view) {
+ super.onBindView(view);
+ ImageView imageView = (ImageView) view.findViewById(R.id.icon);
+ if (imageView != null && mIcon != null) {
+ imageView.setImageDrawable(mIcon);
+ }
+ }
+}