diff options
author | Daniel Bailey <daniel.bailey@grappleIT.co.uk> | 2018-09-25 10:40:21 +0300 |
---|---|---|
committer | Niedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com> | 2018-10-01 23:45:39 +0300 |
commit | bb5e68b5b492323950711f55d312ff7a277e3611 (patch) | |
tree | 43ef49f8b98cf5125e8362bd1b4dc2645e87c1e4 /app/src | |
parent | b5ca773e21c579aac0cb50310b4cd05c68bf0368 (diff) |
Various improvements to nlw widget and single note widget. Fix for both
configuration activities.
Diffstat (limited to 'app/src')
4 files changed, 25 insertions, 52 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/activity/SelectSingleNoteActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/android/activity/SelectSingleNoteActivity.java index 412675a0..cd0b5526 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/android/activity/SelectSingleNoteActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/android/activity/SelectSingleNoteActivity.java @@ -68,9 +68,9 @@ public class SelectSingleNoteActivity extends NotesListViewActivity { Intent updateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE, null, getApplicationContext(), SingleNoteWidget.class); - updateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {appWidgetId}); - getApplicationContext().sendBroadcast(updateIntent); + updateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); setResult(RESULT_OK, updateIntent); + getApplicationContext().sendBroadcast(updateIntent); finish(); } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidget.java index 55f95d67..8a68c798 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidget.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidget.java @@ -22,10 +22,10 @@ public class NoteListWidget extends AppWidgetProvider { public static final int NLW_DISPLAY_ALL = 0; public static final int NLW_DISPLAY_STARRED = 1; public static final int NLW_DISPLAY_CATEGORY = 2; - private static boolean darkTheme; static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) { RemoteViews views; + boolean darkTheme; for (int appWidgetId : appWidgetIds) { SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); @@ -69,6 +69,7 @@ public class NoteListWidget extends AppWidgetProvider { if (darkTheme) { views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list_dark); + views.setTextViewText(R.id.widget_note_list_title_tv_dark, getWidgetTitle(context, displayMode, category)); views.setOnClickPendingIntent(R.id.widget_note_header_icon_dark, openAppI); views.setOnClickPendingIntent(R.id.widget_note_list_title_tv_dark, openAppI); views.setOnClickPendingIntent(R.id.widget_note_list_create_icon_dark, newNoteI); @@ -77,6 +78,7 @@ public class NoteListWidget extends AppWidgetProvider { views.setEmptyView(R.id.note_list_widget_lv_dark, R.id.widget_note_list_placeholder_tv_dark); } else { views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list); + views.setTextViewText(R.id.widget_note_list_title_tv, getWidgetTitle(context, displayMode, category)); views.setOnClickPendingIntent(R.id.widget_note_header_icon, openAppI); views.setOnClickPendingIntent(R.id.widget_note_list_title_tv, openAppI); views.setOnClickPendingIntent(R.id.widget_note_list_create_icon, newNoteI); @@ -123,4 +125,20 @@ public class NoteListWidget extends AppWidgetProvider { editor.apply(); } + + private static String getWidgetTitle(Context context, int displayMode, String category) { + switch (displayMode) + { + case NoteListWidget.NLW_DISPLAY_ALL: return context.getString(R.string.app_name); + case NoteListWidget.NLW_DISPLAY_STARRED: return context.getString(R.string.label_favorites); + case NoteListWidget.NLW_DISPLAY_CATEGORY: + if (category.equals("")) { + return context.getString(R.string.action_uncategorized); + } else { + return category; + } + } + + return null; + } } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidgetConfiguration.java b/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidgetConfiguration.java index c63250d4..da875d11 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidgetConfiguration.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidgetConfiguration.java @@ -57,6 +57,7 @@ public class NoteListWidgetConfiguration extends AppCompatActivity { } if (appWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) { + Log.d(TAG, "INVALID_APPWIDGET_ID"); finish(); } @@ -94,9 +95,9 @@ public class NoteListWidgetConfiguration extends AppCompatActivity { Intent updateIntent = new Intent( AppWidgetManager.ACTION_APPWIDGET_UPDATE, null, getApplicationContext(), NoteListWidget.class); - updateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {appWidgetId}); - getApplicationContext().sendBroadcast(updateIntent); + updateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); setResult(RESULT_OK, updateIntent); + getApplicationContext().sendBroadcast(updateIntent); finish(); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidgetFactory.java b/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidgetFactory.java index 351b3699..4776acfa 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidgetFactory.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidgetFactory.java @@ -7,7 +7,6 @@ import android.content.SharedPreferences; import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; -import android.view.View; import android.widget.RemoteViews; import android.widget.RemoteViewsService; @@ -35,57 +34,12 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact sp = PreferenceManager.getDefaultSharedPreferences(this.context); displayMode = sp.getInt(NoteListWidget.WIDGET_MODE_KEY + appWidgetId, -1); darkTheme = sp.getBoolean(NoteListWidget.DARK_THEME_KEY + appWidgetId, false); + category = sp.getString(NoteListWidget.WIDGET_CATEGORY_KEY + appWidgetId, ""); } @Override public void onCreate() { db = NoteSQLiteOpenHelper.getInstance(context); - RemoteViews views; - if (darkTheme) { - views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list_dark); - } else { - views = new RemoteViews(context.getPackageName(), R.layout.widget_note_list); - } - - switch (displayMode) - { - case NoteListWidget.NLW_DISPLAY_ALL: - if (darkTheme) { - views.setTextViewText(R.id.widget_note_list_title_tv_dark, context.getString(R.string.app_name)); - } else { - views.setTextViewText(R.id.widget_note_list_title_tv, context.getString(R.string.app_name)); - } - break; - - case NoteListWidget.NLW_DISPLAY_STARRED: - if (darkTheme) { - views.setTextViewText(R.id.widget_note_list_title_tv_dark, context.getString(R.string.label_favorites)); - } else { - views.setTextViewText(R.id.widget_note_list_title_tv, context.getString(R.string.label_favorites)); - } - break; - - case NoteListWidget.NLW_DISPLAY_CATEGORY: - category = sp.getString(NoteListWidget.WIDGET_CATEGORY_KEY + appWidgetId, ""); - if (category.equals("")) { - if (darkTheme) { - views.setTextViewText(R.id.widget_note_list_title_tv_dark, context.getString(R.string.action_uncategorized)); - } else { - views.setTextViewText(R.id.widget_note_list_title_tv, context.getString(R.string.action_uncategorized)); - } - - } else { - if (darkTheme) { - views.setTextViewText(R.id.widget_note_list_title_tv_dark, category); - } else { - views.setTextViewText(R.id.widget_note_list_title_tv, category); - } - } - break; - } - - AppWidgetManager awm = AppWidgetManager.getInstance(context); - awm.updateAppWidget(appWidgetId, views); } @Override |