summaryrefslogtreecommitdiffstats
path: root/src/com/android/email2/ui/MailActivityEmail.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/email2/ui/MailActivityEmail.java')
-rw-r--r--src/com/android/email2/ui/MailActivityEmail.java81
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);
}
/**