Use AppCompatDialogFragment

This commit is contained in:
Mygod
2019-01-23 15:15:32 +08:00
parent ab89e9391a
commit 0aa77ef82d
5 changed files with 20 additions and 24 deletions

View File

@@ -11,8 +11,8 @@ import android.widget.Button
import android.widget.Spinner import android.widget.Spinner
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatDialogFragment
import androidx.core.net.toUri import androidx.core.net.toUri
import androidx.fragment.app.DialogFragment
import androidx.versionedparcelable.VersionedParcelable import androidx.versionedparcelable.VersionedParcelable
import be.mygod.vpnhotspot.widget.SmartSnackbar import be.mygod.vpnhotspot.widget.SmartSnackbar
import com.android.billingclient.api.* import com.android.billingclient.api.*
@@ -21,7 +21,7 @@ import timber.log.Timber
/** /**
* Based on: https://github.com/PrivacyApps/donations/blob/747d36a18433c7e9329691054122a8ad337a62d2/Donations/src/main/java/org/sufficientlysecure/donations/DonationsFragment.java * Based on: https://github.com/PrivacyApps/donations/blob/747d36a18433c7e9329691054122a8ad337a62d2/Donations/src/main/java/org/sufficientlysecure/donations/DonationsFragment.java
*/ */
class EBegFragment : DialogFragment(), PurchasesUpdatedListener, BillingClientStateListener, class EBegFragment : AppCompatDialogFragment(), PurchasesUpdatedListener, BillingClientStateListener,
SkuDetailsResponseListener, ConsumeResponseListener { SkuDetailsResponseListener, ConsumeResponseListener {
data class MessageArg(@StringRes val title: Int, @StringRes val message: Int) : VersionedParcelable data class MessageArg(@StringRes val title: Int, @StringRes val message: Int) : VersionedParcelable
class MessageDialogFragment : AlertDialogFragment<MessageArg, Empty>() { class MessageDialogFragment : AlertDialogFragment<MessageArg, Empty>() {

View File

@@ -8,12 +8,12 @@ import android.view.ViewStub
import android.widget.Button import android.widget.Button
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.core.net.toUri import androidx.core.net.toUri
import androidx.fragment.app.DialogFragment import androidx.appcompat.app.AppCompatDialogFragment
/** /**
* Based on: https://github.com/PrivacyApps/donations/blob/747d36a18433c7e9329691054122a8ad337a62d2/Donations/src/main/java/org/sufficientlysecure/donations/DonationsFragment.java * Based on: https://github.com/PrivacyApps/donations/blob/747d36a18433c7e9329691054122a8ad337a62d2/Donations/src/main/java/org/sufficientlysecure/donations/DonationsFragment.java
*/ */
class EBegFragment : DialogFragment() { class EBegFragment : AppCompatDialogFragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View = override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View =
inflater.inflate(R.layout.fragment_ebeg, container, false) inflater.inflate(R.layout.fragment_ebeg, container, false)

View File

@@ -5,7 +5,7 @@ import android.content.DialogInterface
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.fragment.app.DialogFragment import androidx.appcompat.app.AppCompatDialogFragment
import androidx.versionedparcelable.ParcelUtils import androidx.versionedparcelable.ParcelUtils
import androidx.versionedparcelable.VersionedParcelable import androidx.versionedparcelable.VersionedParcelable
@@ -13,7 +13,7 @@ import androidx.versionedparcelable.VersionedParcelable
* Based on: https://android.googlesource.com/platform/packages/apps/ExactCalculator/+/8c43f06/src/com/android/calculator2/AlertDialogFragment.java * Based on: https://android.googlesource.com/platform/packages/apps/ExactCalculator/+/8c43f06/src/com/android/calculator2/AlertDialogFragment.java
*/ */
abstract class AlertDialogFragment<Arg : VersionedParcelable, Ret : VersionedParcelable> : abstract class AlertDialogFragment<Arg : VersionedParcelable, Ret : VersionedParcelable> :
DialogFragment(), DialogInterface.OnClickListener { AppCompatDialogFragment(), DialogInterface.OnClickListener {
companion object { companion object {
private const val KEY_ARG = "arg" private const val KEY_ARG = "arg"
private const val KEY_RET = "ret" private const val KEY_RET = "ret"

View File

@@ -109,12 +109,10 @@ class TetheringFragment : Fragment(), ServiceConnection {
if (Build.VERSION.SDK_INT >= 27) ManageBar.Data.notifyChange() if (Build.VERSION.SDK_INT >= 27) ManageBar.Data.notifyChange()
} }
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) = when (requestCode) {
when (requestCode) { REPEATER_WPS -> adapter.repeaterManager.onWpsResult(resultCode, data)
REPEATER_WPS -> adapter.repeaterManager.onWpsResult(resultCode, data) REPEATER_EDIT_CONFIGURATION -> adapter.repeaterManager.onEditResult(resultCode, data)
REPEATER_EDIT_CONFIGURATION -> adapter.repeaterManager.onEditResult(resultCode, data) else -> super.onActivityResult(requestCode, resultCode, data)
else -> super.onActivityResult(requestCode, resultCode, data)
}
} }
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) { override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {

View File

@@ -21,24 +21,22 @@ import java.nio.charset.Charset
* This dialog has been deprecated in API 28, but we are still using it since it works better for our purposes. * This dialog has been deprecated in API 28, but we are still using it since it works better for our purposes.
* Related: https://android.googlesource.com/platform/packages/apps/Settings/+/defb1183ecb00d6231bac7d934d07f58f90261ea * Related: https://android.googlesource.com/platform/packages/apps/Settings/+/defb1183ecb00d6231bac7d934d07f58f90261ea
*/ */
class WifiP2pDialogFragment : AlertDialogFragment<WifiP2pDialogFragment.Arg, WifiP2pDialogFragment.Arg>(), class WifiP2pDialogFragment : AlertDialogFragment<WifiP2pDialogFragment.Arg, WifiP2pDialogFragment.Arg>(), TextWatcher {
TextWatcher, DialogInterface.OnClickListener {
data class Arg(val configuration: WifiConfiguration) : VersionedParcelable data class Arg(val configuration: WifiConfiguration) : VersionedParcelable
private lateinit var mView: View private lateinit var mView: View
private lateinit var mSsid: TextView private lateinit var mSsid: TextView
private lateinit var mPassword: EditText private lateinit var mPassword: EditText
override val ret: Arg? override val ret: Arg? get() {
get() { val config = WifiConfiguration()
val config = WifiConfiguration() config.SSID = mSsid.text.toString()
config.SSID = mSsid.text.toString() config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN)
config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN) if (mPassword.length() != 0) {
if (mPassword.length() != 0) { val password = mPassword.text.toString()
val password = mPassword.text.toString() config.preSharedKey = password
config.preSharedKey = password
}
return Arg(config)
} }
return Arg(config)
}
override fun AlertDialog.Builder.prepare(listener: DialogInterface.OnClickListener) { override fun AlertDialog.Builder.prepare(listener: DialogInterface.OnClickListener) {
mView = requireActivity().layoutInflater.inflate(R.layout.dialog_wifi_ap, null) mView = requireActivity().layoutInflater.inflate(R.layout.dialog_wifi_ap, null)