From f1cf44c62890099ca870df1fb645a700df079871 Mon Sep 17 00:00:00 2001 From: Mygod Date: Mon, 18 Mar 2019 21:58:30 +0800 Subject: [PATCH] Improve error logs on Android Q beta --- .../src/main/java/be/mygod/vpnhotspot/RepeaterService.kt | 3 ++- .../src/main/java/be/mygod/vpnhotspot/net/IpNeighbour.kt | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt b/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt index 021caa5d..69fb257d 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt @@ -14,6 +14,7 @@ import android.os.Handler import android.os.Looper import androidx.annotation.StringRes import androidx.core.content.getSystemService +import androidx.core.os.BuildCompat import be.mygod.vpnhotspot.App.Companion.app import be.mygod.vpnhotspot.net.wifi.WifiP2pManagerHelper import be.mygod.vpnhotspot.net.wifi.WifiP2pManagerHelper.deletePersistentGroup @@ -149,7 +150,7 @@ class RepeaterService : Service(), WifiP2pManager.ChannelListener, SharedPrefere WifiP2pManager.NO_SERVICE_REQUESTS -> getString(R.string.repeater_failure_reason_no_service_requests) WifiP2pManagerHelper.UNSUPPORTED -> getString(R.string.repeater_failure_reason_unsupported_operation) else -> getString(R.string.failure_reason_unknown, reason) - }) + }).also { if (BuildCompat.isAtLeastQ()) Timber.w(RuntimeException(it)) } override fun onCreate() { super.onCreate() diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/net/IpNeighbour.kt b/mobile/src/main/java/be/mygod/vpnhotspot/net/IpNeighbour.kt index f0f82028..4a4a88ed 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/net/IpNeighbour.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/net/IpNeighbour.kt @@ -1,9 +1,13 @@ package be.mygod.vpnhotspot.net +import android.system.ErrnoException +import android.system.OsConstants +import androidx.core.os.BuildCompat import be.mygod.vpnhotspot.room.macToLong import be.mygod.vpnhotspot.util.parseNumericAddress import timber.log.Timber import java.io.File +import java.io.FileNotFoundException import java.io.IOException import java.lang.NumberFormatException import java.net.InetAddress @@ -94,7 +98,8 @@ data class IpNeighbour(val ip: InetAddress, val dev: String, val lladdr: Long, v .filter { it.size >= 6 && mac.matcher(it[ARP_HW_ADDRESS]).matches() } .toList() } catch (e: IOException) { - Timber.w(e) + if (e !is FileNotFoundException || !BuildCompat.isAtLeastQ() || + (e.cause as? ErrnoException)?.errno != OsConstants.EACCES) Timber.w(e) } return arpCache }