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

Commit b6315338 authored by Fahim Salam Chowdhury's avatar Fahim Salam Chowdhury 👽
Browse files

implement proper singleton for MailAccountSyncHelper

parent 343afba2
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
@@ -28,7 +28,9 @@ public class MailAccountSyncHelper {
    private static final String MAIL_RECEIVER_CLASS = "com.fsck.k9.account.AccountSyncReceiver";
    private static final String ACTION_PREFIX = "foundation.e.accountmanager.account.";

    public static void accountLoggedIn(Context applicationContext) {
    private static MailAccountSyncHelper instance = null;

    public void accountLoggedIn(Context applicationContext) {
        if (applicationContext == null) {
            return;
        }
@@ -37,7 +39,7 @@ public class MailAccountSyncHelper {
        applicationContext.sendBroadcast(intent);
    }

    public static void accountLoggedOut(Context applicationContext, String email) {
    public void accountLoggedOut(Context applicationContext, String email) {
        if (applicationContext == null || email == null || !email.contains("@")) {
            return;
        }
@@ -48,7 +50,7 @@ public class MailAccountSyncHelper {
    }

    @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1)
    private static Intent getIntent() {
    private Intent getIntent() {
        Intent intent = new Intent();
        intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
        intent.setComponent(new ComponentName(MAIL_PACKAGE, MAIL_RECEIVER_CLASS));
@@ -56,6 +58,17 @@ public class MailAccountSyncHelper {
    }


    public static MailAccountSyncHelper getInstance() {
        if (instance == null) {
            synchronized (MailAccountSyncHelper.class) {
                if (instance == null) {
                    instance = new MailAccountSyncHelper();
                }
            }
        }
        return instance;
    }

    private MailAccountSyncHelper() {
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl
                        if (failed) {
                            RemoveAccountFailureDialog.show(getTargetFragment());
                        } else {
                            MailAccountSyncHelper.accountLoggedOut(targetActivity.getApplicationContext(), email);
                            MailAccountSyncHelper.getInstance().accountLoggedOut(targetActivity.getApplicationContext(), email);
                            targetActivity.finish();
                        }
                    }, null, mUserHandle);