Chromium Code Reviews| 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..cd57b53f9bc0d4f87f4e577a5558e7325b4a40ae 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,24 @@ 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; |
|
nyquist
2017/04/11 19:03:49
Optional: For clarity, a newline after early retur
awdf
2017/04/12 13:58:15
Done.
|
| + 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); |
| + } |
| } |