From 086c16720886975965cf84dddbdfb5be5b739170 Mon Sep 17 00:00:00 2001 From: althafvly Date: Thu, 29 Dec 2022 06:12:02 +0000 Subject: [PATCH 1/3] Revert "3081-s-Disable_mail_account_sync_on_cancel_sync" This reverts commit af041271e76e04ac311665998682b17e1c7f09bd. --- .../accounts/AccountSyncSettings.java | 10 ---------- .../accounts/MailAccountSyncHelper.java | 19 ++++--------------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java index b7621b29d8e..23b6157c97d 100644 --- a/src/com/android/settings/accounts/AccountSyncSettings.java +++ b/src/com/android/settings/accounts/AccountSyncSettings.java @@ -386,16 +386,6 @@ public class AccountSyncSettings extends AccountPreferenceBase { extras); } else { ContentResolver.cancelSyncAsUser(account, authority, mUserHandle.getIdentifier()); - cancelMailSync(account, authority); - } - } - - private void cancelMailSync(Account account, String authority) { - if (MailAccountSyncHelper.MAIL_SYNC_AUTHORITY.equals(authority)) { - final Context context = getPrefContext().getApplicationContext(); - final AccountManager accountManager = AccountManager.get(context); - final String email = accountManager.getUserData(account, "email_address"); - MailAccountSyncHelper.getInstance().disableSync(context, email); } } diff --git a/src/com/android/settings/accounts/MailAccountSyncHelper.java b/src/com/android/settings/accounts/MailAccountSyncHelper.java index ddb547b1fe3..c48886752d3 100644 --- a/src/com/android/settings/accounts/MailAccountSyncHelper.java +++ b/src/com/android/settings/accounts/MailAccountSyncHelper.java @@ -24,12 +24,9 @@ import android.os.Build; public class MailAccountSyncHelper { - public static final String MAIL_SYNC_AUTHORITY = "foundation.e.mail.provider.AppContentProvider"; - private static final String MAIL_PACKAGE = "foundation.e.mail"; private static final String MAIL_RECEIVER_CLASS = "com.fsck.k9.account.AccountSyncReceiver"; private static final String ACTION_PREFIX = "foundation.e.accountmanager.account."; - private static final String ACCOUNT = "account"; private static MailAccountSyncHelper instance = null; @@ -43,20 +40,12 @@ public class MailAccountSyncHelper { } public void accountLoggedOut(Context applicationContext, String email) { - sendBroadCast(applicationContext, email, "remove"); - } - - public void disableSync(Context applicationContext, String email) { - sendBroadCast(applicationContext, email, "disablesync"); - } - - private void sendBroadCast(Context applicationContext, String email, String action) { - if (applicationContext == null || email == null || !email.contains("@") || action == null) { + if (applicationContext == null || email == null || !email.contains("@")) { return; } - final Intent intent = getIntent(); - intent.setAction(ACTION_PREFIX + action); - intent.putExtra(ACCOUNT, email); + Intent intent = getIntent(); + intent.setAction(ACTION_PREFIX + "remove"); + intent.putExtra("account", email); applicationContext.sendBroadcast(intent); } -- GitLab From 2e8dc7eb1aaac2e7d7e1826f2c168c1f2b20d303 Mon Sep 17 00:00:00 2001 From: althafvly Date: Thu, 29 Dec 2022 06:12:06 +0000 Subject: [PATCH 2/3] Revert "implement proper singleton for MailAccountSyncHelper" This reverts commit 18db1046b9ca4febecbe0b49659a87136113149c. --- .../accounts/MailAccountSyncHelper.java | 19 +++---------------- .../RemoveAccountPreferenceController.java | 2 +- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/src/com/android/settings/accounts/MailAccountSyncHelper.java b/src/com/android/settings/accounts/MailAccountSyncHelper.java index c48886752d3..c43ab2b747e 100644 --- a/src/com/android/settings/accounts/MailAccountSyncHelper.java +++ b/src/com/android/settings/accounts/MailAccountSyncHelper.java @@ -28,9 +28,7 @@ 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."; - private static MailAccountSyncHelper instance = null; - - public void accountLoggedIn(Context applicationContext) { + public static void accountLoggedIn(Context applicationContext) { if (applicationContext == null) { return; } @@ -39,7 +37,7 @@ public class MailAccountSyncHelper { applicationContext.sendBroadcast(intent); } - public void accountLoggedOut(Context applicationContext, String email) { + public static void accountLoggedOut(Context applicationContext, String email) { if (applicationContext == null || email == null || !email.contains("@")) { return; } @@ -50,7 +48,7 @@ public class MailAccountSyncHelper { } @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1) - private Intent getIntent() { + private static Intent getIntent() { Intent intent = new Intent(); intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); intent.setComponent(new ComponentName(MAIL_PACKAGE, MAIL_RECEIVER_CLASS)); @@ -58,17 +56,6 @@ public class MailAccountSyncHelper { } - public static MailAccountSyncHelper getInstance() { - if (instance == null) { - synchronized (MailAccountSyncHelper.class) { - if (instance == null) { - instance = new MailAccountSyncHelper(); - } - } - } - return instance; - } - private MailAccountSyncHelper() { } } diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java index 66e6c0719be..d3183f62229 100644 --- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java +++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java @@ -184,7 +184,7 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl } Log.i(TAG, "failed: " + failed); if (!failed) { - MailAccountSyncHelper.getInstance().accountLoggedOut(targetActivity.getApplicationContext(), email); + MailAccountSyncHelper.accountLoggedOut(targetActivity.getApplicationContext(), email); targetActivity.finish(); } }, null, mUserHandle); -- GitLab From 6ca8025a0a07c7f314781d7a123487c4f71882d9 Mon Sep 17 00:00:00 2001 From: althafvly Date: Thu, 29 Dec 2022 06:12:07 +0000 Subject: [PATCH 3/3] Revert "5560-r-sync_account_with_mail_app" This reverts commit 7051640e3e6d90b8909e44d42d043d2e9cfcd689. --- .../accounts/MailAccountSyncHelper.java | 61 ------------------- .../RemoveAccountPreferenceController.java | 6 +- 2 files changed, 1 insertion(+), 66 deletions(-) delete mode 100644 src/com/android/settings/accounts/MailAccountSyncHelper.java diff --git a/src/com/android/settings/accounts/MailAccountSyncHelper.java b/src/com/android/settings/accounts/MailAccountSyncHelper.java deleted file mode 100644 index c43ab2b747e..00000000000 --- a/src/com/android/settings/accounts/MailAccountSyncHelper.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright ECORP SAS 2022 - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.android.settings.accounts; - -import android.annotation.TargetApi; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.os.Build; - -public class MailAccountSyncHelper { - - private static final String MAIL_PACKAGE = "foundation.e.mail"; - 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) { - if (applicationContext == null) { - return; - } - Intent intent = getIntent(); - intent.setAction(ACTION_PREFIX + "create"); - applicationContext.sendBroadcast(intent); - } - - public static void accountLoggedOut(Context applicationContext, String email) { - if (applicationContext == null || email == null || !email.contains("@")) { - return; - } - Intent intent = getIntent(); - intent.setAction(ACTION_PREFIX + "remove"); - intent.putExtra("account", email); - applicationContext.sendBroadcast(intent); - } - - @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1) - private static Intent getIntent() { - Intent intent = new Intent(); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - intent.setComponent(new ComponentName(MAIL_PACKAGE, MAIL_RECEIVER_CLASS)); - return intent; - } - - - private MailAccountSyncHelper() { - } -} diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java index d3183f62229..2ce22061907 100644 --- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java +++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java @@ -159,10 +159,7 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl @Override public void onClick(DialogInterface dialog, int which) { Activity activity = getTargetFragment().getActivity(); - AccountManager accountManager = AccountManager.get(activity); - String email = accountManager.getUserData(mAccount, "email_address"); - - accountManager.removeAccountAsUser(mAccount, activity, + AccountManager.get(activity).removeAccountAsUser(mAccount, activity, future -> { final Activity targetActivity = getTargetFragment().getActivity(); if (targetActivity == null || targetActivity.isFinishing()) { @@ -184,7 +181,6 @@ public class RemoveAccountPreferenceController extends AbstractPreferenceControl } Log.i(TAG, "failed: " + failed); if (!failed) { - MailAccountSyncHelper.accountLoggedOut(targetActivity.getApplicationContext(), email); targetActivity.finish(); } }, null, mUserHandle); -- GitLab