Replies: 3 comments
-
package com.xenon.store import android.content.Intent @Suppress("UNUSED_PARAMETER", "SameParameterValue")
|
Beta Was this translation helpful? Give feedback.
-
} |
Beta Was this translation helpful? Give feedback.
-
val sharedPreferenceManager = SharedPreferenceManager(this) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
import android.content.pm.PackageManager
import android.content.Context
import android.content.SharedPreferences
import android.preference.PreferenceManager
import kotlinx.coroutines.*
import kotlinx.serialization.*
import kotlinx.serialization.json.*
import java.net.HttpURLConnection
import java.net.URL
import java.io.BufferedReader
import java.io.InputStreamReader
@serializable
data class Release(
val tag_name: String,
val name: String,
val prerelease: Boolean,
val assets: List
)
@serializable
data class Asset(
val name: String,
val browser_download_url: String
)
suspend fun getLatestReleases(
owner: String,
repo: String,
personalAccessToken: String? = null
): List = withContext(Dispatchers.IO) {
val url = URL("https://api.github.com/repos/$owner/$repo/releases")
val connection = url.openConnection() as HttpURLConnection
connection.requestMethod = "GET"
if (personalAccessToken != null) {
connection.setRequestProperty("Authorization", "token $personalAccessToken")
}
val responseCode = connection.responseCode
if (responseCode == HttpURLConnection.HTTP_OK) {
val reader = BufferedReader(InputStreamReader(connection.inputStream))
val response = reader.readText()
reader.close()
Json.decodeFromString<List>(response)
} else {
throw Exception("GitHub API request failed with response code: $responseCode")
}
}
fun getCurrentAppVersion(context: Context): String {
return try {
val packageInfo = context.packageManager.getPackageInfo(context.packageName, 0)
packageInfo.versionName
} catch (e: PackageManager.NameNotFoundException) {
"Unknown"
}
}
fun main() = runBlocking {
val owner = "YOUR_GITHUB_USERNAME"
val repo = "YOUR_REPO_NAME"
val personalAccessToken = "YOUR_PERSONAL_ACCESS_TOKEN" // Optional
val context: Context = TODO("Hier muss der Context übergeben werden")
val sharedPreferences: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
val releaseSwitchValue = sharedPreferences.getBoolean("release_switch", true) // Default: Releases
}
Beta Was this translation helpful? Give feedback.
All reactions