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

Commit 9efabeb3 authored by Hai Zhang's avatar Hai Zhang Committed by android-build-merger
Browse files

Merge "Fix crash when role data isn't loaded after restoring state." into...

Merge "Fix crash when role data isn't loaded after restoring state." into qt-qpr1-dev am: 36d39e5e
am: b10968d5

Change-Id: I12e0f33edd67b8c59806529871bb83af8dd05117
parents 6e4daf0a b10968d5
Loading
Loading
Loading
Loading
+10 −3
Original line number Original line Diff line number Diff line
@@ -226,7 +226,7 @@ public class RequestRoleFragment extends DialogFragment {
        // Postponed to onStart() so that the list view in dialog is created.
        // Postponed to onStart() so that the list view in dialog is created.
        mViewModel = ViewModelProviders.of(this, new RequestRoleViewModel.Factory(mRole,
        mViewModel = ViewModelProviders.of(this, new RequestRoleViewModel.Factory(mRole,
                requireActivity().getApplication())).get(RequestRoleViewModel.class);
                requireActivity().getApplication())).get(RequestRoleViewModel.class);
        mViewModel.getRoleLiveData().observe(this, mAdapter::replace);
        mViewModel.getRoleLiveData().observe(this, this::onRoleDataChanged);
        mViewModel.getManageRoleHolderStateLiveData().observe(this,
        mViewModel.getManageRoleHolderStateLiveData().observe(this,
                this::onManageRoleHolderStateChanged);
                this::onManageRoleHolderStateChanged);
    }
    }
@@ -262,6 +262,12 @@ public class RequestRoleFragment extends DialogFragment {
        setDeniedOnceAndFinish();
        setDeniedOnceAndFinish();
    }
    }


    private void onRoleDataChanged(
            @NonNull List<Pair<ApplicationInfo, Boolean>> qualifyingApplications) {
        mAdapter.replace(qualifyingApplications);
        updateUi();
    }

    private void onItemClicked(int position) {
    private void onItemClicked(int position) {
        mAdapter.onItemClicked(position);
        mAdapter.onItemClicked(position);
        updateUi();
        updateUi();
@@ -344,8 +350,9 @@ public class RequestRoleFragment extends DialogFragment {
        boolean dontAskAgain = mDontAskAgainCheck != null && mDontAskAgainCheck.isChecked();
        boolean dontAskAgain = mDontAskAgainCheck != null && mDontAskAgainCheck.isChecked();
        mAdapter.setDontAskAgain(dontAskAgain);
        mAdapter.setDontAskAgain(dontAskAgain);
        AlertDialog dialog = getDialog();
        AlertDialog dialog = getDialog();
        dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(enabled && (dontAskAgain
        boolean hasRoleData = mViewModel.getRoleLiveData().getValue() != null;
                || !mAdapter.isHolderApplicationChecked()));
        dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(enabled && hasRoleData
                && (dontAskAgain || !mAdapter.isHolderApplicationChecked()));
        dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(enabled);
        dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setEnabled(enabled);
    }
    }