New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 882887 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Feature



Sign in to add a comment

FCM: Support Lazy Subscription

Project Member Reported by mamir@chromium.org, Sep 11

Issue description

Tracking issue for design/implementation changes needed to support lazy FCM subscriptions.

Lazy FCM subscriptions don't require the FCM messages to be delivered immediately if the the browser isn't in the foreground.
Instead they are queued and replayed next time the browser is foregrounded. This helps to avoid unnecessarily waking up the browser.

This is useful for Sync invalidation for example where frequent FCM messages are expected and it's not critical to process them right away if the browser isn't in the foreground.


 
Cc: -bever...@google.com peter@chromium.org
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0

commit 452e83ef0761507e5aa2e71e2c3b5a02d17f75a0
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Wed Sep 12 10:25:21 2018

[FCM] Add is_lazy parameter to InstanceID::GetToken() API

This CL adds a new paramter to the InstanceID::GetToken() API. This is
in preparation for later CLs that would actually make use of this
parameter.

TBR=dewittj@chromium.org,pavely@chromium.org
dewittj@chromium.org: Please review changes to chrome/browser/offline_pages/prefetch/prefetch_instance_id_proxy.cc
pavely@chromium.org: Please review changes to components/invalidation/impl/fcm_network_handler*.cc

Bug: 882887
Change-Id: I45f9b695d7cf09cfad50d9d03419353d74fedbd2
Reviewed-on: https://chromium-review.googlesource.com/1219690
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Marc Treib <treib@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590637}
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/chrome/browser/extensions/api/instance_id/instance_id_api.cc
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/chrome/browser/offline_pages/prefetch/prefetch_instance_id_proxy.cc
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/chrome/browser/push_messaging/push_messaging_service_impl.cc
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/gcm_driver/instance_id/instance_id.h
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/gcm_driver/instance_id/instance_id_android.cc
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/gcm_driver/instance_id/instance_id_android.h
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/gcm_driver/instance_id/instance_id_driver_unittest.cc
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/gcm_driver/instance_id/instance_id_impl.cc
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/gcm_driver/instance_id/instance_id_impl.h
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/invalidation/impl/fcm_network_handler.cc
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/invalidation/impl/fcm_network_handler_unittests.cc
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/ntp_snippets/breaking_news/breaking_news_gcm_app_handler.cc
[modify] https://crrev.com/452e83ef0761507e5aa2e71e2c3b5a02d17f75a0/components/ntp_snippets/breaking_news/breaking_news_gcm_app_handler_unittest.cc

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/193e685d5505eb36ff5408c29e50d79826ccfe53

commit 193e685d5505eb36ff5408c29e50d79826ccfe53
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Thu Sep 20 13:06:05 2018

[FCM] Store subscription laziness information in SharedPreferences

This CL adds the functionality to store the ids of lazy subscriptions
in SharedPeferences. Later CL will consume this information to decide
whether the FCM message should be deferred until there are visible
activities or not.

Bug: 882887
Change-Id: Ic28dbfeb2b77020cd9b5e02b79f055e477d55aed
Reviewed-on: https://chromium-review.googlesource.com/1221532
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592774}
[modify] https://crrev.com/193e685d5505eb36ff5408c29e50d79826ccfe53/components/gcm_driver/instance_id/android/BUILD.gn
[modify] https://crrev.com/193e685d5505eb36ff5408c29e50d79826ccfe53/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
[add] https://crrev.com/193e685d5505eb36ff5408c29e50d79826ccfe53/components/gcm_driver/instance_id/android/junit/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridgeTest.java
[modify] https://crrev.com/193e685d5505eb36ff5408c29e50d79826ccfe53/testing/buildbot/chromium.android.json
[modify] https://crrev.com/193e685d5505eb36ff5408c29e50d79826ccfe53/testing/buildbot/chromium.clang.json
[modify] https://crrev.com/193e685d5505eb36ff5408c29e50d79826ccfe53/testing/buildbot/gn_isolate_map.pyl
[modify] https://crrev.com/193e685d5505eb36ff5408c29e50d79826ccfe53/testing/buildbot/manage.py
[modify] https://crrev.com/193e685d5505eb36ff5408c29e50d79826ccfe53/testing/buildbot/test_suites.pyl

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d34cd2c90ffc0b62f2273aecabac130fb551e495

commit d34cd2c90ffc0b62f2273aecabac130fb551e495
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Fri Oct 12 15:56:32 2018

[FCM] Store laziness information in a separate SharedPreferences

