diff options
author | Raman Tenneti <rtenneti@google.com> | 2019-08-04 00:55:31 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-08-04 00:55:31 -0700 |
commit | ae3b2d85cff2366a7c8310f72812a71ae2c5ba98 (patch) | |
tree | 7a11d03d29777691f30efb4f2f180e5705bc4d4f | |
parent | 2bf0c18734dbef08d63af62e9407cf4a4bae61f1 (diff) | |
parent | 4aa6a5ecd0db7b8232798c44610969ae711aea9a (diff) | |
download | Email-ae3b2d85cff2366a7c8310f72812a71ae2c5ba98.tar.gz |
Merge "Revert "Revert "AOSP/Email - Changes for code to work with UnifiedEmail's version bump to the targetSdkVersion to 28 (maximum version). Used JobIntentservice API calls to replace context.startService for EmailBroadcastProcessorService."""
am: 4aa6a5ecd0
Change-Id: I24371b1b6b53700dd1e525f4f7972ac428c3976e
-rw-r--r-- | AndroidManifest.xml | 5 | ||||
-rw-r--r-- | provider_src/com/android/email/EmailIntentService.java | 6 | ||||
-rw-r--r-- | provider_src/com/android/email/service/EmailBroadcastProcessorService.java | 23 |
3 files changed, 20 insertions, 14 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 71648e805..9dd32c260 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -486,7 +486,9 @@ </intent-filter> </receiver> <service - android:name=".service.EmailBroadcastProcessorService" /> + android:name=".service.EmailBroadcastProcessorService" + android:permission="android.permission.BIND_JOB_SERVICE" + android:exported="true" /> <!-- Support for DeviceAdmin / DevicePolicyManager. See SecurityPolicy class for impl. --> <receiver @@ -725,6 +727,7 @@ </service> <service android:name="com.android.email.EmailIntentService" + android:permission="android.permission.BIND_JOB_SERVICE" android:exported="false"> <intent-filter> <action android:name="com.android.mail.action.RESEND_NOTIFICATIONS" /> diff --git a/provider_src/com/android/email/EmailIntentService.java b/provider_src/com/android/email/EmailIntentService.java index 0c6d76178..5924c90ce 100644 --- a/provider_src/com/android/email/EmailIntentService.java +++ b/provider_src/com/android/email/EmailIntentService.java @@ -29,12 +29,12 @@ public class EmailIntentService extends MailIntentService { private static final String LOG_TAG = LogTag.getLogTag(); public EmailIntentService() { - super("EmailIntentService"); + super(); } @Override - protected void onHandleIntent(final Intent intent) { - super.onHandleIntent(intent); + protected void onHandleWork(final Intent intent) { + super.onHandleWork(intent); if (UIProvider.ACTION_UPDATE_NOTIFICATION.equals(intent.getAction())) { final NotificationController nc = diff --git a/provider_src/com/android/email/service/EmailBroadcastProcessorService.java b/provider_src/com/android/email/service/EmailBroadcastProcessorService.java index 7aa54673e..5d264f007 100644 --- a/provider_src/com/android/email/service/EmailBroadcastProcessorService.java +++ b/provider_src/com/android/email/service/EmailBroadcastProcessorService.java @@ -17,7 +17,6 @@ package com.android.email.service; import android.accounts.AccountManager; -import android.app.IntentService; import android.content.ComponentName; import android.content.ContentResolver; import android.content.ContentUris; @@ -34,6 +33,8 @@ import android.provider.ContactsContract; import android.text.TextUtils; import android.text.format.DateUtils; +import androidx.core.app.JobIntentService; + import com.android.email.EmailIntentService; import com.android.email.Preferences; import com.android.email.R; @@ -69,7 +70,9 @@ import java.util.Set; * This also handles the DeviceAdminReceiver in SecurityPolicy, because it is also * a BroadcastReceiver and requires the same processing semantics. */ -public class EmailBroadcastProcessorService extends IntentService { +public class EmailBroadcastProcessorService extends JobIntentService { + public static final int JOB_ID = 200; + // Action used for BroadcastReceiver entry point private static final String ACTION_BROADCAST = "broadcast_receiver"; @@ -81,11 +84,11 @@ public class EmailBroadcastProcessorService extends IntentService { private static final String ACTION_UPGRADE_BROADCAST = "upgrade_broadcast_receiver"; public EmailBroadcastProcessorService() { - // Class name will be the thread name. - super(EmailBroadcastProcessorService.class.getName()); + super(); + } - // Intent should be redelivered if the process gets killed before completing the job. - setIntentRedelivery(true); + public static void enqueueWork(Context context, Intent work) { + enqueueWork(context, EmailBroadcastProcessorService.class, JOB_ID, work); } /** @@ -95,13 +98,13 @@ public class EmailBroadcastProcessorService extends IntentService { Intent i = new Intent(context, EmailBroadcastProcessorService.class); i.setAction(ACTION_BROADCAST); i.putExtra(Intent.EXTRA_INTENT, broadcastIntent); - context.startService(i); + EmailBroadcastProcessorService.enqueueWork(context, i); } public static void processUpgradeBroadcastIntent(final Context context) { final Intent i = new Intent(context, EmailBroadcastProcessorService.class); i.setAction(ACTION_UPGRADE_BROADCAST); - context.startService(i); + EmailBroadcastProcessorService.enqueueWork(context, i); } /** @@ -113,11 +116,11 @@ public class EmailBroadcastProcessorService extends IntentService { Intent i = new Intent(context, EmailBroadcastProcessorService.class); i.setAction(ACTION_DEVICE_POLICY_ADMIN); i.putExtra(EXTRA_DEVICE_POLICY_ADMIN, message); - context.startService(i); + EmailBroadcastProcessorService.enqueueWork(context, i); } @Override - protected void onHandleIntent(Intent intent) { + protected void onHandleWork(Intent intent) { // This method is called on a worker thread. // Dispatch from entry point |