Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(158)

Issue 2611333002: Android web notifications: Schedule job instead of starting service (N+) (Closed)

Created:
3 years, 11 months ago by awdf
Modified:
3 years, 11 months ago
CC:
agrieve+watch_chromium.org, awdf+watch_chromium.org, chromium-reviews, mlamouri+watch-notifications_chromium.org, Peter Beverloo
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Android web notifications: Schedule job instead of starting service (N+) - Previously we always started a service when a web notification was clicked or dismissed. - Now we instead schedule a job to handle the notification intent on N+, since this is encouraged by Android. - We use the Android JobScheduler, rather than GcmNetworkManager or FirebaseJobDispatcher, since the JobScheduler allows us to execute immediately (hopefully). BUG=663427, 680816 Review-Url: https://codereview.chromium.org/2611333002 Cr-Commit-Position: refs/heads/master@{#446072} Committed: https://chromium.googlesource.com/chromium/src/+/d54134355647e110b2d6793d2b257dceb4b706ed

Patch Set 1 #

Total comments: 15

Patch Set 2 : rebase #

Patch Set 3 : Review comments + split out the new JobService #

Patch Set 4 : fix up javadoc link #

Total comments: 12

Patch Set 5 : Add comments and todos, remove @RequiresApi annotations #

Patch Set 6 : fixup another javadoc link #

Patch Set 7 : rebase #

Total comments: 12

Patch Set 8 : Stop calling runOnUiThread unnecessarily; improve comments #

Total comments: 2

Patch Set 9 : Return false from startJob & remove jobFinished call #

Total comments: 14

Patch Set 10 : Improving comments and other nits #

Total comments: 8

Messages

