From 673ff9800aab7b761cdd05e480787c313c10db6a Mon Sep 17 00:00:00 2001 From: Mygod Date: Wed, 20 Mar 2019 12:21:22 +0800 Subject: [PATCH] Refine code style --- detekt.yml | 2 +- .../be/mygod/vpnhotspot/RepeaterService.kt | 47 +++++++++++-------- .../be/mygod/vpnhotspot/manage/Manager.kt | 4 +- 3 files changed, 32 insertions(+), 21 deletions(-) diff --git a/detekt.yml b/detekt.yml index 305b961d..7c7e4559 100644 --- a/detekt.yml +++ b/detekt.yml @@ -363,7 +363,7 @@ style: OptionalUnit: active: true OptionalWhenBraces: - active: true + active: false PreferToOverPairSyntax: active: false ProtectedMemberInFinalClass: diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt b/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt index 9d614aa6..bf3787d0 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/RepeaterService.kt @@ -22,10 +22,7 @@ import be.mygod.vpnhotspot.net.wifi.WifiP2pManagerHelper.netId import be.mygod.vpnhotspot.net.wifi.WifiP2pManagerHelper.requestPersistentGroupInfo import be.mygod.vpnhotspot.net.wifi.WifiP2pManagerHelper.setWifiP2pChannels import be.mygod.vpnhotspot.net.wifi.WifiP2pManagerHelper.startWps -import be.mygod.vpnhotspot.util.StickyEvent0 -import be.mygod.vpnhotspot.util.StickyEvent1 -import be.mygod.vpnhotspot.util.broadcastReceiver -import be.mygod.vpnhotspot.util.intentFilter +import be.mygod.vpnhotspot.util.* import be.mygod.vpnhotspot.widget.SmartSnackbar import timber.log.Timber import java.lang.reflect.InvocationTargetException @@ -233,29 +230,41 @@ class RepeaterService : Service(), WifiP2pManager.ChannelListener, SharedPrefere registerReceiver(receiver, intentFilter(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION, WifiP2pManager.WIFI_P2P_CONNECTION_CHANGED_ACTION)) receiverRegistered = true - p2pManager.requestGroupInfo(channel) { - when { - it == null -> doStart() - it.isGroupOwner -> if (routingManager == null) doStart(it) - else -> { - Timber.i("Removing old group ($it)") - p2pManager.removeGroup(channel, object : WifiP2pManager.ActionListener { - override fun onSuccess() = doStart() - override fun onFailure(reason: Int) = - startFailure(formatReason(R.string.repeater_remove_old_group_failure, reason)) - }) + try { + p2pManager.requestGroupInfo(channel) { + when { + it == null -> doStart() + it.isGroupOwner -> if (routingManager == null) doStart(it) + else -> { + Timber.i("Removing old group ($it)") + p2pManager.removeGroup(channel, object : WifiP2pManager.ActionListener { + override fun onSuccess() = doStart() + override fun onFailure(reason: Int) = + startFailure(formatReason(R.string.repeater_remove_old_group_failure, reason)) + }) + } } } + } catch (e: SecurityException) { + Timber.w(e) + startFailure(e.readableMessage) } return START_NOT_STICKY } /** * startService Step 2 (if a group isn't already available) */ - private fun doStart() = p2pManager.createGroup(channel, object : WifiP2pManager.ActionListener { - override fun onFailure(reason: Int) = startFailure(formatReason(R.string.repeater_create_group_failure, reason)) - override fun onSuccess() { } // wait for WIFI_P2P_CONNECTION_CHANGED_ACTION to fire to go to step 3 - }) + private fun doStart() = try { + p2pManager.createGroup(channel, object : WifiP2pManager.ActionListener { + override fun onFailure(reason: Int) { + startFailure(formatReason(R.string.repeater_create_group_failure, reason)) + } + override fun onSuccess() { } // wait for WIFI_P2P_CONNECTION_CHANGED_ACTION to fire to go to step 3 + }) + } catch (e: SecurityException) { + Timber.w(e) + startFailure(e.readableMessage) + } /** * Used during step 2, also called when connection changed */ diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/Manager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/Manager.kt index 495d44d4..6dc70cc8 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/Manager.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/Manager.kt @@ -1,5 +1,6 @@ package be.mygod.vpnhotspot.manage +import android.annotation.SuppressLint import android.annotation.TargetApi import android.view.LayoutInflater import android.view.ViewGroup @@ -21,7 +22,8 @@ abstract class Manager { const val VIEW_TYPE_REPEATER = 7 override fun areItemsTheSame(oldItem: Manager, newItem: Manager) = oldItem.isSameItemAs(newItem) - override fun areContentsTheSame(oldItem: Manager, newItem: Manager) = oldItem == newItem + @SuppressLint("DiffUtilEquals") + override fun areContentsTheSame(oldItem: Manager, newItem: Manager) = oldItem === newItem fun createViewHolder(inflater: LayoutInflater, parent: ViewGroup, type: Int) = when (type) { VIEW_TYPE_INTERFACE ->