575 lines
30 KiB
Diff
575 lines
30 KiB
Diff
From: thermatk <thermatk@thermatk.com>
|
|
Date: Fri, 22 Jun 2018 17:11:38 +0200
|
|
Subject: kill GCM
|
|
|
|
---
|
|
...em_webview_bundle.AndroidManifest.expected | 6 -
|
|
chrome/android/BUILD.gn | 1 -
|
|
chrome/android/chrome_java_sources.gni | 5 -
|
|
chrome/android/java/AndroidManifest.xml | 53 -----
|
|
.../ChromeBackgroundTaskFactory.java | 3 -
|
|
.../services/gcm/GCMBackgroundTask.java | 1 -
|
|
components/background_task_scheduler/BUILD.gn | 1 -
|
|
.../internal/BUILD.gn | 1 -
|
|
...kgroundTaskSchedulerGcmNetworkManager.java | 199 +-----------------
|
|
components/gcm_driver/android/BUILD.gn | 1 -
|
|
.../gcm_driver/instance_id/android/BUILD.gn | 1 -
|
|
.../instance_id/InstanceIDBridge.java | 49 +----
|
|
components/sync/android/BUILD.gn | 1 -
|
|
13 files changed, 6 insertions(+), 316 deletions(-)
|
|
|
|
diff --git a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
|
|
--- a/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
|
|
+++ b/android_webview/expectations/system_webview_bundle.AndroidManifest.expected
|
|
@@ -19,11 +19,6 @@
|
|
android:multiArch="true"
|
|
android:name="org.chromium.android_webview.nonembedded.WebViewApkApplication"
|
|
android:use32bitAbi="true">
|
|
- <activity # DIFF-ANCHOR: ea1a94af
|
|
- android:exported="false"
|
|
- android:name="com.google.android.gms.common.api.GoogleApiActivity"
|
|
- android:theme="@android:style/Theme.Translucent.NoTitleBar">
|
|
- </activity> # DIFF-ANCHOR: ea1a94af
|
|
<activity # DIFF-ANCHOR: a4438884
|
|
android:exported="true"
|
|
android:icon="@drawable/icon_webview"
|
|
@@ -59,7 +54,6 @@
|
|
android:visibleToInstantApps="true">
|
|
</activity-alias> # DIFF-ANCHOR: b7cc06e9
|
|
<meta-data android:name="$PACKAGE.WebViewLibrary" android:value="libwebviewchromium.so"/>
|
|
- <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
|
|
<meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES" android:value="0"/>
|
|
<meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES" android:value="40"/>
|
|
<provider # DIFF-ANCHOR: a5e78e63
|
|
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
|
--- a/chrome/android/BUILD.gn
|
|
+++ b/chrome/android/BUILD.gn
|
|
@@ -510,7 +510,6 @@ android_library("chrome_java") {
|
|
"//third_party/android_deps:material_design_java",
|
|
"//third_party/android_deps:protobuf_lite_runtime_java",
|
|
"//third_party/android_media:android_media_java",
|
|
- "//third_party/android_sdk:android_gcm_java",
|
|
"//third_party/android_sdk/androidx_browser:androidx_browser_java",
|
|
"//third_party/android_swipe_refresh:android_swipe_refresh_java",
|
|
"//third_party/blink/public:blink_headers_java",
|
|
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
|
--- a/chrome/android/chrome_java_sources.gni
|
|
+++ b/chrome/android/chrome_java_sources.gni
|
|
@@ -16,7 +16,6 @@ chrome_java_sources = [
|
|
"java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java",
|
|
"java/src/org/chromium/chrome/browser/ChromeActivitySessionTracker.java",
|
|
"java/src/org/chromium/chrome/browser/ChromeApplication.java",
|
|
- "java/src/org/chromium/chrome/browser/ChromeBackgroundServiceImpl.java",
|
|
"java/src/org/chromium/chrome/browser/ChromeBackupAgentImpl.java",
|
|
"java/src/org/chromium/chrome/browser/ChromeBackupWatcher.java",
|
|
"java/src/org/chromium/chrome/browser/ChromeBaseAppCompatActivity.java",
|
|
@@ -1344,10 +1343,6 @@ chrome_java_sources = [
|
|
"java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfShareActivity.java",
|
|
"java/src/org/chromium/chrome/browser/services/AccountsChangedReceiver.java",
|
|
"java/src/org/chromium/chrome/browser/services/AndroidChildAccountHelper.java",
|
|
- "java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerServiceImpl.java",
|
|
- "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundServiceImpl.java",
|
|
- "java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java",
|
|
- "java/src/org/chromium/chrome/browser/services/gcm/GcmUma.java",
|
|
"java/src/org/chromium/chrome/browser/settings/MainSettings.java",
|
|
"java/src/org/chromium/chrome/browser/settings/SettingsActivity.java",
|
|
"java/src/org/chromium/chrome/browser/settings/SettingsLauncherImpl.java",
|
|
diff --git a/chrome/android/java/AndroidManifest.xml b/chrome/android/java/AndroidManifest.xml
|
|
--- a/chrome/android/java/AndroidManifest.xml
|
|
+++ b/chrome/android/java/AndroidManifest.xml
|
|
@@ -81,23 +81,18 @@ by a child template that "extends" this file.
|
|
<permission android:name="{{ manifest_package }}.permission.CHILD_SERVICE" android:protectionLevel="signature" />
|
|
<permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem" />
|
|
<permission android:name="{{ manifest_package }}.TOS_ACKED" android:protectionLevel="signatureOrSystem" />
|
|
- <!-- Only chrome can receive the messages and registration result -->
|
|
- <permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE"
|
|
- android:protectionLevel="signature" />
|
|
<permission android:name="{{ manifest_package }}.permission.DEBUG"
|
|
android:label="Debug web pages"
|
|
android:protectionLevel="signature" />
|
|
<permission android:name="{{ manifest_package }}.permission.TRANSLATE"
|
|
android:protectionLevel="signature" />
|
|
|
|
- <uses-permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE" />
|
|
<uses-permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" />
|
|
<uses-permission android:name="{{ manifest_package }}.TOS_ACKED" />
|
|
|
|
<uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" />
|
|
<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
|
|
<uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
|
|
- <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
|
|
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
|
|
|
|
{% block extra_uses_permissions %}
|
|
@@ -970,36 +965,6 @@ by a child template that "extends" this file.
|
|
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
|
|
android:hardwareAccelerated="false" />
|
|
|
|
- <!-- Receiver for GCM messages. -->
|
|
- <receiver android:name="com.google.android.gms.gcm.GcmReceiver"
|
|
- android:exported="true"
|
|
- android:permission="com.google.android.c2dm.permission.SEND">
|
|
- <intent-filter>
|
|
- <action android:name="com.google.android.c2dm.intent.RECEIVE" />
|
|
- <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
|
|
- <category android:name="{{ manifest_package }}"/>
|
|
- </intent-filter>
|
|
- </receiver>
|
|
- <!-- GcmTaskService for registration for Invalidations. Not actually implemented anymore. -->
|
|
- <service android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
|
|
- android:exported="true"
|
|
- android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" >
|
|
- <intent-filter>
|
|
- <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
|
|
- </intent-filter>
|
|
- </service>
|
|
- <!-- GcmListenerService for messages from GCM. -->
|
|
- <service android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService"
|
|
- android:exported="false" >
|
|
- <intent-filter>
|
|
- <action android:name="com.google.android.c2dm.intent.RECEIVE" />
|
|
- </intent-filter>
|
|
- </service>
|
|
- <service android:name="org.chromium.chrome.browser.services.gcm.GCMBackgroundService"
|
|
- android:exported="false"/>
|
|
- <service android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender"
|
|
- android:exported="false"/>
|
|
-
|
|
<!-- Android Notification service listener -->
|
|
<service android:name="org.chromium.chrome.browser.notifications.NotificationService"
|
|
android:exported="false"/>
|
|
@@ -1023,28 +988,10 @@ by a child template that "extends" this file.
|
|
android:exported="false"
|
|
android:permission="android.permission.BIND_JOB_SERVICE"/>
|
|
|
|
- <!-- Background Task Scheduler GCM task service -->
|
|
- <service android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskGcmTaskService"
|
|
- android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
|
|
- android:exported="true">
|
|
- <intent-filter>
|
|
- <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
|
|
- </intent-filter>
|
|
- </service>
|
|
-
|
|
<!-- Background Task Scheduler alarm receiver -->
|
|
<receiver android:name="org.chromium.components.background_task_scheduler.internal.BackgroundTaskBroadcastReceiver"
|
|
android:exported="false" />
|
|
|
|
- <!-- GcmTaskService implementation to wake Chrome on scheduled events -->
|
|
- <service android:name="org.chromium.chrome.browser.ChromeBackgroundService"
|
|
- android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
|
|
- android:exported="true">
|
|
- <intent-filter>
|
|
- <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
|
|
- </intent-filter>
|
|
- </service>
|
|
-
|
|
<service android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
|
|
android:exported="true"
|
|
tools:ignore="ExportedService" />
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/background_task_scheduler/ChromeBackgroundTaskFactory.java
|
|
@@ -19,7 +19,6 @@ import org.chromium.chrome.browser.offlinepages.OfflineBackgroundTask;
|
|
import org.chromium.chrome.browser.offlinepages.prefetch.OfflineNotificationBackgroundTask;
|
|
import org.chromium.chrome.browser.offlinepages.prefetch.PrefetchBackgroundTask;
|
|
import org.chromium.chrome.browser.omaha.OmahaService;
|
|
-import org.chromium.chrome.browser.services.gcm.GCMBackgroundTask;
|
|
import org.chromium.chrome.browser.webapps.WebApkUpdateTask;
|
|
import org.chromium.components.background_task_scheduler.BackgroundTask;
|
|
import org.chromium.components.background_task_scheduler.BackgroundTaskFactory;
|
|
@@ -59,8 +58,6 @@ public class ChromeBackgroundTaskFactory implements BackgroundTaskFactory {
|
|
switch (taskId) {
|
|
case TaskIds.OMAHA_JOB_ID:
|
|
return new OmahaService();
|
|
- case TaskIds.GCM_BACKGROUND_TASK_JOB_ID:
|
|
- return new GCMBackgroundTask();
|
|
case TaskIds.OFFLINE_PAGES_BACKGROUND_JOB_ID:
|
|
return new OfflineBackgroundTask();
|
|
case TaskIds.OFFLINE_PAGES_PREFETCH_JOB_ID:
|
|
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java b/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java
|
|
--- a/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java
|
|
+++ b/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java
|
|
@@ -42,7 +42,6 @@ public class GCMBackgroundTask implements BackgroundTask {
|
|
return false;
|
|
}
|
|
|
|
- ChromeGcmListenerServiceImpl.dispatchMessageToDriver(message);
|
|
return false;
|
|
}
|
|
|
|
diff --git a/components/background_task_scheduler/BUILD.gn b/components/background_task_scheduler/BUILD.gn
|
|
--- a/components/background_task_scheduler/BUILD.gn
|
|
+++ b/components/background_task_scheduler/BUILD.gn
|
|
@@ -104,7 +104,6 @@ if (is_android) {
|
|
bypass_platform_checks = true
|
|
testonly = true
|
|
sources = [
|
|
- "internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskGcmTaskServiceTest.java",
|
|
"internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskJobServiceTest.java",
|
|
"internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerAlarmManagerTest.java",
|
|
"internal/android/junit/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManagerTest.java",
|
|
diff --git a/components/background_task_scheduler/internal/BUILD.gn b/components/background_task_scheduler/internal/BUILD.gn
|
|
--- a/components/background_task_scheduler/internal/BUILD.gn
|
|
+++ b/components/background_task_scheduler/internal/BUILD.gn
|
|
@@ -16,7 +16,6 @@ if (is_android) {
|
|
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerAlarmManager.java",
|
|
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerDelegate.java",
|
|
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerFactoryInternal.java",
|
|
- "android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java",
|
|
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerImpl.java",
|
|
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerJobService.java",
|
|
"android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerPrefs.java",
|
|
diff --git a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
|
|
--- a/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
|
|
+++ b/components/background_task_scheduler/internal/android/java/src/org/chromium/components/background_task_scheduler/internal/BackgroundTaskSchedulerGcmNetworkManager.java
|
|
@@ -44,211 +44,14 @@ class BackgroundTaskSchedulerGcmNetworkManager implements BackgroundTaskSchedule
|
|
sClock = clock;
|
|
}
|
|
|
|
- /**
|
|
- * Checks if a task expired, based on the current time of the service.
|
|
- *
|
|
- * @param taskParams parameters sent to the service, which contain the scheduling information
|
|
- * regarding expiration.
|
|
- * @param currentTimeMs the current time of the service.
|
|
- * @return true if the task expired and false otherwise.
|
|
- */
|
|
- static boolean didTaskExpire(TaskParams taskParams, long currentTimeMs) {
|
|
- Bundle extras = taskParams.getExtras();
|
|
- if (extras == null || !extras.containsKey(BACKGROUND_TASK_SCHEDULE_TIME_KEY)) {
|
|
- return false;
|
|
- }
|
|
-
|
|
- long scheduleTimeMs = extras.getLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY);
|
|
- if (extras.containsKey(BACKGROUND_TASK_END_TIME_KEY)) {
|
|
- long endTimeMs =
|
|
- extras.getLong(BackgroundTaskSchedulerDelegate.BACKGROUND_TASK_END_TIME_KEY);
|
|
- return TaskInfo.OneOffInfo.getExpirationStatus(
|
|
- scheduleTimeMs, endTimeMs, currentTimeMs);
|
|
- } else {
|
|
- long intervalTimeMs = extras.getLong(BACKGROUND_TASK_INTERVAL_TIME_KEY);
|
|
-
|
|
- // If flex is never set, it is given a default value of 10% of the period time, as
|
|
- // per the GcmNetworkManager behaviour. This default value is set in
|
|
- // https://developers.google.com/android/reference/com/google/android/gms/gcm/PeriodicTask.
|
|
- double defaultFlexAsFractionOfInterval = 0.1f;
|
|
-
|
|
- long flexTimeMs = extras.getLong(BACKGROUND_TASK_FLEX_TIME_KEY,
|
|
- /*defaultValue=*/(long) (defaultFlexAsFractionOfInterval * intervalTimeMs));
|
|
-
|
|
- return TaskInfo.PeriodicInfo.getExpirationStatus(
|
|
- scheduleTimeMs, intervalTimeMs, flexTimeMs, currentTimeMs);
|
|
- }
|
|
- }
|
|
-
|
|
- /**
|
|
- * Retrieves the {@link TaskParameters} from the {@link TaskParams}, which are passed as
|
|
- * one of the keys. Only values valid for {@link android.os.BaseBundle} are supported, and other
|
|
- * values are stripped at the time when the task is scheduled.
|
|
- *
|
|
- * @param taskParams the {@link TaskParams} to extract the {@link TaskParameters} from.
|
|
- * @return the {@link TaskParameters} for the current job.
|
|
- */
|
|
- static TaskParameters getTaskParametersFromTaskParams(@NonNull TaskParams taskParams) {
|
|
- int taskId;
|
|
- try {
|
|
- taskId = Integer.parseInt(taskParams.getTag());
|
|
- } catch (NumberFormatException e) {
|
|
- Log.e(TAG, "Cound not parse task ID from task tag: " + taskParams.getTag());
|
|
- return null;
|
|
- }
|
|
-
|
|
- TaskParameters.Builder builder = TaskParameters.create(taskId);
|
|
-
|
|
- Bundle extras = taskParams.getExtras();
|
|
- Bundle taskExtras = extras.getBundle(BACKGROUND_TASK_EXTRAS_KEY);
|
|
- builder.addExtras(taskExtras);
|
|
-
|
|
- return builder.build();
|
|
- }
|
|
-
|
|
- @VisibleForTesting
|
|
- static Task createTaskFromTaskInfo(@NonNull TaskInfo taskInfo) {
|
|
- Bundle taskExtras = new Bundle();
|
|
- taskExtras.putBundle(BACKGROUND_TASK_EXTRAS_KEY, taskInfo.getExtras());
|
|
-
|
|
- TaskBuilderVisitor taskBuilderVisitor = new TaskBuilderVisitor(taskExtras);
|
|
- taskInfo.getTimingInfo().accept(taskBuilderVisitor);
|
|
- Task.Builder builder = taskBuilderVisitor.getBuilder();
|
|
-
|
|
- builder.setPersisted(taskInfo.isPersisted())
|
|
- .setRequiredNetwork(getGcmNetworkManagerNetworkTypeFromTypeFromTaskNetworkType(
|
|
- taskInfo.getRequiredNetworkType()))
|
|
- .setRequiresCharging(taskInfo.requiresCharging())
|
|
- .setService(BackgroundTaskGcmTaskService.class)
|
|
- .setTag(taskIdToTaskTag(taskInfo.getTaskId()))
|
|
- .setUpdateCurrent(taskInfo.shouldUpdateCurrent());
|
|
-
|
|
- return builder.build();
|
|
- }
|
|
-
|
|
- private static class TaskBuilderVisitor implements TaskInfo.TimingInfoVisitor {
|
|
- private Task.Builder mBuilder;
|
|
- private final Bundle mTaskExtras;
|
|
-
|
|
- TaskBuilderVisitor(Bundle taskExtras) {
|
|
- mTaskExtras = taskExtras;
|
|
- }
|
|
-
|
|
- // Only valid after a TimingInfo object was visited.
|
|
- Task.Builder getBuilder() {
|
|
- return mBuilder;
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void visit(TaskInfo.OneOffInfo oneOffInfo) {
|
|
- if (oneOffInfo.expiresAfterWindowEndTime()) {
|
|
- mTaskExtras.putLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY, sClock.currentTimeMillis());
|
|
- mTaskExtras.putLong(BACKGROUND_TASK_END_TIME_KEY, oneOffInfo.getWindowEndTimeMs());
|
|
- }
|
|
-
|
|
- OneoffTask.Builder builder = new OneoffTask.Builder();
|
|
- long windowStartSeconds = oneOffInfo.hasWindowStartTimeConstraint()
|
|
- ? TimeUnit.MILLISECONDS.toSeconds(oneOffInfo.getWindowStartTimeMs())
|
|
- : 0;
|
|
- long windowEndTimeMs = oneOffInfo.getWindowEndTimeMs();
|
|
- if (oneOffInfo.expiresAfterWindowEndTime()) {
|
|
- windowEndTimeMs += DEADLINE_DELTA_MS;
|
|
- }
|
|
- builder.setExecutionWindow(
|
|
- windowStartSeconds, TimeUnit.MILLISECONDS.toSeconds(windowEndTimeMs));
|
|
- builder.setExtras(mTaskExtras);
|
|
- mBuilder = builder;
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void visit(TaskInfo.PeriodicInfo periodicInfo) {
|
|
- if (periodicInfo.expiresAfterWindowEndTime()) {
|
|
- mTaskExtras.putLong(BACKGROUND_TASK_SCHEDULE_TIME_KEY, sClock.currentTimeMillis());
|
|
- mTaskExtras.putLong(
|
|
- BACKGROUND_TASK_INTERVAL_TIME_KEY, periodicInfo.getIntervalMs());
|
|
- if (periodicInfo.hasFlex()) {
|
|
- mTaskExtras.putLong(BACKGROUND_TASK_FLEX_TIME_KEY, periodicInfo.getFlexMs());
|
|
- }
|
|
- }
|
|
-
|
|
- PeriodicTask.Builder builder = new PeriodicTask.Builder();
|
|
- builder.setPeriod(TimeUnit.MILLISECONDS.toSeconds(periodicInfo.getIntervalMs()));
|
|
- if (periodicInfo.hasFlex()) {
|
|
- builder.setFlex(TimeUnit.MILLISECONDS.toSeconds(periodicInfo.getFlexMs()));
|
|
- }
|
|
- builder.setExtras(mTaskExtras);
|
|
- mBuilder = builder;
|
|
- }
|
|
-
|
|
- @Override
|
|
- public void visit(TaskInfo.ExactInfo exactInfo) {
|
|
- throw new RuntimeException("Exact tasks should not be scheduled with "
|
|
- + "GcmNetworkManager.");
|
|
- }
|
|
- }
|
|
-
|
|
- private static int getGcmNetworkManagerNetworkTypeFromTypeFromTaskNetworkType(
|
|
- @TaskInfo.NetworkType int networkType) {
|
|
- switch (networkType) {
|
|
- // This is correct: GcmNM ANY means no network is guaranteed.
|
|
- case TaskInfo.NetworkType.NONE:
|
|
- return Task.NETWORK_STATE_ANY;
|
|
- case TaskInfo.NetworkType.ANY:
|
|
- return Task.NETWORK_STATE_CONNECTED;
|
|
- case TaskInfo.NetworkType.UNMETERED:
|
|
- return Task.NETWORK_STATE_UNMETERED;
|
|
- default:
|
|
- assert false;
|
|
- }
|
|
- return Task.NETWORK_STATE_ANY;
|
|
- }
|
|
-
|
|
@Override
|
|
public boolean schedule(Context context, @NonNull TaskInfo taskInfo) {
|
|
ThreadUtils.assertOnUiThread();
|
|
-
|
|
- GcmNetworkManager gcmNetworkManager = getGcmNetworkManager(context);
|
|
- if (gcmNetworkManager == null) {
|
|
- Log.e(TAG, "GcmNetworkManager is not available.");
|
|
- return false;
|
|
- }
|
|
-
|
|
- try {
|
|
- Task task = createTaskFromTaskInfo(taskInfo);
|
|
- gcmNetworkManager.schedule(task);
|
|
- } catch (IllegalArgumentException e) {
|
|
- String gcmErrorMessage = e.getMessage() == null ? "null." : e.getMessage();
|
|
- Log.e(TAG,
|
|
- "GcmNetworkManager failed to schedule task, gcm message: " + gcmErrorMessage);
|
|
- return false;
|
|
- }
|
|
-
|
|
- return true;
|
|
+ return false;
|
|
}
|
|
|
|
@Override
|
|
public void cancel(Context context, int taskId) {
|
|
- ThreadUtils.assertOnUiThread();
|
|
-
|
|
- GcmNetworkManager gcmNetworkManager = getGcmNetworkManager(context);
|
|
- if (gcmNetworkManager == null) {
|
|
- Log.e(TAG, "GcmNetworkManager is not available.");
|
|
- return;
|
|
- }
|
|
-
|
|
- try {
|
|
- gcmNetworkManager.cancelTask(
|
|
- taskIdToTaskTag(taskId), BackgroundTaskGcmTaskService.class);
|
|
- } catch (IllegalArgumentException e) {
|
|
- Log.e(TAG, "GcmNetworkManager failed to cancel task.");
|
|
- }
|
|
- }
|
|
-
|
|
- private GcmNetworkManager getGcmNetworkManager(Context context) {
|
|
- if (ChromiumPlayServicesAvailability.isGooglePlayServicesAvailable(context)) {
|
|
- return GcmNetworkManager.getInstance(context);
|
|
- }
|
|
- return null;
|
|
}
|
|
|
|
private static String taskIdToTaskTag(int taskId) {
|
|
diff --git a/components/gcm_driver/android/BUILD.gn b/components/gcm_driver/android/BUILD.gn
|
|
--- a/components/gcm_driver/android/BUILD.gn
|
|
+++ b/components/gcm_driver/android/BUILD.gn
|
|
@@ -15,7 +15,6 @@ android_library("gcm_driver_java") {
|
|
"//content/public/android:content_java",
|
|
"//third_party/android_deps:androidx_annotation_annotation_java",
|
|
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
|
|
- "//third_party/android_sdk:android_gcm_java",
|
|
]
|
|
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
|
|
|
|
diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
|
|
--- a/components/gcm_driver/instance_id/android/BUILD.gn
|
|
+++ b/components/gcm_driver/instance_id/android/BUILD.gn
|
|
@@ -28,7 +28,6 @@ android_library("instance_id_driver_java") {
|
|
|
|
sources = [
|
|
"java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java",
|
|
- "java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java",
|
|
]
|
|
}
|
|
|
|
diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
|
|
--- a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
|
|
+++ b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
|
|
@@ -29,7 +29,6 @@ public class InstanceIDBridge {
|
|
* Underlying InstanceIDWithSubtype. May be shared by multiple InstanceIDBridges. Must be
|
|
* initialized on a background thread.
|
|
*/
|
|
- private InstanceIDWithSubtype mInstanceID;
|
|
|
|
private static boolean sBlockOnAsyncTasksForTesting;
|
|
|
|
@@ -74,7 +73,7 @@ public class InstanceIDBridge {
|
|
new BridgeAsyncTask<String>() {
|
|
@Override
|
|
protected String doBackgroundWork() {
|
|
- return mInstanceID.getId();
|
|
+ return "";
|
|
}
|
|
@Override
|
|
protected void sendResultToNative(String id) {
|
|
@@ -90,7 +89,7 @@ public class InstanceIDBridge {
|
|
new BridgeAsyncTask<Long>() {
|
|
@Override
|
|
protected Long doBackgroundWork() {
|
|
- return mInstanceID.getCreationTime();
|
|
+ return 0L;
|
|
}
|
|
@Override
|
|
protected void sendResultToNative(Long creationTime) {
|
|
@@ -116,21 +115,7 @@ public class InstanceIDBridge {
|
|
new BridgeAsyncTask<String>() {
|
|
@Override
|
|
protected String doBackgroundWork() {
|
|
- try {
|
|
- // TODO(knollr): Migrate stored LazySubscriptionsManager data to
|
|
- // SubscriptionFlagManager.
|
|
- LazySubscriptionsManager.storeLazinessInformation(
|
|
- LazySubscriptionsManager.buildSubscriptionUniqueId(
|
|
- mSubtype, authorizedEntity),
|
|
- (flags & InstanceIDFlags.IS_LAZY) == InstanceIDFlags.IS_LAZY);
|
|
- SubscriptionFlagManager.setFlags(
|
|
- SubscriptionFlagManager.buildSubscriptionUniqueId(
|
|
- mSubtype, authorizedEntity),
|
|
- flags);
|
|
- return mInstanceID.getToken(authorizedEntity, scope, extras);
|
|
- } catch (IOException ex) {
|
|
- return "";
|
|
- }
|
|
+ return "";
|
|
}
|
|
@Override
|
|
protected void sendResultToNative(String token) {
|
|
@@ -147,21 +132,7 @@ public class InstanceIDBridge {
|
|
new BridgeAsyncTask<Boolean>() {
|
|
@Override
|
|
protected Boolean doBackgroundWork() {
|
|
- try {
|
|
- mInstanceID.deleteToken(authorizedEntity, scope);
|
|
- String subscriptionId = LazySubscriptionsManager.buildSubscriptionUniqueId(
|
|
- mSubtype, authorizedEntity);
|
|
- if (LazySubscriptionsManager.isSubscriptionLazy(subscriptionId)) {
|
|
- LazySubscriptionsManager.deletePersistedMessagesForSubscriptionId(
|
|
- subscriptionId);
|
|
- }
|
|
- SubscriptionFlagManager.clearFlags(
|
|
- SubscriptionFlagManager.buildSubscriptionUniqueId(
|
|
- mSubtype, authorizedEntity));
|
|
- return true;
|
|
- } catch (IOException ex) {
|
|
- return false;
|
|
- }
|
|
+ return false;
|
|
}
|
|
@Override
|
|
protected void sendResultToNative(Boolean success) {
|
|
@@ -177,12 +148,7 @@ public class InstanceIDBridge {
|
|
new BridgeAsyncTask<Boolean>() {
|
|
@Override
|
|
protected Boolean doBackgroundWork() {
|
|
- try {
|
|
- mInstanceID.deleteInstanceID();
|
|
- return true;
|
|
- } catch (IOException ex) {
|
|
- return false;
|
|
- }
|
|
+ return true;
|
|
}
|
|
@Override
|
|
protected void sendResultToNative(Boolean success) {
|
|
@@ -212,11 +178,6 @@ public class InstanceIDBridge {
|
|
@Override
|
|
@SuppressWarnings("NoSynchronizedThisCheck") // Only used/accessible by native.
|
|
protected Result doInBackground() {
|
|
- synchronized (InstanceIDBridge.this) {
|
|
- if (mInstanceID == null) {
|
|
- mInstanceID = InstanceIDWithSubtype.getInstance(mSubtype);
|
|
- }
|
|
- }
|
|
return doBackgroundWork();
|
|
}
|
|
@Override
|
|
diff --git a/components/sync/android/BUILD.gn b/components/sync/android/BUILD.gn
|
|
--- a/components/sync/android/BUILD.gn
|
|
+++ b/components/sync/android/BUILD.gn
|
|
@@ -13,7 +13,6 @@ android_library("sync_java") {
|
|
"//net/android:net_java",
|
|
"//third_party/android_deps:androidx_annotation_annotation_java",
|
|
"//third_party/android_deps:com_google_code_findbugs_jsr305_java",
|
|
- "//third_party/android_sdk:android_gcm_java",
|
|
]
|
|
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
|
|
srcjar_deps = [ ":java_enums" ]
|
|
--
|
|
2.17.1
|
|
|