diff options
Diffstat (limited to 'src/com/android/email2/ui/MailActivityEmail.java')
-rw-r--r-- | src/com/android/email2/ui/MailActivityEmail.java | 81 |
1 files changed, 1 insertions, 80 deletions
diff --git a/src/com/android/email2/ui/MailActivityEmail.java b/src/com/android/email2/ui/MailActivityEmail.java index b2403de06..23b3facea 100644 --- a/src/com/android/email2/ui/MailActivityEmail.java +++ b/src/com/android/email2/ui/MailActivityEmail.java @@ -26,21 +26,14 @@ import android.database.Cursor; import android.net.Uri; import android.os.Bundle; -import com.android.email.NotificationController; import com.android.email.Preferences; -import com.android.email.R; import com.android.email.provider.EmailProvider; import com.android.email.service.AttachmentService; import com.android.email.service.EmailServiceUtils; import com.android.emailcommon.Logging; import com.android.emailcommon.TempDirectory; -import com.android.emailcommon.provider.Account; -import com.android.emailcommon.provider.EmailContent; import com.android.emailcommon.provider.Mailbox; -import com.android.emailcommon.service.EmailServiceProxy; -import com.android.emailcommon.utility.EmailAsyncTask; import com.android.emailcommon.utility.IntentUtilities; -import com.android.emailcommon.utility.Utility; import com.android.mail.providers.Folder; import com.android.mail.providers.UIProvider; import com.android.mail.utils.LogTag; @@ -62,78 +55,6 @@ public class MailActivityEmail extends com.android.mail.ui.MailActivity { } - /** - * Asynchronous version of {@link #setServicesEnabledSync(Context)}. Use when calling from - * UI thread (or lifecycle entry points.) - */ - public static void setServicesEnabledAsync(final Context context) { - if (context.getResources().getBoolean(R.bool.enable_services)) { - EmailAsyncTask.runAsyncParallel(new Runnable() { - @Override - public void run() { - setServicesEnabledSync(context); - } - }); - } - } - - /** - * Called throughout the application when the number of accounts has changed. This method - * enables or disables the Compose activity, the boot receiver and the service based on - * whether any accounts are configured. - * - * Blocking call - do not call from UI/lifecycle threads. - * - * @return true if there are any accounts configured. - */ - public static boolean setServicesEnabledSync(Context context) { - // Make sure we're initialized - EmailContent.init(context); - Cursor c = null; - try { - c = context.getContentResolver().query( - Account.CONTENT_URI, - Account.ID_PROJECTION, - null, null, null); - boolean enable = c != null && c.getCount() > 0; - setServicesEnabled(context, enable); - return enable; - } finally { - if (c != null) { - c.close(); - } - } - } - - private static void setServicesEnabled(Context context, boolean enabled) { - PackageManager pm = context.getPackageManager(); - pm.setComponentEnabledSetting( - new ComponentName(context, AttachmentService.class), - enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : - PackageManager.COMPONENT_ENABLED_STATE_DISABLED, - PackageManager.DONT_KILL_APP); - - // Start/stop the various services depending on whether there are any accounts - // TODO: Make sure that the AttachmentService responds to this request as it - // expects a particular set of data in the intents that it receives or it ignores. - startOrStopService(enabled, context, new Intent(context, AttachmentService.class)); - NotificationController.getInstance(context).watchForMessages(); - } - - /** - * Starts or stops the service as necessary. - * @param enabled If {@code true}, the service will be started. Otherwise, it will be stopped. - * @param context The context to manage the service with. - * @param intent The intent of the service to be managed. - */ - private static void startOrStopService(boolean enabled, Context context, Intent intent) { - if (enabled) { - context.startService(intent); - } else { - context.stopService(intent); - } - } - @Override public void onCreate(Bundle bundle) { final Intent intent = getIntent(); @@ -163,7 +84,7 @@ public class MailActivityEmail extends com.android.mail.ui.MailActivity { // Make sure all required services are running when the app is started (can prevent // issues after an adb sync/install) - setServicesEnabledAsync(this); + EmailProvider.setServicesEnabledAsync(this); } /** |