Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bfd25cac authored by Mike LeBeau's avatar Mike LeBeau
Browse files

Tell SearchManager to stopSearch on long-press of search. Also,

do the long-press haptic feedback first, to avoid any slowdown
in the responsiveness of that.

Fixes http://b/2526697

Change-Id: I607063b67bdde92303ee112663b76d6e4e9a369b
parent cf59a0b7
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import com.android.internal.view.menu.MenuView;
import com.android.internal.view.menu.SubMenuBuilder;

import android.app.KeyguardManager;
import android.app.SearchManager;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
@@ -151,6 +152,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {

    private KeyguardManager mKeyguardManager = null;
    
    private SearchManager mSearchManager = null;

    private TelephonyManager mTelephonyManager = null;
    
    public PhoneWindow(Context context) {
@@ -1237,9 +1240,10 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
                        Intent intent = new Intent(Intent.ACTION_SEARCH_LONG_PRESS);
                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                        try {
                            mDecor.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
                            sendCloseSystemWindows();
                            getSearchManager().stopSearch();
                            getContext().startActivity(intent);
                            mDecor.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
                            // Only clear this if we successfully start the
                            // activity; otherwise we will allow the normal short
                            // press action to be performed.
@@ -1267,6 +1271,16 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback {
        return mKeyguardManager;
    }
    
    /**
     * @return A handle to the search manager.
     */
    private SearchManager getSearchManager() {
        if (mSearchManager == null) {
            mSearchManager = (SearchManager) getContext().getSystemService(Context.SEARCH_SERVICE);
        }
        return mSearchManager;
    }

    /**
     * A key was released and not handled by anything else in the window.
     *