Compare commits
3 Commits
86b39f9fea
...
6a21a84b86
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6a21a84b86 | ||
|
|
8dc0d46c40 | ||
|
|
34bd6ab02e |
@@ -33,6 +33,22 @@ android {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// Каналы дистрибуции: store — для RuStore (без авто-апдейтера, без dev-тестера
|
||||
// и кнопки SOVA); sideload — прямой APK с авто-обновлением.
|
||||
flavorDimensions += "distribution"
|
||||
productFlavors {
|
||||
create("store") {
|
||||
dimension = "distribution"
|
||||
buildConfigField("boolean", "ENABLE_SELF_UPDATE", "false")
|
||||
buildConfigField("boolean", "SHOW_DEV_TOOLS", "false")
|
||||
}
|
||||
create("sideload") {
|
||||
dimension = "distribution"
|
||||
buildConfigField("boolean", "ENABLE_SELF_UPDATE", "true")
|
||||
buildConfigField("boolean", "SHOW_DEV_TOOLS", "true")
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
|
||||
@@ -11,8 +11,6 @@
|
||||
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
||||
<uses-permission android:name="android.permission.USE_EXACT_ALARM" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
<!-- Авто-обновление: установка скачанного APK -->
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
<!-- Держать CPU/Wi-Fi активными во время проигрывания при выключенном экране
|
||||
(иначе поток глохнет в фоне — особенно в машине по Bluetooth). -->
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
|
||||
@@ -117,6 +117,8 @@ class MainActivity : ComponentActivity() {
|
||||
var downloadedApk by remember { mutableStateOf<java.io.File?>(null) }
|
||||
val updateScope = rememberCoroutineScope()
|
||||
LaunchedEffect(Unit) {
|
||||
// Авто-обновление только в sideload-сборке (в store обновляет RuStore).
|
||||
if (!BuildConfig.ENABLE_SELF_UPDATE) return@LaunchedEffect
|
||||
val info = com.radiola.update.UpdateManager.checkUpdate() ?: return@LaunchedEffect
|
||||
if (info.versionCode > BuildConfig.VERSION_CODE) pendingUpdate = info
|
||||
}
|
||||
|
||||
@@ -123,7 +123,7 @@ object AppModule {
|
||||
@Named("radiolaClient") okHttpClient: OkHttpClient,
|
||||
json: Json
|
||||
): Retrofit = Retrofit.Builder()
|
||||
.baseUrl("http://121.127.37.212:3000/")
|
||||
.baseUrl("https://api.radiola.nexaweb.su/")
|
||||
.client(okHttpClient)
|
||||
.addConverterFactory(json.asConverterFactory("application/json".toMediaType()))
|
||||
.build()
|
||||
|
||||
@@ -32,7 +32,7 @@ data class VersionInfo(
|
||||
*/
|
||||
object UpdateManager {
|
||||
private const val TAG = "radiOLA/Update"
|
||||
private const val BASE_URL = "http://121.127.37.212:3000"
|
||||
private const val BASE_URL = "https://api.radiola.nexaweb.su"
|
||||
|
||||
private val client = OkHttpClient.Builder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
|
||||
6
app/src/sideload/AndroidManifest.xml
Normal file
6
app/src/sideload/AndroidManifest.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- Установка скачанного APK — только в sideload-сборке (авто-апдейтер).
|
||||
В store-сборке этого разрешения нет (требование RuStore). -->
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
</manifest>
|
||||
Reference in New Issue
Block a user