diff options
author | Clark Scheff <clark@scheffsblend.com> | 2016-08-28 09:21:05 -0700 |
---|---|---|
committer | Clark Scheff <clark@scheffsblend.com> | 2016-08-28 09:21:33 -0700 |
commit | bcd90a38b28f7c57bce8057d855e4c276aab2776 (patch) | |
tree | 9524b01c9e7c84ff3934ac035481d7eb9598478b /src/com/cyngn/theme/chooser/NotificationHijackingService.java | |
parent | de36713290379cc4e0de6e0bc2cfc25e3258133f (diff) | |
download | packages_apps_ThemeChooser-bcd90a38b28f7c57bce8057d855e4c276aab2776.zip packages_apps_ThemeChooser-bcd90a38b28f7c57bce8057d855e4c276aab2776.tar.gz packages_apps_ThemeChooser-bcd90a38b28f7c57bce8057d855e4c276aab2776.tar.bz2 |
Theme chooser for the people
Let freedom ring!
Change-Id: I12b3e6b5d46eb2e13afd841dfd5c215af64188d8
TICKET: OSS-67
Diffstat (limited to 'src/com/cyngn/theme/chooser/NotificationHijackingService.java')
-rw-r--r-- | src/com/cyngn/theme/chooser/NotificationHijackingService.java | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/com/cyngn/theme/chooser/NotificationHijackingService.java b/src/com/cyngn/theme/chooser/NotificationHijackingService.java deleted file mode 100644 index ca53791..0000000 --- a/src/com/cyngn/theme/chooser/NotificationHijackingService.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2014 Cyanogen, Inc. - */ -package com.cyngn.theme.chooser; - -import android.app.PendingIntent; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.provider.Settings; -import android.service.notification.NotificationListenerService; -import android.service.notification.StatusBarNotification; -import android.text.TextUtils; - -public class NotificationHijackingService extends NotificationListenerService { - private static final String TAG = NotificationHijackingService.class.getName(); - private static final String GOOGLE_PLAY_PACKAGE_NAME = "com.android.vending"; - private static final String ACTION_INSTALLED = - "com.android.vending.SUCCESSFULLY_INSTALLED_CLICKED"; - private static final String EXTRA_PACKAGE_NAME = "package_name"; - - @Override - public void onNotificationPosted(StatusBarNotification sbn) { - if (GOOGLE_PLAY_PACKAGE_NAME.equals(sbn.getPackageName())) { - PendingIntent contentIntent = sbn.getNotification().contentIntent; - if (contentIntent == null) return; - Intent intent = contentIntent.getIntent(); - if (intent == null) return; - String action = intent.getAction(); - if (ACTION_INSTALLED.equals(action)) { - String pkgName = intent.getStringExtra(EXTRA_PACKAGE_NAME); - try { - PackageInfo pi = getPackageManager().getPackageInfo(pkgName, 0); - if (pi != null) { - if (pi.themeInfo != null) { - cancelNotification(GOOGLE_PLAY_PACKAGE_NAME, sbn.getTag(), sbn.getId()); - } - } - } catch (PackageManager.NameNotFoundException e) { - } - } - } - } - - @Override - public void onNotificationRemoved(StatusBarNotification sbn) { - } - - // ensure that this notification listener is enabled. - // the service watches for google play notifications - public static void ensureEnabled(Context context) { - ComponentName me = new ComponentName(context, NotificationHijackingService.class); - String meFlattened = me.flattenToString(); - - String existingListeners = Settings.Secure.getString(context.getContentResolver(), - Settings.Secure.ENABLED_NOTIFICATION_LISTENERS); - - if (!TextUtils.isEmpty(existingListeners)) { - if (existingListeners.contains(meFlattened)) { - return; - } else { - existingListeners += ":" + meFlattened; - } - } else { - existingListeners = meFlattened; - } - - Settings.Secure.putString(context.getContentResolver(), - Settings.Secure.ENABLED_NOTIFICATION_LISTENERS, - existingListeners); - } -}
\ No newline at end of file |