diff options
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote')
4 files changed, 25 insertions, 48 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java index 777cd25e..9791594a 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java @@ -10,14 +10,13 @@ import android.net.Uri; import android.util.Log; import android.widget.RemoteViews; -import java.util.NoSuchElementException; - +import it.niedermann.owncloud.notes.NotesApplication; import it.niedermann.owncloud.notes.R; -import it.niedermann.owncloud.notes.preferences.DarkModeSetting; -import it.niedermann.owncloud.notes.edit.EditNoteActivity; import it.niedermann.owncloud.notes.edit.BaseNoteFragment; +import it.niedermann.owncloud.notes.edit.EditNoteActivity; import it.niedermann.owncloud.notes.persistence.NotesDatabase; -import it.niedermann.owncloud.notes.NotesApplication; +import it.niedermann.owncloud.notes.persistence.entity.SingleNoteWidgetData; +import it.niedermann.owncloud.notes.preferences.DarkModeSetting; public class SingleNoteWidget extends AppWidgetProvider { @@ -28,9 +27,8 @@ public class SingleNoteWidget extends AppWidgetProvider { final NotesDatabase db = NotesDatabase.getInstance(context); for (int appWidgetId : appWidgetIds) { - try { - final SingleNoteWidgetData data = db.getSingleNoteWidgetData(appWidgetId); - + final SingleNoteWidgetData data = db.getWidgetSingleNoteDao().getSingleNoteWidgetData(appWidgetId); + if (data != null) { templateIntent.putExtra(BaseNoteFragment.PARAM_ACCOUNT_ID, data.getAccountId()); final PendingIntent templatePendingIntent = PendingIntent.getActivity(context, appWidgetId, templateIntent, @@ -56,7 +54,7 @@ public class SingleNoteWidget extends AppWidgetProvider { awm.notifyAppWidgetViewDataChanged(appWidgetId, R.id.single_note_widget_lv); } awm.updateAppWidget(appWidgetId, views); - } catch (NoSuchElementException e) { + } else { Log.i(TAG, "onUpdate has been triggered before the user finished configuring the widget"); } } @@ -82,7 +80,7 @@ public class SingleNoteWidget extends AppWidgetProvider { final NotesDatabase db = NotesDatabase.getInstance(context); for (int appWidgetId : appWidgetIds) { - db.removeSingleNoteWidget(appWidgetId); + db.getWidgetSingleNoteDao().removeSingleNoteWidget(appWidgetId); } super.onDeleted(context, appWidgetIds); } diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java index ef3bbbe6..7651d5e7 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java @@ -12,11 +12,12 @@ import android.widget.Toast; import androidx.appcompat.widget.Toolbar; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; +import it.niedermann.owncloud.notes.NotesApplication; import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.exception.ExceptionHandler; import it.niedermann.owncloud.notes.main.MainActivity; -import it.niedermann.owncloud.notes.shared.model.DBNote; -import it.niedermann.owncloud.notes.NotesApplication; +import it.niedermann.owncloud.notes.persistence.entity.NoteWithCategory; +import it.niedermann.owncloud.notes.persistence.entity.SingleNoteWidgetData; public class SingleNoteWidgetConfigurationActivity extends MainActivity { @@ -41,7 +42,7 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity { @Override public void onNoteClick(int position, View v) { - final DBNote note = (DBNote) adapter.getItem(position); + final NoteWithCategory note = (NoteWithCategory) adapter.getItem(position); final Bundle extras = getIntent().getExtras(); if (extras == null) { @@ -52,7 +53,7 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity { int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); try { - db.createOrUpdateSingleNoteWidgetData( + mainViewModel.createOrUpdateSingleNoteWidgetData( new SingleNoteWidgetData( appWidgetId, note.getAccountId(), diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetData.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetData.java deleted file mode 100644 index 79b83006..00000000 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetData.java +++ /dev/null @@ -1,25 +0,0 @@ -package it.niedermann.owncloud.notes.widget.singlenote; - -import it.niedermann.owncloud.notes.widget.AbstractWidgetData; - -public class SingleNoteWidgetData extends AbstractWidgetData { - private long noteId; - - public SingleNoteWidgetData() { - - } - - public SingleNoteWidgetData(int appWidgetId, long accountId, long noteId, int themeMode) { - super(appWidgetId, accountId, themeMode); - this.noteId = noteId; - } - - public long getNoteId() { - return noteId; - } - - public void setNoteId(long noteId) { - this.noteId = noteId; - } - -} diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java index 9305754f..5c09e154 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java @@ -15,8 +15,11 @@ import it.niedermann.owncloud.notes.NotesApplication; import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.edit.EditNoteActivity; import it.niedermann.owncloud.notes.persistence.NotesDatabase; +import it.niedermann.owncloud.notes.persistence.entity.NoteWithCategory; +import it.niedermann.owncloud.notes.persistence.entity.SingleNoteWidgetData; import it.niedermann.owncloud.notes.preferences.DarkModeSetting; -import it.niedermann.owncloud.notes.shared.model.DBNote; +import it.niedermann.owncloud.notes.shared.util.MarkDownUtil; + public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFactory { @@ -24,7 +27,7 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa private final int appWidgetId; private NotesDatabase db; - private DBNote note; + private NoteWithCategory note; private boolean darkModeActive = false; private static final String TAG = SingleNoteWidget.class.getSimpleName(); @@ -34,10 +37,10 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa this.appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); this.db = NotesDatabase.getInstance(context); - try { - SingleNoteWidgetData data = db.getSingleNoteWidgetData(appWidgetId); + final SingleNoteWidgetData data = db.getWidgetSingleNoteDao().getSingleNoteWidgetData(appWidgetId); + if (data != null) { darkModeActive = NotesApplication.isDarkThemeActive(context, DarkModeSetting.fromModeID(data.getThemeMode())); - } catch (NoSuchElementException e) { + } else { Log.w(TAG, "Widget with ID " + appWidgetId + " seems to be not configured yet."); } } @@ -49,16 +52,16 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa @Override public void onDataSetChanged() { - try { - final SingleNoteWidgetData data = db.getSingleNoteWidgetData(appWidgetId); + final SingleNoteWidgetData data = db.getWidgetSingleNoteDao().getSingleNoteWidgetData(appWidgetId); + if (data != null) { final long noteId = data.getNoteId(); Log.v(TAG, "Fetch note with id " + noteId); - note = db.getNote(data.getAccountId(), noteId); + note = db.getNoteDao().getFullNoteWithCategory(noteId); if (note == null) { Log.e(TAG, "Error: note not found"); } - } catch (NoSuchElementException e) { + } else { Log.w(TAG, "Widget with ID " + appWidgetId + " seems to be not configured yet."); } } |