mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 18:56:44 -04:00
Fixed: SearchFragmentTest for custom apps was failing.
This commit is contained in:
parent
8a124d82ac
commit
af8ca7f620
@ -21,7 +21,7 @@ package org.kiwix.kiwixmobile.custom.search
|
||||
import android.Manifest
|
||||
import android.content.Context
|
||||
import android.content.res.AssetFileDescriptor
|
||||
import android.os.ParcelFileDescriptor
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.content.edit
|
||||
import androidx.lifecycle.Lifecycle
|
||||
import androidx.navigation.fragment.NavHostFragment
|
||||
@ -61,7 +61,6 @@ import org.kiwix.kiwixmobile.custom.testutils.TestUtils.closeSystemDialogs
|
||||
import org.kiwix.kiwixmobile.custom.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||
import java.io.File
|
||||
import java.io.FileOutputStream
|
||||
import java.io.IOException
|
||||
import java.net.URI
|
||||
import java.util.concurrent.TimeUnit
|
||||
import javax.inject.Singleton
|
||||
@ -225,7 +224,7 @@ class SearchFragmentTestForCustomApp {
|
||||
UiThreadStatement.runOnUiThread {
|
||||
customMainActivity.navigate(customMainActivity.readerFragmentResId)
|
||||
}
|
||||
openZimFileInReaderWithAssetFileDescriptor(downloadingZimFile)
|
||||
openZimFileInReader(zimFile = downloadingZimFile)
|
||||
openSearchWithQuery(searchTerms[0])
|
||||
// wait for searchFragment become visible on screen.
|
||||
delay(2000)
|
||||
@ -304,12 +303,6 @@ class SearchFragmentTestForCustomApp {
|
||||
}
|
||||
}
|
||||
|
||||
private fun openZimFileInReaderWithAssetFileDescriptor(downloadingZimFile: File) {
|
||||
getAssetFileDescriptorFromFile(downloadingZimFile)?.let(::openZimFileInReader) ?: run {
|
||||
throw RuntimeException("Unable to get fileDescriptor from file. Original exception")
|
||||
}
|
||||
}
|
||||
|
||||
private fun openZimFileInReader(
|
||||
assetFileDescriptor: AssetFileDescriptor? = null,
|
||||
zimFile: File? = null
|
||||
@ -338,23 +331,6 @@ class SearchFragmentTestForCustomApp {
|
||||
}
|
||||
}
|
||||
|
||||
private fun getAssetFileDescriptorFromFile(file: File): AssetFileDescriptor? {
|
||||
val parcelFileDescriptor = getFileDescriptor(file)
|
||||
if (parcelFileDescriptor != null) {
|
||||
return AssetFileDescriptor(parcelFileDescriptor, 0, file.length())
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
private fun getFileDescriptor(file: File?): ParcelFileDescriptor? {
|
||||
try {
|
||||
return ParcelFileDescriptor.open(file, ParcelFileDescriptor.MODE_READ_ONLY)
|
||||
} catch (e: IOException) {
|
||||
e.printStackTrace()
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
private fun writeZimFileData(responseBody: ResponseBody, file: File) {
|
||||
FileOutputStream(file).use { outputStream ->
|
||||
responseBody.byteStream().use { inputStream ->
|
||||
@ -374,7 +350,7 @@ class SearchFragmentTestForCustomApp {
|
||||
.build()
|
||||
|
||||
private fun getDownloadingZimFile(): File {
|
||||
val zimFile = File(context.cacheDir, "ray_charles.zim")
|
||||
val zimFile = File(ContextCompat.getExternalFilesDirs(context, null)[0], "ray_charles.zim")
|
||||
if (zimFile.exists()) zimFile.delete()
|
||||
zimFile.createNewFile()
|
||||
return zimFile
|
||||
|
Loading…
x
Reference in New Issue
Block a user