mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-08 14:52:13 -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
|
||||
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
import androidx.lifecycle.Lifecycle
|
||||
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.
|
||||
val loadFileStream =
|
||||
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()
|
||||
zimFile.createNewFile()
|
||||
loadFileStream.use { inputStream ->
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package org.kiwix.kiwixmobile.mimetype
|
||||
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.preference.PreferenceManager
|
||||
@ -61,7 +62,7 @@ class MimeTypeTest : BaseActivityTest() {
|
||||
@Test
|
||||
fun testMimeType() {
|
||||
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()
|
||||
zimFile.createNewFile()
|
||||
loadFileStream.use { inputStream ->
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package org.kiwix.kiwixmobile.nav.destination.library
|
||||
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
import androidx.lifecycle.Lifecycle
|
||||
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
|
||||
val loadFileStream =
|
||||
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()
|
||||
zimFile.createNewFile()
|
||||
loadFileStream.use { inputStream ->
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package org.kiwix.kiwixmobile.note
|
||||
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
@ -91,7 +92,7 @@ class NoteFragmentTest : BaseActivityTest() {
|
||||
|
||||
val loadFileStream =
|
||||
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()
|
||||
zimFile.createNewFile()
|
||||
loadFileStream.use { inputStream ->
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package org.kiwix.kiwixmobile.page.bookmarks
|
||||
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
@ -75,7 +76,7 @@ class LibkiwixBookmarkTest : BaseActivityTest() {
|
||||
}
|
||||
val loadFileStream =
|
||||
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()
|
||||
zimFile.createNewFile()
|
||||
loadFileStream.use { inputStream ->
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package org.kiwix.kiwixmobile.page.history
|
||||
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
@ -76,7 +77,7 @@ class NavigationHistoryTest : BaseActivityTest() {
|
||||
}
|
||||
val loadFileStream =
|
||||
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()
|
||||
zimFile.createNewFile()
|
||||
loadFileStream.use { inputStream ->
|
||||
|
@ -18,6 +18,7 @@
|
||||
|
||||
package org.kiwix.kiwixmobile.reader
|
||||
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
@ -75,7 +76,7 @@ class KiwixReaderFragmentTest : BaseActivityTest() {
|
||||
}
|
||||
val loadFileStream =
|
||||
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()
|
||||
zimFile.createNewFile()
|
||||
loadFileStream.use { inputStream ->
|
||||
|
@ -17,6 +17,7 @@
|
||||
*/
|
||||
package org.kiwix.kiwixmobile.search
|
||||
|
||||
import android.content.Context
|
||||
import androidx.core.content.edit
|
||||
import androidx.core.net.toUri
|
||||
import androidx.lifecycle.Lifecycle
|
||||
@ -214,7 +215,7 @@ class SearchFragmentTest : BaseActivityTest() {
|
||||
private fun getTestZimFile(): File {
|
||||
val loadFileStream =
|
||||
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()
|
||||
zimFile.createNewFile()
|
||||
loadFileStream.use { inputStream ->
|
||||
|
@ -165,7 +165,7 @@ class ZimHostFragmentTest {
|
||||
private fun loadZimFileInApplication(zimFileName: String) {
|
||||
val loadFileStream =
|
||||
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()
|
||||
zimFile.createNewFile()
|
||||
loadFileStream.use { inputStream ->
|
||||
|
@ -44,6 +44,10 @@ object StorageDeviceUtils {
|
||||
// Therefore, we need to explicitly include the app-specific directory for scanning.
|
||||
// See https://github.com/kiwix/kiwix-android/issues/3579
|
||||
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)
|
||||
}
|
||||
@ -77,6 +81,9 @@ object StorageDeviceUtils {
|
||||
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
|
||||
private fun generalisePath(path: String, writable: Boolean) =
|
||||
if (writable) path
|
||||
|
Loading…
x
Reference in New Issue
Block a user