diff --git a/src/com/android/launcher2/Hotseat.java b/src/com/android/launcher2/Hotseat.java index f1fb6ab1c1..f7fa380072 100644 --- a/src/com/android/launcher2/Hotseat.java +++ b/src/com/android/launcher2/Hotseat.java @@ -21,6 +21,7 @@ import android.content.res.Configuration; import android.content.res.TypedArray; import android.util.AttributeSet; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.widget.FrameLayout; @@ -103,6 +104,17 @@ public class Hotseat extends FrameLayout { context.getResources().getDrawable(R.drawable.all_apps_button_icon), null, null); // allAppsButton.setText(context.getString(R.string.all_apps_button_label)); allAppsButton.setContentDescription(context.getString(R.string.all_apps_button_label)); + allAppsButton.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + if (mLauncher != null && + (event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_DOWN) { + mLauncher.onTouchDownAllAppsButton(v); + } + return false; + } + }); + allAppsButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(android.view.View v) { diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index 6d95555a13..72ac39079b 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -748,8 +748,19 @@ public final class Launcher extends Activity mAppsCustomizeTabHost.findViewById(R.id.apps_customize_pane_content); mAppsCustomizeContent.setup(this, dragController); - - + // Get the all apps button + mAllAppsButton = findViewById(R.id.all_apps_button); + if (mAllAppsButton != null) { + mAllAppsButton.setOnTouchListener(new View.OnTouchListener() { + @Override + public boolean onTouch(View v, MotionEvent event) { + if ((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_DOWN) { + onTouchDownAllAppsButton(v); + } + return false; + } + }); + } // Setup the drag controller (drop targets have to be added in reverse order in priority) dragController.setDragScoller(mWorkspace); dragController.setScrollView(mDragLayer); @@ -1731,9 +1742,12 @@ public final class Launcher extends Activity * @param v The view that was clicked. */ public void onClickAllAppsButton(View v) { + showAllApps(true); + } + + public void onTouchDownAllAppsButton(View v) { // Provide the same haptic feedback that the system offers for virtual keys. v.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY); - showAllApps(true); } public void onClickAppMarketButton(View v) { diff --git a/src/com/android/launcher2/LauncherProvider.java b/src/com/android/launcher2/LauncherProvider.java index 53f7b428b3..6cec101ab1 100644 --- a/src/com/android/launcher2/LauncherProvider.java +++ b/src/com/android/launcher2/LauncherProvider.java @@ -602,6 +602,9 @@ public class LauncherProvider extends ContentProvider { if (c != null && c.moveToNext()) { id = c.getLong(maxIdIndex); } + if (c != null) { + c.close(); + } if (id == -1) { throw new RuntimeException("Error: could not query max id");