Update to use new wallpaper APIs.
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index c45acb3..661fbdb 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -21,9 +21,9 @@
 import android.app.Application;
 import android.app.Dialog;
 import android.app.ISearchManager;
-import android.app.IWallpaperService;
 import android.app.SearchManager;
 import android.app.StatusBarManager;
+import android.app.WallpaperManager;
 import android.content.ActivityNotFoundException;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -40,13 +40,11 @@
 import android.content.res.Resources;
 import android.database.ContentObserver;
 import android.graphics.Bitmap;
-import android.graphics.Rect;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.TransitionDrawable;
 import android.os.Bundle;
 import android.os.Handler;
-import android.os.IBinder;
 import android.os.Looper;
 import android.os.Message;
 import android.os.MessageQueue;
@@ -69,8 +67,6 @@
 import android.view.View.OnLongClickListener;
 import android.view.inputmethod.InputMethodManager;
 import android.widget.EditText;
-import android.widget.GridView;
-import android.widget.ImageView;
 import android.widget.TextView;
 import android.widget.Toast;
 import android.appwidget.AppWidgetManager;
@@ -349,19 +345,14 @@
     }
 
     private void setWallpaperDimension() {
-        IBinder binder = ServiceManager.getService(WALLPAPER_SERVICE);
-        IWallpaperService wallpaperService = IWallpaperService.Stub.asInterface(binder);
+        WallpaperManager wpm = (WallpaperManager)getSystemService(WALLPAPER_SERVICE);
 
         Display display = getWindowManager().getDefaultDisplay();
         boolean isPortrait = display.getWidth() < display.getHeight();
 
         final int width = isPortrait ? display.getWidth() : display.getHeight();
         final int height = isPortrait ? display.getHeight() : display.getWidth();
-        try {
-            wallpaperService.setDimensionHints(width * WALLPAPER_SCREENS_SPAN, height);
-        } catch (RemoteException e) {
-            // System is dead!
-        }
+        wpm.setDimensionHints(width * WALLPAPER_SCREENS_SPAN, height);
     }
 
     @Override
diff --git a/src/com/android/launcher2/WallpaperChooser.java b/src/com/android/launcher2/WallpaperChooser.java
index 02e85ee..4517bf5 100644
--- a/src/com/android/launcher2/WallpaperChooser.java
+++ b/src/com/android/launcher2/WallpaperChooser.java
@@ -17,15 +17,12 @@
 package com.android.launcher2;
 
 import android.app.Activity;
-import android.app.IWallpaperService;
+import android.app.WallpaperManager;
 import android.content.res.Resources;
 import android.graphics.BitmapFactory;
 import android.graphics.Bitmap;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
-import android.os.ParcelFileDescriptor;
-import android.os.RemoteException;
-import android.os.ServiceManager;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -39,8 +36,6 @@
 import android.widget.ImageView;
 
 import java.io.IOException;
-import java.io.InputStream;
-import java.io.FileOutputStream;
 import java.util.ArrayList;
 import java.util.Collections;
 
@@ -90,7 +85,6 @@
 
     private ArrayList<Integer> mThumbs;
     private ArrayList<Integer> mImages;
-    private ArrayList<String> mNames;
 
     @Override
     public void onCreate(Bundle icicle) {
@@ -125,11 +119,6 @@
 
         final Resources resources = getResources();
 
-        mNames = new ArrayList<String>(IMAGE_IDS.length + 4);
-        for (int res: mImages) {
-            mNames.add("res:" + resources.getResourceName(res));
-        }
-
         final String[] extras = resources.getStringArray(R.array.extra_wallpapers);
         final String packageName = getApplication().getPackageName();
 
@@ -142,7 +131,6 @@
                 if (thumbRes != 0) {
                     mThumbs.add(thumbRes);
                     mImages.add(res);
-                    mNames.add("res:" + extra);
                 }
             }
         }
@@ -182,8 +170,9 @@
 
         mIsWallpaperSet = true;
         try {
-            InputStream stream = getResources().openRawResource(mImages.get(position));
-            setWallpaper(stream, mNames.get(position));
+            WallpaperManager wpm = (WallpaperManager)getSystemService(
+                    WALLPAPER_SERVICE);
+            wpm.set(mImages.get(position));
             setResult(RESULT_OK);
             finish();
         } catch (IOException e) {
@@ -231,34 +220,4 @@
     public void onClick(View v) {
         selectWallpaper(mGallery.getSelectedItemPosition());
     }
-
-    private void setWallpaper(InputStream data, String name) throws IOException {
-        try {
-            IWallpaperService svc = IWallpaperService.Stub.asInterface(
-                    ServiceManager.getService(WALLPAPER_SERVICE));
-            ParcelFileDescriptor fd = svc.setWallpaper(name);
-            if (fd == null) {
-                return;
-            }
-            FileOutputStream fos = null;
-            try {
-                fos = new ParcelFileDescriptor.AutoCloseOutputStream(fd);
-                setWallpaper(data, fos);
-            } finally {
-                if (fos != null) {
-                    fos.close();
-                }
-            }
-        } catch (RemoteException e) {
-        }
-    }
-
-    private void setWallpaper(InputStream data, FileOutputStream fos)
-            throws IOException {
-        byte[] buffer = new byte[32768];
-        int amt;
-        while ((amt=data.read(buffer)) > 0) {
-            fos.write(buffer, 0, amt);
-        }
-    }
 }