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>2021-04-08 12:43:03 +0300
committerStefan Niedermann <info@niedermann.it>2021-04-08 12:43:03 +0300
commit4655285303df17a733fd4c63db7ad0beab9ad5cf (patch)
treeeafa24fc01faf61e5308fd3a115023c374d2adac
parenta4b8f8beb242b9e0783f2c423f2f68aa3cb5d476 (diff)
Reactive a few tests
-rw-r--r--app/src/androidTest/java/it/niedermann/owncloud/notes/persistence/NotesNotesDatabaseTest.java296
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java6
2 files changed, 156 insertions, 146 deletions
diff --git a/app/src/androidTest/java/it/niedermann/owncloud/notes/persistence/NotesNotesDatabaseTest.java b/app/src/androidTest/java/it/niedermann/owncloud/notes/persistence/NotesNotesDatabaseTest.java
index e878674a..b03baa74 100644
--- a/app/src/androidTest/java/it/niedermann/owncloud/notes/persistence/NotesNotesDatabaseTest.java
+++ b/app/src/androidTest/java/it/niedermann/owncloud/notes/persistence/NotesNotesDatabaseTest.java
@@ -4,6 +4,8 @@ import android.content.Context;
import android.util.Log;
import androidx.annotation.NonNull;
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule;
+import androidx.room.Room;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -12,19 +14,28 @@ import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
import org.junit.Before;
import org.junit.FixMethodOrder;
import org.junit.Ignore;
+import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.TimeZone;
+import it.niedermann.owncloud.notes.main.navigation.NavigationItem;
import it.niedermann.owncloud.notes.persistence.entity.Account;
+import it.niedermann.owncloud.notes.persistence.entity.Note;
import it.niedermann.owncloud.notes.shared.model.Capabilities;
+import static it.niedermann.owncloud.notes.persistence.NotesDatabaseTestUtil.getOrAwaitValue;
+import static it.niedermann.owncloud.notes.shared.util.DisplayUtils.convertToCategoryNavigationItem;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
/**
@@ -36,24 +47,26 @@ import static org.junit.Assert.assertNotNull;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class NotesNotesDatabaseTest {
+ @Rule
+ public InstantTaskExecutorRule instantTaskExecutorRule = new InstantTaskExecutorRule();
+
@NonNull
private Context context;
private NotesDatabase db = null;
-
- private String accountURL = "HelloHowAreYou";
- private String accountUserName = "John Doe";
- private String accountName = accountUserName + "@" + accountURL;
private Account account = null;
@Before
public void setupDB() throws NextcloudHttpRequestFailedException {
context = ApplicationProvider.getApplicationContext();
- db = NotesDatabase.getInstance(context);
+ db = Room.inMemoryDatabaseBuilder(ApplicationProvider.getApplicationContext(), NotesDatabase.class).build();
// Create a new account if not exist
+ String accountURL = "HelloHowAreYou";
+ String accountUserName = "John Doe";
+ final String accountName = accountUserName + "@" + accountURL;
account = db.getAccountDao().getAccountByName(accountName);
if (account == null) {
final String response = "{\"ocs\":{\"meta\":{\"status\":\"ok\",\"statuscode\":200,\"message\":\"OK\"},\"data\":{\"version\":{\"major\":18,\"minor\":0,\"micro\":4,\"string\":\"18.0.4\",\"edition\":\"\",\"extendedSupport\":false},\"capabilities\":{\"core\":{\"pollinterval\":60,\"webdav-root\":\"remote.php\\/webdav\"},\"bruteforce\":{\"delay\":0},\"files\":{\"bigfilechunking\":true,\"blacklisted_files\":[\".htaccess\"],\"directEditing\":{\"url\":\"https:\\/\\/efss.qloud.my\\/ocs\\/v2.php\\/apps\\/files\\/api\\/v1\\/directEditing\",\"etag\":\"ed2b141af2a39b0e42666952ba60988d\"},\"versioning\":true,\"undelete\":true},\"activity\":{\"apiv2\":[\"filters\",\"filters-api\",\"previews\",\"rich-strings\"]},\"ocm\":{\"enabled\":true,\"apiVersion\":\"1.0-proposal1\",\"endPoint\":\"https:\\/\\/efss.qloud.my\\/index.php\\/ocm\",\"resourceTypes\":[{\"name\":\"file\",\"shareTypes\":[\"user\",\"group\"],\"protocols\":{\"webdav\":\"\\/public.php\\/webdav\\/\"}}]},\"deck\":{\"version\":\"0.8.2\"},\"richdocuments\":{\"mimetypes\":[\"application\\/vnd.oasis.opendocument.text\",\"application\\/vnd.oasis.opendocument.spreadsheet\",\"application\\/vnd.oasis.opendocument.graphics\",\"application\\/vnd.oasis.opendocument.presentation\",\"application\\/vnd.lotus-wordpro\",\"application\\/vnd.visio\",\"application\\/vnd.wordperfect\",\"application\\/msonenote\",\"application\\/msword\",\"application\\/rtf\",\"text\\/rtf\",\"application\\/vnd.openxmlformats-officedocument.wordprocessingml.document\",\"application\\/vnd.openxmlformats-officedocument.wordprocessingml.template\",\"application\\/vnd.ms-word.document.macroEnabled.12\",\"application\\/vnd.ms-word.template.macroEnabled.12\",\"application\\/vnd.ms-excel\",\"application\\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\"application\\/vnd.openxmlformats-officedocument.spreadsheetml.template\",\"application\\/vnd.ms-excel.sheet.macroEnabled.12\",\"application\\/vnd.ms-excel.template.macroEnabled.12\",\"application\\/vnd.ms-excel.addin.macroEnabled.12\",\"application\\/vnd.ms-excel.sheet.binary.macroEnabled.12\",\"application\\/vnd.ms-powerpoint\",\"application\\/vnd.openxmlformats-officedocument.presentationml.presentation\",\"application\\/vnd.openxmlformats-officedocument.presentationml.template\",\"application\\/vnd.openxmlformats-officedocument.presentationml.slideshow\",\"application\\/vnd.ms-powerpoint.addin.macroEnabled.12\",\"application\\/vnd.ms-powerpoint.presentation.macroEnabled.12\",\"application\\/vnd.ms-powerpoint.template.macroEnabled.12\",\"application\\/vnd.ms-powerpoint.slideshow.macroEnabled.12\",\"text\\/csv\"],\"mimetypesNoDefaultOpen\":[\"image\\/svg+xml\",\"application\\/pdf\",\"text\\/plain\",\"text\\/spreadsheet\"],\"collabora\":[],\"direct_editing\":false,\"templates\":false,\"productName\":\"\\u5728\\u7ebf\\u534f\\u4f5c\"},\"dav\":{\"chunking\":\"1.0\"},\"files_sharing\":{\"api_enabled\":true,\"public\":{\"enabled\":true,\"password\":{\"enforced\":true,\"askForOptionalPassword\":false},\"expire_date\":{\"enabled\":true,\"days\":\"7\",\"enforced\":false},\"multiple_links\":true,\"expire_date_internal\":{\"enabled\":false},\"send_mail\":false,\"upload\":true,\"upload_files_drop\":true},\"resharing\":true,\"user\":{\"send_mail\":false,\"expire_date\":{\"enabled\":true}},\"group_sharing\":true,\"group\":{\"enabled\":true,\"expire_date\":{\"enabled\":true}},\"default_permissions\":31,\"federation\":{\"outgoing\":false,\"incoming\":false,\"expire_date\":{\"enabled\":true}},\"sharee\":{\"query_lookup_default\":false},\"sharebymail\":{\"enabled\":true,\"upload_files_drop\":{\"enabled\":true},\"password\":{\"enabled\":true},\"expire_date\":{\"enabled\":true}}},\"external\":{\"v1\":[\"sites\",\"device\",\"groups\",\"redirect\"]},\"notifications\":{\"ocs-endpoints\":[\"list\",\"get\",\"delete\",\"delete-all\",\"icons\",\"rich-strings\",\"action-web\"],\"push\":[\"devices\",\"object-data\",\"delete\"],\"admin-notifications\":[\"ocs\",\"cli\"]},\"password_policy\":{\"minLength\":8,\"enforceNonCommonPassword\":true,\"enforceNumericCharacters\":false,\"enforceSpecialCharacters\":false,\"enforceUpperLowerCase\":false,\"api\":{\"generate\":\"https:\\/\\/efss.qloud.my\\/ocs\\/v2.php\\/apps\\/password_policy\\/api\\/v1\\/generate\",\"validate\":\"https:\\/\\/efss.qloud.my\\/ocs\\/v2.php\\/apps\\/password_policy\\/api\\/v1\\/validate\"}},\"theming\":{\"name\":\"QloudData\",\"url\":\"https:\\/\\/www.qloud.my\\/qloud-data\\/\",\"slogan\":\"Powered by NextCloud\",\"color\":\"#1E4164\",\"color-text\":\"#ffffff\",\"color-element\":\"#1E4164\",\"logo\":\"https:\\/\\/efss.qloud.my\\/index.php\\/apps\\/theming\\/image\\/logo?useSvg=1&v=47\",\"background\":\"https:\\/\\/efss.qloud.my\\/core\\/img\\/background.png?v=47\",\"background-plain\":false,\"background-default\":true,\"logoheader\":\"https:\\/\\/efss.qloud.my\\/index.php\\/apps\\/theming\\/image\\/logo?useSvg=1&v=47\",\"favicon\":\"https:\\/\\/efss.qloud.my\\/index.php\\/apps\\/theming\\/image\\/logo?useSvg=1&v=47\"},\"registration\":{\"enabled\":true,\"apiRoot\":\"\\/ocs\\/v2.php\\/apps\\/registration\\/api\\/v1\\/\",\"apiLevel\":\"v1\"}}}}}";
- Capabilities capabilities = new Capabilities(response, null);
+ final Capabilities capabilities = new Capabilities(response, null);
assertNotNull(capabilities);
db.addAccount(accountURL, accountUserName, accountName, capabilities);
account = db.getAccountDao().getAccountByName(accountName);
@@ -70,55 +83,53 @@ public class NotesNotesDatabaseTest {
}
@Test
- @Ignore
public void test_01_addNote_CloudNote() {
- // TODO LiveData
-// long accountID = account.getId(); // retrieve account id
-// // Create a cloud note for argument passing
-// NoteWithCategory cloudNote = new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "A Great Day", getCurDate() + " This is a really great day bro.",
-// true, null), "Diary");
-//
-// // Pre-check
-// List<Note> notes = db.getNoteDao().getNotes(accountID);
-// int pre_size = notes.size();
-// Log.i("Test_01_addNote_All_Notes_Before_Addition", "Size: " + pre_size);
-//
-// // Add a new note
-// long noteID = db.addNote(accountID, cloudNote);
-// // Check if this note is added successfully
-// NoteWithCategory note = db.getNoteDao().getNoteWithCategory(accountID, noteID);
-// Log.i("Test_01_addNote_Cur_Note", note.toString());
-// Log.i("Test_01_addNote_Cur_Note", "Title: " + note.getTitle());
-// Log.i("Test_01_addNote_Cur_Note", "Content: " + note.getContent());
-// Log.i("Test_01_addNote_Cur_Note", "Category: " + note.getCategory());
-//
-// assertEquals("A Great Day", note.getTitle());
-// assertEquals(cloudNote.getContent(), note.getContent());
-// assertEquals("Diary", note.getCategory());
-// assertEquals(accountID, note.getAccountId().longValue());
-//
-// // Check if this note is in all notes
-// notes = db.getNoteDao().getNotes(accountID);
-// int added_size = notes.size();
-// assertEquals(1, added_size - pre_size);
-//
-// Log.i("Test_01_addNote_All_Notes_Added", "Size: " + added_size);
-// for (Note cnote : notes) {
-// Log.i("Test_01_addNote_All_Notes_Added", cnote.toString());
-// Log.i("Test_01_addNote_All_Notes_Added", cnote.getTitle());
-// }
-//
-// NoteWithCategory cloudNote_re0 = new NoteWithCategory(new Note(0L, Calendar.getInstance(),
-// "A Bad Day", getCurDate() + " You're faking a smile with just a coffee to go (Daniel Powter).",
-// true, null), "A Nice Song");
-// noteID = db.addNote(accountID, cloudNote_re0);
-// note = db.getNoteDao().getNoteWithCategory(accountID, noteID);
-// // Check
-// assertEquals("A Bad Day", note.getTitle());
-// assertEquals(cloudNote_re0.getContent(), note.getContent());
-// assertEquals("A Nice Song", note.getCategory());
-// assertEquals(accountID, note.getAccountId().longValue());
+ long accountID = account.getId(); // retrieve account id
+ // Create a cloud note for argument passing
+ Note cloudNote = new Note(1L, Calendar.getInstance(),
+ "A Great Day", getCurDate() + " This is a really great day bro.", "Diary",
+ true, null);
+
+ // Pre-check
+ List<Note> notes = db.getNoteDao().getRecentNotes(accountID);
+ int pre_size = notes.size();
+ Log.i("Test_01_addNote_All_Notes_Before_Addition", "Size: " + pre_size);
+
+ // Add a new note
+ Note noteID = db.addNote(accountID, cloudNote);
+ // Check if this note is added successfully
+ Note note = db.getNoteDao().getNoteById(noteID.getId());
+ Log.i("Test_01_addNote_Cur_Note", note.toString());
+ Log.i("Test_01_addNote_Cur_Note", "Title: " + note.getTitle());
+ Log.i("Test_01_addNote_Cur_Note", "Content: " + note.getContent());
+ Log.i("Test_01_addNote_Cur_Note", "Category: " + note.getCategory());
+
+ assertEquals("A Great Day", note.getTitle());
+ assertEquals(cloudNote.getContent(), note.getContent());
+ assertEquals("Diary", note.getCategory());
+ assertEquals(accountID, note.getAccountId());
+
+ // Check if this note is in all notes
+ notes = db.getNoteDao().getRecentNotes(accountID);
+ int added_size = notes.size();
+ assertEquals(1, added_size - pre_size);
+
+ Log.i("Test_01_addNote_All_Notes_Added", "Size: " + added_size);
+ for (Note cnote : notes) {
+ Log.i("Test_01_addNote_All_Notes_Added", cnote.toString());
+ Log.i("Test_01_addNote_All_Notes_Added", cnote.getTitle());
+ }
+
+ Note cloudNote_re0 = new Note(0L, Calendar.getInstance(),
+ "A Bad Day", getCurDate() + " You're faking a smile with just a coffee to go (Daniel Powter).", "A Nice Song",
+ true, null);
+ noteID = db.addNote(accountID, cloudNote_re0);
+ note = db.getNoteDao().getNoteById(noteID.getId());
+ // Check
+ assertEquals("A Bad Day", note.getTitle());
+ assertEquals(cloudNote_re0.getContent(), note.getContent());
+ assertEquals("A Nice Song", note.getCategory());
+ assertEquals(accountID, note.getAccountId());
}
@Test
@@ -201,17 +212,17 @@ public class NotesNotesDatabaseTest {
}
@Test
- @Ignore
- public void test_04_getCategories() {
-// List<NavigationItem.CategoryNavigationItem> categories = convertToCategoryNavigationItem(context, db.getCategoryDao().getCategories(account.getId()));
-// boolean exitFlag = false;
-// for (NavigationItem categoryItem : categories) {
-// Log.i("Test_04_getCategories_Item", String.format("%s | %s | %d | %d", categoryItem.id, categoryItem.label, categoryItem.count, categoryItem.icon));
-// if (categoryItem.label.equals("Diary")) {
-// exitFlag = true;
-// }
-// }
-// assertTrue(exitFlag);
+ public void test_04_getCategories() throws InterruptedException {
+ test_01_addNote_CloudNote();
+ List<NavigationItem.CategoryNavigationItem> categories = convertToCategoryNavigationItem(context, getOrAwaitValue(db.getNoteDao().getCategories$(account.getId())));
+ boolean exitFlag = false;
+ for (NavigationItem categoryItem : categories) {
+ Log.i("Test_04_getCategories_Item", String.format("%s | %s | %d | %d", categoryItem.id, categoryItem.label, categoryItem.count, categoryItem.icon));
+ if (categoryItem.label.equals("Diary")) {
+ exitFlag = true;
+ }
+ }
+ assertTrue(exitFlag);
}
@Test
@@ -264,68 +275,67 @@ public class NotesNotesDatabaseTest {
}
@Test
- @Ignore
public void test_07_multiAddNote() {
- // TODO LiveData
-// long thisAccountID = account.getId();
-// ArrayList<NoteWithCategory> multiCloudNote = new ArrayList<>();
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "Mike is so cool.", "Mike is a cool guy you know",
-// true, null), "The BiBle"));
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "Andy is so cool.", "Andy is a cool guy you know",
-// true, null), "The BiBle"));
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "I Honestly Love You", "I Honestly Love You by Leslie",
-// true, null), "Music"));
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "Monica", "Monica by Leslie",
-// true, null), "Music"));
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "Worksheet", "1 2 3 4 5 6 7 8",
-// false, null), "Work"));
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "PowerPoint.", "8 7 6 5 4 3 2 1",
-// false, null), "Work"));
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "Farewell My Concubine", "a great movie",
-// true, null), "Movie"));
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "Leon", "an amazing movie",
-// true, null), "Movie"));
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "The Dark Knight", "another amazing movie",
-// true, null), "Movies"));
-// multiCloudNote.add(new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "How are you.", "i am fine.",
-// false, null), "Diary"));
-//
-// // Pre-check
-// List<Note> notes = db.getNoteDao().getNotes(thisAccountID);
-// int pre_size = notes.size();
-// Log.i("Test_07_multiAddNote_All_Notes_Before_Addition", "Size: " + pre_size);
-//
-// long[] multiNoteID = new long[10];
-// for (int i = 0; i < 10; ++i) {
-// multiNoteID[i] = db.addNote(thisAccountID, multiCloudNote.get(i));
-// }
-//
-// // check if the node added successfully
-// for (int i = 0; i < 10; ++i) {
-// NoteWithCategory nodeTemp = db.getNoteDao().getNoteWithCategory(thisAccountID, multiNoteID[i]);
-// assertEquals(nodeTemp.getTitle(), multiCloudNote.get(i).getTitle());
-// assertEquals(nodeTemp.getCategory(), multiCloudNote.get(i).getCategory());
-// assertEquals(nodeTemp.getContent(), multiCloudNote.get(i).getContent());
-// assertEquals(nodeTemp.getAccountId().longValue(), thisAccountID);
-// Log.i("Test_07_multiAddNote_All_Notes_Addition_sucessful", nodeTemp.toString());
-// }
-//
-// // check if these note is in all notes
-// notes = db.getNoteDao().getNotes(thisAccountID);
-// int add_size = notes.size();
-// assertEquals(10, add_size - pre_size);
-//
-// Log.i("Test_07_multiAddNote_All_Notes_After_Addition", "Size: " + add_size);
+// TODO LiveData
+ long thisAccountID = account.getId();
+ ArrayList<Note> multiCloudNote = new ArrayList<>();
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "Mike is so cool.", "Mike is a cool guy you know", "The BiBle",
+ true, null));
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "Andy is so cool.", "Andy is a cool guy you know", "The BiBle",
+ true, null));
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "I Honestly Love You", "I Honestly Love You by Leslie", "Music",
+ true, null));
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "Monica", "Monica by Leslie", "Music",
+ true, null));
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "Worksheet", "1 2 3 4 5 6 7 8", "Work",
+ false, null));
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "PowerPoint.", "8 7 6 5 4 3 2 1", "Work",
+ false, null));
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "Farewell My Concubine", "a great movie", "Movie",
+ true, null));
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "Leon", "an amazing movie", "Movie",
+ true, null));
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "The Dark Knight", "another amazing movie", "Movies",
+ true, null));
+ multiCloudNote.add(new Note(1L, Calendar.getInstance(),
+ "How are you.", "i am fine.", "Diary",
+ false, null));
+
+ // Pre-check
+ List<Note> notes = db.getNoteDao().searchRecentByModified(thisAccountID, "%");
+ int pre_size = notes.size();
+ Log.i("Test_07_multiAddNote_All_Notes_Before_Addition", "Size: " + pre_size);
+
+ Note[] multiNoteID = new Note[10];
+ for (int i = 0; i < 10; ++i) {
+ multiNoteID[i] = db.addNote(thisAccountID, multiCloudNote.get(i));
+ }
+
+ // check if the node added successfully
+ for (int i = 0; i < 10; ++i) {
+ Note nodeTemp = db.getNoteDao().getNoteById(multiNoteID[i].getId());
+ assertEquals(nodeTemp.getTitle(), multiCloudNote.get(i).getTitle());
+ assertEquals(nodeTemp.getCategory(), multiCloudNote.get(i).getCategory());
+ assertEquals(nodeTemp.getContent(), multiCloudNote.get(i).getContent());
+ assertEquals(nodeTemp.getAccountId(), thisAccountID);
+ Log.i("Test_07_multiAddNote_All_Notes_Addition_sucessful", nodeTemp.toString());
+ }
+
+ // check if these note is in all notes
+ notes = db.getNoteDao().searchRecentByModified(thisAccountID, "%");
+ int add_size = notes.size();
+ assertEquals(10, add_size - pre_size);
+
+ Log.i("Test_07_multiAddNote_All_Notes_After_Addition", "Size: " + add_size);
}
@Test
@@ -446,22 +456,22 @@ public class NotesNotesDatabaseTest {
@Test
@Ignore
- public void test_12_Chinese() {
+ public void test_12_Chinese() throws InterruptedException {
// TODO LiveData
// long accountID = account.getId();
-// NoteWithCategory cloudNote = new NoteWithCategory(new Note(1L, Calendar.getInstance(),
-// "美好的一天", getCurDate() + " 兄弟,这真是美好的一天。",
-// true, null), "日记");
+// Note cloudNote = new Note(1L, Calendar.getInstance(),
+// "美好的一天", getCurDate() + " 兄弟,这真是美好的一天。", "日记",
+// true, null);
//
// // Pre-check
-// List<Note> notes = db.getNoteDao().getNotes(accountID);
+// List<Note> notes = db.getNoteDao().searchRecentByModified(accountID, "%");
// int pre_size = notes.size();
// Log.i("Test_12_Chinese_All_Notes_Before_Addition", "Size: " + pre_size);
//
// // Add a new note
-// long noteID = db.addNote(accountID, cloudNote);
+// Note noteID = db.addNote(accountID, cloudNote);
// // Check if this note is added successfully
-// NoteWithCategory note = db.getNoteDao().getNoteWithCategory(accountID, noteID);
+// Note note = db.getNoteDao().getNoteById(noteID.getId());
// Log.i("Test_12_Chinese_Cur_Note", note.toString());
// Log.i("Test_12_Chinese_Cur_Note", "Title: " + note.getTitle());
// Log.i("Test_12_Chinese_Cur_Note", "Content: " + note.getContent());
@@ -470,10 +480,10 @@ public class NotesNotesDatabaseTest {
// assertEquals("美好的一天", note.getTitle());
// assertEquals(cloudNote.getContent(), note.getContent());
// assertEquals("日记", note.getCategory());
-// assertEquals(accountID, note.getAccountId().longValue());
+// assertEquals(accountID, note.getAccountId());
//
// // Check if this note is in all notes
-// notes = db.getNoteDao().getNotes(accountID);
+// notes = db.getNoteDao().searchRecentByModified(accountID, "%");
// int added_size = notes.size();
//
// assertEquals(1, added_size - pre_size);
@@ -484,11 +494,11 @@ public class NotesNotesDatabaseTest {
// }
//
// long thisAccountID = account.getId();
-// notes = db.getNoteDao().searchNotes(thisAccountID, "美好", "日记", true, null);
-// Log.i("Test_12_Chinese", "Size: " + notes.size());
-// assertEquals(1, notes.size());
+//// notes = db.getNoteDao().searchRecentByModified(thisAccountID, "美好", "日记", true, null);
+//// Log.i("Test_12_Chinese", "Size: " + notes.size());
+//// assertEquals(1, notes.size());
//
-// List<NavigationItem.CategoryNavigationItem> categories = convertToCategoryNavigationItem(context, db.getCategoryDao().getCategories(account.getId()));
+// List<NavigationItem.CategoryNavigationItem> categories = convertToCategoryNavigationItem(context, getOrAwaitValue(db.getNoteDao().getCategories$(account.getId())));
// boolean exitFlag = false;
// for (NavigationItem categoryItem : categories) {
// Log.i("Test_12_Chinese_Item", String.format("%s | %s | %d | %d", categoryItem.id, categoryItem.label, categoryItem.count, categoryItem.icon));
@@ -498,7 +508,7 @@ public class NotesNotesDatabaseTest {
// }
// assertTrue(exitFlag);
//
-// categories = convertToCategoryNavigationItem(context, db.getCategoryDao().searchCategories(account.getId(), "记"));
+// categories = convertToCategoryNavigationItem(context, getOrAwaitValue(db.getNoteDao().searchCategories$(account.getId(), "记")));
// exitFlag = false;
// for (NavigationItem categoryItem : categories) {
// Log.i("Test_12_Chinese_Item", String.format("%s | %s | %d | %d", categoryItem.id, categoryItem.label, categoryItem.count, categoryItem.icon));
@@ -508,15 +518,15 @@ public class NotesNotesDatabaseTest {
// }
// assertTrue(exitFlag);
//
-// notes = db.getNoteDao().getNotes(thisAccountID);
+// notes = db.getNoteDao().searchRecentByModified(thisAccountID, "%");
// for (Note cnote : notes) {
// Log.i("Test_12_Chinese_All_Before_Deletion", cnote.toString());
// // Delete the note after testing
-// db.deleteNote(cnote.getId(), cnote.getStatus());
+// db.getNoteDao().deleteByNoteId(cnote.getId(), cnote.getStatus());
// }
//
// // Check if the note is deleted successfully
-// notes = db.getNoteDao().getNotes(thisAccountID);
+// notes = db.getNoteDao().searchRecentByModified(thisAccountID, "%");
// int deleted_size = notes.size();
// assertEquals(1, added_size - deleted_size);
// Log.i("Test_12_Chinese_All_Notes_After_Deletion", "Size: " + deleted_size);
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java
index a4f51f74..76a4a706 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/main/menu/MenuAdapter.java
@@ -25,9 +25,9 @@ public class MenuAdapter extends RecyclerView.Adapter<MenuViewHolder> {
@NonNull
private MenuItem[] menuItems;
@NonNull
- private Consumer<MenuItem> onClick;
+ private final Consumer<MenuItem> onClick;
@NonNull
- private Context context;
+ private final Context context;
public MenuAdapter(@NonNull Context context, @NonNull Account account, @NonNull Consumer<MenuItem> onClick) {
this.context = context;
@@ -67,7 +67,7 @@ public class MenuAdapter extends RecyclerView.Adapter<MenuViewHolder> {
}
@NonNull
- private Intent generateTrashbinIntent(@NonNull Account account) {
+ private static Intent generateTrashbinIntent(@NonNull Account account) {
return new Intent(Intent.ACTION_VIEW, Uri.parse(account.getUrl() + "/index.php/apps/files/?dir=/&view=trashbin"));
}
}