mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-09 15:27:55 -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.Manifest
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.res.AssetFileDescriptor
|
import android.content.res.AssetFileDescriptor
|
||||||
import android.os.ParcelFileDescriptor
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import androidx.lifecycle.Lifecycle
|
import androidx.lifecycle.Lifecycle
|
||||||
import androidx.navigation.fragment.NavHostFragment
|
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 org.kiwix.kiwixmobile.custom.testutils.TestUtils.isSystemUINotRespondingDialogVisible
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileOutputStream
|
import java.io.FileOutputStream
|
||||||
import java.io.IOException
|
|
||||||
import java.net.URI
|
import java.net.URI
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
import javax.inject.Singleton
|
import javax.inject.Singleton
|
||||||
@ -225,7 +224,7 @@ class SearchFragmentTestForCustomApp {
|
|||||||
UiThreadStatement.runOnUiThread {
|
UiThreadStatement.runOnUiThread {
|
||||||
customMainActivity.navigate(customMainActivity.readerFragmentResId)
|
customMainActivity.navigate(customMainActivity.readerFragmentResId)
|
||||||
}
|
}
|
||||||
openZimFileInReaderWithAssetFileDescriptor(downloadingZimFile)
|
openZimFileInReader(zimFile = downloadingZimFile)
|
||||||
openSearchWithQuery(searchTerms[0])
|
openSearchWithQuery(searchTerms[0])
|
||||||
// wait for searchFragment become visible on screen.
|
// wait for searchFragment become visible on screen.
|
||||||
delay(2000)
|
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(
|
private fun openZimFileInReader(
|
||||||
assetFileDescriptor: AssetFileDescriptor? = null,
|
assetFileDescriptor: AssetFileDescriptor? = null,
|
||||||
zimFile: File? = 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) {
|
private fun writeZimFileData(responseBody: ResponseBody, file: File) {
|
||||||
FileOutputStream(file).use { outputStream ->
|
FileOutputStream(file).use { outputStream ->
|
||||||
responseBody.byteStream().use { inputStream ->
|
responseBody.byteStream().use { inputStream ->
|
||||||
@ -374,7 +350,7 @@ class SearchFragmentTestForCustomApp {
|
|||||||
.build()
|
.build()
|
||||||
|
|
||||||
private fun getDownloadingZimFile(): File {
|
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()
|
if (zimFile.exists()) zimFile.delete()
|
||||||
zimFile.createNewFile()
|
zimFile.createNewFile()
|
||||||
return zimFile
|
return zimFile
|
||||||
|
Loading…
x
Reference in New Issue
Block a user