diff options
author | zhuw <zhuw@codeaurora.org> | 2018-05-22 18:34:39 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-06-19 01:45:26 -0700 |
commit | a22f2124832fb7cb5d5fa257aca3b24066fb4467 (patch) | |
tree | 6e624f68aa9968feb3cb898da1b1d1f9f58a81af /src/com/android/gallery3d/app | |
parent | 453df37a71183f51100805538413b4db0440a1ef (diff) | |
download | android_packages_apps_Gallery2-a22f2124832fb7cb5d5fa257aca3b24066fb4467.tar.gz android_packages_apps_Gallery2-a22f2124832fb7cb5d5fa257aca3b24066fb4467.tar.bz2 android_packages_apps_Gallery2-a22f2124832fb7cb5d5fa257aca3b24066fb4467.zip |
SDGallery:Fix focus close when receive package changed intent
use startForegroundService instead of startService on O-version
Change-Id: I936b47cee1f3fbccc33cc4ee60960f27242cbfe7
Diffstat (limited to 'src/com/android/gallery3d/app')
-rwxr-xr-x[-rw-r--r--] | src/com/android/gallery3d/app/PackagesMonitor.java | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/app/PackagesMonitor.java b/src/com/android/gallery3d/app/PackagesMonitor.java index 9b2412f1b..7fc0059b5 100644..100755 --- a/src/com/android/gallery3d/app/PackagesMonitor.java +++ b/src/com/android/gallery3d/app/PackagesMonitor.java @@ -17,10 +17,14 @@ package com.android.gallery3d.app; import android.app.IntentService; +import android.app.Notification; +import android.app.NotificationChannel; +import android.app.NotificationManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.os.Build; import android.preference.PreferenceManager; import com.android.gallery3d.picasasource.PicasaSource; @@ -37,7 +41,11 @@ public class PackagesMonitor extends BroadcastReceiver { @Override public void onReceive(final Context context, final Intent intent) { intent.setClass(context, AsyncService.class); - context.startService(intent); + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + context.startForegroundService(intent); + } else { + context.startService(intent); + } } public static class AsyncService extends IntentService { @@ -46,6 +54,21 @@ public class PackagesMonitor extends BroadcastReceiver { } @Override + public void onCreate() { + super.onCreate(); + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + String channelId = "GalleryPackagesMonitorAsync"; + NotificationChannel channel = new NotificationChannel(channelId, channelId, + NotificationManager.IMPORTANCE_LOW); + NotificationManager manager = + (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + manager.createNotificationChannel(channel); + startForeground(KEY_PACKAGES_VERSION.hashCode(), + new Notification.Builder(getApplicationContext(), channelId).build()); + } + } + + @Override protected void onHandleIntent(Intent intent) { onReceiveAsync(this, intent); } |