Add root unavailable to clean
This commit is contained in:
@@ -199,7 +199,7 @@ class RepeaterService : Service(), WifiP2pManager.ChannelListener, VpnMonitor.Ca
|
|||||||
Status.STARTING -> {
|
Status.STARTING -> {
|
||||||
val matcher = patternNetworkInfo.matcher(loggerSu("dumpsys ${Context.WIFI_P2P_SERVICE}") ?: "")
|
val matcher = patternNetworkInfo.matcher(loggerSu("dumpsys ${Context.WIFI_P2P_SERVICE}") ?: "")
|
||||||
when {
|
when {
|
||||||
!matcher.find() -> startFailure(getString(R.string.repeater_root_unavailable))
|
!matcher.find() -> startFailure(getString(R.string.root_unavailable))
|
||||||
matcher.group(2) == "true" -> {
|
matcher.group(2) == "true" -> {
|
||||||
unregisterReceiver()
|
unregisterReceiver()
|
||||||
registerReceiver(receiver, intentFilter(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION,
|
registerReceiver(receiver, intentFilter(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION,
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ class SettingsPreferenceFragment : PreferenceFragmentCompatDividers() {
|
|||||||
override fun onCreatePreferencesFix(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferencesFix(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
addPreferencesFromResource(R.xml.pref_settings)
|
addPreferencesFromResource(R.xml.pref_settings)
|
||||||
findPreference("service.clean").setOnPreferenceClickListener {
|
findPreference("service.clean").setOnPreferenceClickListener {
|
||||||
Routing.clean()
|
if (Routing.clean() == null) Toast.makeText(context!!, R.string.root_unavailable, Toast.LENGTH_SHORT).show()
|
||||||
LocalBroadcastManager.getInstance(context!!).sendBroadcastSync(Intent(App.ACTION_CLEAN_ROUTINGS))
|
else LocalBroadcastManager.getInstance(context!!).sendBroadcastSync(Intent(App.ACTION_CLEAN_ROUTINGS))
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
findPreference("misc.logcat").setOnPreferenceClickListener {
|
findPreference("misc.logcat").setOnPreferenceClickListener {
|
||||||
|
|||||||
@@ -60,11 +60,11 @@ fun loggerSu(command: String): String? {
|
|||||||
null
|
null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fun noisySu(commands: Iterable<String>): Boolean {
|
fun noisySu(commands: Iterable<String>): Boolean? {
|
||||||
var out = loggerSu("""function noisy() { "$@" || echo "$@" exited with $?; }
|
var out = loggerSu("""function noisy() { "$@" || echo "$@" exited with $?; }
|
||||||
${commands.joinToString("\n") { if (it.startsWith("quiet ")) it.substring(6) else "noisy $it" }}
|
${commands.joinToString("\n") { if (it.startsWith("quiet ")) it.substring(6) else "noisy $it" }}
|
||||||
echo $NOISYSU_SUFFIX""")
|
echo $NOISYSU_SUFFIX""")
|
||||||
val result = out == NOISYSU_SUFFIX
|
val result = if (out == null) null else out == NOISYSU_SUFFIX
|
||||||
out = out?.removeSuffix(NOISYSU_SUFFIX)
|
out = out?.removeSuffix(NOISYSU_SUFFIX)
|
||||||
if (!out.isNullOrBlank()) Log.i(NOISYSU_TAG, out)
|
if (!out.isNullOrBlank()) Log.i(NOISYSU_TAG, out)
|
||||||
return result
|
return result
|
||||||
|
|||||||
@@ -79,11 +79,11 @@ class Routing(private val upstream: String, val downstream: String, ownerAddress
|
|||||||
fun start(): Boolean {
|
fun start(): Boolean {
|
||||||
if (started) return true
|
if (started) return true
|
||||||
started = true
|
started = true
|
||||||
return noisySu(startScript)
|
return noisySu(startScript) == true
|
||||||
}
|
}
|
||||||
fun stop(): Boolean {
|
fun stop(): Boolean {
|
||||||
if (!started) return true
|
if (!started) return true
|
||||||
started = false
|
started = false
|
||||||
return noisySu(stopScript)
|
return noisySu(stopScript) == true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
<string name="repeater_inactive">未打开</string>
|
<string name="repeater_inactive">未打开</string>
|
||||||
<string name="repeater_vpn_unavailable">无法找到 VPN,请启用任意 VPN</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_p2p_unavailable">Wi-Fi 直连不可用</string>
|
||||||
<string name="repeater_create_group_failure">创建 P2P 群组失败(原因:%s)</string>
|
<string name="repeater_create_group_failure">创建 P2P 群组失败(原因:%s)</string>
|
||||||
<string name="repeater_remove_group_failure">关闭已有 P2P 群组失败(原因:%s)</string>
|
<string name="repeater_remove_group_failure">关闭已有 P2P 群组失败(原因:%s)</string>
|
||||||
@@ -62,5 +61,6 @@
|
|||||||
</plurals>
|
</plurals>
|
||||||
|
|
||||||
<string name="exception_interface_not_found">错误:未找到下游接口</string>
|
<string name="exception_interface_not_found">错误:未找到下游接口</string>
|
||||||
|
<string name="root_unavailable">似乎没有 root</string>
|
||||||
<string name="noisy_su_failure">发生异常,详情请查看日志。</string>
|
<string name="noisy_su_failure">发生异常,详情请查看日志。</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -24,7 +24,6 @@
|
|||||||
|
|
||||||
<string name="repeater_inactive">Service inactive</string>
|
<string name="repeater_inactive">Service inactive</string>
|
||||||
<string name="repeater_vpn_unavailable">VPN unavailable, please enable any VPN</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_p2p_unavailable">Wi-Fi direct unavailable</string>
|
||||||
<string name="repeater_create_group_failure">Failed to create P2P group (reason: %s)</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>
|
<string name="repeater_remove_group_failure">Failed to remove P2P group (reason: %s)</string>
|
||||||
@@ -66,5 +65,6 @@
|
|||||||
</plurals>
|
</plurals>
|
||||||
|
|
||||||
<string name="exception_interface_not_found">Fatal: Downstream interface not found</string>
|
<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>
|
<string name="noisy_su_failure">Something went wrong, please check logcat.</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user