Lazy sunbscription information were stored in the default
SharedPreferences file.
However, the plan now is to store the queued FCM messages in
SharedPrefernces as well. Therefore, it makes sense to use their own
SharedPrefences file for that.

Bug: 882887
Change-Id: Id78642f5c849c1458db04fdae8b85ceaf328fff6
Reviewed-on: https://chromium-review.googlesource.com/c/1264206
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599233}
[modify] https://crrev.com/d34cd2c90ffc0b62f2273aecabac130fb551e495/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java

Project Member

Comment 5 by bugdroid1@chromium.org, Oct 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/120760648e9d28bea5bacc8b82071ba1167577c5

commit 120760648e9d28bea5bacc8b82071ba1167577c5
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Fri Oct 19 10:54:34 2018

[FCM] Convert a GCMMessage to and from a JSONObject

This CL adds the support to convert GCMMessages to/from JSONObject

In preparation for later patches that would actually persist
GCMMessages in SharedPreferences as JSONObjects.

GCMMessages are persisted for lazy FCM subscription that don't require
immediate delivery if Chrome is not in the foreground.

Bug: 882887
Change-Id: I674eae93262ee339c574b2f18da206785ebbadfb
Reviewed-on: https://chromium-review.googlesource.com/c/1283609
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601108}
[modify] https://crrev.com/120760648e9d28bea5bacc8b82071ba1167577c5/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/GCMBackgroundTask.java
[modify] https://crrev.com/120760648e9d28bea5bacc8b82071ba1167577c5/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMMessage.java
[modify] https://crrev.com/120760648e9d28bea5bacc8b82071ba1167577c5/components/gcm_driver/android/junit/src/org/chromium/components/gcm_driver/GCMMessageTest.java

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 25

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d1ff659a18ccba818dc797ff17a5f948c45aac0b

commit d1ff659a18ccba818dc797ff17a5f948c45aac0b
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Thu Oct 25 10:39:25 2018

[FCM] Persist/read GCMMessages to/from SharedPreferences

This CL adds the functionality to persist and read GCMMessages to
SharedPreferences. Keys in the SharedPreferences are
the subscriptions ids, and values are JSONArray's carrying
the persisted messages.

GCMDriver defines a threshold of how many messages persisted by
a subscription id.

Later patches would use this functionality to store messages sent to
lazy subscription when Chrome is in the background and replays them
next time Chrome is running.

Bug: 882887
Change-Id: Id3c02b5c5aec2b2348fb5309a93360cd0b663a7d
Reviewed-on: https://chromium-review.googlesource.com/c/1268257
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602666}
[modify] https://crrev.com/d1ff659a18ccba818dc797ff17a5f948c45aac0b/components/gcm_driver/android/BUILD.gn
[modify] https://crrev.com/d1ff659a18ccba818dc797ff17a5f948c45aac0b/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java
[modify] https://crrev.com/d1ff659a18ccba818dc797ff17a5f948c45aac0b/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMMessage.java
[add] https://crrev.com/d1ff659a18ccba818dc797ff17a5f948c45aac0b/components/gcm_driver/android/junit/src/org/chromium/components/gcm_driver/GCMDriverTest.java
[modify] https://crrev.com/d1ff659a18ccba818dc797ff17a5f948c45aac0b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java

Project Member

Comment 7 by bugdroid1@chromium.org, Oct 26

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d888d5289cc48868db82ca8d4771221d7bedd652

commit d888d5289cc48868db82ca8d4771221d7bedd652
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Fri Oct 26 21:36:17 2018

[FCM] Unify store/read laziness information and messages API

The APIs for storing the laziness information in InstanceIDBridge
accept the app id and the sender id as parameters, and internally call
buildSubscriptionUniqueId()

However, the APIs for storing the messages themselves in GCMDriver
accept the subscription ids directly.

This CL does the following:
1- It unifies both APIs to accept subscription ids.

2- It also moves all APIs to the a new class LazySubscriptionsManager.
This way all APIs live next to each other and also simplifies
the dependencies between both the InstanceIDBridge and the GCMDriver.

3- Moves the relevant tests from InstanceIDBridgeTest.java and deletes
it since it contains no other test.

