mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-02-25 23:47:24 +00:00
Move functions around
This commit is contained in:
parent
f1fb7404c2
commit
5b28a713e0
@ -140,10 +140,10 @@ dependencies {
|
|||||||
implementation("androidx.preference:preference:1.1.1")
|
implementation("androidx.preference:preference:1.1.1")
|
||||||
implementation("androidx.recyclerview:recyclerview:1.1.0")
|
implementation("androidx.recyclerview:recyclerview:1.1.0")
|
||||||
implementation("androidx.fragment:fragment-ktx:1.2.5")
|
implementation("androidx.fragment:fragment-ktx:1.2.5")
|
||||||
implementation("androidx.work:work-runtime-ktx:2.3.4")
|
implementation("androidx.work:work-runtime-ktx:2.4.0")
|
||||||
implementation("androidx.transition:transition:1.3.1")
|
implementation("androidx.transition:transition:1.3.1")
|
||||||
implementation("androidx.multidex:multidex:2.0.1")
|
implementation("androidx.multidex:multidex:2.0.1")
|
||||||
implementation("androidx.core:core-ktx:1.3.0")
|
implementation("androidx.core:core-ktx:1.3.1")
|
||||||
implementation("androidx.localbroadcastmanager:localbroadcastmanager:1.0.0")
|
implementation("androidx.localbroadcastmanager:localbroadcastmanager:1.0.0")
|
||||||
implementation("com.google.android.material:material:1.2.0-beta01")
|
implementation("com.google.android.material:material:1.2.0-rc01")
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,6 @@ repositories {
|
|||||||
dependencies {
|
dependencies {
|
||||||
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
|
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
|
||||||
|
|
||||||
api("org.bouncycastle:bcprov-jdk15on:1.65.01")
|
api("org.bouncycastle:bcprov-jdk15on:1.66")
|
||||||
api("org.bouncycastle:bcpkix-jdk15on:1.65")
|
api("org.bouncycastle:bcpkix-jdk15on:1.66")
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,6 @@ import android.content.Context
|
|||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import com.topjohnwu.magisk.BuildConfig
|
import com.topjohnwu.magisk.BuildConfig
|
||||||
import com.topjohnwu.magisk.R
|
import com.topjohnwu.magisk.R
|
||||||
import com.topjohnwu.magisk.core.utils.Utils
|
|
||||||
import com.topjohnwu.magisk.core.view.Notifications
|
import com.topjohnwu.magisk.core.view.Notifications
|
||||||
import com.topjohnwu.magisk.core.view.Shortcuts
|
import com.topjohnwu.magisk.core.view.Shortcuts
|
||||||
import com.topjohnwu.magisk.data.network.GithubRawServices
|
import com.topjohnwu.magisk.data.network.GithubRawServices
|
||||||
@ -52,7 +51,7 @@ open class SplashActivity : Activity() {
|
|||||||
Config.initialize()
|
Config.initialize()
|
||||||
handleRepackage()
|
handleRepackage()
|
||||||
Notifications.setup(this)
|
Notifications.setup(this)
|
||||||
Utils.scheduleUpdateCheck(this)
|
UpdateCheckService.schedule(this)
|
||||||
Shortcuts.setup(this)
|
Shortcuts.setup(this)
|
||||||
|
|
||||||
// Pre-fetch network stuffs
|
// Pre-fetch network stuffs
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
package com.topjohnwu.magisk.core
|
package com.topjohnwu.magisk.core
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.work.CoroutineWorker
|
import androidx.work.*
|
||||||
import androidx.work.WorkerParameters
|
|
||||||
import com.topjohnwu.magisk.BuildConfig
|
import com.topjohnwu.magisk.BuildConfig
|
||||||
import com.topjohnwu.magisk.core.view.Notifications
|
import com.topjohnwu.magisk.core.view.Notifications
|
||||||
import com.topjohnwu.magisk.data.repository.MagiskRepository
|
import com.topjohnwu.magisk.data.repository.MagiskRepository
|
||||||
@ -11,6 +10,7 @@ import kotlinx.coroutines.Dispatchers
|
|||||||
import kotlinx.coroutines.withContext
|
import kotlinx.coroutines.withContext
|
||||||
import org.koin.core.KoinComponent
|
import org.koin.core.KoinComponent
|
||||||
import org.koin.core.inject
|
import org.koin.core.inject
|
||||||
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
class UpdateCheckService(context: Context, workerParams: WorkerParameters)
|
class UpdateCheckService(context: Context, workerParams: WorkerParameters)
|
||||||
: CoroutineWorker(context, workerParams), KoinComponent {
|
: CoroutineWorker(context, workerParams), KoinComponent {
|
||||||
@ -30,4 +30,24 @@ class UpdateCheckService(context: Context, workerParams: WorkerParameters)
|
|||||||
Result.success()
|
Result.success()
|
||||||
} ?: Result.failure()
|
} ?: Result.failure()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
fun schedule(context: Context) {
|
||||||
|
if (Config.checkUpdate) {
|
||||||
|
val constraints = Constraints.Builder()
|
||||||
|
.setRequiredNetworkType(NetworkType.CONNECTED)
|
||||||
|
.setRequiresDeviceIdle(true)
|
||||||
|
.build()
|
||||||
|
val request = PeriodicWorkRequestBuilder<UpdateCheckService>(12, TimeUnit.HOURS)
|
||||||
|
.setConstraints(constraints)
|
||||||
|
.build()
|
||||||
|
WorkManager.getInstance(context).enqueueUniquePeriodicWork(
|
||||||
|
Const.ID.CHECK_MAGISK_UPDATE_WORKER_ID,
|
||||||
|
ExistingPeriodicWorkPolicy.REPLACE, request)
|
||||||
|
} else {
|
||||||
|
WorkManager.getInstance(context)
|
||||||
|
.cancelUniqueWork(Const.ID.CHECK_MAGISK_UPDATE_WORKER_ID)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -6,16 +6,13 @@ import android.content.res.Resources
|
|||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.work.*
|
|
||||||
import com.topjohnwu.magisk.R
|
import com.topjohnwu.magisk.R
|
||||||
import com.topjohnwu.magisk.core.Config
|
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.core.UpdateCheckService
|
|
||||||
import com.topjohnwu.magisk.ktx.get
|
import com.topjohnwu.magisk.ktx.get
|
||||||
import com.topjohnwu.superuser.internal.UiThreadHandler
|
import com.topjohnwu.superuser.internal.UiThreadHandler
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.concurrent.TimeUnit
|
|
||||||
|
|
||||||
object Utils {
|
object Utils {
|
||||||
|
|
||||||
@ -37,26 +34,6 @@ object Utils {
|
|||||||
|| Config.suMultiuserMode != Config.Value.MULTIUSER_MODE_OWNER_MANAGED)
|
|| Config.suMultiuserMode != Config.Value.MULTIUSER_MODE_OWNER_MANAGED)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun scheduleUpdateCheck(context: Context) {
|
|
||||||
if (Config.checkUpdate) {
|
|
||||||
val constraints = Constraints.Builder()
|
|
||||||
.setRequiredNetworkType(NetworkType.CONNECTED)
|
|
||||||
.setRequiresDeviceIdle(true)
|
|
||||||
.build()
|
|
||||||
val request = PeriodicWorkRequest
|
|
||||||
.Builder(UpdateCheckService::class.java, 12, TimeUnit.HOURS)
|
|
||||||
.setConstraints(constraints)
|
|
||||||
.build()
|
|
||||||
WorkManager.getInstance(context).enqueueUniquePeriodicWork(
|
|
||||||
Const.ID.CHECK_MAGISK_UPDATE_WORKER_ID,
|
|
||||||
ExistingPeriodicWorkPolicy.REPLACE, request
|
|
||||||
)
|
|
||||||
} else {
|
|
||||||
WorkManager.getInstance(context)
|
|
||||||
.cancelUniqueWork(Const.ID.CHECK_MAGISK_UPDATE_WORKER_ID)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fun openLink(context: Context, link: Uri) {
|
fun openLink(context: Context, link: Uri) {
|
||||||
val intent = Intent(Intent.ACTION_VIEW, link)
|
val intent = Intent(Intent.ACTION_VIEW, link)
|
||||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
||||||
|
@ -11,6 +11,7 @@ import com.topjohnwu.magisk.R
|
|||||||
import com.topjohnwu.magisk.core.Config
|
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.core.UpdateCheckService
|
||||||
import com.topjohnwu.magisk.core.utils.BiometricHelper
|
import com.topjohnwu.magisk.core.utils.BiometricHelper
|
||||||
import com.topjohnwu.magisk.core.utils.Utils
|
import com.topjohnwu.magisk.core.utils.Utils
|
||||||
import com.topjohnwu.magisk.core.utils.availableLocales
|
import com.topjohnwu.magisk.core.utils.availableLocales
|
||||||
@ -154,7 +155,7 @@ object UpdateChecker : SettingsItem.Toggle() {
|
|||||||
override var value = Config.checkUpdate
|
override var value = Config.checkUpdate
|
||||||
set(value) = setV(value, field, { field = it }) {
|
set(value) = setV(value, field, { field = it }) {
|
||||||
Config.checkUpdate = it
|
Config.checkUpdate = it
|
||||||
Utils.scheduleUpdateCheck(get())
|
UpdateCheckService.schedule(get())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user