From 839bdf34ffc728117a3a49801eda847f5aac8768 Mon Sep 17 00:00:00 2001 From: danijoo Date: Sat, 9 Jan 2016 00:58:05 +0100 Subject: [PATCH] auto updating list widget --- app/src/main/AndroidManifest.xml | 12 +++ .../notificationlogger/DatabaseUtils.java | 8 +- .../widget/ListWidgetProvider.java | 37 ++++++++ .../widget/ListWidgetService.java | 13 +++ .../widget/ListWidgetViewFactory.java | 87 ++++++++++++++++++ .../widget/WidgetUtils.java | 17 ++++ .../main/res/drawable/widget_list_preview.png | Bin 0 -> 68292 bytes app/src/main/res/layout/widget_list.xml | 26 ++++++ app/src/main/res/layout/widget_list_item.xml | 40 ++++++++ app/src/main/res/xml/widget_info.xml | 10 ++ 10 files changed, 248 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetProvider.java create mode 100644 app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetService.java create mode 100644 app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetViewFactory.java create mode 100644 app/src/main/java/net/headlezz/notificationlogger/widget/WidgetUtils.java create mode 100644 app/src/main/res/drawable/widget_list_preview.png create mode 100644 app/src/main/res/layout/widget_list.xml create mode 100644 app/src/main/res/layout/widget_list_item.xml create mode 100644 app/src/main/res/xml/widget_info.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cdf084a..a397742 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -43,6 +43,18 @@ android:name="net.headlezz.notificationlogger.logger.NotificationProvider" android:exported="true" /> + + + + + + + + + diff --git a/app/src/main/java/net/headlezz/notificationlogger/DatabaseUtils.java b/app/src/main/java/net/headlezz/notificationlogger/DatabaseUtils.java index 045a774..cc51b79 100644 --- a/app/src/main/java/net/headlezz/notificationlogger/DatabaseUtils.java +++ b/app/src/main/java/net/headlezz/notificationlogger/DatabaseUtils.java @@ -8,6 +8,7 @@ import net.headlezz.notificationlogger.logger.BlacklistItem; import net.headlezz.notificationlogger.logger.BlacklistTable; import net.headlezz.notificationlogger.logger.LoggedNotification; import net.headlezz.notificationlogger.logger.Logged_notificationTable; +import net.headlezz.notificationlogger.widget.WidgetUtils; public class DatabaseUtils { @@ -16,6 +17,7 @@ public class DatabaseUtils { Logged_notificationTable.CONTENT_URI, Logged_notificationTable.getContentValues(ln, false) ); + WidgetUtils.notifyWidgetsUpdate(context); } public static LoggedNotification getNotificationById(Context context, long id) { @@ -31,6 +33,7 @@ public class DatabaseUtils { // there are no notifications with negative ids, so we use this to select all rows String whereClause = Logged_notificationTable.FIELD_NOTIFICATION_ID + " != -1"; resolver.delete(Logged_notificationTable.CONTENT_URI, whereClause, new String[0]); + WidgetUtils.notifyWidgetsUpdate(context); } public static boolean isPackageBlacklisted(Context context, String packageName) { @@ -71,7 +74,7 @@ public class DatabaseUtils { context.getContentResolver().delete( BlacklistTable.CONTENT_URI, BlacklistTable.FIELD_PACKAGE_NAME + " = ?", - new String[] {packageName} + new String[]{packageName} ); } @@ -79,7 +82,8 @@ public class DatabaseUtils { context.getContentResolver().delete( Logged_notificationTable.CONTENT_URI, Logged_notificationTable.FIELD__ID + " = ?", - new String[] {String.valueOf(id)} + new String[]{String.valueOf(id)} ); + WidgetUtils.notifyWidgetsUpdate(context); } } diff --git a/app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetProvider.java b/app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetProvider.java new file mode 100644 index 0000000..d14f89f --- /dev/null +++ b/app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetProvider.java @@ -0,0 +1,37 @@ +package net.headlezz.notificationlogger.widget; + +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProvider; +import android.content.Context; +import android.content.Intent; +import android.net.Uri; +import android.widget.RemoteViews; + +import net.headlezz.notificationlogger.R; + +public class ListWidgetProvider extends AppWidgetProvider { + + @Override + public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { + for(int widgetId : appWidgetIds) { + RemoteViews rvs = updateWidgetListView(context, widgetId); + appWidgetManager.updateAppWidget(appWidgetIds, rvs); + } + super.onUpdate(context, appWidgetManager, appWidgetIds); + } + + private RemoteViews updateWidgetListView(Context context, int appWidgetId) { + RemoteViews rvs = new RemoteViews(context.getPackageName(), R.layout.widget_list); + + Intent serviceIntent = new Intent(context, ListWidgetService.class); + serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); + serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME))); + + rvs.setRemoteAdapter(R.id.list_widget_listView, serviceIntent); + rvs.setEmptyView(R.id.list_widget_listView, R.id.list_widget_empty_view); + + + + return rvs; + } +} diff --git a/app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetService.java b/app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetService.java new file mode 100644 index 0000000..60ff251 --- /dev/null +++ b/app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetService.java @@ -0,0 +1,13 @@ +package net.headlezz.notificationlogger.widget; + +import android.appwidget.AppWidgetManager; +import android.content.Intent; +import android.widget.RemoteViewsService; + +public class ListWidgetService extends RemoteViewsService { + @Override + public RemoteViewsFactory onGetViewFactory(Intent intent) { + int appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); + return new ListWidgetViewFactory(getApplicationContext(), appWidgetId); + } +} diff --git a/app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetViewFactory.java b/app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetViewFactory.java new file mode 100644 index 0000000..9297177 --- /dev/null +++ b/app/src/main/java/net/headlezz/notificationlogger/widget/ListWidgetViewFactory.java @@ -0,0 +1,87 @@ +package net.headlezz.notificationlogger.widget; + +import android.content.Context; +import android.database.Cursor; +import android.text.format.DateUtils; +import android.widget.RemoteViews; +import android.widget.RemoteViewsService; + +import net.headlezz.notificationlogger.R; +import net.headlezz.notificationlogger.logger.LoggedNotification; +import net.headlezz.notificationlogger.logger.Logged_notificationTable; + +import timber.log.Timber; + +public class ListWidgetViewFactory implements RemoteViewsService.RemoteViewsFactory { + + int mAppWidgetId; + Context mContext; + + Cursor mCursor; + + public ListWidgetViewFactory(Context context, int appWidgetId) { + mContext = context; + this.mAppWidgetId = appWidgetId; + } + + + @Override + public void onCreate() { /** ignored **/ } + + @Override + public void onDataSetChanged() { + Timber.d("ON DATA SET CHANGED"); + if(mCursor != null) { + mCursor.close(); + } + mCursor = mContext.getContentResolver().query(Logged_notificationTable.CONTENT_URI, null, null, null, Logged_notificationTable.FIELD_DATE + " DESC"); + } + + @Override + public void onDestroy() { + if(mCursor != null) + mCursor.close(); + } + + @Override + public int getCount() { + if(mCursor == null) { + Timber.d("cursor is null"); + return 0; + } + return mCursor.getCount(); + } + + @Override + public RemoteViews getViewAt(int position) { + RemoteViews rv = new RemoteViews(mContext.getPackageName(), R.layout.widget_list_item); + mCursor.moveToPosition(position); + + LoggedNotification notification = Logged_notificationTable.getRow(mCursor, false); + + rv.setTextViewText(R.id.widget_list_item_title, notification.appName); + rv.setTextViewText(R.id.widget_list_item_notification, notification.title + ": " + notification.message); + rv.setTextViewText(R.id.widget_list_item_date, DateUtils.formatDateTime(mContext, notification.date, DateUtils.FORMAT_ABBREV_ALL | DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_DATE)); + return rv; + } + + @Override + public RemoteViews getLoadingView() { + return null; + } + + @Override + public int getViewTypeCount() { + return 1; + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public boolean hasStableIds() { + return true; + } +} diff --git a/app/src/main/java/net/headlezz/notificationlogger/widget/WidgetUtils.java b/app/src/main/java/net/headlezz/notificationlogger/widget/WidgetUtils.java new file mode 100644 index 0000000..12d5f6c --- /dev/null +++ b/app/src/main/java/net/headlezz/notificationlogger/widget/WidgetUtils.java @@ -0,0 +1,17 @@ +package net.headlezz.notificationlogger.widget; + +import android.appwidget.AppWidgetManager; +import android.content.ComponentName; +import android.content.Context; + +import net.headlezz.notificationlogger.R; + +public class WidgetUtils { + + public static void notifyWidgetsUpdate(Context context) { + AppWidgetManager manager = AppWidgetManager.getInstance(context); + int[] appWidgetIds = manager.getAppWidgetIds(new ComponentName(context, ListWidgetProvider.class)); + manager.notifyAppWidgetViewDataChanged(appWidgetIds, R.id.list_widget_listView); + } + +} diff --git a/app/src/main/res/drawable/widget_list_preview.png b/app/src/main/res/drawable/widget_list_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..18cd9ec87b26ceed796891d5dcb087b11c4aeb7b GIT binary patch literal 68292 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 z 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 Ye>rQQck_E|dNIX)hvgG~KY96o0g;jS8vp + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/widget_list_item.xml b/app/src/main/res/layout/widget_list_item.xml new file mode 100644 index 0000000..5278387 --- /dev/null +++ b/app/src/main/res/layout/widget_list_item.xml @@ -0,0 +1,40 @@ + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/widget_info.xml b/app/src/main/res/xml/widget_info.xml new file mode 100644 index 0000000..0d319f4 --- /dev/null +++ b/app/src/main/res/xml/widget_info.xml @@ -0,0 +1,10 @@ + + + \ No newline at end of file