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

Commit 3a84d401 authored by Alexandra Gherghina's avatar Alexandra Gherghina Committed by Android (Google) Code Review
Browse files

Merge "Fix NPE caused by status update outside activity lifecycle" into lmp-mr1-dev

parents d85aa178 2a3d6497
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.accounts.AccountManagerCallback;
import android.accounts.AccountManagerFuture;
import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.ContentResolver;
@@ -313,12 +314,18 @@ public class AccountSyncSettings extends AccountPreferenceBase {

    private void startSyncForEnabledProviders() {
        requestOrCancelSyncForEnabledProviders(true /* start them */);
        getActivity().invalidateOptionsMenu();
        final Activity activity = getActivity();
        if (activity != null) {
            activity.invalidateOptionsMenu();
        }
    }

    private void cancelSyncForEnabledProviders() {
        requestOrCancelSyncForEnabledProviders(false /* cancel them */);
        getActivity().invalidateOptionsMenu();
        final Activity activity = getActivity();
        if (activity != null) {
            activity.invalidateOptionsMenu();
        }
    }

    private void requestOrCancelSyncForEnabledProviders(boolean startSync) {
@@ -367,7 +374,10 @@ public class AccountSyncSettings extends AccountPreferenceBase {
    protected void onSyncStateUpdated() {
        if (!isResumed()) return;
        setFeedsState();
        getActivity().invalidateOptionsMenu();
        final Activity activity = getActivity();
        if (activity != null) {
            activity.invalidateOptionsMenu();
        }
    }

    private void setFeedsState() {
@@ -440,7 +450,6 @@ public class AccountSyncSettings extends AccountPreferenceBase {
            syncPref.setChecked(oneTimeSyncMode || syncEnabled);
        }
        mErrorInfoView.setVisibility(syncIsFailing ? View.VISIBLE : View.GONE);
        getActivity().invalidateOptionsMenu();
    }

    @Override
+5 −1
Original line number Diff line number Diff line
@@ -231,7 +231,11 @@ public class ManageAccountsSettings extends AccountPreferenceBase
    @Override
    protected void onSyncStateUpdated() {
        showSyncState();
        getActivity().invalidateOptionsMenu();
        // Catch any delayed delivery of update messages
        final Activity activity = getActivity();
        if (activity != null) {
            activity.invalidateOptionsMenu();
        }
    }

    /**