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

Commit 8ead4893 authored by android-build-team Robot's avatar android-build-team Robot
Browse files

Snap for 6456040 from ef21ed35 to rvc-release

Change-Id: Ia7494ae091840e4fc333a3d17b86dbfb96216542
parents 8342578f ef21ed35
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@ public abstract class BaseActivity
            @Override
            public void onSearchChanged(@Nullable String query) {
                if (query != null) {
                    SearchFragment.dismissFragment(getSupportFragmentManager());
                    SearchFragment.dismissFragmentNextFrame(getSupportFragmentManager());
                }

                if (mSearchManager.isSearching()) {
@@ -232,7 +232,7 @@ public abstract class BaseActivity
                    SearchFragment.showFragment(getSupportFragmentManager(),
                            mSearchManager.getSearchViewText());
                } else {
                    SearchFragment.dismissFragment(getSupportFragmentManager());
                    SearchFragment.dismissFragmentNextFrame(getSupportFragmentManager());
                }
            }

+22 −3
Original line number Diff line number Diff line
@@ -19,6 +19,9 @@ package com.android.documentsui.queries;
import android.content.Context;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -71,10 +74,16 @@ public class SearchFragment extends Fragment{
        ft.commitNow();
    }

    public static void dismissFragment(FragmentManager fm) {
    /**
     * Posts the dismissal of the dialog to the next frame of the main looper thread. This method
     * should be used in cases where the user is still searching, since it can avoid other elements
     * from flashing for a frame when they are reacting to the same state change (e.g.
     * http://b/153094528).
     */
    public static void dismissFragmentNextFrame(FragmentManager fm) {
        SearchFragment fragment = get(fm);
        if (fragment != null) {
            fragment.dismiss();
            fragment.dismissNextFrame();
        }
    }

@@ -152,7 +161,7 @@ public class SearchFragment extends Fragment{
        mSearchViewManager.setHistorySearch();
        mSearchViewManager.setCurrentSearch(item);
        mSearchViewManager.restoreSearch(true);
        dismiss();
        dismissNextFrame();
    }

    private void dismiss() {
@@ -175,6 +184,16 @@ public class SearchFragment extends Fragment{
        }
    }

    /**
     * Posts the dismissal of the dialog to the next frame of the main looper thread. This method
     * should be used in cases where the user is still searching, since it can avoid other elements
     * from flashing for a frame when they are reacting to the same state change (e.g.
     * http://b/153094528).
     */
    private void dismissNextFrame() {
        new Handler(Looper.getMainLooper()).post(this::dismiss);
    }

    private class HistoryListAdapter extends ArrayAdapter<String> {

        public HistoryListAdapter(Context context, List<String> list) {