From e8a3f1bdc8e7103c083531569b7a761be65beb2c Mon Sep 17 00:00:00 2001 From: Danesh Mondegarian Date: Fri, 14 Nov 2014 09:44:51 -0800 Subject: Filter spam notifications Change-Id: Ibf2377cd7491c7e0e9e9c9657e9e65eef1876ee3 --- packages/SystemUI/AndroidManifest.xml | 6 + packages/SystemUI/res/layout/notification_guts.xml | 10 ++ .../android/systemui/cm/SpamMessageProvider.java | 196 +++++++++++++++++++++ .../com/android/systemui/cm/SpamOpenHelper.java | 46 +++++ .../android/systemui/statusbar/BaseStatusBar.java | 28 +++ 5 files changed, 286 insertions(+) create mode 100644 packages/SystemUI/src/com/android/systemui/cm/SpamMessageProvider.java create mode 100644 packages/SystemUI/src/com/android/systemui/cm/SpamOpenHelper.java mode change 100644 => 100755 packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java (limited to 'packages') diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 8375197..772067b 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -411,5 +411,11 @@ + + + diff --git a/packages/SystemUI/res/layout/notification_guts.xml b/packages/SystemUI/res/layout/notification_guts.xml index d52c274..92cb601 100644 --- a/packages/SystemUI/res/layout/notification_guts.xml +++ b/packages/SystemUI/res/layout/notification_guts.xml @@ -87,6 +87,16 @@ /> + + = 0) { final int appUidF = appUid; settingsButton.setOnClickListener(new View.OnClickListener() { @@ -929,6 +943,19 @@ public abstract class BaseStatusBar extends SystemUI implements } }); + filterButton.setVisibility(View.VISIBLE); + filterButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + ContentValues values = new ContentValues(); + String message = SpamFilter.getNotificationContent( + sbn.getNotification()); + values.put(NotificationTable.MESSAGE_TEXT, message); + values.put(PackageTable.PACKAGE_NAME, pkg); + mContext.getContentResolver().insert(SPAM_MESSAGE_URI, values); + removeNotification(sbn.getKey(), null); + } + }); + final Intent appSettingsQueryIntent = new Intent(Intent.ACTION_MAIN) .addCategory(Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCES) @@ -958,6 +985,7 @@ public abstract class BaseStatusBar extends SystemUI implements } else { settingsButton.setVisibility(View.GONE); appSettingsButton.setVisibility(View.GONE); + filterButton.setVisibility(View.GONE); } } -- cgit v1.1