From 4a5033fb7ca2b1785a17819e94fb26fdf750ae4b Mon Sep 17 00:00:00 2001 From: MohitMaliFtechiz Date: Wed, 8 May 2024 14:57:35 +0530 Subject: [PATCH] Fixed: The Delete icon is showing wrong content description on the notes and history screen. * Added correct description to delete button on HistoryFragment, and NotesFragment. * Refactored the test case according to this new change. * Sometimes actionOnItemAtPosition method gives an internal error, and does not perform the desired operation and fails the NoteFragmentTest. So we have moved it inside the testFlakyView method so that if there is any internal error occurs it retries this action. --- .../java/org/kiwix/kiwixmobile/note/NoteRobot.kt | 14 ++++++++------ .../kiwix/kiwixmobile/page/history/HistoryRobot.kt | 2 +- .../kiwix/kiwixmobile/core/page/PageFragment.kt | 2 ++ .../core/page/bookmark/BookmarksFragment.kt | 3 +++ .../core/page/history/HistoryFragment.kt | 3 +++ .../kiwixmobile/core/page/notes/NotesFragment.kt | 3 +++ core/src/main/res/values/strings.xml | 1 + 7 files changed, 21 insertions(+), 7 deletions(-) diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/note/NoteRobot.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/note/NoteRobot.kt index fb5c3baeee..9f2038e4a6 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/note/NoteRobot.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/note/NoteRobot.kt @@ -91,12 +91,14 @@ class NoteRobot : BaseRobot() { } fun clickOnSavedNote() { - onView(withId(R.id.recycler_view)).perform( - actionOnItemAtPosition( - 0, - click() + testFlakyView({ + onView(withId(R.id.recycler_view)).perform( + actionOnItemAtPosition( + 0, + click() + ) ) - ) + }) } fun clickOnOpenNote() { @@ -114,7 +116,7 @@ class NoteRobot : BaseRobot() { } fun clickOnTrashIcon() { - clickOn(ContentDesc(R.string.pref_clear_all_bookmarks_title)) + clickOn(ContentDesc(R.string.pref_clear_notes)) } fun assertDeleteNoteDialogDisplayed() { diff --git a/app/src/androidTest/java/org/kiwix/kiwixmobile/page/history/HistoryRobot.kt b/app/src/androidTest/java/org/kiwix/kiwixmobile/page/history/HistoryRobot.kt index 23a3d6e949..9e202ccc58 100644 --- a/app/src/androidTest/java/org/kiwix/kiwixmobile/page/history/HistoryRobot.kt +++ b/app/src/androidTest/java/org/kiwix/kiwixmobile/page/history/HistoryRobot.kt @@ -35,7 +35,7 @@ class HistoryRobot : BaseRobot() { } fun clickOnTrashIcon() { - clickOn(ContentDesc(R.string.pref_clear_all_bookmarks_title)) + clickOn(ContentDesc(R.string.pref_clear_all_history_title)) } fun assertDeleteHistoryDialogDisplayed() { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/PageFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/PageFragment.kt index aca65c50eb..825f9f56f4 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/PageFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/PageFragment.kt @@ -71,6 +71,7 @@ abstract class PageFragment : OnItemClickListener, BaseFragment(), FragmentActiv abstract val searchQueryHint: String abstract val pageAdapter: PageAdapter abstract val switchIsChecked: Boolean + abstract val deleteIconTitle: String private var fragmentPageBinding: FragmentPageBinding? = null override val fragmentToolbar: Toolbar? by lazy { fragmentPageBinding?.root?.findViewById(R.id.toolbar) @@ -116,6 +117,7 @@ abstract class PageFragment : OnItemClickListener, BaseFragment(), FragmentActiv } ) } + menu.findItem(R.id.menu_pages_clear).title = deleteIconTitle // Bug fix #3825 } @Suppress("ReturnCount") diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/BookmarksFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/BookmarksFragment.kt index 7dd278a5b5..dd776ea114 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/BookmarksFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/bookmark/BookmarksFragment.kt @@ -19,6 +19,9 @@ class BookmarksFragment : PageFragment() { override val screenTitle: String by lazy { getString(R.string.bookmarks) } override val noItemsString: String by lazy { getString(R.string.no_bookmarks) } override val switchString: String by lazy { getString(R.string.bookmarks_from_current_book) } + override val deleteIconTitle: String by lazy { + getString(R.string.pref_clear_all_bookmarks_title) + } override val switchIsChecked: Boolean by lazy { sharedPreferenceUtil.showBookmarksAllBooks } override fun inject(baseActivity: BaseActivity) { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/history/HistoryFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/history/HistoryFragment.kt index 0ed619f2f3..f2545bfa54 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/history/HistoryFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/history/HistoryFragment.kt @@ -22,6 +22,9 @@ class HistoryFragment : PageFragment() { override val noItemsString: String by lazy { getString(R.string.no_history) } override val switchString: String by lazy { getString(R.string.history_from_current_book) } override val screenTitle: String by lazy { getString(R.string.history) } + override val deleteIconTitle: String by lazy { + getString(R.string.pref_clear_all_history_title) + } override val switchIsChecked: Boolean by lazy { sharedPreferenceUtil.showHistoryAllBooks } override fun inject(baseActivity: BaseActivity) { diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/page/notes/NotesFragment.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/page/notes/NotesFragment.kt index e3814d734c..68fd9827af 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/page/notes/NotesFragment.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/page/notes/NotesFragment.kt @@ -39,6 +39,9 @@ class NotesFragment : PageFragment() { override val noItemsString: String by lazy { getString(R.string.no_notes) } override val switchString: String by lazy { getString(R.string.notes_from_all_books) } + override val deleteIconTitle: String by lazy { + getString(R.string.pref_clear_notes) + } override val switchIsChecked: Boolean by lazy { sharedPreferenceUtil.showNotesAllBooks } override fun inject(baseActivity: BaseActivity) { diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index dcee45737d..76886254bf 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -269,6 +269,7 @@ Status Clears all notes on all articles Clear all notes + Clear notes Allow to read and write ZIM files on SD card Change text size with 25\% increments. Pic