Cleanup hide fragment code

This commit is contained in:
topjohnwu
2020-08-26 04:23:43 -07:00
parent b44dcc2da0
commit 84f92bd661
12 changed files with 172 additions and 196 deletions
@@ -1,23 +1,13 @@
package com.topjohnwu.magisk.data.repository
import android.content.pm.PackageManager
import com.topjohnwu.magisk.core.Config
import com.topjohnwu.magisk.core.Info
import com.topjohnwu.magisk.data.network.GithubRawServices
import com.topjohnwu.magisk.ktx.await
import com.topjohnwu.magisk.ktx.getLabel
import com.topjohnwu.magisk.ktx.packageName
import com.topjohnwu.magisk.ui.hide.HideAppInfo
import com.topjohnwu.magisk.ui.hide.HideTarget
import com.topjohnwu.superuser.Shell
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
import timber.log.Timber
import java.io.IOException
class MagiskRepository(
private val apiRaw: GithubRawServices,
private val packageManager: PackageManager
private val apiRaw: GithubRawServices
) {
suspend fun fetchUpdate() = try {
@@ -40,35 +30,4 @@ class MagiskRepository(
null
}
suspend fun fetchApps() = withContext(Dispatchers.Default) {
packageManager.getInstalledApplications(0).filter {
it.enabled && !blacklist.contains(it.packageName)
}.map {
val label = it.getLabel(packageManager)
val icon = it.loadIcon(packageManager)
HideAppInfo(it, label, icon)
}.filter { it.processes.isNotEmpty() }
}
suspend fun fetchHideTargets() =
Shell.su("magiskhide --ls").await().out.map { HideTarget(it) }
fun toggleHide(isEnabled: Boolean, packageName: String, process: String) =
Shell.su("magiskhide --${isEnabled.state} $packageName $process").submit()
private val Boolean.state get() = if (this) "add" else "rm"
companion object {
private val blacklist by lazy { listOf(
packageName,
"android",
"com.android.chrome",
"com.chrome.beta",
"com.chrome.dev",
"com.chrome.canary",
"com.android.webview",
"com.google.android.webview"
) }
}
}