Total messages: 42 (19 generated)
awdf
I would prefer to tie the Extras initialization together than rely on people reading comments ...
3 years, 11 months ago (2017-01-06 17:51:22 UTC) #2
Peter Beverloo
Thanks! Why can't we use the ChromeBackgroundService? https://codereview.chromium.org/2611333002/diff/1/chrome/android/java/AndroidManifest.xml File chrome/android/java/AndroidManifest.xml (right): https://codereview.chromium.org/2611333002/diff/1/chrome/android/java/AndroidManifest.xml#newcode790 chrome/android/java/AndroidManifest.xml:790: android:permission="android.permission.BIND_JOB_SERVICE"/> This ...
3 years, 11 months ago (2017-01-09 14:28:05 UTC) #3
awdf
> Why can't we use the ChromeBackgroundService? Because I had to increase the timeout 10x ...
3 years, 11 months ago (2017-01-10 17:59:10 UTC) #4
awdf
https://codereview.chromium.org/2611333002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationService.java (right): https://codereview.chromium.org/2611333002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationService.java#newcode117 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationService.java:117: dispatchIntentOnUIThread(intent); Oops - I should really be calling onJobFinished ...
3 years, 11 months ago (2017-01-10 18:10:24 UTC) #5
awdf
https://codereview.chromium.org/2611333002/diff/1/chrome/android/java/AndroidManifest.xml File chrome/android/java/AndroidManifest.xml (right): https://codereview.chromium.org/2611333002/diff/1/chrome/android/java/AndroidManifest.xml#newcode790 chrome/android/java/AndroidManifest.xml:790: android:permission="android.permission.BIND_JOB_SERVICE"/> On 2017/01/09 14:28:05, Peter Beverloo wrote: > This ...
3 years, 11 months ago (2017-01-11 14:56:18 UTC) #6
awdf
https://codereview.chromium.org/2611333002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationService.java (right): https://codereview.chromium.org/2611333002/diff/1/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationService.java#newcode47 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationService.java:47: if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP_MR1) { On 2017/01/11 14:56:18, awdf ...
3 years, 11 months ago (2017-01-12 19:07:33 UTC) #7
Peter Beverloo
lg, but this really needs a review by someone much more familiar with our Java ...
3 years, 11 months ago (2017-01-13 01:23:23 UTC) #9
awdf
https://codereview.chromium.org/2611333002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/60001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode1 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:1: // Copyright 2014 The Chromium Authors. All rights reserved. ...
3 years, 11 months ago (2017-01-13 14:27:26 UTC) #10
awdf
> On 2017/01/13 01:23:22, Peter Beverloo (OOO- Jan 19th) wrote: > > nit: I would ...
3 years, 11 months ago (2017-01-17 11:49:15 UTC) #14
nyquist
https://codereview.chromium.org/2611333002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode69 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:69: ThreadUtils.runOnUiThread(new Runnable() { Isn't this already called on the ...
3 years, 11 months ago (2017-01-17 22:36:46 UTC) #19
nyquist
https://codereview.chromium.org/2611333002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode27 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:27: static final int JOB_ID = 21; Since this is ...
3 years, 11 months ago (2017-01-18 02:32:25 UTC) #20
awdf
https://codereview.chromium.org/2611333002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode27 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:27: static final int JOB_ID = 21; On 2017/01/18 at ...
3 years, 11 months ago (2017-01-18 15:37:58 UTC) #21
ctate
https://codereview.chromium.org/2611333002/diff/140001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/140001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode70 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:70: return true; This is incoherent. Calling jobFinished() means you're ...
3 years, 11 months ago (2017-01-18 20:20:50 UTC) #23
awdf
https://codereview.chromium.org/2611333002/diff/140001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/140001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode70 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:70: return true; On 2017/01/18 at 20:20:50, ctate wrote: > ...
3 years, 11 months ago (2017-01-19 13:27:09 UTC) #24
nyquist
https://codereview.chromium.org/2611333002/diff/160001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/160001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode53 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:53: */ Since this API might be new to many ...
3 years, 11 months ago (2017-01-23 22:49:22 UTC) #29
nyquist
https://codereview.chromium.org/2611333002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/120001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode27 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:27: static final int JOB_ID = 21; On 2017/01/18 15:37:58, ...
3 years, 11 months ago (2017-01-23 22:52:34 UTC) #30
awdf
Addressing Tommy's comments. https://codereview.chromium.org/2611333002/diff/160001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/160001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode53 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:53: */ On 2017/01/23 at 22:49:22, nyquist ...
3 years, 11 months ago (2017-01-25 16:16:01 UTC) #33
nyquist
lgtm https://codereview.chromium.org/2611333002/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java (right): https://codereview.chromium.org/2611333002/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java#newcode68 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java:68: return false; Nit: If this ever happens, should ...
3 years, 11 months ago (2017-01-25 17:14:56 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2611333002/180001
3 years, 11 months ago (2017-01-25 17:40:03 UTC) #36
awdf
pressed 'commit' before I saw this last nit but it's a fair comment https://codereview.chromium.org/2611333002/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationJobService.java File ...
3 years, 11 months ago (2017-01-25 17:57:23 UTC) #37
Peter Beverloo
lgtm, thanks for filing all the follow-up bugs! https://codereview.chromium.org/2611333002/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java (right): https://codereview.chromium.org/2611333002/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java#newcode7 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java:7: import ...
3 years, 11 months ago (2017-01-25 18:12:19 UTC) #38
awdf
thanks for the lgtm peter! https://codereview.chromium.org/2611333002/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java File chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java (right): https://codereview.chromium.org/2611333002/diff/180001/chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java#newcode7 chrome/android/java/src/org/chromium/chrome/browser/notifications/NotificationConstants.java:7: import android.content.Intent; On 2017/01/25 ...
3 years, 11 months ago (2017-01-25 18:23:49 UTC) #39
commit-bot: I haz the power
3 years, 11 months ago (2017-01-25 19:04:39 UTC) #42
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://chromium.googlesource.com/chromium/src/+/d54134355647e110b2d6793d2b25...

Powered by Google App Engine
This is Rietveld 408576698