11package co.thepeer.sdk.ui.fragments
22
33import android.annotation.SuppressLint
4- import android.app.Dialog
5- import android.content.DialogInterface
64import android.content.Intent
7- import android.content.res.Resources
85import android.os.Bundle
9- import android.util.Log
6+ import android.view.LayoutInflater
107import android.view.View
118import android.view.ViewGroup
12- import android.view.ViewGroup.LayoutParams.MATCH_PARENT
13- import android.view.Window
149import android.webkit.WebView
1510import android.webkit.WebViewClient
16- import android.widget.Button
1711import androidx.appcompat.app.AppCompatActivity
1812import androidx.core.view.isVisible
19- import androidx.webkit.WebViewCompat
20- import co.thepeer.sdk.R
13+ import androidx.fragment.app.Fragment
2114import co.thepeer.sdk.databinding.FragmentHostDialogBinding
2215import co.thepeer.sdk.model.ThePeerParam
2316import co.thepeer.sdk.model.ThePeerResult
2417import co.thepeer.sdk.utils.Logger
2518import co.thepeer.sdk.utils.ThePeerConstants
2619import co.thepeer.sdk.utils.Urls
2720import co.thepeer.sdk.utils.WebInterface
28- import com.google.android.material.bottomsheet.BottomSheetBehavior
29- import com.google.android.material.bottomsheet.BottomSheetDialog
30- import com.google.android.material.bottomsheet.BottomSheetDialogFragment
31- import com.google.gson.Gson
3221
3322
3423class HostDialogFragment (private val thePeerParam : ThePeerParam ) :
35- BottomSheetDialogFragment () {
24+ Fragment () {
3625
3726 private lateinit var binding: FragmentHostDialogBinding
3827
@@ -41,6 +30,21 @@ class HostDialogFragment(private val thePeerParam: ThePeerParam) :
4130
4231 }
4332
33+ override fun onCreateView (
34+ inflater : LayoutInflater ,
35+ container : ViewGroup ? ,
36+ savedInstanceState : Bundle ?
37+ ): View ? {
38+ binding = FragmentHostDialogBinding .inflate(layoutInflater)
39+ return binding.root
40+ }
41+
42+ override fun onViewCreated (view : View , savedInstanceState : Bundle ? ) {
43+ super .onViewCreated(view, savedInstanceState)
44+ val url = Urls .createTransactionUrl(thePeerParam)
45+ Logger .log(this , url)
46+ setupWebView(url)
47+ }
4448
4549 @SuppressLint(" SetJavaScriptEnabled" )
4650 private fun setupWebView (transactionUrl : String ) {
@@ -68,34 +72,8 @@ class HostDialogFragment(private val thePeerParam: ThePeerParam) :
6872 binding.webViewPeer.loadUrl(transactionUrl)
6973 }
7074
71-
72-
73- override fun onCreateDialog (savedInstanceState : Bundle ? ): Dialog {
74- val dialog = context?.let { BottomSheetDialog (it, R .style.CustomBottomSheetDialogTheme ) }
75- binding = FragmentHostDialogBinding .inflate(layoutInflater)
76- val heightInPixels = ((Resources .getSystem().displayMetrics.heightPixels)).toInt()
77- val params = ViewGroup .LayoutParams (MATCH_PARENT , heightInPixels)
78- Log .v(TAG , heightInPixels.toString())
79-
80- dialog?.behavior?.apply {
81- isDraggable = false
82- isCancelable = false
83- maxHeight = heightInPixels
84- state = BottomSheetBehavior .STATE_EXPANDED
85- }
86-
87- dialog?.setContentView(binding.root, params)
88- Log .v(" Params" , thePeerParam.toString())
89- val url = Urls .createTransactionUrl(thePeerParam)
90- Logger .log(this , url)
91- setupWebView(url)
92-
93-
94- return dialog as Dialog
95- }
96-
97- override fun onCancel (dialog : DialogInterface ) {
98- super .onCancel(dialog)
75+ override fun onDestroyView () {
76+ super .onDestroyView()
9977 binding.webViewPeer.loadUrl(" about:blank" )
10078 binding.webViewPeer.clearHistory()
10179 redirectWithResult(ThePeerResult .Cancelled )
@@ -108,5 +86,4 @@ class HostDialogFragment(private val thePeerParam: ThePeerParam) :
10886 activity?.finish()
10987 }
11088
111-
11289}
0 commit comments