Skip to content

Commit d758964

Browse files
authored
feat: Toggle to use pre-release versions of ReVanced Manager (#2773)
1 parent a592e0b commit d758964

File tree

6 files changed

+17
-1
lines changed

6 files changed

+17
-1
lines changed

app/src/main/java/app/revanced/manager/domain/manager/PreferencesManager.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class PreferencesManager(
2222
val firstLaunch = booleanPreference("first_launch", true)
2323
val managerAutoUpdates = booleanPreference("manager_auto_updates", false)
2424
val showManagerUpdateDialogOnLaunch = booleanPreference("show_manager_update_dialog_on_launch", true)
25+
val useManagerPrereleases = booleanPreference("manager_prereleases", false)
2526

2627
val disablePatchVersionCompatCheck = booleanPreference("disable_patch_version_compatibility_check", false)
2728
val disableSelectionWarning = booleanPreference("disable_selection_warning", false)

app/src/main/java/app/revanced/manager/network/api/ReVancedAPI.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ class ReVancedAPI(
3232
suspend fun getAppUpdate() =
3333
getLatestAppInfo().getOrThrow().takeIf { it.version != Build.VERSION.RELEASE }
3434

35-
suspend fun getLatestAppInfo() = request<ReVancedAsset>("manager")
35+
suspend fun getLatestAppInfo() =
36+
request<ReVancedAsset>("manager?prerelease=${prefs.useManagerPrereleases.get()}")
3637

3738
suspend fun getPatchesUpdate() = request<ReVancedAsset>("patches")
3839

app/src/main/java/app/revanced/manager/ui/screen/settings/update/UpdatesSettingsScreen.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,12 @@ fun UpdatesSettingsScreen(
9292
headline = R.string.show_manager_update_dialog_on_launch,
9393
description = R.string.show_manager_update_dialog_on_launch_description
9494
)
95+
96+
BooleanItem(
97+
preference = vm.useManagerPrereleases,
98+
headline = R.string.manager_prereleases,
99+
description = R.string.manager_prereleases_description
100+
)
95101
}
96102
}
97103
}

app/src/main/java/app/revanced/manager/ui/viewmodel/MainViewModel.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@ class MainViewModel(
120120
settings.useDynamicTheme?.let { dynamicColor ->
121121
prefs.dynamicColor.update(dynamicColor)
122122
}
123+
settings.usePrereleases?.let { prereleases ->
124+
prefs.useManagerPrereleases.update(prereleases)
125+
}
123126
settings.apiUrl?.let { api ->
124127
prefs.api.update(api.removeSuffix("/"))
125128
}
@@ -159,6 +162,7 @@ class MainViewModel(
159162
val keystorePassword: String,
160163
val themeMode: Int? = null,
161164
val useDynamicTheme: Boolean? = null,
165+
val usePrereleases: Boolean? = null,
162166
val apiUrl: String? = null,
163167
val experimentalPatchesEnabled: Boolean? = null,
164168
val patchesAutoUpdate: Boolean? = null,

app/src/main/java/app/revanced/manager/ui/viewmodel/UpdatesSettingsViewModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ class UpdatesSettingsViewModel(
1717
) : ViewModel() {
1818
val managerAutoUpdates = prefs.managerAutoUpdates
1919
val showManagerUpdateDialogOnLaunch = prefs.showManagerUpdateDialogOnLaunch
20+
val useManagerPrereleases = prefs.useManagerPrereleases
21+
2022

2123
val isConnected: Boolean
2224
get() = network.isConnected()

app/src/main/res/values/strings.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,8 @@
368368
<string name="manual_update_check_description">Manually check for updates</string>
369369
<string name="update_checking_manager">Check for updates on launch</string>
370370
<string name="update_checking_manager_description">Check for new versions of ReVanced Manager when the application starts</string>
371+
<string name="manager_prereleases">Use pre-releases</string>
372+
<string name="manager_prereleases_description">Use pre-release versions of ReVanced Manager</string>
371373
<string name="changelog">View changelogs</string>
372374
<string name="changelog_loading">Loading changelog</string>
373375
<string name="changelog_download_fail">Failed to download changelog: %s</string>

0 commit comments

Comments
 (0)