From 167b35a077d68fa7433a14cf05c8096a41f9d1a1 Mon Sep 17 00:00:00 2001 From: deniscerri <64997243+deniscerri@users.noreply.github.com> Date: Mon, 1 May 2023 17:37:51 +0200 Subject: [PATCH] fixed app not updating when clicking the version nr in the settings --- app/build.gradle | 6 +++--- .../com/deniscerri/ytdlnis/MainActivity.kt | 2 +- .../ui/more/settings/SettingsFragment.kt | 8 +++++--- .../com/deniscerri/ytdlnis/util/UpdateUtil.kt | 18 ++++++++++-------- build.gradle | 2 +- 5 files changed, 20 insertions(+), 16 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 45169e9c..901b1d8b 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -122,9 +122,9 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation "com.github.JunkFood02.youtubedl-android:library:$youtubedlAndroidVer" - implementation "com.github.JunkFood02.youtubedl-android:ffmpeg:$youtubedlAndroidVer" - implementation "com.github.JunkFood02.youtubedl-android:aria2c:$youtubedlAndroidVer" + implementation "com.github.yausername.youtubedl-android:library:$youtubedlAndroidVer" + implementation "com.github.yausername.youtubedl-android:ffmpeg:$youtubedlAndroidVer" + implementation "com.github.yausername.youtubedl-android:aria2c:$youtubedlAndroidVer" implementation "androidx.appcompat:appcompat:$appCompatVer" implementation "androidx.constraintlayout:constraintlayout:2.1.4" diff --git a/app/src/main/java/com/deniscerri/ytdlnis/MainActivity.kt b/app/src/main/java/com/deniscerri/ytdlnis/MainActivity.kt index 951191ec..875ab79d 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/MainActivity.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/MainActivity.kt @@ -260,7 +260,7 @@ class MainActivity : BaseActivity() { if (preferences.getBoolean("update_app", false)) { val updateUtil = UpdateUtil(this) lifecycleScope.launch(Dispatchers.IO){ - updateUtil.updateApp() + updateUtil.updateApp{} } } } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/ui/more/settings/SettingsFragment.kt b/app/src/main/java/com/deniscerri/ytdlnis/ui/more/settings/SettingsFragment.kt index b9c684e4..ee2902d7 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/ui/more/settings/SettingsFragment.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/ui/more/settings/SettingsFragment.kt @@ -28,6 +28,7 @@ import com.deniscerri.ytdlnis.util.ThemeUtil import com.deniscerri.ytdlnis.util.UpdateUtil import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.yausername.youtubedl_android.YoutubeDL +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.serialization.json.Json import java.io.File @@ -697,9 +698,10 @@ class SettingsFragment : PreferenceFragmentCompat() { // } version!!.onPreferenceClickListener = Preference.OnPreferenceClickListener { - if (!updateUtil!!.updateApp()) { - Toast.makeText(context, R.string.you_are_in_latest_version, Toast.LENGTH_SHORT) - .show() + lifecycleScope.launch(Dispatchers.IO){ + updateUtil!!.updateApp(){ msg -> + Toast.makeText(context, msg, Toast.LENGTH_SHORT).show() + } } true } diff --git a/app/src/main/java/com/deniscerri/ytdlnis/util/UpdateUtil.kt b/app/src/main/java/com/deniscerri/ytdlnis/util/UpdateUtil.kt index 5779cd17..a7d82c7b 100644 --- a/app/src/main/java/com/deniscerri/ytdlnis/util/UpdateUtil.kt +++ b/app/src/main/java/com/deniscerri/ytdlnis/util/UpdateUtil.kt @@ -30,7 +30,7 @@ class UpdateUtil(var context: Context) { private val downloadManager: DownloadManager = context.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager private val ytdlpNightly = "https://api.github.com/repos/yt-dlp/yt-dlp-nightly-builds/releases/latest" - fun updateApp(): Boolean { + fun updateApp(result: (result: String) -> Unit) { try { if (updatingApp) { Toast.makeText( @@ -38,7 +38,6 @@ class UpdateUtil(var context: Context) { context.getString(R.string.ytdl_already_updating), Toast.LENGTH_LONG ).show() - return true } val res = checkForAppUpdate() val version: String @@ -46,13 +45,15 @@ class UpdateUtil(var context: Context) { try { version = res.getString("tag_name") body = res.getString("body") - } catch (ignored: JSONException) { - return false + } catch (e: JSONException) { + result(e.message.toString()) + return } val versionNameInt = version.split("v")[1].replace(".","").toInt() val currentVersionNameInt = BuildConfig.VERSION_NAME.replace(".","").toInt() if (currentVersionNameInt >= versionNameInt) { - return false + result(context.getString(R.string.you_are_in_latest_version)) + return } Handler(Looper.getMainLooper()).post { val updateDialog = MaterialAlertDialogBuilder(context) @@ -67,10 +68,11 @@ class UpdateUtil(var context: Context) { } updateDialog.show() } - return true + return }catch (e: Exception){ e.printStackTrace() - return false + result(e.message.toString()) + return } } @@ -167,7 +169,7 @@ class UpdateUtil(var context: Context) { try { YoutubeDL.getInstance().updateYoutubeDL( - context, if (sharedPreferences.getBoolean("nightly_ytdl", false) ) ytdlpNightly else null + context, if (sharedPreferences.getBoolean("nightly_ytdl", false) ) YoutubeDL.UpdateChannel._NIGHTLY else YoutubeDL.UpdateChannel._STABLE ).apply { updatingYTDL = false } diff --git a/build.gradle b/build.gradle index 5602a5b0..a9cb9c64 100644 --- a/build.gradle +++ b/build.gradle @@ -21,7 +21,7 @@ buildscript { commonsIoVer = '2.5' // supports java 1.6 commonsCompressVer = '1.12' - youtubedlAndroidVer = "7222fe9637" + youtubedlAndroidVer = "23b26d55f8" workVer = "2.8.1" composeVer = '1.4.2' kotlinVer = "1.7.21"