auto import from //branches/cupcake/...@127101
diff --git a/src/com/android/launcher/Launcher.java b/src/com/android/launcher/Launcher.java
index af1b0f3..465400b 100644
--- a/src/com/android/launcher/Launcher.java
+++ b/src/com/android/launcher/Launcher.java
@@ -819,7 +819,7 @@
                 .setIcon(android.R.drawable.ic_search_category_default)
                 .setAlphabeticShortcut(SearchManager.MENU_KEY);
         menu.add(0, MENU_NOTIFICATIONS, 0, R.string.menu_notifications)
-                .setIcon(android.R.drawable.ic_menu_notifications)
+                .setIcon(com.android.internal.R.drawable.ic_menu_notifications)
                 .setAlphabeticShortcut('N');
 
         final Intent settings = new Intent(android.provider.Settings.ACTION_SETTINGS);
diff --git a/src/com/android/launcher/WallpaperChooser.java b/src/com/android/launcher/WallpaperChooser.java
index a4e583e..afbe6f3 100644
--- a/src/com/android/launcher/WallpaperChooser.java
+++ b/src/com/android/launcher/WallpaperChooser.java
@@ -32,9 +32,12 @@
 import android.graphics.BitmapFactory;
 import android.graphics.Bitmap;
 import android.graphics.drawable.Drawable;
+import android.content.res.Resources;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
 
 public class WallpaperChooser extends Activity implements AdapterView.OnItemSelectedListener,
         OnClickListener {
@@ -55,9 +58,6 @@
             R.drawable.wallpaper_grey_small,
             R.drawable.wallpaper_green_small,
             R.drawable.wallpaper_pink_small,
-            R.drawable.wallpaper_dale_chihuly_small,
-            R.drawable.wallpaper_john_maeda_small,
-            R.drawable.wallpaper_marc_ecko_small,
     };
 
     private static final Integer[] IMAGE_IDS = {
@@ -76,9 +76,6 @@
             R.drawable.wallpaper_grey,
             R.drawable.wallpaper_green,
             R.drawable.wallpaper_pink,
-            R.drawable.wallpaper_dale_chihuly,
-            R.drawable.wallpaper_john_maeda,
-            R.drawable.wallpaper_marc_ecko,
     };
 
     private Gallery mGallery;
@@ -88,11 +85,16 @@
     private BitmapFactory.Options mOptions;
     private Bitmap mBitmap;
 
+    private ArrayList<Integer> mThumbs;
+    private ArrayList<Integer> mImages;
+
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         requestWindowFeature(Window.FEATURE_NO_TITLE);
 
+        findWallpapers();
+
         setContentView(R.layout.wallpaper_chooser);
 
         mOptions = new BitmapFactory.Options();
@@ -103,13 +105,41 @@
         mGallery.setAdapter(new ImageAdapter(this));
         mGallery.setOnItemSelectedListener(this);
         mGallery.setCallbackDuringFling(false);
-        
+
         Button b = (Button) findViewById(R.id.set);
         b.setOnClickListener(this);
 
         mImageView = (ImageView) findViewById(R.id.wallpaper);
     }
 
+    private void findWallpapers() {
+        mThumbs = new ArrayList<Integer>(THUMB_IDS.length + 4);
+        Collections.addAll(mThumbs, THUMB_IDS);
+
+        mImages = new ArrayList<Integer>(IMAGE_IDS.length + 4);
+        Collections.addAll(mImages, IMAGE_IDS);
+
+        final Resources resources = getResources();
+        final String[] extras = resources.getStringArray(R.array.extra_wallpapers);
+        final String packageName = getApplication().getPackageName();
+
+        final ArrayList<Integer> images = mImages;
+        final ArrayList<Integer> thumbs = mThumbs;
+
+        for (String extra : extras) {
+            int res = resources.getIdentifier(extra, "drawable", packageName);
+            if (res != 0) {
+                final int thumbRes = resources.getIdentifier(extra + "_small",
+                        "drawable", packageName);
+
+                if (thumbRes != 0) {
+                    images.add(res);
+                    thumbs.add(res);
+                }
+            }
+        }
+    }
+
     @Override
     protected void onResume() {
         super.onResume();
@@ -144,7 +174,7 @@
 
         mIsWallpaperSet = true;
         try {
-            InputStream stream = getResources().openRawResource(IMAGE_IDS[position]);
+            InputStream stream = getResources().openRawResource(mImages.get(position));
             setWallpaper(stream);
             setResult(RESULT_OK);
             finish();
@@ -164,7 +194,7 @@
         }
 
         public int getCount() {
-            return THUMB_IDS.length;
+            return mThumbs.size();
         }
 
         public Object getItem(int position) {
@@ -184,7 +214,7 @@
                 image = (ImageView) convertView;
             }
 
-            image.setImageResource(THUMB_IDS[position]);
+            image.setImageResource(mThumbs.get(position));
             image.getDrawable().setDither(true);
             return image;
         }