diff --git a/app/src/main/java/app/revanced/manager/domain/repository/ChangelogsRepository.kt b/app/src/main/java/app/revanced/manager/domain/repository/ChangelogsRepository.kt index aed2c04b7..2af117b2d 100644 --- a/app/src/main/java/app/revanced/manager/domain/repository/ChangelogsRepository.kt +++ b/app/src/main/java/app/revanced/manager/domain/repository/ChangelogsRepository.kt @@ -11,10 +11,9 @@ import kotlinx.serialization.Serializable @Parcelize @Serializable sealed interface ChangelogSource : Parcelable { - data object Manager : ChangelogSource { - } - data class Patches(val url: String) : ChangelogSource { - val baseUrl get() = url.toUri().let { "${it.scheme}://${it.host}" } + data object Manager : ChangelogSource + data class Patches(val url: String, val prerelease: Boolean) : ChangelogSource { + val baseUrl by lazy { url.toUri().let { "${it.scheme}://${it.host}" } } } } @@ -33,7 +32,7 @@ class ChangelogsRepository( api.getAppHistory().getOrThrow() is ChangelogSource.Patches -> - api.getPatchesHistory(source.baseUrl).getOrThrow() + api.getPatchesHistory(source.baseUrl, source.prerelease).getOrThrow() } page = 1 diff --git a/app/src/main/java/app/revanced/manager/network/api/ReVancedAPI.kt b/app/src/main/java/app/revanced/manager/network/api/ReVancedAPI.kt index d4e61b0ba..67591012b 100644 --- a/app/src/main/java/app/revanced/manager/network/api/ReVancedAPI.kt +++ b/app/src/main/java/app/revanced/manager/network/api/ReVancedAPI.kt @@ -49,12 +49,12 @@ class ReVancedAPI( suspend fun getLatestAppInfo() = request("manager${prefs.useManagerPrereleases.prereleaseString()}") - suspend fun getAppHistory() = request>("manager/history") + suspend fun getAppHistory() = request>("manager/history${prefs.useManagerPrereleases.prereleaseString()}") suspend fun getPatchesUpdate() = request("patches${prefs.usePatchesPrereleases.prereleaseString()}") - suspend fun getPatchesHistory(apiUrl: String) = - request>(apiUrl, defaultApiVersion, "patches/history") + suspend fun getPatchesHistory(apiUrl: String, prerelease: Boolean) = + request>(apiUrl, defaultApiVersion, "patches/history${prerelease.prereleaseString()}") suspend fun getDownloaderUpdate() = request("manager/downloaders${prefs.useDownloaderPrerelease.prereleaseString()}") @@ -64,5 +64,6 @@ class ReVancedAPI( private companion object { suspend fun Preference.prereleaseString() = if (get()) "/prerelease" else "" + fun Boolean.prereleaseString() = if (this) "/prerelease" else "" } } \ No newline at end of file diff --git a/app/src/main/java/app/revanced/manager/ui/screen/BundleInformationScreen.kt b/app/src/main/java/app/revanced/manager/ui/screen/BundleInformationScreen.kt index 53247858d..278429444 100644 --- a/app/src/main/java/app/revanced/manager/ui/screen/BundleInformationScreen.kt +++ b/app/src/main/java/app/revanced/manager/ui/screen/BundleInformationScreen.kt @@ -315,7 +315,18 @@ fun BundleInformationScreen( SettingsListItem( headlineContent = stringResource(R.string.changelog), onClick = { - onChangelogClick(ChangelogSource.Patches(if (src.isDefault) viewModel.prefs.api.getBlocking() else endpoint)) + val source = if (src.isDefault) { + ChangelogSource.Patches( + url = viewModel.prefs.api.getBlocking(), + prerelease = viewModel.prefs.usePatchesPrereleases.getBlocking() + ) + } else { + ChangelogSource.Patches( + url = endpoint, + prerelease = false + ) + } + onChangelogClick(source) }, ) }