Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
authorDaniel Bailey <daniel.bailey@grappleIT.co.uk>2018-09-21 19:04:08 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2018-09-24 15:38:09 +0300
commitb5ca773e21c579aac0cb50310b4cd05c68bf0368 (patch)
tree98b834c7a3476531f75c28e57766eecd37476c89 /app/src
parent831ce86deda013a00e3c274afa8d80dd73e31984 (diff)
Appwidgets' onUpdate and onReceive functions will call updateAppWidget
when making any updates.
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/NoteListWidget.java27
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/SingleNoteWidget.java71
2 files changed, 43 insertions, 55 deletions
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 4050d505..55f95d67 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
@@ -24,10 +24,7 @@ public class NoteListWidget extends AppWidgetProvider {
public static final int NLW_DISPLAY_CATEGORY = 2;
private static boolean darkTheme;
- @Override
- public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
- super.onUpdate(context, appWidgetManager, appWidgetIds);
-
+ static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) {
RemoteViews views;
for (int appWidgetId : appWidgetIds) {
@@ -88,24 +85,26 @@ public class NoteListWidget extends AppWidgetProvider {
views.setEmptyView(R.id.note_list_widget_lv, R.id.widget_note_list_placeholder_tv);
}
- appWidgetManager.updateAppWidget(appWidgetId, views);
+ awm.updateAppWidget(appWidgetId, views);
}
}
@Override
+ public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
+ super.onUpdate(context, appWidgetManager, appWidgetIds);
+ updateAppWidget(context, appWidgetManager, appWidgetIds);
+ }
+
+ @Override
public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
-
AppWidgetManager awm = AppWidgetManager.getInstance(context);
- int appWidgetIds[] = awm.getAppWidgetIds(new ComponentName(context, NoteListWidget.class));
- for (int appWidgetId : appWidgetIds) {
- if (intent.getAction().equals(awm.ACTION_APPWIDGET_UPDATE)) {
- if (darkTheme) {
- awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.note_list_widget_lv_dark);
- } else {
- awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.note_list_widget_lv);
- }
+ if (intent.getAction().equals(awm.ACTION_APPWIDGET_UPDATE)) {
+ if (intent.hasExtra(AppWidgetManager.EXTRA_APPWIDGET_ID)) {
+ updateAppWidget(context, awm, new int[] { intent.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1) });
+ } else {
+ updateAppWidget(context, awm, awm.getAppWidgetIds(new ComponentName(context, NoteListWidget.class)));
}
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/SingleNoteWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/SingleNoteWidget.java
index 73de2914..f1feaf1a 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/SingleNoteWidget.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/android/appwidget/SingleNoteWidget.java
@@ -20,68 +20,57 @@ public class SingleNoteWidget extends AppWidgetProvider {
public static final String DARK_THEME_KEY = "SNW_darkTheme";
public static final String WIDGET_KEY = "single_note_widget";
- static void updateAppWidget(Context context, AppWidgetManager awm, int appWidgetId) {
+ static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
Intent templateIntent = new Intent(context, EditNoteActivity.class);
templateIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
- // onUpdate has been triggered before the user finished configuring the widget
- if ((sp.getLong(WIDGET_KEY + appWidgetId, -1)) == -1) {
- return;
- }
+ for (int appWidgetId : appWidgetIds) {
+ // onUpdate has been triggered before the user finished configuring the widget
+ if ((sp.getLong(WIDGET_KEY + appWidgetId, -1)) == -1) {
+ return;
+ }
- darkTheme = sp.getBoolean(DARK_THEME_KEY + appWidgetId, false);
+ darkTheme = sp.getBoolean(DARK_THEME_KEY + appWidgetId, false);
- PendingIntent templatePendingIntent = PendingIntent.getActivity(context, appWidgetId, templateIntent,
- PendingIntent.FLAG_UPDATE_CURRENT);
+ PendingIntent templatePendingIntent = PendingIntent.getActivity(context, appWidgetId, templateIntent,
+ PendingIntent.FLAG_UPDATE_CURRENT);
- Intent serviceIntent = new Intent(context, SingleNoteWidgetService.class);
- serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
- serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));
+ Intent serviceIntent = new Intent(context, SingleNoteWidgetService.class);
+ serviceIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
+ serviceIntent.setData(Uri.parse(serviceIntent.toUri(Intent.URI_INTENT_SCHEME)));
- RemoteViews views;
+ RemoteViews views;
- if (darkTheme) {
- views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note_dark);
- views.setPendingIntentTemplate(R.id.single_note_widget_lv_dark, templatePendingIntent);
- views.setRemoteAdapter(R.id.single_note_widget_lv_dark, serviceIntent);
- views.setEmptyView(R.id.single_note_widget_lv_dark, R.id.widget_single_note_placeholder_tv_dark);
- } else {
- views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note);
- views.setPendingIntentTemplate(R.id.single_note_widget_lv, templatePendingIntent);
- views.setRemoteAdapter(R.id.single_note_widget_lv, serviceIntent);
- views.setEmptyView(R.id.single_note_widget_lv, R.id.widget_single_note_placeholder_tv);
- }
+ if (darkTheme) {
+ views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note_dark);
+ views.setPendingIntentTemplate(R.id.single_note_widget_lv_dark, templatePendingIntent);
+ views.setRemoteAdapter(R.id.single_note_widget_lv_dark, serviceIntent);
+ views.setEmptyView(R.id.single_note_widget_lv_dark, R.id.widget_single_note_placeholder_tv_dark);
+ } else {
+ views = new RemoteViews(context.getPackageName(), R.layout.widget_single_note);
+ views.setPendingIntentTemplate(R.id.single_note_widget_lv, templatePendingIntent);
+ views.setRemoteAdapter(R.id.single_note_widget_lv, serviceIntent);
+ views.setEmptyView(R.id.single_note_widget_lv, R.id.widget_single_note_placeholder_tv);
+ }
- awm.updateAppWidget(appWidgetId, views);
+ awm.updateAppWidget(appWidgetId, views);
+ }
}
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
- for (int appWidgetId : appWidgetIds) {
- updateAppWidget(context, appWidgetManager, appWidgetId);
- }
-
super.onUpdate(context, appWidgetManager, appWidgetIds);
+ updateAppWidget(context, appWidgetManager, appWidgetIds);
}
@Override
public void onReceive(Context context, Intent intent) {
+ super.onReceive(context, intent);
AppWidgetManager awm = AppWidgetManager.getInstance(context);
- int ids[] = awm.getAppWidgetIds(new ComponentName(context,
- SingleNoteWidget.class));
-
- for (int appWidgetId : ids) {
- if (intent.getAction().equals(awm.ACTION_APPWIDGET_UPDATE)) {
- if (darkTheme) {
- awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.single_note_widget_lv_dark);
- } else {
- awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.single_note_widget_lv);
- }
- }
- }
- super.onReceive(context, intent);
+ updateAppWidget(context, AppWidgetManager.getInstance(context),
+ (awm.getAppWidgetIds(new ComponentName(context, SingleNoteWidget.class))));
}
@Override