Use GitHub pages URLs for public channel JSONs
This commit is contained in:
parent
241f2656fa
commit
716f06846b
@ -47,14 +47,12 @@ object Const {
|
|||||||
|
|
||||||
object Url {
|
object Url {
|
||||||
const val ZIP_URL = "https://github.com/Magisk-Modules-Repo/%s/archive/master.zip"
|
const val ZIP_URL = "https://github.com/Magisk-Modules-Repo/%s/archive/master.zip"
|
||||||
const val PAYPAL_URL = "https://www.paypal.me/topjohnwu"
|
|
||||||
const val PATREON_URL = "https://www.patreon.com/topjohnwu"
|
const val PATREON_URL = "https://www.patreon.com/topjohnwu"
|
||||||
const val TWITTER_URL = "https://twitter.com/topjohnwu"
|
|
||||||
const val XDA_THREAD = "http://forum.xda-developers.com/showthread.php?t=3432382"
|
|
||||||
const val SOURCE_CODE_URL = "https://github.com/topjohnwu/Magisk"
|
const val SOURCE_CODE_URL = "https://github.com/topjohnwu/Magisk"
|
||||||
|
|
||||||
const val GITHUB_RAW_URL = "https://raw.githubusercontent.com/"
|
const val GITHUB_RAW_URL = "https://raw.githubusercontent.com/"
|
||||||
const val GITHUB_API_URL = "https://api.github.com/users/Magisk-Modules-Repo/"
|
const val GITHUB_API_URL = "https://api.github.com/users/Magisk-Modules-Repo/"
|
||||||
|
const val GITHUB_PAGE_URL = "https://topjohnwu.github.io/magisk_files/"
|
||||||
}
|
}
|
||||||
|
|
||||||
object Key {
|
object Key {
|
||||||
|
@ -7,6 +7,15 @@ import okhttp3.ResponseBody
|
|||||||
import retrofit2.Response
|
import retrofit2.Response
|
||||||
import retrofit2.http.*
|
import retrofit2.http.*
|
||||||
|
|
||||||
|
interface GithubPageServices {
|
||||||
|
|
||||||
|
@GET("stable.json")
|
||||||
|
suspend fun fetchStableUpdate(): UpdateInfo
|
||||||
|
|
||||||
|
@GET("beta.json")
|
||||||
|
suspend fun fetchBetaUpdate(): UpdateInfo
|
||||||
|
}
|
||||||
|
|
||||||
interface GithubRawServices {
|
interface GithubRawServices {
|
||||||
|
|
||||||
//region topjohnwu/magisk_files
|
//region topjohnwu/magisk_files
|
||||||
|
@ -2,27 +2,29 @@ package com.topjohnwu.magisk.data.repository
|
|||||||
|
|
||||||
import com.topjohnwu.magisk.core.Config
|
import com.topjohnwu.magisk.core.Config
|
||||||
import com.topjohnwu.magisk.core.Info
|
import com.topjohnwu.magisk.core.Info
|
||||||
|
import com.topjohnwu.magisk.data.network.GithubPageServices
|
||||||
import com.topjohnwu.magisk.data.network.GithubRawServices
|
import com.topjohnwu.magisk.data.network.GithubRawServices
|
||||||
import retrofit2.HttpException
|
import retrofit2.HttpException
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
|
|
||||||
class MagiskRepository(
|
class MagiskRepository(
|
||||||
private val apiRaw: GithubRawServices
|
private val rawSvc: GithubRawServices,
|
||||||
|
private val pageSvc: GithubPageServices
|
||||||
) {
|
) {
|
||||||
|
|
||||||
suspend fun fetchUpdate() = try {
|
suspend fun fetchUpdate() = try {
|
||||||
var info = when (Config.updateChannel) {
|
var info = when (Config.updateChannel) {
|
||||||
Config.Value.DEFAULT_CHANNEL, Config.Value.STABLE_CHANNEL -> apiRaw.fetchStableUpdate()
|
Config.Value.DEFAULT_CHANNEL, Config.Value.STABLE_CHANNEL -> pageSvc.fetchStableUpdate()
|
||||||
Config.Value.BETA_CHANNEL -> apiRaw.fetchBetaUpdate()
|
Config.Value.BETA_CHANNEL -> pageSvc.fetchBetaUpdate()
|
||||||
Config.Value.CANARY_CHANNEL -> apiRaw.fetchCanaryUpdate()
|
Config.Value.CANARY_CHANNEL -> rawSvc.fetchCanaryUpdate()
|
||||||
Config.Value.CUSTOM_CHANNEL -> apiRaw.fetchCustomUpdate(Config.customChannelUrl)
|
Config.Value.CUSTOM_CHANNEL -> rawSvc.fetchCustomUpdate(Config.customChannelUrl)
|
||||||
else -> throw IllegalArgumentException()
|
else -> throw IllegalArgumentException()
|
||||||
}
|
}
|
||||||
if (info.magisk.versionCode < Info.env.magiskVersionCode &&
|
if (info.magisk.versionCode < Info.env.magiskVersionCode &&
|
||||||
Config.updateChannel == Config.Value.DEFAULT_CHANNEL) {
|
Config.updateChannel == Config.Value.DEFAULT_CHANNEL) {
|
||||||
Config.updateChannel = Config.Value.BETA_CHANNEL
|
Config.updateChannel = Config.Value.BETA_CHANNEL
|
||||||
info = apiRaw.fetchBetaUpdate()
|
info = pageSvc.fetchBetaUpdate()
|
||||||
}
|
}
|
||||||
Info.remote = info
|
Info.remote = info
|
||||||
info
|
info
|
||||||
|
@ -7,6 +7,7 @@ import com.topjohnwu.magisk.core.Config
|
|||||||
import com.topjohnwu.magisk.core.Const
|
import com.topjohnwu.magisk.core.Const
|
||||||
import com.topjohnwu.magisk.core.Info
|
import com.topjohnwu.magisk.core.Info
|
||||||
import com.topjohnwu.magisk.data.network.GithubApiServices
|
import com.topjohnwu.magisk.data.network.GithubApiServices
|
||||||
|
import com.topjohnwu.magisk.data.network.GithubPageServices
|
||||||
import com.topjohnwu.magisk.data.network.GithubRawServices
|
import com.topjohnwu.magisk.data.network.GithubRawServices
|
||||||
import com.topjohnwu.magisk.ktx.precomputedText
|
import com.topjohnwu.magisk.ktx.precomputedText
|
||||||
import com.topjohnwu.magisk.net.Networking
|
import com.topjohnwu.magisk.net.Networking
|
||||||
@ -30,6 +31,7 @@ val networkingModule = module {
|
|||||||
single { createRetrofit(get()) }
|
single { createRetrofit(get()) }
|
||||||
single { createApiService<GithubRawServices>(get(), Const.Url.GITHUB_RAW_URL) }
|
single { createApiService<GithubRawServices>(get(), Const.Url.GITHUB_RAW_URL) }
|
||||||
single { createApiService<GithubApiServices>(get(), Const.Url.GITHUB_API_URL) }
|
single { createApiService<GithubApiServices>(get(), Const.Url.GITHUB_API_URL) }
|
||||||
|
single { createApiService<GithubPageServices>(get(), Const.Url.GITHUB_PAGE_URL) }
|
||||||
single { createMarkwon(get(), get()) }
|
single { createMarkwon(get(), get()) }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ import org.koin.dsl.module
|
|||||||
|
|
||||||
|
|
||||||
val repositoryModule = module {
|
val repositoryModule = module {
|
||||||
single { MagiskRepository(get()) }
|
single { MagiskRepository(get(), get()) }
|
||||||
single { LogRepository(get()) }
|
single { LogRepository(get()) }
|
||||||
single { StringRepository(get()) }
|
single { StringRepository(get()) }
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,14 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
|
val canary = !Config["appVersion"].orEmpty().contains(".")
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "com.topjohnwu.magisk"
|
applicationId = "com.topjohnwu.magisk"
|
||||||
versionCode = 1
|
versionCode = 1
|
||||||
versionName = Config["appVersion"]
|
versionName = Config["appVersion"]
|
||||||
buildConfigField("String", "DEV_CHANNEL", Config["DEV_CHANNEL"] ?: "null")
|
buildConfigField("String", "DEV_CHANNEL", Config["DEV_CHANNEL"] ?: "null")
|
||||||
|
buildConfigField("boolean", "CANARY", if (canary) "true" else "false")
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
@ -25,12 +25,6 @@ import static android.R.string.yes;
|
|||||||
|
|
||||||
public class MainActivity extends Activity {
|
public class MainActivity extends Activity {
|
||||||
|
|
||||||
private static final boolean CANARY = !BuildConfig.VERSION_NAME.contains(".");
|
|
||||||
private static final String URL =
|
|
||||||
BuildConfig.DEV_CHANNEL != null ? BuildConfig.DEV_CHANNEL :
|
|
||||||
"https://raw.githubusercontent.com/topjohnwu/magisk_files/" +
|
|
||||||
(BuildConfig.DEBUG ? "canary/debug.json" :
|
|
||||||
(CANARY ? "canary/release.json" : "master/stable.json"));
|
|
||||||
private static final String APP_NAME = "Magisk Manager";
|
private static final String APP_NAME = "Magisk Manager";
|
||||||
|
|
||||||
private String apkLink;
|
private String apkLink;
|
||||||
@ -40,6 +34,15 @@ public class MainActivity extends Activity {
|
|||||||
};
|
};
|
||||||
private Context themed;
|
private Context themed;
|
||||||
|
|
||||||
|
private String URL() {
|
||||||
|
if (BuildConfig.DEV_CHANNEL != null)
|
||||||
|
return BuildConfig.DEV_CHANNEL;
|
||||||
|
else if (BuildConfig.CANARY)
|
||||||
|
return "https://raw.githubusercontent.com/topjohnwu/magisk_files/canary/release.json";
|
||||||
|
else
|
||||||
|
return "https://topjohnwu.github.io/magisk_files/stable.json";
|
||||||
|
}
|
||||||
|
|
||||||
private void showDialog() {
|
private void showDialog() {
|
||||||
ProgressDialog.show(themed,
|
ProgressDialog.show(themed,
|
||||||
getString(R.string.dling),
|
getString(R.string.dling),
|
||||||
@ -66,7 +69,7 @@ public class MainActivity extends Activity {
|
|||||||
themed = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault);
|
themed = new ContextThemeWrapper(this, android.R.style.Theme_DeviceDefault);
|
||||||
|
|
||||||
if (Networking.checkNetworkStatus(this)) {
|
if (Networking.checkNetworkStatus(this)) {
|
||||||
Networking.get(URL)
|
Networking.get(URL())
|
||||||
.setErrorHandler(err)
|
.setErrorHandler(err)
|
||||||
.getAsJSONObject(new JSONLoader());
|
.getAsJSONObject(new JSONLoader());
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user