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

Commit 27329238 authored by Tony Huang's avatar Tony Huang
Browse files

Prevent crash caused by dialog show when state saved.

Call dialog.show when state saved will cause IllegalStateException so we
should prevent this.

Fix: 139883603
Test: manual
Test: atest DocumentsUIGoogleTests
Change-Id: I7ada873a7573729744d039347f688d127c972d41
parent 7b216347
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -61,6 +61,11 @@ public class CreateDirectoryFragment extends DialogFragment {
    private static final String TAG_CREATE_DIRECTORY = "create_directory";

    public static void show(FragmentManager fm) {
        if (fm.isStateSaved()) {
            Log.w(TAG, "Skip show create folder dialog because state saved");
            return;
        }

        final CreateDirectoryFragment dialog = new CreateDirectoryFragment();
        dialog.show(fm, TAG_CREATE_DIRECTORY);
    }
+5 −0
Original line number Diff line number Diff line
@@ -60,6 +60,11 @@ public class RenameDocumentFragment extends DialogFragment {
    private @Nullable DialogInterface mDialog;

    public static void show(FragmentManager fm, DocumentInfo document) {
        if (fm.isStateSaved()) {
            Log.w(TAG, "Skip show rename dialog because state saved");
            return;
        }

        final RenameDocumentFragment dialog = new RenameDocumentFragment();
        dialog.mDocument = document;
        dialog.show(fm, TAG_RENAME_DOCUMENT);
+8 −0
Original line number Diff line number Diff line
@@ -15,9 +15,12 @@
 */
package com.android.documentsui.files;

import static com.android.documentsui.base.SharedMinimal.TAG;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.widget.Button;
import android.widget.TextView;
@@ -54,6 +57,11 @@ public class DeleteDocumentFragment extends DialogFragment {
     * @param srcParent the parent document of the selection
     */
    public static void show(FragmentManager fm, List<DocumentInfo> docs, DocumentInfo srcParent) {
        if (fm.isStateSaved()) {
            Log.w(TAG, "Skip show delete dialog because state saved");
            return;
        }

        final DeleteDocumentFragment dialog = new DeleteDocumentFragment();
        dialog.mDocuments = docs;
        dialog.mSrcParent = srcParent;
+6 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -59,6 +60,11 @@ public class SearchFragment extends DialogFragment
    private List<String> mHistoryList;

    public static void showFragment(FragmentManager fm, String initQuery) {
        if (fm.isStateSaved()) {
            Log.w(TAG, "Skip show because state saved");
            return;
        }

        final SearchFragment fragment = new SearchFragment();
        final Bundle args = new Bundle();
        args.putString(KEY_QUERY, initQuery);
+8 −0
Original line number Diff line number Diff line
package com.android.documentsui.sorting;

import static com.android.documentsui.base.SharedMinimal.TAG;

import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
@@ -34,6 +37,11 @@ public class SortListFragment extends DialogFragment {
    private List<SortItem> mSortingList;

    public static void show(FragmentManager fm, SortModel model) {
        if (fm.isStateSaved()) {
            Log.w(TAG, "Skip show sort dialog because state saved");
            return;
        }

        if (fm.findFragmentByTag(TAG_SORTING_LIST) == null) {
            SortListFragment fragment = new SortListFragment();
            Bundle args = new Bundle();
Loading