From 50911bd31fe21cdf186e16c178a91d058497bc7d Mon Sep 17 00:00:00 2001 From: Mygod Date: Mon, 4 Feb 2019 14:23:12 +0800 Subject: [PATCH] Fix #74 --- .../main/java/be/mygod/vpnhotspot/AlertDialogFragment.kt | 6 ++++++ .../java/be/mygod/vpnhotspot/client/ClientsFragment.kt | 9 +++++---- .../java/be/mygod/vpnhotspot/manage/RepeaterManager.kt | 7 ++----- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/AlertDialogFragment.kt b/mobile/src/main/java/be/mygod/vpnhotspot/AlertDialogFragment.kt index 4186dc7d..186b3410 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/AlertDialogFragment.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/AlertDialogFragment.kt @@ -7,6 +7,7 @@ import android.os.Bundle import android.os.Parcelable import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatDialogFragment +import androidx.fragment.app.Fragment import kotlinx.android.parcel.Parcelize /** @@ -38,6 +39,11 @@ abstract class AlertDialogFragment : super.onDismiss(dialog) targetFragment?.onActivityResult(targetRequestCode, Activity.RESULT_CANCELED, null) } + + fun show(target: Fragment, requestCode: Int = 0, tag: String = javaClass.simpleName) { + setTargetFragment(target, requestCode) + show(target.fragmentManager ?: return, tag) + } } @Parcelize diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/client/ClientsFragment.kt b/mobile/src/main/java/be/mygod/vpnhotspot/client/ClientsFragment.kt index 06bbcd39..0a833844 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/client/ClientsFragment.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/client/ClientsFragment.kt @@ -132,7 +132,7 @@ class ClientsFragment : Fragment(), MainScope by MainScope.Supervisor() { R.id.nickname -> { val client = binding.client ?: return false NicknameDialogFragment().withArg(NicknameArg(client.mac, client.nickname)) - .show(fragmentManager ?: return false, "NicknameDialogFragment") + .show(this@ClientsFragment) true } R.id.block, R.id.unblock -> { @@ -151,9 +151,10 @@ class ClientsFragment : Fragment(), MainScope by MainScope.Supervisor() { R.id.stats -> { binding.client?.let { client -> launch(start = CoroutineStart.UNDISPATCHED) { - StatsDialogFragment().withArg(StatsArg(client.title.value ?: return@launch, - AppDatabase.instance.trafficRecordDao.queryStats(client.mac))) - .show(fragmentManager ?: return@launch, "StatsDialogFragment") + StatsDialogFragment().withArg(StatsArg( + client.title.value ?: return@launch, + AppDatabase.instance.trafficRecordDao.queryStats(client.mac) + )).show(this@ClientsFragment) } } true diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/manage/RepeaterManager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/manage/RepeaterManager.kt index 64fc39cb..c3b76224 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/manage/RepeaterManager.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/manage/RepeaterManager.kt @@ -90,10 +90,7 @@ class RepeaterManager(private val parent: TetheringFragment) : Manager(), Servic } fun wps() { - if (binder?.active == true) WpsDialogFragment().run { - setTargetFragment(parent, TetheringFragment.REPEATER_WPS) - show(parent.fragmentManager ?: return, "WpsDialogFragment") - } + if (binder?.active == true) WpsDialogFragment().show(parent, TetheringFragment.REPEATER_WPS) } fun editConfigurations() { @@ -104,7 +101,7 @@ class RepeaterManager(private val parent: TetheringFragment) : Manager(), Servic WifiP2pDialogFragment().withArg(WifiP2pDialogFragment.Arg(WifiConfiguration().apply { SSID = group.networkName preSharedKey = config.psk - })).show(parent.fragmentManager ?: return, "WifiP2pDialogFragment") + })).show(parent, TetheringFragment.REPEATER_EDIT_CONFIGURATION) return } catch (e: RuntimeException) { Timber.w(e)