Add root unavailable to clean

This commit is contained in:
Mygod
2018-01-22 00:45:55 -08:00
parent d33bf1e8cc
commit 913e9bd863
6 changed files with 9 additions and 9 deletions

View File

@@ -199,7 +199,7 @@ class RepeaterService : Service(), WifiP2pManager.ChannelListener, VpnMonitor.Ca
Status.STARTING -> {
val matcher = patternNetworkInfo.matcher(loggerSu("dumpsys ${Context.WIFI_P2P_SERVICE}") ?: "")
when {
!matcher.find() -> startFailure(getString(R.string.repeater_root_unavailable))
!matcher.find() -> startFailure(getString(R.string.root_unavailable))
matcher.group(2) == "true" -> {
unregisterReceiver()
registerReceiver(receiver, intentFilter(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION,

View File

@@ -19,8 +19,8 @@ class SettingsPreferenceFragment : PreferenceFragmentCompatDividers() {
override fun onCreatePreferencesFix(savedInstanceState: Bundle?, rootKey: String?) {
addPreferencesFromResource(R.xml.pref_settings)
findPreference("service.clean").setOnPreferenceClickListener {
Routing.clean()
LocalBroadcastManager.getInstance(context!!).sendBroadcastSync(Intent(App.ACTION_CLEAN_ROUTINGS))
if (Routing.clean() == null) Toast.makeText(context!!, R.string.root_unavailable, Toast.LENGTH_SHORT).show()
else LocalBroadcastManager.getInstance(context!!).sendBroadcastSync(Intent(App.ACTION_CLEAN_ROUTINGS))
true
}
findPreference("misc.logcat").setOnPreferenceClickListener {

View File

@@ -60,11 +60,11 @@ fun loggerSu(command: String): String? {
null
}
}
fun noisySu(commands: Iterable<String>): Boolean {
fun noisySu(commands: Iterable<String>): Boolean? {
var out = loggerSu("""function noisy() { "$@" || echo "$@" exited with $?; }
${commands.joinToString("\n") { if (it.startsWith("quiet ")) it.substring(6) else "noisy $it" }}
echo $NOISYSU_SUFFIX""")
val result = out == NOISYSU_SUFFIX
val result = if (out == null) null else out == NOISYSU_SUFFIX
out = out?.removeSuffix(NOISYSU_SUFFIX)
if (!out.isNullOrBlank()) Log.i(NOISYSU_TAG, out)
return result

View File

@@ -79,11 +79,11 @@ class Routing(private val upstream: String, val downstream: String, ownerAddress
fun start(): Boolean {
if (started) return true
started = true
return noisySu(startScript)
return noisySu(startScript) == true
}
fun stop(): Boolean {
if (!started) return true
started = false
return noisySu(stopScript)
return noisySu(stopScript) == true
}
}