Commit 1ee75b6a authored by topjohnwu's avatar topjohnwu

Download snet package without legacy impl

parent 4b30b224
...@@ -67,8 +67,6 @@ object Const { ...@@ -67,8 +67,6 @@ object Const {
const val XDA_THREAD = "http://forum.xda-developers.com/showthread.php?t=3432382" 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"
@JvmField @JvmField
val SNET_URL = getRaw("b66b1a914978e5f4c4bbfd74a59f4ad371bac107", "snet.apk")
@JvmField
val BOOTCTL_URL = getRaw("9c5dfc1b8245c0b5b524901ef0ff0f8335757b77", "bootctl") val BOOTCTL_URL = getRaw("9c5dfc1b8245c0b5b524901ef0ff0f8335757b77", "bootctl")
const val GITHUB_RAW_API_URL = "https://raw.githubusercontent.com/" const val GITHUB_RAW_API_URL = "https://raw.githubusercontent.com/"
......
...@@ -37,9 +37,7 @@ class MagiskRepository( ...@@ -37,9 +37,7 @@ class MagiskRepository(
.flatMap { apiRaw.fetchFile(it.uninstaller.link) } .flatMap { apiRaw.fetchFile(it.uninstaller.link) }
.map { it.writeToFile(context, FILE_UNINSTALLER_ZIP) } .map { it.writeToFile(context, FILE_UNINSTALLER_ZIP) }
fun fetchSafetynet() = apiRaw fun fetchSafetynet() = apiRaw.fetchSafetynet()
.fetchSafetynet()
.map { it.writeToFile(context, FILE_SAFETY_NET_APK) }
fun fetchBootctl() = apiRaw fun fetchBootctl() = apiRaw
.fetchBootctl() .fetchBootctl()
......
package com.topjohnwu.magisk.ui.home package com.topjohnwu.magisk.ui.home
import android.app.Activity import android.app.Activity
import android.os.Bundle
import com.skoumal.teanity.extensions.subscribeK
import com.skoumal.teanity.viewevents.ViewEvent import com.skoumal.teanity.viewevents.ViewEvent
import com.topjohnwu.magisk.* import com.topjohnwu.magisk.*
import com.topjohnwu.magisk.data.repository.MagiskRepository
import com.topjohnwu.magisk.databinding.FragmentMagiskBinding import com.topjohnwu.magisk.databinding.FragmentMagiskBinding
import com.topjohnwu.magisk.model.events.* import com.topjohnwu.magisk.model.events.*
import com.topjohnwu.magisk.ui.base.MagiskActivity import com.topjohnwu.magisk.ui.base.MagiskActivity
import com.topjohnwu.magisk.ui.base.MagiskFragment import com.topjohnwu.magisk.ui.base.MagiskFragment
import com.topjohnwu.magisk.utils.ISafetyNetHelper import com.topjohnwu.magisk.utils.ISafetyNetHelper
import com.topjohnwu.magisk.utils.copyTo
import com.topjohnwu.magisk.utils.inject
import com.topjohnwu.magisk.view.MarkDownWindow import com.topjohnwu.magisk.view.MarkDownWindow
import com.topjohnwu.magisk.view.dialogs.* import com.topjohnwu.magisk.view.dialogs.*
import com.topjohnwu.net.Networking
import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.Shell
import dalvik.system.DexClassLoader import dalvik.system.DexClassLoader
import org.koin.androidx.viewmodel.ext.android.viewModel import org.koin.androidx.viewmodel.ext.android.viewModel
...@@ -21,6 +25,8 @@ class HomeFragment : MagiskFragment<HomeViewModel, FragmentMagiskBinding>(), ...@@ -21,6 +25,8 @@ class HomeFragment : MagiskFragment<HomeViewModel, FragmentMagiskBinding>(),
override val layoutRes: Int = R.layout.fragment_magisk override val layoutRes: Int = R.layout.fragment_magisk
override val viewModel: HomeViewModel by viewModel() override val viewModel: HomeViewModel by viewModel()
val magiskRepo: MagiskRepository by inject()
lateinit var EXT_FILE: File
override fun onResponse(responseCode: Int) = viewModel.finishSafetyNetCheck(responseCode) override fun onResponse(responseCode: Int) = viewModel.finishSafetyNetCheck(responseCode)
...@@ -37,6 +43,11 @@ class HomeFragment : MagiskFragment<HomeViewModel, FragmentMagiskBinding>(), ...@@ -37,6 +43,11 @@ class HomeFragment : MagiskFragment<HomeViewModel, FragmentMagiskBinding>(),
} }
} }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
EXT_FILE = File("${requireActivity().filesDir.parent}/snet", "snet.apk")
}
override fun onStart() { override fun onStart() {
super.onStart() super.onStart()
setHasOptionsMenu(true) setHasOptionsMenu(true)
...@@ -61,9 +72,9 @@ class HomeFragment : MagiskFragment<HomeViewModel, FragmentMagiskBinding>(), ...@@ -61,9 +72,9 @@ class HomeFragment : MagiskFragment<HomeViewModel, FragmentMagiskBinding>(),
.show(requireActivity(), null, resources.openRawResource(R.raw.changelog)) .show(requireActivity(), null, resources.openRawResource(R.raw.changelog))
private fun downloadSafetyNet(requiresUserInput: Boolean = true) { private fun downloadSafetyNet(requiresUserInput: Boolean = true) {
fun download() = Networking fun download() = magiskRepo.fetchSafetynet()
.get(Const.Url.SNET_URL) .map { it.byteStream().copyTo(EXT_FILE) }
.getAsFile(EXT_APK) { updateSafetyNet(true) } .subscribeK { updateSafetyNet(true) }
if (!requiresUserInput) { if (!requiresUserInput) {
download() download()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment