OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.notifications; | 5 package org.chromium.chrome.browser.notifications; |
6 | 6 |
7 import android.annotation.TargetApi; | 7 import android.annotation.TargetApi; |
8 import android.app.job.JobParameters; | 8 import android.app.job.JobParameters; |
9 import android.app.job.JobService; | 9 import android.app.job.JobService; |
10 import android.content.Intent; | 10 import android.content.Intent; |
11 import android.os.Build; | 11 import android.os.Build; |
12 import android.os.Bundle; | 12 import android.os.Bundle; |
13 import android.os.PersistableBundle; | 13 import android.os.PersistableBundle; |
14 | 14 |
15 import org.chromium.base.ThreadUtils; | 15 import org.chromium.base.ThreadUtils; |
16 | 16 |
17 /** | 17 /** |
18 * Processes jobs scheduled when user actions are issued on web notifications. | 18 * Processes jobs scheduled when user actions are issued on web notifications. |
19 * We use this instead of starting the NotificationService on N+. | 19 * We use this instead of starting the NotificationService on N+. |
20 */ | 20 */ |
21 @TargetApi(Build.VERSION_CODES.N) | 21 @TargetApi(Build.VERSION_CODES.N) |
22 public class NotificationJobService extends JobService { | 22 public class NotificationJobService extends JobService { |
23 // We don't need to distinguish between jobs sent to this service, so we can
reuse one job id. | |
24 // But it ought to be distinct from job ids used with other JobService class
es in our code. | |
25 static final int JOB_ID = 21; | |
26 | |
27 static PersistableBundle getJobExtrasFromIntent(Intent intent) { | 23 static PersistableBundle getJobExtrasFromIntent(Intent intent) { |
28 PersistableBundle bundle = new PersistableBundle(); | 24 PersistableBundle bundle = new PersistableBundle(); |
29 bundle.putString(NotificationConstants.EXTRA_NOTIFICATION_ID, | 25 bundle.putString(NotificationConstants.EXTRA_NOTIFICATION_ID, |
30 intent.getStringExtra(NotificationConstants.EXTRA_NOTIFICATION_I
D)); | 26 intent.getStringExtra(NotificationConstants.EXTRA_NOTIFICATION_I
D)); |
31 bundle.putString(NotificationConstants.EXTRA_NOTIFICATION_INFO_ORIGIN, | 27 bundle.putString(NotificationConstants.EXTRA_NOTIFICATION_INFO_ORIGIN, |
32 intent.getStringExtra(NotificationConstants.EXTRA_NOTIFICATION_I
NFO_ORIGIN)); | 28 intent.getStringExtra(NotificationConstants.EXTRA_NOTIFICATION_I
NFO_ORIGIN)); |
33 bundle.putString(NotificationConstants.EXTRA_NOTIFICATION_INFO_PROFILE_I
D, | 29 bundle.putString(NotificationConstants.EXTRA_NOTIFICATION_INFO_PROFILE_I
D, |
34 intent.getStringExtra(NotificationConstants.EXTRA_NOTIFICATION_I
NFO_PROFILE_ID)); | 30 intent.getStringExtra(NotificationConstants.EXTRA_NOTIFICATION_I
NFO_PROFILE_ID)); |
35 bundle.putBoolean(NotificationConstants.EXTRA_NOTIFICATION_INFO_PROFILE_
INCOGNITO, | 31 bundle.putBoolean(NotificationConstants.EXTRA_NOTIFICATION_INFO_PROFILE_
INCOGNITO, |
36 intent.getBooleanExtra( | 32 intent.getBooleanExtra( |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 78 |
83 @Override | 79 @Override |
84 public boolean onStopJob(JobParameters params) { | 80 public boolean onStopJob(JobParameters params) { |
85 // As it stands, all our job processing is done synchronously in onStart
Job so there is | 81 // As it stands, all our job processing is done synchronously in onStart
Job so there is |
86 // nothing to do here. Even once we include further async processing in
our jobs | 82 // nothing to do here. Even once we include further async processing in
our jobs |
87 // (crbug.com/685197) it may by infeasible to cancel this halfway throug
h. | 83 // (crbug.com/685197) it may by infeasible to cancel this halfway throug
h. |
88 // TODO(crbug.com/685197): Check what we can safely do here and update c
omment. | 84 // TODO(crbug.com/685197): Check what we can safely do here and update c
omment. |
89 return false; | 85 return false; |
90 } | 86 } |
91 } | 87 } |
OLD | NEW |