Fix 5341761  gallery vibrate on confirm delete

Change-Id: I819855f28246c91324ea86ab9e0ac1ec1c19783c
diff --git a/src/com/android/gallery3d/app/AlbumPage.java b/src/com/android/gallery3d/app/AlbumPage.java
index 55feb38..1f2c291 100644
--- a/src/com/android/gallery3d/app/AlbumPage.java
+++ b/src/com/android/gallery3d/app/AlbumPage.java
@@ -16,6 +16,20 @@
 
 package com.android.gallery3d.app;
 
+import android.app.Activity;
+import android.app.ProgressDialog;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Vibrator;
+import android.provider.MediaStore;
+import android.view.ActionMode;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.widget.Toast;
+
 import com.android.gallery3d.R;
 import com.android.gallery3d.common.Utils;
 import com.android.gallery3d.data.DataManager;
@@ -43,19 +57,6 @@
 import com.android.gallery3d.util.Future;
 import com.android.gallery3d.util.GalleryUtils;
 
-import android.app.Activity;
-import android.app.ProgressDialog;
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.provider.MediaStore;
-import android.view.ActionMode;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.widget.Toast;
-
 import java.util.Random;
 
 public class AlbumPage extends ActivityState implements GalleryActionBar.ClusterRunner,
@@ -82,6 +83,7 @@
     private AlbumDataAdapter mAlbumDataAdapter;
 
     protected SelectionManager mSelectionManager;
+    private Vibrator mVibrator;
     private GridDrawer mGridDrawer;
     private HighlightDrawer mHighlightDrawer;
 
@@ -271,6 +273,8 @@
         mGetContent = data.getBoolean(Gallery.KEY_GET_CONTENT, false);
         mShowClusterMenu = data.getBoolean(KEY_SHOW_CLUSTER_MENU, false);
         mDetailsSource = new MyDetailsSource();
+        Context context = mActivity.getAndroidContext();
+        mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
 
         startTransition(data);
 
@@ -537,6 +541,7 @@
         switch (mode) {
             case SelectionManager.ENTER_SELECTION_MODE: {
                 mActionMode = mActionModeHandler.startActionMode();
+                mVibrator.vibrate(100);
                 break;
             }
             case SelectionManager.LEAVE_SELECTION_MODE: {
diff --git a/src/com/android/gallery3d/app/AlbumSetPage.java b/src/com/android/gallery3d/app/AlbumSetPage.java
index 0726ba1..3cbbf23 100644
--- a/src/com/android/gallery3d/app/AlbumSetPage.java
+++ b/src/com/android/gallery3d/app/AlbumSetPage.java
@@ -16,6 +16,19 @@
 
 package com.android.gallery3d.app;
 
+import android.app.Activity;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Rect;
+import android.os.Bundle;
+import android.os.Vibrator;
+import android.provider.MediaStore;
+import android.view.ActionMode;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.widget.Toast;
+
 import com.android.gallery3d.R;
 import com.android.gallery3d.common.Utils;
 import com.android.gallery3d.data.DataManager;
@@ -42,18 +55,6 @@
 import com.android.gallery3d.ui.StaticBackground;
 import com.android.gallery3d.util.GalleryUtils;
 
-import android.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Rect;
-import android.os.Bundle;
-import android.provider.MediaStore;
-import android.view.ActionMode;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.widget.Toast;
-
 public class AlbumSetPage extends ActivityState implements
         SelectionManager.SelectionListener, GalleryActionBar.ClusterRunner,
         EyePosition.EyePositionListener {
@@ -78,6 +79,7 @@
     private String mSubtitle;
     private boolean mShowClusterMenu;
     private int mSelectedAction;
+    private Vibrator mVibrator;
 
     protected SelectionManager mSelectionManager;
     private AlbumSetDataAdapter mAlbumSetDataAdapter;
@@ -265,12 +267,14 @@
     public void onCreate(Bundle data, Bundle restoreState) {
         initializeViews();
         initializeData(data);
+        Context context = mActivity.getAndroidContext();
         mGetContent = data.getBoolean(Gallery.KEY_GET_CONTENT, false);
         mGetAlbum = data.getBoolean(Gallery.KEY_GET_ALBUM, false);
         mTitle = data.getString(AlbumSetPage.KEY_SET_TITLE);
         mSubtitle = data.getString(AlbumSetPage.KEY_SET_SUBTITLE);
-        mEyePosition = new EyePosition(mActivity.getAndroidContext(), this);
+        mEyePosition = new EyePosition(context, this);
         mDetailsSource = new MyDetailsSource();
+        mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
         GalleryActionBar actionBar = mActivity.getGalleryActionBar();
         if (actionBar != null) {
             mSelectedAction = data.getInt(
@@ -509,6 +513,7 @@
             case SelectionManager.ENTER_SELECTION_MODE: {
                 mActivity.getGalleryActionBar().hideClusterMenu();
                 mActionMode = mActionModeHandler.startActionMode();
+                mVibrator.vibrate(100);
                 break;
             }
             case SelectionManager.LEAVE_SELECTION_MODE: {
diff --git a/src/com/android/gallery3d/ui/SelectionManager.java b/src/com/android/gallery3d/ui/SelectionManager.java
index 0ab69d2..2726e8a 100644
--- a/src/com/android/gallery3d/ui/SelectionManager.java
+++ b/src/com/android/gallery3d/ui/SelectionManager.java
@@ -22,9 +22,6 @@
 import com.android.gallery3d.data.MediaSet;
 import com.android.gallery3d.data.Path;
 
-import android.content.Context;
-import android.os.Vibrator;
-
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.Set;
@@ -39,7 +36,6 @@
 
     private Set<Path> mClickedSet;
     private MediaSet mSourceMediaSet;
-    private final Vibrator mVibrator;
     private SelectionListener mListener;
     private DataManager mDataManager;
     private boolean mInverseSelection;
@@ -55,9 +51,7 @@
     }
 
     public SelectionManager(GalleryContext galleryContext, boolean isAlbumSet) {
-        Context context = galleryContext.getAndroidContext();
         mDataManager = galleryContext.getDataManager();
-        mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
         mClickedSet = new HashSet<Path>();
         mIsAlbumSet = isAlbumSet;
         mTotal = -1;
@@ -98,7 +92,6 @@
         if (mInSelectionMode) return;
 
         mInSelectionMode = true;
-        mVibrator.vibrate(100);
         if (mListener != null) mListener.onSelectionModeChange(ENTER_SELECTION_MODE);
     }