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-12-29 17:07:07 +0300
committerStefan Niedermann <info@niedermann.it>2020-12-29 17:07:07 +0300
commit4bece6a5e32231610efa7c27a55b07abe93b5247 (patch)
treef4833f2b387d6b402f2d075db66f8c4c066c4de8 /app/src/main/java/it/niedermann/owncloud/notes/widget
parentbb542a887f9b90c3280332469df80542620edbab (diff)
Denormalize database to eleminate artifical category ID
see https://github.com/stefan-niedermann/nextcloud-notes/pull/967#issuecomment-751854626
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/widget')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidget.java7
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetConfigurationActivity.java6
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/notelist/NoteListWidgetFactory.java12
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetConfigurationActivity.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/widget/singlenote/SingleNoteWidgetFactory.java9
5 files changed, 15 insertions, 23 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 84a15231..6b6d5050 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
@@ -46,10 +46,7 @@ public class NoteListWidget extends AppWidgetProvider {
if (data != null) {
final Account localAccount = db.getAccountDao().getAccount(data.getAccountId());
- String category = null;
- if (data.getCategoryId() != null) {
- category = db.getCategoryDao().getCategoryTitleById(data.getCategoryId());
- }
+ String category = data.getCategory();
darkTheme = DarkModeSetting.fromModeID(data.getThemeMode());
@@ -72,7 +69,7 @@ public class NoteListWidget extends AppWidgetProvider {
new Intent(context, EditNoteActivity.class).putExtra(PARAM_CATEGORY,
data.getMode() == MODE_DISPLAY_STARRED
? new NavigationCategory(ENavigationCategoryType.FAVORITES)
- : new NavigationCategory(db.getCategoryDao().getCategoryByTitle(localAccount.getId(), category))),
+ : new NavigationCategory(localAccount.getId(), category)),
PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent templatePI = PendingIntent.getActivity(context, PENDING_INTENT_EDIT_NOTE_RQ,
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 c2ef6122..eb251a9c 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
@@ -99,13 +99,13 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity {
}
case UNCATEGORIZED: {
data.setMode(MODE_DISPLAY_CATEGORY);
- data.setCategoryId(null);
+ data.setCategory(null);
}
case DEFAULT_CATEGORY:
default: {
if (item.getClass() == NavigationItem.CategoryNavigationItem.class) {
data.setMode(MODE_DISPLAY_CATEGORY);
- data.setCategoryId(((NavigationItem.CategoryNavigationItem) item).categoryId);
+ data.setCategory(((NavigationItem.CategoryNavigationItem) item).category);
} else {
data.setMode(MODE_DISPLAY_ALL);
Log.e(TAG, "Unknown item navigation type. Fallback to show " + RECENT);
@@ -141,7 +141,7 @@ public class NoteListWidgetConfigurationActivity extends LockedActivity {
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapterCategories);
distinctUntilChanged(
- map(db.getCategoryDao().getCategoriesLiveData(localAccount.getId()), fromDatabase -> {
+ map(db.getNoteDao().getCategoriesLiveData(localAccount.getId()), fromDatabase -> {
List<NavigationItem.CategoryNavigationItem> categories = convertToCategoryNavigationItem(NoteListWidgetConfigurationActivity.this, fromDatabase);
ArrayList<NavigationItem> items = new ArrayList<>(fromDatabase.size() + 3);
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 beb6f87d..5b200f8f 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
@@ -18,10 +18,8 @@ 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.Note;
-import it.niedermann.owncloud.notes.persistence.entity.NoteWithCategory;
import it.niedermann.owncloud.notes.persistence.entity.NotesListWidgetData;
import it.niedermann.owncloud.notes.preferences.DarkModeSetting;
-import it.niedermann.owncloud.notes.shared.model.CategorySortingMethod;
import static it.niedermann.owncloud.notes.persistence.entity.NotesListWidgetData.MODE_DISPLAY_ALL;
import static it.niedermann.owncloud.notes.persistence.entity.NotesListWidgetData.MODE_DISPLAY_CATEGORY;
@@ -35,7 +33,7 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
private final NotesListWidgetData data;
private final boolean darkTheme;
private NotesDatabase db;
- private List<NoteWithCategory> noteEntities;
+ private List<Note> noteEntities;
NoteListWidgetFactory(Context context, Intent intent) {
this.context = context;
@@ -49,7 +47,7 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
@Override
public void onCreate() {
- final LiveData<List<NoteWithCategory>> noteEntitiesLiveData;
+ final LiveData<List<Note>> noteEntitiesLiveData;
try {
Log.v(TAG, "--- data - " + data);
switch (data.getMode()) {
@@ -61,8 +59,8 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
break;
case MODE_DISPLAY_CATEGORY:
default:
- if (data.getCategoryId() != null) {
- noteEntitiesLiveData = db.getNoteDao().searchCategoryByModified(data.getAccountId(), "%", db.getCategoryDao().getCategoryTitleById(data.getCategoryId()));
+ if (data.getCategory() != null) {
+ noteEntitiesLiveData = db.getNoteDao().searchCategoryByModified(data.getAccountId(), "%", data.getCategory());
} else {
noteEntitiesLiveData = db.getNoteDao().searchUncategorizedByModified(data.getAccountId(), "%");
}
@@ -102,7 +100,7 @@ public class NoteListWidgetFactory implements RemoteViewsService.RemoteViewsFact
return null;
}
- Note note = noteEntities.get(position).getNote();
+ Note note = noteEntities.get(position);
final Intent fillInIntent = new Intent();
final Bundle extras = new Bundle();
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 7651d5e7..797cc908 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
@@ -16,7 +16,7 @@ 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.NoteWithCategory;
+import it.niedermann.owncloud.notes.persistence.entity.Note;
import it.niedermann.owncloud.notes.persistence.entity.SingleNoteWidgetData;
public class SingleNoteWidgetConfigurationActivity extends MainActivity {
@@ -42,7 +42,7 @@ public class SingleNoteWidgetConfigurationActivity extends MainActivity {
@Override
public void onNoteClick(int position, View v) {
- final NoteWithCategory note = (NoteWithCategory) adapter.getItem(position);
+ final Note note = (Note) adapter.getItem(position);
final Bundle extras = getIntent().getExtras();
if (extras == null) {
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 5c09e154..49783eae 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
@@ -8,17 +8,14 @@ import android.util.Log;
import android.widget.RemoteViews;
import android.widget.RemoteViewsService;
-import java.util.NoSuchElementException;
-
import it.niedermann.android.markdown.MarkdownUtil;
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.Note;
import it.niedermann.owncloud.notes.persistence.entity.SingleNoteWidgetData;
import it.niedermann.owncloud.notes.preferences.DarkModeSetting;
-import it.niedermann.owncloud.notes.shared.util.MarkDownUtil;
public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFactory {
@@ -27,7 +24,7 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa
private final int appWidgetId;
private NotesDatabase db;
- private NoteWithCategory note;
+ private Note note;
private boolean darkModeActive = false;
private static final String TAG = SingleNoteWidget.class.getSimpleName();
@@ -56,7 +53,7 @@ public class SingleNoteWidgetFactory implements RemoteViewsService.RemoteViewsFa
if (data != null) {
final long noteId = data.getNoteId();
Log.v(TAG, "Fetch note with id " + noteId);
- note = db.getNoteDao().getFullNoteWithCategory(noteId);
+ note = db.getNoteDao().getNoteById(noteId);
if (note == null) {
Log.e(TAG, "Error: note not found");