mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-08 23:07:26 -04:00
Removed unnecessary file creation.
* Testing loading files from chunks. * Removed the `PLAY_ASSET_FILE` file tag from BuildConfig file as now we are using chunks for loading zim file from asset folder.
This commit is contained in:
parent
54f8354104
commit
d1c84e9555
@ -46,8 +46,6 @@ fun ProductFlavors.create(customApps: List<CustomApp>) {
|
|||||||
applicationIdSuffix = ".kiwixcustom${customApp.name}"
|
applicationIdSuffix = ".kiwixcustom${customApp.name}"
|
||||||
buildConfigField("String", "ZIM_URL", "\"${customApp.url}\"")
|
buildConfigField("String", "ZIM_URL", "\"${customApp.url}\"")
|
||||||
buildConfigField("String", "ENFORCED_LANG", "\"${customApp.enforcedLanguage}\"")
|
buildConfigField("String", "ENFORCED_LANG", "\"${customApp.enforcedLanguage}\"")
|
||||||
// Add asset file name in buildConfig file, we will use later to receive the zim file.
|
|
||||||
buildConfigField("String", "PLAY_ASSET_FILE", "\"${customApp.name}.zim\"")
|
|
||||||
buildConfigField("Boolean", "DISABLE_SIDEBAR", "${customApp.disableSideBar}")
|
buildConfigField("Boolean", "DISABLE_SIDEBAR", "${customApp.disableSideBar}")
|
||||||
buildConfigField("Boolean", "DISABLE_TABS", "${customApp.disableTabs}")
|
buildConfigField("Boolean", "DISABLE_TABS", "${customApp.disableTabs}")
|
||||||
buildConfigField("Boolean", "DISABLE_READ_ALOUD", "${customApp.disableReadAloud}")
|
buildConfigField("Boolean", "DISABLE_READ_ALOUD", "${customApp.disableReadAloud}")
|
||||||
|
@ -34,7 +34,7 @@ android {
|
|||||||
createDownloadTask(it)
|
createDownloadTask(it)
|
||||||
createPublishApkWithExpansionTask(it, applicationVariants)
|
createPublishApkWithExpansionTask(it, applicationVariants)
|
||||||
}
|
}
|
||||||
File("$projectDir/../install_time_asset/src/main/assets", "$name.zim").let {
|
File("$projectDir/../install_time_asset/src/main/assets").let {
|
||||||
createDownloadTaskForPlayAssetDelivery(it)
|
createDownloadTaskForPlayAssetDelivery(it)
|
||||||
createPublishBundleWithAssetPlayDelivery()
|
createPublishBundleWithAssetPlayDelivery()
|
||||||
}
|
}
|
||||||
@ -114,7 +114,7 @@ fun writeZimFileData(responseBody: ResponseBody, file: File, chunkSize: Long = 1
|
|||||||
while (inputStream.read(buffer).also { bytesRead = it } != -1) {
|
while (inputStream.read(buffer).also { bytesRead = it } != -1) {
|
||||||
if (outputStream == null) {
|
if (outputStream == null) {
|
||||||
// Create a new chunk file
|
// Create a new chunk file
|
||||||
val nextChunkFile = File(file.parent, "chunk$chunkNumber.zim")
|
val nextChunkFile = File(file.path, "chunk$chunkNumber.zim")
|
||||||
nextChunkFile.createNewFile()
|
nextChunkFile.createNewFile()
|
||||||
outputStream = FileOutputStream(nextChunkFile)
|
outputStream = FileOutputStream(nextChunkFile)
|
||||||
}
|
}
|
||||||
@ -151,8 +151,6 @@ fun ProductFlavor.createDownloadTaskForPlayAssetDelivery(
|
|||||||
) {
|
) {
|
||||||
group = "Downloading"
|
group = "Downloading"
|
||||||
doLast {
|
doLast {
|
||||||
if (file.exists()) file.delete()
|
|
||||||
file.createNewFile()
|
|
||||||
|
|
||||||
OkHttpClient().newCall(fetchRequest()).execute().use { response ->
|
OkHttpClient().newCall(fetchRequest()).execute().use { response ->
|
||||||
if (response.isSuccessful) {
|
if (response.isSuccessful) {
|
||||||
|
@ -22,8 +22,11 @@ import android.content.Context
|
|||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
import android.content.res.AssetFileDescriptor
|
import android.content.res.AssetFileDescriptor
|
||||||
import android.content.res.AssetManager
|
import android.content.res.AssetManager
|
||||||
|
import android.os.ParcelFileDescriptor
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
|
import org.kiwix.kiwixmobile.core.extensions.deleteFile
|
||||||
|
import org.kiwix.kiwixmobile.core.extensions.isFileExist
|
||||||
import org.kiwix.kiwixmobile.core.utils.files.FileUtils
|
import org.kiwix.kiwixmobile.core.utils.files.FileUtils
|
||||||
import org.kiwix.kiwixmobile.custom.main.ValidationState.HasBothFiles
|
import org.kiwix.kiwixmobile.custom.main.ValidationState.HasBothFiles
|
||||||
import org.kiwix.kiwixmobile.custom.main.ValidationState.HasFile
|
import org.kiwix.kiwixmobile.custom.main.ValidationState.HasFile
|
||||||
@ -66,6 +69,9 @@ class CustomFileValidator @Inject constructor(private val context: Context) {
|
|||||||
assetFileDescriptorList.add(assetManager.openFd(it))
|
assetFileDescriptorList.add(assetManager.openFd(it))
|
||||||
}
|
}
|
||||||
val combinedFilePath = FileUtils.getDemoFilePathForCustomApp(context)
|
val combinedFilePath = FileUtils.getDemoFilePathForCustomApp(context)
|
||||||
|
val demoFile = File(combinedFilePath)
|
||||||
|
if (demoFile.isFileExist()) demoFile.deleteFile()
|
||||||
|
demoFile.createNewFile()
|
||||||
val combinedFileOutputStream = FileOutputStream(combinedFilePath)
|
val combinedFileOutputStream = FileOutputStream(combinedFilePath)
|
||||||
val chunkSize = 100 * 1024 * 1024
|
val chunkSize = 100 * 1024 * 1024
|
||||||
|
|
||||||
@ -87,8 +93,14 @@ class CustomFileValidator @Inject constructor(private val context: Context) {
|
|||||||
|
|
||||||
chunkFileInputStream.close()
|
chunkFileInputStream.close()
|
||||||
}
|
}
|
||||||
|
return AssetFileDescriptor(
|
||||||
return assetFileDescriptorList[0]
|
ParcelFileDescriptor.open(
|
||||||
|
demoFile,
|
||||||
|
ParcelFileDescriptor.MODE_READ_ONLY
|
||||||
|
),
|
||||||
|
0L,
|
||||||
|
demoFile.length()
|
||||||
|
)
|
||||||
} catch (packageNameNotFoundException: PackageManager.NameNotFoundException) {
|
} catch (packageNameNotFoundException: PackageManager.NameNotFoundException) {
|
||||||
Log.w(
|
Log.w(
|
||||||
"ASSET_PACKAGE_DELIVERY",
|
"ASSET_PACKAGE_DELIVERY",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user