Bug: 882887
Change-Id: I4b7937ba1adce72a1312e49d541f9398bb7b9ec9
Reviewed-on: https://chromium-review.googlesource.com/c/1288432
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603201}
[modify] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/components/gcm_driver/android/BUILD.gn
[modify] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java
[add] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/LazySubscriptionsManager.java
[rename] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/components/gcm_driver/android/junit/src/org/chromium/components/gcm_driver/LazySubscriptionsManagerTest.java
[modify] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/components/gcm_driver/instance_id/android/BUILD.gn
[modify] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java
[delete] https://crrev.com/954c951386bc54c23c34a1296e383ef74b7bf4fe/components/gcm_driver/instance_id/android/junit/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridgeTest.java
[modify] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/testing/buildbot/chromium.android.json
[modify] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/testing/buildbot/chromium.clang.json
[modify] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/testing/buildbot/gn_isolate_map.pyl
[modify] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/testing/buildbot/manage.py
[modify] https://crrev.com/d888d5289cc48868db82ca8d4771221d7bedd652/testing/buildbot/test_suites.pyl

Project Member

Comment 8 by bugdroid1@chromium.org, Oct 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1700f454376bacf3e779d96e73a713dc24924e26

commit 1700f454376bacf3e779d96e73a713dc24924e26
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Mon Oct 29 10:19:44 2018

[FCM] Store laziness information

This adds the functionality of storing laziness information back.
It has been removed to avoid circular dependency due to a bug  in the
build system

TBR=peter@chromium.org

Bug: 882887
Change-Id: Ic9a26956909c3dbbdfae71e0d5f0c94a73896e18
Reviewed-on: https://chromium-review.googlesource.com/c/1301526
Reviewed-by: Peter Conn <peconn@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603447}
[modify] https://crrev.com/1700f454376bacf3e779d96e73a713dc24924e26/components/gcm_driver/instance_id/android/BUILD.gn
[modify] https://crrev.com/1700f454376bacf3e779d96e73a713dc24924e26/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9a7b1e01fdffc115a1014f48535b111210250b6c

commit 9a7b1e01fdffc115a1014f48535b111210250b6c
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Mon Nov 12 12:48:12 2018

[FCM] Record UMA histogram for for how many message are queued

FCM messages sent to lazy subscriptions are persisted if Chrome is in
the background. This CL records UMA histogram for how many messages
are stored at the time a message arrives. This is to estimate how large
does the queue grow.

Bug: 882887
Change-Id: I1f11e60862b2f356d4103faea45f54901597f27f
Reviewed-on: https://chromium-review.googlesource.com/c/1296589
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607203}
[modify] https://crrev.com/9a7b1e01fdffc115a1014f48535b111210250b6c/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/LazySubscriptionsManager.java
[modify] https://crrev.com/9a7b1e01fdffc115a1014f48535b111210250b6c/components/gcm_driver/android/junit/src/org/chromium/components/gcm_driver/LazySubscriptionsManagerTest.java
[modify] https://crrev.com/9a7b1e01fdffc115a1014f48535b111210250b6c/tools/metrics/histograms/histograms.xml

Project Member

Comment 10 by bugdroid1@chromium.org, Nov 15

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38d62c24997644702b0cbaba24e4b5d848564cbf

commit 38d62c24997644702b0cbaba24e4b5d848564cbf
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Thu Nov 15 16:40:49 2018

[FCM] Persist/Read FCM messages when Chrome is in the back/fore-ground

This CL puts all pieces together making sure that received messages
get persisted if Chrome is in the background, and replayed next
time it comes to the foreground.

Bug: 882887
Change-Id: I3dea0aa3ad9a01a7f4d59c5b798a018488980beb
Reviewed-on: https://chromium-review.googlesource.com/c/1276608
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608397}
[modify] https://crrev.com/38d62c24997644702b0cbaba24e4b5d848564cbf/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java
[modify] https://crrev.com/38d62c24997644702b0cbaba24e4b5d848564cbf/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java
[modify] https://crrev.com/38d62c24997644702b0cbaba24e4b5d848564cbf/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/LazySubscriptionsManager.java
[modify] https://crrev.com/38d62c24997644702b0cbaba24e4b5d848564cbf/components/gcm_driver/android/junit/src/org/chromium/components/gcm_driver/LazySubscriptionsManagerTest.java

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a3249b804bf94f0c226cde4b0144e24288d6b527

commit a3249b804bf94f0c226cde4b0144e24288d6b527
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Fri Nov 16 19:02:52 2018

[FCM] Report number of queued messages using CachedMetrics

This CL uses CachedMetric to record the histogram for number of queued
messages instead of using RecordHistogram directly.

RecordHistogram call native directly and hence falsifies the whole
purpose of queuing FCM messages (to avoid calling the native code)

In order to test the behavior, ShadowRecordHistogram had to implement
the method recordCustomCountHistogram() of RecordHistogram.
The reason is CachedMetric is internally using this method directly
instead of the proxy methods such as recordCount100Histogram().

