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 17:24:02 +0300
committerStefan Niedermann <info@niedermann.it>2020-10-05 17:24:02 +0300
commit21ba77dc68cfca11da5bca0ac1921582a2c2709a (patch)
treebdf8ce97fd6804a4c9996f5ad074fa8b5e1ff806 /app/src/main/java/it
parentf0b57a2ad8f16cb0e18765b4dea03605f1c7ad13 (diff)
#831 Migrate from SQLiteOpenHelper to Room
Starting widgets
Diffstat (limited to 'app/src/main/java/it')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRoomDatabase.java17
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/dao/WidgetNotesListDao.java12
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/dao/WidgetSingleNoteDao.java18
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/entity/WidgetNotesListEntity.java10
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/persistence/entity/WidgetSingleNoteEntity.java16
-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/singlenote/SingleNoteWidget.java5
8 files changed, 71 insertions, 21 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java
index 9c9c7563..05b8118a 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesDatabase.java
@@ -564,11 +564,6 @@ public class NotesDatabase extends AbstractNotesDatabase {
return data;
}
- public void removeSingleNoteWidget(int appWidgetId) {
- final SQLiteDatabase db = getWritableDatabase();
- db.delete(table_widget_single_notes, key_id + " = ?", new String[]{String.valueOf(appWidgetId)});
- }
-
public void createOrUpdateSingleNoteWidgetData(@NonNull SingleNoteWidgetData data) throws SQLException {
validateAccountId(data.getAccountId());
final SQLiteDatabase db = getWritableDatabase();
@@ -598,11 +593,6 @@ public class NotesDatabase extends AbstractNotesDatabase {
return data;
}
- public void removeNoteListWidget(int appWidgetId) {
- final SQLiteDatabase db = getWritableDatabase();
- db.delete(table_widget_note_list, key_id + " = ?", new String[]{String.valueOf(appWidgetId)});
- }
-
public void createOrUpdateNoteListWidgetData(@NonNull NoteListsWidgetData data) throws SQLException {
validateAccountId(data.getAccountId());
final SQLiteDatabase db = getWritableDatabase();
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRoomDatabase.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRoomDatabase.java
index 57f0a56a..efac971a 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRoomDatabase.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/NotesRoomDatabase.java
@@ -1,12 +1,9 @@
package it.niedermann.owncloud.notes.persistence;
-import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ShortcutInfo;
import android.content.pm.ShortcutManager;
-import android.database.Cursor;
-import android.database.sqlite.SQLiteDatabase;
import android.graphics.drawable.Icon;
import android.os.Build;
import android.text.TextUtils;
@@ -35,10 +32,14 @@ import it.niedermann.owncloud.notes.edit.EditNoteActivity;
import it.niedermann.owncloud.notes.persistence.dao.CategoryDao;
import it.niedermann.owncloud.notes.persistence.dao.LocalAccountDao;
import it.niedermann.owncloud.notes.persistence.dao.NoteDao;
+import it.niedermann.owncloud.notes.persistence.dao.WidgetNotesListDao;
+import it.niedermann.owncloud.notes.persistence.dao.WidgetSingleNoteDao;
import it.niedermann.owncloud.notes.persistence.entity.CategoryEntity;
import it.niedermann.owncloud.notes.persistence.entity.Converters;
import it.niedermann.owncloud.notes.persistence.entity.LocalAccountEntity;
import it.niedermann.owncloud.notes.persistence.entity.NoteEntity;
+import it.niedermann.owncloud.notes.persistence.entity.WidgetNotesListEntity;
+import it.niedermann.owncloud.notes.persistence.entity.WidgetSingleNoteEntity;
import it.niedermann.owncloud.notes.shared.model.Capabilities;
import it.niedermann.owncloud.notes.shared.model.CloudNote;
import it.niedermann.owncloud.notes.shared.model.DBNote;
@@ -55,7 +56,9 @@ import static it.niedermann.owncloud.notes.widget.singlenote.SingleNoteWidget.up
entities = {
LocalAccountEntity.class,
NoteEntity.class,
- CategoryEntity.class
+ CategoryEntity.class,
+ WidgetSingleNoteEntity.class,
+ WidgetNotesListEntity.class
}, version = 18
)
@TypeConverters({Converters.class})
@@ -102,10 +105,10 @@ public abstract class NotesRoomDatabase extends RoomDatabase {
};
public abstract LocalAccountDao getLocalAccountDao();
-
public abstract CategoryDao getCategoryDao();
-
public abstract NoteDao getNoteDao();
+ public abstract WidgetSingleNoteDao getWidgetSingleNoteDao();
+ public abstract WidgetNotesListDao getWidgetNotesListDao();
@SuppressWarnings("UnusedReturnValue")
public long addAccount(@NonNull String url, @NonNull String username, @NonNull String accountName, @NonNull Capabilities capabilities) {
@@ -328,7 +331,7 @@ public abstract class NotesRoomDatabase extends RoomDatabase {
public Map<Long, Long> getIdMap(long accountId) {
validateAccountId(accountId);
Map<Long, Long> result = new HashMap<>();
- for(NoteEntity note : getNoteDao().getRemoteIdAndId(accountId)) {
+ for (NoteEntity note : getNoteDao().getRemoteIdAndId(accountId)) {
result.put(note.getRemoteId(), note.getId());
}
return result;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/dao/WidgetNotesListDao.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/dao/WidgetNotesListDao.java
new file mode 100644
index 00000000..272b9820
--- /dev/null
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/dao/WidgetNotesListDao.java
@@ -0,0 +1,12 @@
+package it.niedermann.owncloud.notes.persistence.dao;
+
+import androidx.room.Dao;
+import androidx.room.Query;
+
+@Dao
+public interface WidgetNotesListDao {
+
+ @Query("DELETE FROM WidgetNotesListEntity WHERE id = :appWidgetId")
+ void removeNoteListWidget(int appWidgetId);
+
+}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/dao/WidgetSingleNoteDao.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/dao/WidgetSingleNoteDao.java
new file mode 100644
index 00000000..e79ea1db
--- /dev/null
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/dao/WidgetSingleNoteDao.java
@@ -0,0 +1,18 @@
+package it.niedermann.owncloud.notes.persistence.dao;
+
+import android.database.sqlite.SQLiteDatabase;
+
+import androidx.annotation.NonNull;
+import androidx.room.Dao;
+import androidx.room.Insert;
+import androidx.room.Query;
+
+import it.niedermann.owncloud.notes.persistence.entity.CategoryEntity;
+
+@Dao
+public interface WidgetSingleNoteDao {
+
+ @Query("DELETE FROM WidgetSingleNoteEntity WHERE id = :appWidgetId")
+ void removeSingleNoteWidget(int appWidgetId);
+
+}
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/entity/WidgetNotesListEntity.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/entity/WidgetNotesListEntity.java
new file mode 100644
index 00000000..f5cdf650
--- /dev/null
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/entity/WidgetNotesListEntity.java
@@ -0,0 +1,10 @@
+package it.niedermann.owncloud.notes.persistence.entity;
+
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+
+@Entity()
+public class WidgetNotesListEntity {
+ @PrimaryKey
+ private long id;
+} \ No newline at end of file
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/persistence/entity/WidgetSingleNoteEntity.java b/app/src/main/java/it/niedermann/owncloud/notes/persistence/entity/WidgetSingleNoteEntity.java
new file mode 100644
index 00000000..80d03cfc
--- /dev/null
+++ b/app/src/main/java/it/niedermann/owncloud/notes/persistence/entity/WidgetSingleNoteEntity.java
@@ -0,0 +1,16 @@
+package it.niedermann.owncloud.notes.persistence.entity;
+
+import androidx.room.Embedded;
+import androidx.room.Entity;
+import androidx.room.PrimaryKey;
+
+import java.util.Calendar;
+
+import it.niedermann.owncloud.notes.shared.model.DBNote;
+import it.niedermann.owncloud.notes.shared.model.DBStatus;
+
+@Entity()
+public class WidgetSingleNoteEntity {
+ @PrimaryKey
+ private long id;
+} \ No newline at end of file
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 bdc8abe4..c2a0f1af 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
@@ -162,10 +162,10 @@ public class NoteListWidget extends AppWidgetProvider {
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
super.onDeleted(context, appWidgetIds);
- final NotesDatabase db = NotesDatabase.getInstance(context);
+ final NotesRoomDatabase db = NotesRoomDatabase.getInstance(context);
for (int appWidgetId : appWidgetIds) {
- db.removeNoteListWidget(appWidgetId);
+ db.getWidgetNotesListDao().removeNoteListWidget(appWidgetId);
}
}
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..c7b94d15 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
@@ -13,6 +13,7 @@ import android.widget.RemoteViews;
import java.util.NoSuchElementException;
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.edit.BaseNoteFragment;
@@ -79,10 +80,10 @@ public class SingleNoteWidget extends AppWidgetProvider {
@Override
public void onDeleted(Context context, int[] appWidgetIds) {
- final NotesDatabase db = NotesDatabase.getInstance(context);
+ final NotesRoomDatabase roomDatabase = NotesRoomDatabase.getInstance(context);
for (int appWidgetId : appWidgetIds) {
- db.removeSingleNoteWidget(appWidgetId);
+ roomDatabase.getWidgetSingleNoteDao().removeSingleNoteWidget(appWidgetId);
}
super.onDeleted(context, appWidgetIds);
}