Added generic icon and magnification icon to a11y Settings.

Test: Manual

Bug: 36895362

Change-Id: I85281c0904bd6f562f9ebd39dd35b1eeb79108e6
diff --git a/res/mipmap-hdpi/ic_accessibility_generic.png b/res/mipmap-hdpi/ic_accessibility_generic.png
new file mode 100755
index 0000000..e54166b
--- /dev/null
+++ b/res/mipmap-hdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/res/mipmap-hdpi/ic_accessibility_magnification.png b/res/mipmap-hdpi/ic_accessibility_magnification.png
new file mode 100755
index 0000000..a91bc6e
--- /dev/null
+++ b/res/mipmap-hdpi/ic_accessibility_magnification.png
Binary files differ
diff --git a/res/mipmap-mdpi/ic_accessibility_generic.png b/res/mipmap-mdpi/ic_accessibility_generic.png
new file mode 100755
index 0000000..77dc47b
--- /dev/null
+++ b/res/mipmap-mdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/res/mipmap-mdpi/ic_accessibility_magnification.png b/res/mipmap-mdpi/ic_accessibility_magnification.png
new file mode 100755
index 0000000..9ec5107
--- /dev/null
+++ b/res/mipmap-mdpi/ic_accessibility_magnification.png
Binary files differ
diff --git a/res/mipmap-xhdpi/ic_accessibility_generic.png b/res/mipmap-xhdpi/ic_accessibility_generic.png
new file mode 100755
index 0000000..1152c42
--- /dev/null
+++ b/res/mipmap-xhdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/res/mipmap-xhdpi/ic_accessibility_magnification.png b/res/mipmap-xhdpi/ic_accessibility_magnification.png
new file mode 100755
index 0000000..0b3a32e
--- /dev/null
+++ b/res/mipmap-xhdpi/ic_accessibility_magnification.png
Binary files differ
diff --git a/res/mipmap-xxhdpi/ic_accessibility_generic.png b/res/mipmap-xxhdpi/ic_accessibility_generic.png
new file mode 100755
index 0000000..48f39c2
--- /dev/null
+++ b/res/mipmap-xxhdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/res/mipmap-xxhdpi/ic_accessibility_magnification.png b/res/mipmap-xxhdpi/ic_accessibility_magnification.png
new file mode 100755
index 0000000..3eeb1c9
--- /dev/null
+++ b/res/mipmap-xxhdpi/ic_accessibility_magnification.png
Binary files differ
diff --git a/res/mipmap-xxxhdpi/ic_accessibility_generic.png b/res/mipmap-xxxhdpi/ic_accessibility_generic.png
new file mode 100755
index 0000000..e9ca879
--- /dev/null
+++ b/res/mipmap-xxxhdpi/ic_accessibility_generic.png
Binary files differ
diff --git a/res/mipmap-xxxhdpi/ic_accessibility_magnification.png b/res/mipmap-xxxhdpi/ic_accessibility_magnification.png
new file mode 100755
index 0000000..7d37612
--- /dev/null
+++ b/res/mipmap-xxxhdpi/ic_accessibility_magnification.png
Binary files differ
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 48e11af..795d35e 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -54,7 +54,8 @@
         <Preference
             android:fragment="com.android.settings.accessibility.MagnificationPreferenceFragment"
             android:key="magnification_preference_screen"
-            android:title="@string/accessibility_screen_magnification_title"/>
+            android:title="@string/accessibility_screen_magnification_title"
+            android:icon="@mipmap/ic_accessibility_magnification" />
 
         <Preference
                 android:fragment="com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment"
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 760755c..ac618d0 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -31,6 +31,7 @@
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 import android.support.v14.preference.SwitchPreference;
+import android.support.v4.content.ContextCompat;
 import android.support.v7.preference.ListPreference;
 import android.support.v7.preference.Preference;
 import android.support.v7.preference.PreferenceCategory;
@@ -76,11 +77,12 @@
     private static final String CATEGORY_AUDIO_AND_CAPTIONS = "audio_and_captions_category";
     private static final String CATEGORY_DISPLAY = "display_category";
     private static final String CATEGORY_INTERACTION_CONTROL = "interaction_control_category";
+    private static final String CATEGORY_EXPERIMENTAL = "experimental_category";
     private static final String CATEGORY_DOWNLOADED_SERVICES = "user_installed_services_category";
 
     private static final String[] CATEGORIES = new String[] {
         CATEGORY_SCREEN_READER, CATEGORY_AUDIO_AND_CAPTIONS, CATEGORY_DISPLAY,
-        CATEGORY_INTERACTION_CONTROL, CATEGORY_DOWNLOADED_SERVICES
+        CATEGORY_INTERACTION_CONTROL, CATEGORY_EXPERIMENTAL, CATEGORY_DOWNLOADED_SERVICES
     };
 
     // Preferences
@@ -454,9 +456,11 @@
                     new RestrictedPreference(downloadedServicesCategory.getContext());
             String title = info.getResolveInfo().loadLabel(getPackageManager()).toString();
 
-            Drawable icon = info.getResolveInfo().loadIcon(getPackageManager());
-            if (icon == null) {
-                // todo (saigem): add a default
+            Drawable icon;
+            if (info.getResolveInfo().getIconResource() == 0) {
+                icon = ContextCompat.getDrawable(getContext(), R.mipmap.ic_accessibility_generic);
+            } else {
+                icon = info.getResolveInfo().loadIcon(getPackageManager());
             }
 
             ServiceInfo serviceInfo = info.getResolveInfo().serviceInfo;