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

Commit 4c5a2989 authored by Tom Hsu's avatar Tom Hsu Committed by Automerger Merge Worker
Browse files

Merge "[Panlingual][frameworks] Fix when tap search bar, will leave a big...

Merge "[Panlingual][frameworks] Fix when tap search bar, will leave a big blank." into tm-dev am: a3352d96

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18245866



Change-Id: I6ee024052c6244866d3c77f11cfaa451a7ca9a2c
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents c291d030 a3352d96
Loading
Loading
Loading
Loading
+20 −4
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MenuItem.OnActionExpandListener;
import android.view.View;
import android.widget.ListView;
import android.widget.SearchView;
@@ -64,6 +65,7 @@ public class LocalePickerWithRegion extends ListFragment implements SearchView.O
    private int mTopDistance = 0;
    private String mAppPackageName;
    private CharSequence mTitle = null;
    private OnActionExpandListener mOnActionExpandListener;

    /**
     * Other classes can register to be notified when a locale was selected.
@@ -80,8 +82,10 @@ public class LocalePickerWithRegion extends ListFragment implements SearchView.O

    private static LocalePickerWithRegion createCountryPicker(Context context,
            LocaleSelectedListener listener, LocaleStore.LocaleInfo parent,
            boolean translatedOnly, String appPackageName) {
            boolean translatedOnly, String appPackageName,
            OnActionExpandListener onActionExpandListener) {
        LocalePickerWithRegion localePicker = new LocalePickerWithRegion();
        localePicker.setOnActionExpandListener(onActionExpandListener);
        boolean shouldShowTheList = localePicker.setListener(context, listener, parent,
                translatedOnly, appPackageName);
        return shouldShowTheList ? localePicker : null;
@@ -95,8 +99,10 @@ public class LocalePickerWithRegion extends ListFragment implements SearchView.O
    }

    public static LocalePickerWithRegion createLanguagePicker(Context context,
            LocaleSelectedListener listener, boolean translatedOnly, String appPackageName) {
            LocaleSelectedListener listener, boolean translatedOnly, String appPackageName,
            OnActionExpandListener onActionExpandListener) {
        LocalePickerWithRegion localePicker = new LocalePickerWithRegion();
        localePicker.setOnActionExpandListener(onActionExpandListener);
        localePicker.setListener(
                context, listener, /* parent */ null, translatedOnly, appPackageName);
        return localePicker;
@@ -310,7 +316,7 @@ public class LocalePickerWithRegion extends ListFragment implements SearchView.O
        } else {
            LocalePickerWithRegion selector = LocalePickerWithRegion.createCountryPicker(
                    getContext(), mListener, locale, mTranslatedOnly /* translate only */,
                    mAppPackageName);
                    mAppPackageName, mOnActionExpandListener);
            if (selector != null) {
                getFragmentManager().beginTransaction()
                        .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
@@ -328,8 +334,11 @@ public class LocalePickerWithRegion extends ListFragment implements SearchView.O
            inflater.inflate(R.menu.language_selection_list, menu);

            final MenuItem searchMenuItem = menu.findItem(R.id.locale_search_menu);
            mSearchView = (SearchView) searchMenuItem.getActionView();
            if (!mAppPackageName.isEmpty() && mOnActionExpandListener != null) {
                searchMenuItem.setOnActionExpandListener(mOnActionExpandListener);
            }

            mSearchView = (SearchView) searchMenuItem.getActionView();
            mSearchView.setQueryHint(getText(R.string.search_language_hint));
            mSearchView.setOnQueryTextListener(this);

@@ -363,4 +372,11 @@ public class LocalePickerWithRegion extends ListFragment implements SearchView.O
        }
        return false;
    }

    /**
     * Sets OnActionExpandListener to LocalePickerWithRegion to dectect action of search bar.
     */
    public void setOnActionExpandListener(OnActionExpandListener onActionExpandListener) {
        mOnActionExpandListener = onActionExpandListener;
    }
}