Bug: 882887
Change-Id: I15e9e77ab96cf65084242443a1a134c5df00f7fd
Reviewed-on: https://chromium-review.googlesource.com/c/1340000
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Tommy Nyquist <nyquist@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608879}
[modify] https://crrev.com/a3249b804bf94f0c226cde4b0144e24288d6b527/base/android/junit/src/org/chromium/base/metrics/test/ShadowRecordHistogram.java
[modify] https://crrev.com/a3249b804bf94f0c226cde4b0144e24288d6b527/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/LazySubscriptionsManager.java

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/66b7797ac5d730ce8a4847477d39aa685335cbcd

commit 66b7797ac5d730ce8a4847477d39aa685335cbcd
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Fri Nov 16 20:35:31 2018

[FCM] UMA histogram for how long it take to read persisted GCM messages

When a message arrives for a lazy GCM subscription and Chrome isn't in
the foreground, it is persisted on disk until next time Chrome is in the
foreground.

This CL adds two histograms
1- Record the time spent to check if a subscription lazy upon receiving
a GCM message while Chrome is in the background.
2- Record the time spent in reading and replaying persisted
messages when Chrome goes to the foreground.

Bug: 882887
Change-Id: I2ea8e5a5c5242b573e842b56f08d7f1070d48856
Reviewed-on: https://chromium-review.googlesource.com/c/1333656
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#608925}
[modify] https://crrev.com/66b7797ac5d730ce8a4847477d39aa685335cbcd/chrome/android/java/src/org/chromium/chrome/browser/services/gcm/ChromeGcmListenerService.java
[modify] https://crrev.com/66b7797ac5d730ce8a4847477d39aa685335cbcd/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/GCMDriver.java
[modify] https://crrev.com/66b7797ac5d730ce8a4847477d39aa685335cbcd/tools/metrics/histograms/histograms.xml

Project Member

Comment 13 by bugdroid1@chromium.org, Nov 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f81a12a9adfc6779cb6d4a9ffcb79763f52654c

commit 2f81a12a9adfc6779cb6d4a9ffcb79763f52654c
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Wed Nov 21 19:44:55 2018

[FCM] Adding the ability to change the subscription laziness mode.

This CL adds the ability to change a subscription from lazy to unlazy.

Bug: 882887
Change-Id: I0dc68442feb2ac460b82896ee424c806f6613041
Reviewed-on: https://chromium-review.googlesource.com/c/1296603
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610175}
[modify] https://crrev.com/2f81a12a9adfc6779cb6d4a9ffcb79763f52654c/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/LazySubscriptionsManager.java
[modify] https://crrev.com/2f81a12a9adfc6779cb6d4a9ffcb79763f52654c/components/gcm_driver/android/junit/src/org/chromium/components/gcm_driver/LazySubscriptionsManagerTest.java

Project Member

Comment 14 by bugdroid1@chromium.org, Nov 21

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d0327310ff9127c1d0a3ab0740e39897df0e5509

commit d0327310ff9127c1d0a3ab0740e39897df0e5509
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Wed Nov 21 19:48:51 2018

[FCM] Delete persisted message when token gets deleted

Bug: 882887
Change-Id: Id2b3c2c6d80b30552fd94face69b32223f455c68
Reviewed-on: https://chromium-review.googlesource.com/c/1296543
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610180}
[modify] https://crrev.com/d0327310ff9127c1d0a3ab0740e39897df0e5509/components/gcm_driver/android/java/src/org/chromium/components/gcm_driver/LazySubscriptionsManager.java
[modify] https://crrev.com/d0327310ff9127c1d0a3ab0740e39897df0e5509/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDBridge.java

Project Member

Comment 15 by bugdroid1@chromium.org, Nov 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6aff1d58deccdbfeadff159856a405c40711bbd4

commit 6aff1d58deccdbfeadff159856a405c40711bbd4
Author: Mohamed Amir Yosef <mamir@chromium.org>
Date: Fri Nov 23 10:43:43 2018

[FCM] Enable lazy mode for invalidations

Supporting lazy subscriptions modes for FCM subscription has been fully
implemented.

This CL enables the lazy mode for invalidations.

Bug: 882887
Change-Id: I47ab65b4895fed35dfdfd291ce155dc0928a14d5
Reviewed-on: https://chromium-review.googlesource.com/c/1347359
Reviewed-by: Tatiana Gornak <melandory@chromium.org>
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610564}
[modify] https://crrev.com/6aff1d58deccdbfeadff159856a405c40711bbd4/components/invalidation/impl/fcm_network_handler.cc

Sign in to add a comment