reformat files recently touched

This commit is contained in:
Rahul Patel
2025-03-02 20:33:14 +05:30
parent 585284fb10
commit 89f45f13d5
3 changed files with 61 additions and 47 deletions

View File

@@ -67,13 +67,21 @@ open class AuthWorker @AssistedInject constructor(
when (tokenPair.second) {
AuthHelper.Token.AAS -> {
Log.i(TAG, "Refreshing AuthData for personal account")
authProvider.buildGoogleAuthData(email, tokenPair.first, AuthHelper.Token.AAS).getOrThrow()
authProvider.buildGoogleAuthData(
email,
tokenPair.first,
AuthHelper.Token.AAS
).getOrThrow()
}
AuthHelper.Token.AUTH -> {
Log.i(TAG, "Refreshing AuthData for personal account using AccountManager")
Log.i(
TAG,
"Refreshing AuthData for personal account using AccountManager"
)
val newToken = fetchAuthToken(email, tokenPair.first)
authProvider.buildGoogleAuthData(email, newToken, AuthHelper.Token.AAS).getOrThrow()
authProvider.buildGoogleAuthData(email, newToken, AuthHelper.Token.AAS)
.getOrThrow()
}
}
}

View File

@@ -298,60 +298,61 @@ class DownloadWorker @AssistedInject constructor(
* @param gFile A [GPlayFile] to download
* @return A [Boolean] indicating whether the file was downloaded or not.
*/
private suspend fun downloadFile(packageName: String, gFile: GPlayFile): Boolean = withContext(Dispatchers.IO) {
Log.i(TAG, "Downloading $packageName @ ${gFile.name}")
val file = PathUtil.getLocalFile(appContext, gFile, download)
private suspend fun downloadFile(packageName: String, gFile: GPlayFile): Boolean =
withContext(Dispatchers.IO) {
Log.i(TAG, "Downloading $packageName @ ${gFile.name}")
val file = PathUtil.getLocalFile(appContext, gFile, download)
// If file exists and has integrity intact, no need to download again
if (file.exists() && verifyFile(gFile)) {
Log.i(TAG, "$file is already downloaded!")
downloadedBytes += file.length()
return@withContext true
}
try {
val tmpFileSuffix = ".tmp"
val tmpFile = File(file.absolutePath + tmpFileSuffix)
// Download as a temporary file to avoid installing corrupted files
val isNewFile = tmpFile.createNewFile()
val okHttpClient = httpClient as HttpClient
val headers = mutableMapOf<String, String>()
if (!isNewFile) {
Log.i(TAG, "$tmpFile has an unfinished download, resuming!")
downloadedBytes += tmpFile.length()
headers["Range"] = "bytes=${tmpFile.length()}-"
// If file exists and has integrity intact, no need to download again
if (file.exists() && verifyFile(gFile)) {
Log.i(TAG, "$file is already downloaded!")
downloadedBytes += file.length()
return@withContext true
}
okHttpClient.call(gFile.url, headers).body?.byteStream()?.use { input ->
FileOutputStream(tmpFile, !isNewFile).use {
input.copyTo(it, gFile.size).collect { info -> onProgress(info) }
}
}
try {
val tmpFileSuffix = ".tmp"
val tmpFile = File(file.absolutePath + tmpFileSuffix)
if (!tmpFile.renameTo(file)) {
throw Exception("Failed to remove .tmp extension from $tmpFile")
}
// Download as a temporary file to avoid installing corrupted files
val isNewFile = tmpFile.createNewFile()
return@withContext true
} catch (exception: Exception) {
when (exception) {
is SocketException,
is SocketTimeoutException,
is UnknownHostException -> {
throw Exceptions.NoNetworkException()
val okHttpClient = httpClient as HttpClient
val headers = mutableMapOf<String, String>()
if (!isNewFile) {
Log.i(TAG, "$tmpFile has an unfinished download, resuming!")
downloadedBytes += tmpFile.length()
headers["Range"] = "bytes=${tmpFile.length()}-"
}
is CancellationException -> {
throw Exceptions.DownloadCancelledException()
okHttpClient.call(gFile.url, headers).body?.byteStream()?.use { input ->
FileOutputStream(tmpFile, !isNewFile).use {
input.copyTo(it, gFile.size).collect { info -> onProgress(info) }
}
}
else -> throw exception
if (!tmpFile.renameTo(file)) {
throw Exception("Failed to remove .tmp extension from $tmpFile")
}
return@withContext true
} catch (exception: Exception) {
when (exception) {
is SocketException,
is SocketTimeoutException,
is UnknownHostException -> {
throw Exceptions.NoNetworkException()
}
is CancellationException -> {
throw Exceptions.DownloadCancelledException()
}
else -> throw exception
}
}
}
}
/**
* Updates the progress data of the download in the local database and notifies user.

View File

@@ -132,7 +132,12 @@ object NotificationUtil {
builder.setContentIntent(getContentIntentForDetails(context, download.packageName))
// Show install action if app cannot be silently installed
if (!AppInstaller.canInstallSilently(context, download.packageName, download.targetSdk)) {
if (!AppInstaller.canInstallSilently(
context,
download.packageName,
download.targetSdk
)
) {
builder.addAction(
NotificationCompat.Action.Builder(
R.drawable.ic_install,