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
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-10-05 21:51:07 +0300
committerStefan Niedermann <info@niedermann.it>2020-10-05 21:51:07 +0300
commit3a8077cd909b41402b6286732395d692ab2843c0 (patch)
tree8233ede5995309f00055ebf7c57733b0288e55b2 /app/src/main/java/it/niedermann/owncloud/notes/widget
parent8feb06f93b8bf69d323de3813c65a0ba684eea97 (diff)
#831 Migrate from SQLiteOpenHelper to Room
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/widget')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/AbstractWidgetData.java22
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java15
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidget.java5
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java5
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java5
6 files changed, 34 insertions, 22 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/AbstractWidgetData.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/AbstractWidgetData.java
index 019a2153..9873d100 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/AbstractWidgetData.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/AbstractWidgetData.java
@@ -1,27 +1,32 @@
package it.niedermann.owncloud.notes.widget;
+import androidx.annotation.IntRange;
+import androidx.room.PrimaryKey;
+
public abstract class AbstractWidgetData {
- private int appWidgetId;
+ @PrimaryKey
+ private int id;
private long accountId;
+ @IntRange(from = 0, to = 2)
private int themeMode;
protected AbstractWidgetData() {
}
- protected AbstractWidgetData(int appWidgetId, long accountId, int themeMode) {
- this.appWidgetId = appWidgetId;
+ protected AbstractWidgetData(int id, long accountId, @IntRange(from = 0, to = 2) int themeMode) {
+ this.id = id;
this.accountId = accountId;
this.themeMode = themeMode;
}
- public int getAppWidgetId() {
- return appWidgetId;
+ public int getId() {
+ return id;
}
- public void setAppWidgetId(int appWidgetId) {
- this.appWidgetId = appWidgetId;
+ public void setId(int id) {
+ this.id = id;
}
public long getAccountId() {
@@ -32,11 +37,12 @@ public abstract class AbstractWidgetData {
this.accountId = accountId;
}
+ @IntRange(from = 0, to = 2)
public int getThemeMode() {
return themeMode;
}
- public void setThemeMode(int themeMode) {
+ public void setThemeMode(@IntRange(from = 0, to = 2) int themeMode) {
this.themeMode = themeMode;
}
}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java
index c2a0f1af..1c94433c 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java
@@ -45,12 +45,12 @@ public class NoteListWidget extends AppWidgetProvider {
for (int appWidgetId : appWidgetIds) {
try {
- final NoteListsWidgetData data = sqliteOpenHelperDatabase.getNoteListWidgetData(appWidgetId);
+ final NoteListsWidgetData data = roomDatabase.getWidgetNotesListDao().getNoteListWidgetData(appWidgetId);
final LocalAccountEntity localAccountEntity = roomDatabase.getLocalAccountDao().getAccount(data.getAccountId());
String category = null;
if (data.getCategoryId() != null) {
- category = sqliteOpenHelperDatabase.getCategoryTitleById(data.getAccountId(), data.getCategoryId());
+ category = roomDatabase.getCategoryDao().getCategoryTitleById(data.getCategoryId());
}
darkTheme = DarkModeSetting.fromModeID(data.getThemeMode());
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java
index 5fde5010..c5b1da01 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java
@@ -12,6 +12,7 @@ import android.widget.RemoteViewsService;
import java.util.List;
import it.niedermann.owncloud.notes.R;
+import it.niedermann.owncloud.notes.persistence.NotesRoomDatabase;
import it.niedermann.owncloud.notes.preferences.DarkModeSetting;
import it.niedermann.owncloud.notes.edit.EditNoteActivity;
import it.niedermann.owncloud.notes.shared.model.DBNote;
@@ -28,7 +29,8 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
private final Context context;
private final NoteListsWidgetData data;
private final boolean darkTheme;
- private NotesDatabase db;
+ private NotesDatabase sqliteOpenHelperDatabase;
+ private NotesRoomDatabase roomDatabase;
private List<DBNote> dbNotes;
NoteListWidgetFactory(Context context, Intent intent) {
@@ -36,8 +38,9 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
final int appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
- db = NotesDatabase.getInstance(context);
- data = db.getNoteListWidgetData(appWidgetId);
+ sqliteOpenHelperDatabase = NotesDatabase.getInstance(context);
+ roomDatabase = NotesRoomDatabase.getInstance(context);
+ data = roomDatabase.getWidgetNotesListDao().getNoteListWidgetData(appWidgetId);
darkTheme = NotesApplication.isDarkThemeActive(context, DarkModeSetting.fromModeID(data.getThemeMode()));
}
@@ -52,14 +55,14 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
Log.v(TAG, "--- data - " + data);
switch (data.getMode()) {
case MODE_DISPLAY_ALL:
- dbNotes = db.getNotes(data.getAccountId());
+ dbNotes = sqliteOpenHelperDatabase.getNotes(data.getAccountId());
break;
case MODE_DISPLAY_STARRED:
- dbNotes = db.searchNotes(data.getAccountId(), null, null, true);
+ dbNotes = sqliteOpenHelperDatabase.searchNotes(data.getAccountId(), null, null, true);
break;
case MODE_DISPLAY_CATEGORY:
if (data.getCategoryId() != null) {
- dbNotes = db.searchNotes(data.getAccountId(), null, db.getCategoryTitleById(data.getAccountId(), data.getCategoryId()), null);
+ dbNotes = sqliteOpenHelperDatabase.searchNotes(data.getAccountId(), null, roomDatabase.getCategoryDao().getCategoryTitleById(data.getCategoryId()), null);
}
break;
}
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 c7b94d15..4f5fdcdc 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
@@ -14,6 +14,7 @@ import java.util.NoSuchElementException;
import it.niedermann.owncloud.notes.R;
import it.niedermann.owncloud.notes.persistence.NotesRoomDatabase;
+import it.niedermann.owncloud.notes.persistence.entity.WidgetSingleNoteEntity;
import it.niedermann.owncloud.notes.preferences.DarkModeSetting;
import it.niedermann.owncloud.notes.edit.EditNoteActivity;
import it.niedermann.owncloud.notes.edit.BaseNoteFragment;
@@ -26,11 +27,11 @@ public class SingleNoteWidget extends AppWidgetProvider {
static void updateAppWidget(Context context, AppWidgetManager awm, int[] appWidgetIds) {
final Intent templateIntent = new Intent(context, EditNoteActivity.class);
- final NotesDatabase db = NotesDatabase.getInstance(context);
+ final NotesRoomDatabase db = NotesRoomDatabase.getInstance(context);
for (int appWidgetId : appWidgetIds) {
try {
- final SingleNoteWidgetData data = db.getSingleNoteWidgetData(appWidgetId);
+ final WidgetSingleNoteEntity data = db.getWidgetSingleNoteDao().getSingleNoteWidgetData(appWidgetId);
templateIntent.putExtra(BaseNoteFragment.PARAM_ACCOUNT_ID, data.getAccountId());
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 25d4f408..fd17fe51 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
@@ -15,6 +15,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
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.persistence.entity.WidgetSingleNoteEntity;
import it.niedermann.owncloud.notes.shared.model.DBNote;
import it.niedermann.owncloud.notes.NotesApplication;
@@ -52,8 +53,8 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity {
int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
try {
- sqliteOpenHelperDatabase.createOrUpdateSingleNoteWidgetData(
- new SingleNoteWidgetData(
+ roomDatabase.getWidgetSingleNoteDao().createOrUpdateSingleNoteWidgetData(
+ new WidgetSingleNoteEntity(
appWidgetId,
note.getAccountId(),
note.getId(),
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 431bcd7b..1ef8223c 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
@@ -16,6 +16,7 @@ import java.util.NoSuchElementException;
import it.niedermann.owncloud.notes.R;
import it.niedermann.owncloud.notes.persistence.NotesRoomDatabase;
import it.niedermann.owncloud.notes.persistence.entity.NoteEntity;
+import it.niedermann.owncloud.notes.persistence.entity.WidgetSingleNoteEntity;
import it.niedermann.owncloud.notes.preferences.DarkModeSetting;
import it.niedermann.owncloud.notes.edit.EditNoteActivity;
import it.niedermann.owncloud.notes.shared.model.DBNote;
@@ -47,7 +48,7 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa
markdownProcessor = new MarkdownProcessor(this.context);
markdownProcessor.factory(TextFactory.create());
try {
- SingleNoteWidgetData data = sqliteOpenHelperDatabase.getSingleNoteWidgetData(appWidgetId);
+ WidgetSingleNoteEntity data = roomDatabase.getWidgetSingleNoteDao().getSingleNoteWidgetData(appWidgetId);
darkModeActive = NotesApplication.isDarkThemeActive(context, DarkModeSetting.fromModeID(data.getThemeMode()));
} catch (NoSuchElementException e) {
Log.w(TAG, "Widget with ID " + appWidgetId + " seems to be not configured yet.");
@@ -64,7 +65,7 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa
@Override
public void onDataSetChanged() {
try {
- final SingleNoteWidgetData data = sqliteOpenHelperDatabase.getSingleNoteWidgetData(appWidgetId);
+ final WidgetSingleNoteEntity data = roomDatabase.getWidgetSingleNoteDao().getSingleNoteWidgetData(appWidgetId);
final long noteId = data.getNoteId();
Log.v(TAG, "Fetch note with id " + noteId);
note = NoteEntity.entityToDBNote(roomDatabase.getNoteDao().getNote(data.getAccountId(), noteId));