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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/upgrade/PackageReplacedBroadcastReceiver.java

Issue 2807213002: [Android O] Initialize channels on first launch/upgrade (Closed)
Patch Set: Some more minor things Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/upgrade/PackageReplacedBroadcastReceiver.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/upgrade/PackageReplacedBroadcastReceiver.java b/chrome/android/java/src/org/chromium/chrome/browser/upgrade/PackageReplacedBroadcastReceiver.java
index 3b8782df95d4f7265d87a6d5fcf2a0923e4ff121..da0761fd6c011ce5c8bce00f601fea2e2988fe77 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/upgrade/PackageReplacedBroadcastReceiver.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/upgrade/PackageReplacedBroadcastReceiver.java
@@ -7,8 +7,11 @@ package org.chromium.chrome.browser.upgrade;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
+import android.os.AsyncTask;
import android.os.Build;
+import org.chromium.chrome.browser.notifications.ChannelsUpdater;
+
/**
* Triggered when Chrome's package is replaced (e.g. when it is upgraded).
*
@@ -25,9 +28,25 @@ import android.os.Build;
*/
public final class PackageReplacedBroadcastReceiver extends BroadcastReceiver {
@Override
- public void onReceive(Context context, Intent intent) {
+ public void onReceive(final Context context, Intent intent) {
if (!Intent.ACTION_MY_PACKAGE_REPLACED.equals(intent.getAction())) return;
+ updateChannelsIfNecessary();
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.N) return;
UpgradeIntentService.startMigrationIfNecessary(context);
}
+
+ private void updateChannelsIfNecessary() {
+ if (!ChannelsUpdater.getInstance().shouldUpdateChannels()) return;
+
+ final PendingResult result = goAsync();
+ new AsyncTask<Void, Void, Void>() {
+ @Override
+ protected Void doInBackground(Void... params) {
+ ChannelsUpdater.getInstance().updateChannels();
+ result.finish();
+ return null;
+ }
+ }
+ .executeOnExecutor(AsyncTask.SERIAL_EXECUTOR);
+ }
}

Powered by Google App Engine
This is Rietveld 408576698