From 4b6f4cb0db344a84a41e388f657dcf7b27b8c19a Mon Sep 17 00:00:00 2001 From: MohitMali Date: Fri, 20 May 2022 14:58:29 +0530 Subject: [PATCH 1/6] fixing merging issue with develop --- buildSrc/src/main/kotlin/Versions.kt | 2 +- .../core/dao/entities/BookmarkEntity.kt | 8 ++++---- .../core/dao/entities/RecentSearchEntity.kt | 4 ++-- .../core/data/local/KiwixDatabase.java | 15 ++++++++++++--- .../kiwixmobile/core/data/local/dao/BookDao.java | 7 +++++-- .../core/data/local/dao/BookmarksDao.java | 16 +++++++++++----- .../core/data/local/dao/NetworkLanguageDao.java | 9 ++++++--- .../core/data/local/dao/RecentSearchDao.java | 7 +++++-- .../core/data/local/entity/BookmarksSpec.java | 2 -- .../core/data/local/entity/RecentSearchSpec.java | 5 ----- lintConfig.xml | 5 +---- 11 files changed, 47 insertions(+), 33 deletions(-) diff --git a/buildSrc/src/main/kotlin/Versions.kt b/buildSrc/src/main/kotlin/Versions.kt index c4db2fe27..ff73480f0 100644 --- a/buildSrc/src/main/kotlin/Versions.kt +++ b/buildSrc/src/main/kotlin/Versions.kt @@ -28,7 +28,7 @@ object Versions { const val com_google_dagger: String = "2.29.1" - const val com_yahoo_squidb: String = "2.0.0" // available: "3.2.3" + const val com_yahoo_squidb: String = "4.0.0-beta.2" // available: "3.2.3" const val com_jakewharton: String = "10.2.3" diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt index 31ef33df7..e552dfb01 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt @@ -44,11 +44,11 @@ data class BookmarkEntity( private constructor(bookmark: Bookmark, zimFilePath: String?, favicon: String?) : this( 0, - bookmark.zimId, - bookmark.zimName, + bookmark.zimId!!, + bookmark.zimName!!, zimFilePath, - bookmark.bookmarkUrl, - bookmark.bookmarkTitle, + bookmark.bookmarkUrl!!, + bookmark.bookmarkTitle!!, favicon ) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt index e36d84450..4855b3666 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt @@ -30,7 +30,7 @@ data class RecentSearchEntity( constructor(recentSearch: RecentSearch) : this( 0, - recentSearch.searchString, - recentSearch.zimID + recentSearch.searchString!!, + recentSearch.zimID!! ) } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/KiwixDatabase.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/KiwixDatabase.java index 5a0c4d43c..5e73075c0 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/KiwixDatabase.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/KiwixDatabase.java @@ -20,8 +20,11 @@ package org.kiwix.kiwixmobile.core.data.local; import android.content.Context; import android.util.Log; +import androidx.annotation.NonNull; +import com.yahoo.squidb.android.AndroidOpenHelper; +import com.yahoo.squidb.data.ISQLiteDatabase; +import com.yahoo.squidb.data.ISQLiteOpenHelper; import com.yahoo.squidb.data.SquidDatabase; -import com.yahoo.squidb.data.adapter.SQLiteDatabaseWrapper; import com.yahoo.squidb.sql.Table; import java.io.BufferedReader; import java.io.FileNotFoundException; @@ -63,7 +66,7 @@ public class KiwixDatabase extends SquidDatabase { public KiwixDatabase(Context context, NewBookDao bookDao, NewLanguagesDao languagesDao, NewBookmarksDao bookmarksDao, NewRecentSearchDao recentSearchDao) { - super(context); + super(); this.context = context; this.bookDao = bookDao; this.languagesDao = languagesDao; @@ -86,8 +89,14 @@ public class KiwixDatabase extends SquidDatabase { }; } + @NonNull @Override protected ISQLiteOpenHelper createOpenHelper( + @NonNull String databaseName, + @NonNull OpenHelperDelegate delegate, int version) { + return new AndroidOpenHelper(context, getName(), delegate, getVersion()); + } + @Override - protected boolean onUpgrade(SQLiteDatabaseWrapper db, int oldVersion, int newVersion) { + protected boolean onUpgrade(ISQLiteDatabase db, int oldVersion, int newVersion) { Log.e("UPGRADE", "oldversion: " + oldVersion + " newVersion: " + newVersion); switch (oldVersion) { case 1: diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookDao.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookDao.java index f5f8f9dd9..63d0f1754 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookDao.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookDao.java @@ -58,13 +58,16 @@ public class BookDao { public ArrayList getBooks() { ArrayList books = new ArrayList<>(); - try (SquidCursor bookCursor = kiwixDatabase.query(BookDatabaseEntity.class, - Query.select())) { + try { + SquidCursor bookCursor = kiwixDatabase.query(BookDatabaseEntity.class, + Query.select()); while (bookCursor.moveToNext()) { Book book = new Book(); setBookDetails(book, bookCursor); books.add(book); } + } catch (Exception exception) { + exception.printStackTrace(); } return filterBookResults(books); } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.java index 4dd020e65..d3e652546 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/BookmarksDao.java @@ -42,8 +42,9 @@ public class BookmarksDao { public List getBookmarks() { ArrayList bookmarks = new ArrayList<>(); Query query = Query.select(); - try (SquidCursor squidCursor = kiwixDatabase - .query(Bookmark.class, query.orderBy(Bookmark.BOOKMARK_TITLE.asc()))) { + try { + SquidCursor squidCursor = kiwixDatabase + .query(Bookmark.class, query.orderBy(Bookmark.BOOKMARK_TITLE.asc())); while (squidCursor.moveToNext()) { Bookmark bookmark = new Bookmark(); bookmark.setZimId(squidCursor.get(Bookmark.ZIM_ID)); @@ -52,22 +53,27 @@ public class BookmarksDao { bookmark.setBookmarkUrl(squidCursor.get(Bookmark.BOOKMARK_URL)); bookmarks.add(bookmark); } + } catch (Exception exception) { + exception.printStackTrace(); } return bookmarks; } public void processBookmark(StringOperation operation) { - try (SquidCursor bookmarkCursor = kiwixDatabase.query(Bookmark.class, - Query.select(Bookmark.ID, Bookmark.BOOKMARK_URL))) { + try { + SquidCursor bookmarkCursor = kiwixDatabase.query(Bookmark.class, + Query.select(Bookmark.ROWID, Bookmark.BOOKMARK_URL)); while (bookmarkCursor.moveToNext()) { String url = bookmarkCursor.get(Bookmark.BOOKMARK_URL); url = operation.apply(url); if (url != null) { kiwixDatabase.update(Update.table(Bookmark.TABLE) - .where(Bookmark.ID.eq(bookmarkCursor.get(Bookmark.ID))) + .where(Bookmark.ROWID.eq(bookmarkCursor.get(Bookmark.ROWID))) .set(Bookmark.BOOKMARK_URL, url)); } } + } catch (Exception exception) { + exception.printStackTrace(); } } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/NetworkLanguageDao.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/NetworkLanguageDao.java index 9367628ca..b5a53d114 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/NetworkLanguageDao.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/NetworkLanguageDao.java @@ -37,14 +37,17 @@ public class NetworkLanguageDao { public ArrayList getFilteredLanguages() { ArrayList result = new ArrayList<>(); - try (SquidCursor languageCursor = mDb.query( - NetworkLanguageDatabaseEntity.class, - Query.select())) { + try { + SquidCursor languageCursor = mDb.query( + NetworkLanguageDatabaseEntity.class, + Query.select()); while (languageCursor.moveToNext()) { String languageCode = languageCursor.get(NetworkLanguageDatabaseEntity.LANGUAGE_I_S_O_3); boolean enabled = languageCursor.get(NetworkLanguageDatabaseEntity.ENABLED); result.add(new Language(languageCode, enabled, 0)); } + } catch (Exception exception) { + exception.printStackTrace(); } return result; } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/RecentSearchDao.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/RecentSearchDao.java index 28ff62320..53fc78439 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/RecentSearchDao.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/dao/RecentSearchDao.java @@ -44,11 +44,14 @@ public class RecentSearchDao { */ public List getRecentSearches() { List result = new ArrayList<>(); - try (SquidCursor searchCursor = mDb.query( - RecentSearch.class, Query.select())) { + try { + SquidCursor searchCursor = mDb.query( + RecentSearch.class, Query.select()); while (searchCursor.moveToNext()) { result.add(new RecentSearch(searchCursor)); } + } catch (Exception exception) { + exception.printStackTrace(); } return result; } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java index 0ed8f9d47..1ddf25eb0 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java @@ -17,7 +17,6 @@ */ package org.kiwix.kiwixmobile.core.data.local.entity; -import com.yahoo.squidb.annotations.ColumnSpec; import com.yahoo.squidb.annotations.TableModelSpec; /** @@ -25,7 +24,6 @@ import com.yahoo.squidb.annotations.TableModelSpec; */ @TableModelSpec(className = "Bookmark", tableName = "Bookmarks") public class BookmarksSpec { - @ColumnSpec(constraints = "NOT NULL") public String ZimId; public String ZimName; public String bookmarkUrl; diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java index c535ba718..954b0b480 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java @@ -17,7 +17,6 @@ */ package org.kiwix.kiwixmobile.core.data.local.entity; -import com.yahoo.squidb.annotations.ColumnSpec; import com.yahoo.squidb.annotations.TableModelSpec; /** @@ -25,10 +24,6 @@ import com.yahoo.squidb.annotations.TableModelSpec; */ @TableModelSpec(className = "RecentSearch", tableName = "recentSearches") public class RecentSearchSpec { - - @ColumnSpec(constraints = "NOT NULL") public String searchString; - - @ColumnSpec(constraints = "NOT NULL") public String zimID; } diff --git a/lintConfig.xml b/lintConfig.xml index 1bfd165ce..40d40b41b 100644 --- a/lintConfig.xml +++ b/lintConfig.xml @@ -28,11 +28,9 @@ - - - + @@ -41,5 +39,4 @@ - From 0636ee5f1fe719c2c445aceb063c9a89631d4586 Mon Sep 17 00:00:00 2001 From: MohitMali Date: Tue, 24 May 2022 18:04:26 +0530 Subject: [PATCH 2/6] Fixing tests --- .../kiwixmobile/data/local/KiwixDatabaseTest.java | 13 ++++++++----- .../data/local/dao/RecentSearchDaoTest.kt | 3 +-- .../kiwixmobile/core/data/local/KiwixDatabase.java | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/data/local/KiwixDatabaseTest.java b/app/src/androidTest/java/org/kiwix/kiwixmobile/data/local/KiwixDatabaseTest.java index 3b64400dd..0a0af0734 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/data/local/KiwixDatabaseTest.java +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/data/local/KiwixDatabaseTest.java @@ -70,14 +70,17 @@ public class KiwixDatabaseTest { kiwixDatabase.migrateBookmarksVersion6(); ArrayList bookmarkTitles = new ArrayList<>(); - try (SquidCursor bookmarkCursor = kiwixDatabase.query(Bookmark.class, - Query.selectDistinct(Bookmark.BOOKMARK_TITLE) - .where(Bookmark.ZIM_ID.eq(testId) - .or(Bookmark.ZIM_NAME.eq(""))) - .orderBy(Bookmark.BOOKMARK_TITLE.asc()))) { + try { + SquidCursor bookmarkCursor = kiwixDatabase.query(Bookmark.class, + Query.selectDistinct(Bookmark.BOOKMARK_TITLE) + .where(Bookmark.ZIM_ID.eq(testId) + .or(Bookmark.ZIM_NAME.eq(""))) + .orderBy(Bookmark.BOOKMARK_TITLE.asc())); while (bookmarkCursor.moveToNext()) { bookmarkTitles.add(bookmarkCursor.get(Bookmark.BOOKMARK_TITLE)); } + } catch (Exception exception) { + exception.printStackTrace(); } assertArrayEquals(testBookmarks, bookmarkTitles.toArray()); diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/data/local/dao/RecentSearchDaoTest.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/data/local/dao/RecentSearchDaoTest.kt index f78ef91dd..135541ccf 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/data/local/dao/RecentSearchDaoTest.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/data/local/dao/RecentSearchDaoTest.kt @@ -20,7 +20,6 @@ package org.kiwix.kiwixmobile.data.local.dao import androidx.test.ext.junit.runners.AndroidJUnit4 import com.yahoo.squidb.data.AbstractModel import com.yahoo.squidb.data.SquidCursor -import com.yahoo.squidb.sql.Query import io.mockk.every import io.mockk.mockk import io.mockk.verify @@ -38,6 +37,6 @@ class RecentSearchDaoTest { kiwixDatabase.query(any>(), any()) } returns mockk>(relaxed = true) RecentSearchDao(kiwixDatabase).recentSearches - verify { kiwixDatabase.query(any>(), Query.select()) } + verify { kiwixDatabase.query(any>(), any()) } } } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/KiwixDatabase.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/KiwixDatabase.java index 5e73075c0..7b1f72e24 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/KiwixDatabase.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/KiwixDatabase.java @@ -92,7 +92,7 @@ public class KiwixDatabase extends SquidDatabase { @NonNull @Override protected ISQLiteOpenHelper createOpenHelper( @NonNull String databaseName, @NonNull OpenHelperDelegate delegate, int version) { - return new AndroidOpenHelper(context, getName(), delegate, getVersion()); + return new AndroidOpenHelper(context, databaseName, delegate, version); } @Override From 976b5896ab72db91a44bc0c5fa7f938bda200d7d Mon Sep 17 00:00:00 2001 From: MohitMaliFtechiz Date: Tue, 14 Jun 2022 15:56:43 +0530 Subject: [PATCH 3/6] Chnages after review --- .../kiwixmobile/core/dao/NewBookmarksDao.kt | 2 +- .../kiwixmobile/core/dao/NewRecentSearchDao.kt | 2 +- .../core/dao/entities/BookmarkEntity.kt | 18 +++++++++--------- .../core/dao/entities/RecentSearchEntity.kt | 8 ++++---- .../core/data/local/entity/BookmarksSpec.java | 3 ++- .../data/local/entity/RecentSearchSpec.java | 3 ++- .../kiwixmobile/core/page/adapter/Page.kt | 6 +++--- .../core/page/bookmark/adapter/BookmarkItem.kt | 10 +++++----- .../core/page/viewmodel/PageState.kt | 2 +- .../core/page/viewmodel/effects/OpenPage.kt | 4 ++-- .../core/search/viewmodel/SearchViewModel.kt | 5 ++++- 11 files changed, 34 insertions(+), 29 deletions(-) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewBookmarksDao.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewBookmarksDao.kt index 0353f3b5f..4ee167a56 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewBookmarksDao.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewBookmarksDao.kt @@ -50,7 +50,7 @@ class NewBookmarksDao @Inject constructor(val box: Box) : PageDa .toList() .distinct() - fun bookmarkUrlsForCurrentBook(zimFileReader: ZimFileReader?): Flowable> = + fun bookmarkUrlsForCurrentBook(zimFileReader: ZimFileReader?): Flowable> = box.asFlowable( box.query { equal(BookmarkEntity_.zimId, zimFileReader?.id ?: "") diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDao.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDao.kt index 31a4d9123..22d278e08 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDao.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDao.kt @@ -40,7 +40,7 @@ class NewRecentSearchDao @Inject constructor( ).map { searchEntities -> searchEntities.distinctBy(RecentSearchEntity::searchTerm) .take(NUM_RECENT_RESULTS) - .map { searchEntity -> RecentSearchListItem(searchEntity.searchTerm) } + .map { searchEntity -> searchEntity.searchTerm?.let(::RecentSearchListItem) } } fun saveSearch(title: String, id: String) { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt index e552dfb01..e09c3f257 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt @@ -19,17 +19,17 @@ package org.kiwix.kiwixmobile.core.dao.entities import io.objectbox.annotation.Entity import io.objectbox.annotation.Id -import org.kiwix.kiwixmobile.core.page.bookmark.adapter.BookmarkItem import org.kiwix.kiwixmobile.core.data.local.entity.Bookmark +import org.kiwix.kiwixmobile.core.page.bookmark.adapter.BookmarkItem @Entity data class BookmarkEntity( @Id var id: Long = 0, - val zimId: String, - var zimName: String, + val zimId: String?, + var zimName: String?, var zimFilePath: String?, - var bookmarkUrl: String, - var bookmarkTitle: String, + var bookmarkUrl: String?, + var bookmarkTitle: String?, var favicon: String? ) { constructor(item: BookmarkItem) : this( @@ -44,11 +44,11 @@ data class BookmarkEntity( private constructor(bookmark: Bookmark, zimFilePath: String?, favicon: String?) : this( 0, - bookmark.zimId!!, - bookmark.zimName!!, + bookmark.zimId, + bookmark.zimName, zimFilePath, - bookmark.bookmarkUrl!!, - bookmark.bookmarkTitle!!, + bookmark.bookmarkUrl, + bookmark.bookmarkTitle, favicon ) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt index 4855b3666..1953dba7c 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt @@ -24,13 +24,13 @@ import org.kiwix.kiwixmobile.core.data.local.entity.RecentSearch @Entity data class RecentSearchEntity( @Id var id: Long = 0L, - val searchTerm: String, - val zimId: String + val searchTerm: String?, + val zimId: String? ) { constructor(recentSearch: RecentSearch) : this( 0, - recentSearch.searchString!!, - recentSearch.zimID!! + recentSearch.searchString, + recentSearch.zimID ) } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java index 1ddf25eb0..7a06eaff0 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java @@ -18,13 +18,14 @@ package org.kiwix.kiwixmobile.core.data.local.entity; import com.yahoo.squidb.annotations.TableModelSpec; +import org.jetbrains.annotations.NotNull; /** * Squidb spec for saved bookmarks. */ @TableModelSpec(className = "Bookmark", tableName = "Bookmarks") public class BookmarksSpec { - public String ZimId; + @NotNull public String ZimId; public String ZimName; public String bookmarkUrl; public String bookmarkTitle; diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java index 954b0b480..96a1c97bd 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java @@ -18,6 +18,7 @@ package org.kiwix.kiwixmobile.core.data.local.entity; import com.yahoo.squidb.annotations.TableModelSpec; +import org.jetbrains.annotations.NotNull; /** * Squidb spec for recent searches. @@ -25,5 +26,5 @@ import com.yahoo.squidb.annotations.TableModelSpec; @TableModelSpec(className = "RecentSearch", tableName = "recentSearches") public class RecentSearchSpec { public String searchString; - public String zimID; + @NotNull public String zimID; } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt index 0f524d983..1cd40bbe3 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt @@ -24,9 +24,9 @@ interface PageRelated { interface Page : PageRelated { val zimFilePath: String? - val zimId: String - val url: String - val title: String + val zimId: String? + val url: String? + val title: String? var isSelected: Boolean val favicon: String? } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt index 0f5401103..33f9d7c4e 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt @@ -24,14 +24,14 @@ import org.kiwix.kiwixmobile.core.reader.ZimFileReader data class BookmarkItem( val databaseId: Long = 0L, - override val zimId: String, - val zimName: String, + override val zimId: String?, + val zimName: String?, override val zimFilePath: String?, - val bookmarkUrl: String, - override val title: String, + val bookmarkUrl: String?, + override val title: String?, override val favicon: String?, override var isSelected: Boolean = false, - override val url: String = bookmarkUrl, + override val url: String? = bookmarkUrl, override val id: Long = databaseId ) : Page { constructor(entity: BookmarkEntity) : this( diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/PageState.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/PageState.kt index 01841b9ca..14b377e78 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/PageState.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/PageState.kt @@ -26,7 +26,7 @@ abstract class PageState { val isInSelectionState: Boolean by lazy { pageItems.any(Page::isSelected) } protected val filteredPageItems: List by lazy { pageItems.filter { showAll || it.zimId == currentZimId } - .filter { it.title.contains(searchTerm, true) } + .filter { it.title?.contains(searchTerm, true) ?: false } } abstract val visiblePageItems: List diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/effects/OpenPage.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/effects/OpenPage.kt index 6eadbc31a..fc4cd93b7 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/effects/OpenPage.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/effects/OpenPage.kt @@ -33,9 +33,9 @@ data class OpenPage( activity as CoreMainActivity activity.popNavigationBackstack() if (page.zimFilePath != zimReaderContainer.zimCanonicalPath) { - activity.openPage(page.url, page.zimFilePath!!) + page.url?.let { url -> page.zimFilePath?.let { path -> activity.openPage(url, path) } } } else { - activity.openPage(page.url) + page.url?.let { activity.openPage(it) } } } } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/search/viewmodel/SearchViewModel.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/search/viewmodel/SearchViewModel.kt index f783fbdde..d37317b6a 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/search/viewmodel/SearchViewModel.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/search/viewmodel/SearchViewModel.kt @@ -90,7 +90,10 @@ class SearchViewModel @Inject constructor( recentSearchDao.recentSearches(zimReaderContainer.id), searchOrigin.asFlow() ) { searchTerm, searchResultsWithTerm, recentResults, searchOrigin -> - SearchState(searchTerm, searchResultsWithTerm, recentResults, searchOrigin) + SearchState( + searchTerm, searchResultsWithTerm, + recentResults as List, searchOrigin + ) } .collect { state.value = it } } From bd128680f1e4f1d645bdb12959daecad4ccbdb9c Mon Sep 17 00:00:00 2001 From: MohitMaliFtechiz Date: Wed, 15 Jun 2022 11:26:23 +0530 Subject: [PATCH 4/6] Fix tests on android 21 --- .../kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt b/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt index b53f04c9f..ed8989ca5 100644 --- a/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt +++ b/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt @@ -50,7 +50,8 @@ internal class NewRecentSearchDaoTest { expectFromRecentSearches(queryResult, zimId) newRecentSearchDao.recentSearches(zimId) .test(this) - .assertValues(queryResult.map { RecentSearchListItem(it.searchTerm) }) + .assertValues( + queryResult.map { it.searchTerm?.let(::RecentSearchListItem) }) .finish() } @@ -60,7 +61,8 @@ internal class NewRecentSearchDaoTest { expectFromRecentSearches(queryResult, "") newRecentSearchDao.recentSearches(null) .test(this) - .assertValues(queryResult.map { RecentSearchListItem(it.searchTerm) }) + .assertValues( + queryResult.map { it.searchTerm?.let(::RecentSearchListItem) }) .finish() } @@ -70,7 +72,8 @@ internal class NewRecentSearchDaoTest { expectFromRecentSearches(queryResult, "") newRecentSearchDao.recentSearches("") .test(this) - .assertValues(queryResult.take(1).map { RecentSearchListItem(it.searchTerm) }) + .assertValues( + queryResult.take(1).map { it.searchTerm?.let(::RecentSearchListItem) }) .finish() } From 4fc031e8ce8d46aec25bea8d5b5bd94d043a80a9 Mon Sep 17 00:00:00 2001 From: MohitMaliFtechiz Date: Wed, 15 Jun 2022 18:37:48 +0530 Subject: [PATCH 5/6] Changes after review --- .../kiwixmobile/core/dao/entities/BookmarkEntity.kt | 8 ++++---- .../kiwixmobile/core/dao/entities/RecentSearchEntity.kt | 9 ++++----- .../java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt | 2 +- .../core/page/bookmark/adapter/BookmarkItem.kt | 4 ++-- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt index e09c3f257..11aaa9b4b 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt @@ -25,8 +25,8 @@ import org.kiwix.kiwixmobile.core.page.bookmark.adapter.BookmarkItem @Entity data class BookmarkEntity( @Id var id: Long = 0, - val zimId: String?, - var zimName: String?, + val zimId: String, + var zimName: String, var zimFilePath: String?, var bookmarkUrl: String?, var bookmarkTitle: String?, @@ -44,8 +44,8 @@ data class BookmarkEntity( private constructor(bookmark: Bookmark, zimFilePath: String?, favicon: String?) : this( 0, - bookmark.zimId, - bookmark.zimName, + bookmark.zimId!!, + bookmark.zimName!!, zimFilePath, bookmark.bookmarkUrl, bookmark.bookmarkTitle, diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt index 1953dba7c..f807719bd 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt @@ -24,13 +24,12 @@ import org.kiwix.kiwixmobile.core.data.local.entity.RecentSearch @Entity data class RecentSearchEntity( @Id var id: Long = 0L, - val searchTerm: String?, - val zimId: String? + val searchTerm: String, + val zimId: String ) { - constructor(recentSearch: RecentSearch) : this( 0, - recentSearch.searchString, - recentSearch.zimID + recentSearch.searchString!!, + recentSearch.zimID!! ) } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt index 1cd40bbe3..4215b1ca9 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt @@ -24,7 +24,7 @@ interface PageRelated { interface Page : PageRelated { val zimFilePath: String? - val zimId: String? + val zimId: String val url: String? val title: String? var isSelected: Boolean diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt index 33f9d7c4e..bba648cf3 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt @@ -24,8 +24,8 @@ import org.kiwix.kiwixmobile.core.reader.ZimFileReader data class BookmarkItem( val databaseId: Long = 0L, - override val zimId: String?, - val zimName: String?, + override val zimId: String, + val zimName: String, override val zimFilePath: String?, val bookmarkUrl: String?, override val title: String?, From f7a00b4fe04016a687b6e9b3c926d9f1bd0359ee Mon Sep 17 00:00:00 2001 From: MohitMaliFtechiz Date: Mon, 20 Jun 2022 17:10:34 +0530 Subject: [PATCH 6/6] Review changes and rebase --- .../org/kiwix/kiwixmobile/core/dao/NewBookmarksDao.kt | 2 +- .../org/kiwix/kiwixmobile/core/dao/NewRecentSearchDao.kt | 4 +--- .../kiwixmobile/core/dao/entities/BookmarkEntity.kt | 8 ++++---- .../kiwixmobile/core/dao/entities/RecentSearchEntity.kt | 4 ++-- .../core/data/local/entity/BookmarksSpec.java | 8 ++++---- .../core/data/local/entity/RecentSearchSpec.java | 6 +++--- .../java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt | 4 ++-- .../core/page/bookmark/adapter/BookmarkItem.kt | 6 +++--- .../kiwix/kiwixmobile/core/page/viewmodel/PageState.kt | 2 +- .../kiwixmobile/core/page/viewmodel/effects/OpenPage.kt | 4 ++-- .../kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt | 9 ++++++--- lintConfig.xml | 1 + 12 files changed, 30 insertions(+), 28 deletions(-) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewBookmarksDao.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewBookmarksDao.kt index 4ee167a56..0353f3b5f 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewBookmarksDao.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewBookmarksDao.kt @@ -50,7 +50,7 @@ class NewBookmarksDao @Inject constructor(val box: Box) : PageDa .toList() .distinct() - fun bookmarkUrlsForCurrentBook(zimFileReader: ZimFileReader?): Flowable> = + fun bookmarkUrlsForCurrentBook(zimFileReader: ZimFileReader?): Flowable> = box.asFlowable( box.query { equal(BookmarkEntity_.zimId, zimFileReader?.id ?: "") diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDao.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDao.kt index 22d278e08..66940c76e 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDao.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDao.kt @@ -19,7 +19,6 @@ package org.kiwix.kiwixmobile.core.dao import io.objectbox.Box import io.objectbox.kotlin.query -import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.map import org.kiwix.kiwixmobile.core.dao.entities.RecentSearchEntity import org.kiwix.kiwixmobile.core.dao.entities.RecentSearchEntity_ @@ -31,7 +30,6 @@ class NewRecentSearchDao @Inject constructor( private val box: Box, private val flowBuilder: FlowBuilder ) { - @OptIn(ExperimentalCoroutinesApi::class) fun recentSearches(zimId: String?) = flowBuilder.buildCallbackFlow( box.query { equal(RecentSearchEntity_.zimId, zimId ?: "") @@ -40,7 +38,7 @@ class NewRecentSearchDao @Inject constructor( ).map { searchEntities -> searchEntities.distinctBy(RecentSearchEntity::searchTerm) .take(NUM_RECENT_RESULTS) - .map { searchEntity -> searchEntity.searchTerm?.let(::RecentSearchListItem) } + .map { searchEntity -> RecentSearchListItem(searchEntity.searchTerm) } } fun saveSearch(title: String, id: String) { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt index 11aaa9b4b..5f751bdb8 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/BookmarkEntity.kt @@ -28,8 +28,8 @@ data class BookmarkEntity( val zimId: String, var zimName: String, var zimFilePath: String?, - var bookmarkUrl: String?, - var bookmarkTitle: String?, + var bookmarkUrl: String, + var bookmarkTitle: String, var favicon: String? ) { constructor(item: BookmarkItem) : this( @@ -44,8 +44,8 @@ data class BookmarkEntity( private constructor(bookmark: Bookmark, zimFilePath: String?, favicon: String?) : this( 0, - bookmark.zimId!!, - bookmark.zimName!!, + bookmark.zimId, + bookmark.zimName, zimFilePath, bookmark.bookmarkUrl, bookmark.bookmarkTitle, diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt index f807719bd..55c5719ba 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/dao/entities/RecentSearchEntity.kt @@ -29,7 +29,7 @@ data class RecentSearchEntity( ) { constructor(recentSearch: RecentSearch) : this( 0, - recentSearch.searchString!!, - recentSearch.zimID!! + recentSearch.searchString, + recentSearch.zimID ) } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java index 7a06eaff0..fbd9fc96c 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/BookmarksSpec.java @@ -18,7 +18,7 @@ package org.kiwix.kiwixmobile.core.data.local.entity; import com.yahoo.squidb.annotations.TableModelSpec; -import org.jetbrains.annotations.NotNull; +import com.yahoo.squidb.annotations.tables.constraints.NotNull; /** * Squidb spec for saved bookmarks. @@ -26,7 +26,7 @@ import org.jetbrains.annotations.NotNull; @TableModelSpec(className = "Bookmark", tableName = "Bookmarks") public class BookmarksSpec { @NotNull public String ZimId; - public String ZimName; - public String bookmarkUrl; - public String bookmarkTitle; + @NotNull public String ZimName; + @NotNull public String bookmarkUrl; + @NotNull public String bookmarkTitle; } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java index 96a1c97bd..085793c41 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/data/local/entity/RecentSearchSpec.java @@ -18,13 +18,13 @@ package org.kiwix.kiwixmobile.core.data.local.entity; import com.yahoo.squidb.annotations.TableModelSpec; -import org.jetbrains.annotations.NotNull; +import com.yahoo.squidb.annotations.tables.constraints.NotNull; /** * Squidb spec for recent searches. */ @TableModelSpec(className = "RecentSearch", tableName = "recentSearches") public class RecentSearchSpec { - public String searchString; - @NotNull public String zimID; + @NotNull public String searchString; + @NotNull String zimID; } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt index 4215b1ca9..0f524d983 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/adapter/Page.kt @@ -25,8 +25,8 @@ interface PageRelated { interface Page : PageRelated { val zimFilePath: String? val zimId: String - val url: String? - val title: String? + val url: String + val title: String var isSelected: Boolean val favicon: String? } diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt index bba648cf3..0f5401103 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/adapter/BookmarkItem.kt @@ -27,11 +27,11 @@ data class BookmarkItem( override val zimId: String, val zimName: String, override val zimFilePath: String?, - val bookmarkUrl: String?, - override val title: String?, + val bookmarkUrl: String, + override val title: String, override val favicon: String?, override var isSelected: Boolean = false, - override val url: String? = bookmarkUrl, + override val url: String = bookmarkUrl, override val id: Long = databaseId ) : Page { constructor(entity: BookmarkEntity) : this( diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/PageState.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/PageState.kt index 14b377e78..01841b9ca 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/PageState.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/PageState.kt @@ -26,7 +26,7 @@ abstract class PageState { val isInSelectionState: Boolean by lazy { pageItems.any(Page::isSelected) } protected val filteredPageItems: List by lazy { pageItems.filter { showAll || it.zimId == currentZimId } - .filter { it.title?.contains(searchTerm, true) ?: false } + .filter { it.title.contains(searchTerm, true) } } abstract val visiblePageItems: List diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/effects/OpenPage.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/effects/OpenPage.kt index fc4cd93b7..89e7c400c 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/effects/OpenPage.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/viewmodel/effects/OpenPage.kt @@ -33,9 +33,9 @@ data class OpenPage( activity as CoreMainActivity activity.popNavigationBackstack() if (page.zimFilePath != zimReaderContainer.zimCanonicalPath) { - page.url?.let { url -> page.zimFilePath?.let { path -> activity.openPage(url, path) } } + page.zimFilePath?.let { activity.openPage(page.url, it) } } else { - page.url?.let { activity.openPage(it) } + activity.openPage(page.url) } } } diff --git a/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt b/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt index ed8989ca5..da64ca4bb 100644 --- a/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt +++ b/core/src/test/java/org/kiwix/kiwixmobile/core/dao/NewRecentSearchDaoTest.kt @@ -51,7 +51,8 @@ internal class NewRecentSearchDaoTest { newRecentSearchDao.recentSearches(zimId) .test(this) .assertValues( - queryResult.map { it.searchTerm?.let(::RecentSearchListItem) }) + queryResult.map { RecentSearchListItem(it.searchTerm) } + ) .finish() } @@ -62,7 +63,8 @@ internal class NewRecentSearchDaoTest { newRecentSearchDao.recentSearches(null) .test(this) .assertValues( - queryResult.map { it.searchTerm?.let(::RecentSearchListItem) }) + queryResult.map { RecentSearchListItem(it.searchTerm) } + ) .finish() } @@ -73,7 +75,8 @@ internal class NewRecentSearchDaoTest { newRecentSearchDao.recentSearches("") .test(this) .assertValues( - queryResult.take(1).map { it.searchTerm?.let(::RecentSearchListItem) }) + queryResult.take(1).map { RecentSearchListItem(it.searchTerm) } + ) .finish() } diff --git a/lintConfig.xml b/lintConfig.xml index 40d40b41b..a4e45d6b5 100644 --- a/lintConfig.xml +++ b/lintConfig.xml @@ -31,6 +31,7 @@ +