Add root unavailable to clean
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user