From 836292b5cc7b1a93413ed2d7e0d2331a9ba16a41 Mon Sep 17 00:00:00 2001 From: Mygod Date: Wed, 13 Jun 2018 19:25:35 +0800 Subject: [PATCH] Fix SecurityException crashes --- .../be/mygod/vpnhotspot/manage/ManageBar.kt | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/ManageBar.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/ManageBar.kt index a6a55a18..6d90e0e5 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/ManageBar.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/ManageBar.kt @@ -23,15 +23,24 @@ object ManageBar : Manager() { context.startActivity(Intent() .setClassName("com.android.settings", "com.android.settings.Settings\$TetherSettingsActivity")) } catch (e: ActivityNotFoundException) { - try { - context.startActivity(Intent() - .setClassName("com.android.settings", "com.android.settings.TetherSettings")) - e.printStackTrace() - Crashlytics.logException(e) - } catch (e: ActivityNotFoundException) { - e.printStackTrace() - Crashlytics.logException(e) - } + startAlternative(context, e) + } catch (e: SecurityException) { + startAlternative(context, e) + } + } + + private fun startAlternative(context: Context, e: Exception) { + try { + context.startActivity(Intent() + .setClassName("com.android.settings", "com.android.settings.TetherSettings")) + e.printStackTrace() + Crashlytics.logException(e) + } catch (e: ActivityNotFoundException) { + e.printStackTrace() + Crashlytics.logException(e) + } catch (e: SecurityException) { + e.printStackTrace() + Crashlytics.logException(e) } } }