diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-10-06 12:41:29 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-10-06 12:41:29 +0300 |
commit | ac20a45c07a5c29e4967af9de66c74fc51561544 (patch) | |
tree | c1e1dd649fa72430829e163d375633f8b44a6933 /app/src/main/java/it/niedermann/owncloud/notes/widget | |
parent | b27664cc15e894d478570bcf86115cc5ef933a47 (diff) |
#831 Migrate from SQLiteOpenHelper to Room
Remove old SqliteOpenHelper database
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/widget')
6 files changed, 31 insertions, 46 deletions
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 1c94433c..50905c40 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 @@ -13,16 +13,15 @@ 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.branding.BrandingUtil; +import it.niedermann.owncloud.notes.edit.EditNoteActivity; +import it.niedermann.owncloud.notes.main.MainActivity; import it.niedermann.owncloud.notes.persistence.NotesRoomDatabase; import it.niedermann.owncloud.notes.persistence.entity.LocalAccountEntity; import it.niedermann.owncloud.notes.preferences.DarkModeSetting; -import it.niedermann.owncloud.notes.edit.EditNoteActivity; -import it.niedermann.owncloud.notes.main.MainActivity; -import it.niedermann.owncloud.notes.branding.BrandingUtil; import it.niedermann.owncloud.notes.shared.model.Category; -import it.niedermann.owncloud.notes.persistence.NotesDatabase; -import it.niedermann.owncloud.notes.NotesApplication; import static it.niedermann.owncloud.notes.edit.EditNoteActivity.PARAM_CATEGORY; import static it.niedermann.owncloud.notes.widget.notelist.NoteListsWidgetData.MODE_DISPLAY_ALL; diff --git a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java index 978e49ee..cdcb6d0c 100644 --- a/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java +++ b/app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java @@ -18,33 +18,28 @@ import com.nextcloud.android.sso.helper.SingleAccountHelper; import java.util.ArrayList; import java.util.List; -import java.util.Map; -import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.LockedActivity; +import it.niedermann.owncloud.notes.NotesApplication; +import it.niedermann.owncloud.notes.R; import it.niedermann.owncloud.notes.main.MainActivity; -import it.niedermann.owncloud.notes.persistence.NotesRoomDatabase; -import it.niedermann.owncloud.notes.persistence.entity.WidgetNotesListEntity; -import it.niedermann.owncloud.notes.shared.model.LocalAccount; import it.niedermann.owncloud.notes.main.NavigationAdapter; import it.niedermann.owncloud.notes.main.NavigationAdapter.CategoryNavigationItem; -import it.niedermann.owncloud.notes.persistence.NotesDatabase; -import it.niedermann.owncloud.notes.NotesApplication; +import it.niedermann.owncloud.notes.persistence.NotesRoomDatabase; +import it.niedermann.owncloud.notes.persistence.entity.LocalAccountEntity; +import it.niedermann.owncloud.notes.persistence.entity.WidgetNotesListEntity; -import static it.niedermann.owncloud.notes.persistence.entity.LocalAccountEntity.entityToLocalAccount; public class NoteListWidgetConfigurationActivity extends LockedActivity { private static final String TAG = Activity.class.getSimpleName(); private int appWidgetId = AppWidgetManager.INVALID_APPWIDGET_ID; - - private LocalAccount localAccount = null; + private LocalAccountEntity localAccount = null; private NavigationAdapter adapterCategories; private NavigationAdapter.NavigationItem itemRecent; private NavigationAdapter.NavigationItem itemFavorites; - private NotesDatabase sqliteOpenHelperDatabase = null; private NotesRoomDatabase roomDatabase = null; @Override @@ -53,10 +48,9 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity { setResult(RESULT_CANCELED); setContentView(R.layout.activity_note_list_configuration); - sqliteOpenHelperDatabase = NotesDatabase.getInstance(this); roomDatabase = NotesRoomDatabase.getInstance(this); try { - this.localAccount = entityToLocalAccount(roomDatabase.getLocalAccountDao().getLocalAccountByAccountName(SingleAccountHelper.getCurrentSingleSignOnAccount(this).name)); + this.localAccount = roomDatabase.getLocalAccountDao().getLocalAccountByAccountName(SingleAccountHelper.getCurrentSingleSignOnAccount(this).name); } catch (NextcloudFilesAppAccountNotFoundException | NoCurrentAccountSelectedException e) { e.printStackTrace(); Toast.makeText(this, R.string.widget_not_logged_in, Toast.LENGTH_LONG).show(); @@ -149,7 +143,7 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity { return new ArrayList<>(); } NavigationAdapter.NavigationItem itemUncategorized; - List<CategoryNavigationItem> categories = sqliteOpenHelperDatabase.getCategories(localAccount.getId()); + List<CategoryNavigationItem> categories = roomDatabase.getCategories(localAccount.getId()); if (!categories.isEmpty() && categories.get(0).label.isEmpty()) { itemUncategorized = categories.get(0); 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 e7c68402..9372b81c 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 @@ -11,14 +11,12 @@ import android.widget.RemoteViewsService; import java.util.List; +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.NotesRoomDatabase; import it.niedermann.owncloud.notes.persistence.entity.NoteEntity; import it.niedermann.owncloud.notes.preferences.DarkModeSetting; -import it.niedermann.owncloud.notes.edit.EditNoteActivity; -import it.niedermann.owncloud.notes.shared.model.DBNote; -import it.niedermann.owncloud.notes.persistence.NotesDatabase; -import it.niedermann.owncloud.notes.NotesApplication; import static it.niedermann.owncloud.notes.widget.notelist.NoteListsWidgetData.MODE_DISPLAY_ALL; import static it.niedermann.owncloud.notes.widget.notelist.NoteListsWidgetData.MODE_DISPLAY_CATEGORY; @@ -30,8 +28,7 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact private final Context context; private final NoteListsWidgetData data; private final boolean darkTheme; - private NotesDatabase sqliteOpenHelperDatabase; - private NotesRoomDatabase roomDatabase; + private NotesRoomDatabase db; private List<NoteEntity> noteEntities; NoteListWidgetFactory(Context context, Intent intent) { @@ -39,9 +36,8 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact final int appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); - sqliteOpenHelperDatabase = NotesDatabase.getInstance(context); - roomDatabase = NotesRoomDatabase.getInstance(context); - data = roomDatabase.getWidgetNotesListDao().getNoteListWidgetData(appWidgetId); + db = NotesRoomDatabase.getInstance(context); + data = db.getWidgetNotesListDao().getNoteListWidgetData(appWidgetId); darkTheme = NotesApplication.isDarkThemeActive(context, DarkModeSetting.fromModeID(data.getThemeMode())); } @@ -56,14 +52,14 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact Log.v(TAG, "--- data - " + data); switch (data.getMode()) { case MODE_DISPLAY_ALL: - noteEntities = roomDatabase.getNoteDao().getNotes(data.getAccountId()); + noteEntities = db.getNoteDao().getNotes(data.getAccountId()); break; case MODE_DISPLAY_STARRED: - noteEntities = roomDatabase.getNoteDao().searchNotes(data.getAccountId(), null, null, true, null); + noteEntities = db.getNoteDao().searchNotes(data.getAccountId(), null, null, true, null); break; case MODE_DISPLAY_CATEGORY: if (data.getCategoryId() != null) { - noteEntities = roomDatabase.getNoteDao().searchNotes(data.getAccountId(), null, roomDatabase.getCategoryDao().getCategoryTitleById(data.getCategoryId()), null, null); + noteEntities = db.getNoteDao().searchNotes(data.getAccountId(), null, db.getCategoryDao().getCategoryTitleById(data.getCategoryId()), null, 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 4f5fdcdc..7ecec33a 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 @@ -12,14 +12,13 @@ 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.edit.BaseNoteFragment; +import it.niedermann.owncloud.notes.edit.EditNoteActivity; 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; -import it.niedermann.owncloud.notes.persistence.NotesDatabase; -import it.niedermann.owncloud.notes.NotesApplication; public class SingleNoteWidget extends AppWidgetProvider { 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 fd17fe51..72febe4f 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,12 +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.persistence.entity.WidgetSingleNoteEntity; import it.niedermann.owncloud.notes.shared.model.DBNote; -import it.niedermann.owncloud.notes.NotesApplication; public class SingleNoteWidgetConfigurationActivity extends MainActivity { 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 1ef8223c..1547a352 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 @@ -13,16 +13,15 @@ import com.yydcdut.markdown.syntax.text.TextFactory; import java.util.NoSuchElementException; +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.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; -import it.niedermann.owncloud.notes.persistence.NotesDatabase; import it.niedermann.owncloud.notes.shared.util.MarkDownUtil; -import it.niedermann.owncloud.notes.NotesApplication; import static it.niedermann.owncloud.notes.shared.util.MarkDownUtil.parseCompat; @@ -32,8 +31,7 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa private final Context context; private final int appWidgetId; - private NotesDatabase sqliteOpenHelperDatabase; - private NotesRoomDatabase roomDatabase; + private NotesRoomDatabase db; private DBNote note; private boolean darkModeActive = false; @@ -43,12 +41,11 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa this.context = context; appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID); - sqliteOpenHelperDatabase = NotesDatabase.getInstance(context); - roomDatabase = NotesRoomDatabase.getInstance(context); + db = NotesRoomDatabase.getInstance(context); markdownProcessor = new MarkdownProcessor(this.context); markdownProcessor.factory(TextFactory.create()); try { - WidgetSingleNoteEntity data = roomDatabase.getWidgetSingleNoteDao().getSingleNoteWidgetData(appWidgetId); + WidgetSingleNoteEntity data = db.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."); @@ -65,10 +62,10 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa @Override public void onDataSetChanged() { try { - final WidgetSingleNoteEntity data = roomDatabase.getWidgetSingleNoteDao().getSingleNoteWidgetData(appWidgetId); + final WidgetSingleNoteEntity data = db.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)); + note = NoteEntity.entityToDBNote(db.getNoteDao().getNote(data.getAccountId(), noteId)); if (note == null) { Log.e(TAG, "Error: note not found"); |