summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app
diff options
context:
space:
mode:
authorzhuw <zhuw@codeaurora.org>2018-05-22 18:34:39 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2018-06-19 01:45:26 -0700
commita22f2124832fb7cb5d5fa257aca3b24066fb4467 (patch)
tree6e624f68aa9968feb3cb898da1b1d1f9f58a81af /src/com/android/gallery3d/app
parent453df37a71183f51100805538413b4db0440a1ef (diff)
downloadandroid_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.java25
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);
}