From af8ca7f62002b8a119086295236f0e47b2b78811 Mon Sep 17 00:00:00 2001 From: MohitMaliFtechiz Date: Fri, 6 Dec 2024 17:41:56 +0530 Subject: [PATCH] Fixed: SearchFragmentTest for custom apps was failing. --- .../search/SearchFragmentTestForCustomApp.kt | 30 ++----------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/custom/src/androidTest/java/org/kiwix/kiwixmobile/custom/search/SearchFragmentTestForCustomApp.kt b/custom/src/androidTest/java/org/kiwix/kiwixmobile/custom/search/SearchFragmentTestForCustomApp.kt index c0307a1ce..0cc7a9d85 100644 --- a/custom/src/androidTest/java/org/kiwix/kiwixmobile/custom/search/SearchFragmentTestForCustomApp.kt +++ b/custom/src/androidTest/java/org/kiwix/kiwixmobile/custom/search/SearchFragmentTestForCustomApp.kt @@ -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