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
}
}

View File

@@ -22,7 +22,6 @@
<string name="repeater_inactive">未打开</string>
<string name="repeater_vpn_unavailable">无法找到 VPN请启用任意 VPN</string>
<string name="repeater_root_unavailable">似乎没有 root</string>
<string name="repeater_p2p_unavailable">Wi-Fi 直连不可用</string>
<string name="repeater_create_group_failure">创建 P2P 群组失败(原因:%s</string>
<string name="repeater_remove_group_failure">关闭已有 P2P 群组失败(原因:%s</string>
@@ -62,5 +61,6 @@
</plurals>
<string name="exception_interface_not_found">错误:未找到下游接口</string>
<string name="root_unavailable">似乎没有 root</string>
<string name="noisy_su_failure">发生异常,详情请查看日志。</string>
</resources>

View File

@@ -24,7 +24,6 @@
<string name="repeater_inactive">Service inactive</string>
<string name="repeater_vpn_unavailable">VPN unavailable, please enable any VPN</string>
<string name="repeater_root_unavailable">Root unavailable</string>
<string name="repeater_p2p_unavailable">Wi-Fi direct unavailable</string>
<string name="repeater_create_group_failure">Failed to create P2P group (reason: %s)</string>
<string name="repeater_remove_group_failure">Failed to remove P2P group (reason: %s)</string>
@@ -66,5 +65,6 @@
</plurals>
<string name="exception_interface_not_found">Fatal: Downstream interface not found</string>
<string name="root_unavailable">Root unavailable</string>
<string name="noisy_su_failure">Something went wrong, please check logcat.</string>
</resources>