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

Commit d4b17531 authored by Aga Wronska's avatar Aga Wronska
Browse files

Fix focus issues in directory fragment

    * Empty directory view gets focus when shown
    * Skip opening drawer when showing empty search results
    * Fix typo

Bug: 27109140
Change-Id: Ie62d48e1c3f78e5244d88067587b3e5986f99a03
parent 09f85680
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@color/window_background"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:visibility="gone">

        <LinearLayout
+1 −1
Original line number Diff line number Diff line
@@ -153,7 +153,7 @@ public class State implements android.os.Parcelable {
        return mStackTouched;
    }

    public boolean initialiLocationHasChanged() {
    public boolean initialLocationHasChanged() {
        return mInitialRootChanged || mInitialDocChanged;
    }

+2 −0
Original line number Diff line number Diff line
@@ -885,12 +885,14 @@ public class DirectoryFragment extends Fragment implements DocumentsAdapter.Envi
        imageView.setImageResource(drawable);

        mEmptyView.setVisibility(View.VISIBLE);
        mEmptyView.requestFocus();
        mRecView.setVisibility(View.GONE);
    }

    private void showDirectory() {
        mEmptyView.setVisibility(View.GONE);
        mRecView.setVisibility(View.VISIBLE);
        mRecView.requestFocus();
    }

    private String findCommonMimeType(List<String> mimeTypes) {
+3 −2
Original line number Diff line number Diff line
@@ -249,9 +249,10 @@ public abstract class FragmentTuner {

        @Override
        void onModelLoaded(Model model, @ResultType int resultType) {
            if (DEBUG) Log.d(TAG, "Handling model loaded. Has Location shcnage: " + mState.initialiLocationHasChanged());
            if (DEBUG) Log.d(TAG, "Handling model loaded. Has Location shcnage: " + mState.initialLocationHasChanged());
            // When launched into empty root, open drawer.
            if (model.isEmpty() && !mState.initialiLocationHasChanged()) {
            if (model.isEmpty() && !mState.initialLocationHasChanged()
                    && resultType != DirectoryFragment.TYPE_SEARCH) {
                if (DEBUG) Log.d(TAG, "Showing roots drawer cuz stuffs empty.");

                // This noops on layouts without drawer, so no need to guard.