summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaman Tenneti <rtenneti@google.com>2019-08-04 00:55:31 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-08-04 00:55:31 -0700
commitae3b2d85cff2366a7c8310f72812a71ae2c5ba98 (patch)
tree7a11d03d29777691f30efb4f2f180e5705bc4d4f
parent2bf0c18734dbef08d63af62e9407cf4a4bae61f1 (diff)
parent4aa6a5ecd0db7b8232798c44610969ae711aea9a (diff)
downloadEmail-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.xml5
-rw-r--r--provider_src/com/android/email/EmailIntentService.java6
-rw-r--r--provider_src/com/android/email/service/EmailBroadcastProcessorService.java23
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