mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-11 16:37:18 -04:00
Added the 'testDirectory' to our scanning process, as on API level 33, the app-specific path is occasionally treated as READ_ONLY. Additionally, for certain test cases where we need to load the zim file in the LocalLibraryScreen, we've included the test directory in our scanning process, as it will be automatically handled by the OS.
This commit is contained in:
parent
efb1d8e2e3
commit
3ae2793949
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
package org.kiwix.kiwixmobile
|
package org.kiwix.kiwixmobile
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
@ -122,7 +123,7 @@ class ObjectBoxToLibkiwixMigratorTest : BaseActivityTest() {
|
|||||||
// add a file in fileSystem because we need to actual file path for making object of Archive.
|
// add a file in fileSystem because we need to actual file path for making object of Archive.
|
||||||
val loadFileStream =
|
val loadFileStream =
|
||||||
ObjectBoxToLibkiwixMigratorTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
ObjectBoxToLibkiwixMigratorTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||||
zimFile = File(context.cacheDir, "testzim.zim")
|
zimFile = File(context.getDir("testDir", Context.MODE_PRIVATE), "testzim.zim")
|
||||||
if (zimFile.exists()) zimFile.delete()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
loadFileStream.use { inputStream ->
|
loadFileStream.use { inputStream ->
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
package org.kiwix.kiwixmobile.mimetype
|
package org.kiwix.kiwixmobile.mimetype
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
@ -61,7 +62,7 @@ class MimeTypeTest : BaseActivityTest() {
|
|||||||
@Test
|
@Test
|
||||||
fun testMimeType() {
|
fun testMimeType() {
|
||||||
val loadFileStream = MimeTypeTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
val loadFileStream = MimeTypeTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||||
val zimFile = File(context.cacheDir, "testzim.zim")
|
val zimFile = File(context.getDir("testDir", Context.MODE_PRIVATE), "testzim.zim")
|
||||||
if (zimFile.exists()) zimFile.delete()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
loadFileStream.use { inputStream ->
|
loadFileStream.use { inputStream ->
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
package org.kiwix.kiwixmobile.nav.destination.library
|
package org.kiwix.kiwixmobile.nav.destination.library
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.preference.PreferenceManager
|
import androidx.preference.PreferenceManager
|
||||||
@ -85,7 +86,7 @@ class LocalLibraryTest : BaseActivityTest() {
|
|||||||
// load a zim file to test, After downloading zim file library list is visible or not
|
// load a zim file to test, After downloading zim file library list is visible or not
|
||||||
val loadFileStream =
|
val loadFileStream =
|
||||||
LocalLibraryTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
LocalLibraryTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||||
val zimFile = File(context.cacheDir, "testzim.zim")
|
val zimFile = File(context.getDir("testDir", Context.MODE_PRIVATE), "testzim.zim")
|
||||||
if (zimFile.exists()) zimFile.delete()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
loadFileStream.use { inputStream ->
|
loadFileStream.use { inputStream ->
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
package org.kiwix.kiwixmobile.note
|
package org.kiwix.kiwixmobile.note
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
@ -91,7 +92,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
|||||||
|
|
||||||
val loadFileStream =
|
val loadFileStream =
|
||||||
NoteFragmentTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
NoteFragmentTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||||
val zimFile = File(context.cacheDir, "testzim.zim")
|
val zimFile = File(context.getDir("testDir", Context.MODE_PRIVATE), "testzim.zim")
|
||||||
if (zimFile.exists()) zimFile.delete()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
loadFileStream.use { inputStream ->
|
loadFileStream.use { inputStream ->
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
package org.kiwix.kiwixmobile.page.bookmarks
|
package org.kiwix.kiwixmobile.page.bookmarks
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
@ -75,7 +76,7 @@ class LibkiwixBookmarkTest : BaseActivityTest() {
|
|||||||
}
|
}
|
||||||
val loadFileStream =
|
val loadFileStream =
|
||||||
LibkiwixBookmarkTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
LibkiwixBookmarkTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||||
val zimFile = File(context.cacheDir, "testzim.zim")
|
val zimFile = File(context.getDir("testDir", Context.MODE_PRIVATE), "testzim.zim")
|
||||||
if (zimFile.exists()) zimFile.delete()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
loadFileStream.use { inputStream ->
|
loadFileStream.use { inputStream ->
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
package org.kiwix.kiwixmobile.page.history
|
package org.kiwix.kiwixmobile.page.history
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
@ -76,7 +77,7 @@ class NavigationHistoryTest : BaseActivityTest() {
|
|||||||
}
|
}
|
||||||
val loadFileStream =
|
val loadFileStream =
|
||||||
NavigationHistoryTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
NavigationHistoryTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||||
val zimFile = File(context.cacheDir, "testzim.zim")
|
val zimFile = File(context.getDir("testDir", Context.MODE_PRIVATE), "testzim.zim")
|
||||||
if (zimFile.exists()) zimFile.delete()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
loadFileStream.use { inputStream ->
|
loadFileStream.use { inputStream ->
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
|
|
||||||
package org.kiwix.kiwixmobile.reader
|
package org.kiwix.kiwixmobile.reader
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
@ -75,7 +76,7 @@ class KiwixReaderFragmentTest : BaseActivityTest() {
|
|||||||
}
|
}
|
||||||
val loadFileStream =
|
val loadFileStream =
|
||||||
KiwixReaderFragmentTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
KiwixReaderFragmentTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||||
val zimFile = File(context.cacheDir, "testzim.zim")
|
val zimFile = File(context.getDir("testDir", Context.MODE_PRIVATE), "testzim.zim")
|
||||||
if (zimFile.exists()) zimFile.delete()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
loadFileStream.use { inputStream ->
|
loadFileStream.use { inputStream ->
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
package org.kiwix.kiwixmobile.search
|
package org.kiwix.kiwixmobile.search
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
@ -214,7 +215,7 @@ class SearchFragmentTest : BaseActivityTest() {
|
|||||||
private fun getTestZimFile(): File {
|
private fun getTestZimFile(): File {
|
||||||
val loadFileStream =
|
val loadFileStream =
|
||||||
SearchFragmentTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
SearchFragmentTest::class.java.classLoader.getResourceAsStream("testzim.zim")
|
||||||
val zimFile = File(context.cacheDir, "testzim.zim")
|
val zimFile = File(context.getDir("testDir", Context.MODE_PRIVATE), "testzim.zim")
|
||||||
if (zimFile.exists()) zimFile.delete()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
loadFileStream.use { inputStream ->
|
loadFileStream.use { inputStream ->
|
||||||
|
@ -165,7 +165,7 @@ class ZimHostFragmentTest {
|
|||||||
private fun loadZimFileInApplication(zimFileName: String) {
|
private fun loadZimFileInApplication(zimFileName: String) {
|
||||||
val loadFileStream =
|
val loadFileStream =
|
||||||
ZimHostFragmentTest::class.java.classLoader.getResourceAsStream(zimFileName)
|
ZimHostFragmentTest::class.java.classLoader.getResourceAsStream(zimFileName)
|
||||||
val zimFile = File(sharedPreferenceUtil.prefStorage, zimFileName)
|
val zimFile = File(context?.getDir("testDir", Context.MODE_PRIVATE), zimFileName)
|
||||||
if (zimFile.exists()) zimFile.delete()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
loadFileStream.use { inputStream ->
|
loadFileStream.use { inputStream ->
|
||||||
|
@ -44,6 +44,10 @@ object StorageDeviceUtils {
|
|||||||
// Therefore, we need to explicitly include the app-specific directory for scanning.
|
// Therefore, we need to explicitly include the app-specific directory for scanning.
|
||||||
// See https://github.com/kiwix/kiwix-android/issues/3579
|
// See https://github.com/kiwix/kiwix-android/issues/3579
|
||||||
addAll(externalFilesDirsDevices(context, true))
|
addAll(externalFilesDirsDevices(context, true))
|
||||||
|
|
||||||
|
// added test directory to show the ZIM files stored in the test directory
|
||||||
|
// so that we can view and delete zim files inside this directory.
|
||||||
|
add(testDirectory(context))
|
||||||
}
|
}
|
||||||
return validate(storageDevices, false)
|
return validate(storageDevices, false)
|
||||||
}
|
}
|
||||||
@ -77,6 +81,9 @@ object StorageDeviceUtils {
|
|||||||
Environment.isExternalStorageEmulated()
|
Environment.isExternalStorageEmulated()
|
||||||
)
|
)
|
||||||
|
|
||||||
|
private fun testDirectory(context: Context) =
|
||||||
|
StorageDevice(context.getDir("testDir", Context.MODE_PRIVATE), true)
|
||||||
|
|
||||||
// Remove app specific path from directories so that we can search them from the top
|
// Remove app specific path from directories so that we can search them from the top
|
||||||
private fun generalisePath(path: String, writable: Boolean) =
|
private fun generalisePath(path: String, writable: Boolean) =
|
||||||
if (writable) path
|
if (writable) path
|
||||||
|
Loading…
x
Reference in New Issue
Block a user