@@ -20,12 +20,13 @@ import io.qtalk.qgamejsinterfacetester.helpers.generateSHA1
2020import io.qtalk.qgamejsinterfacetester.views.PermissionAwareWebViewFragment
2121import kotlinx.android.synthetic.main.webview_fragment.*
2222
23- class WebViewFragment : PermissionAwareWebViewFragment (), JSInterface.JSInterfaceBridge {
23+ class WebViewFragment : PermissionAwareWebViewFragment (), JSInterface.JSInterfaceBridge {
2424
2525 companion object {
2626 private const val JS_INTERFACE_OBJECT_NAME = " QTalkApp"
2727
28- private const val TEST_TOKEN = " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
28+ private const val TEST_TOKEN =
29+ " eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
2930
3031 private const val ARG_URL_STRING = " arg-url"
3132 private const val ARG_INTERACTION_TYPE = " arg-interaction-type"
@@ -34,7 +35,10 @@ class WebViewFragment: PermissionAwareWebViewFragment(), JSInterface.JSInterface
3435 private const val RTDB_CHILD_PARTICIPANTS = " prtcpnts"
3536 private const val RTDB_VALUE_CALL_ENDED_AT = " clEdAt"
3637
37- fun init (url : String , interactionType : InteractionType = InteractionType .IN_CALL ): WebViewFragment {
38+ fun init (
39+ url : String ,
40+ interactionType : InteractionType = InteractionType .IN_CALL
41+ ): WebViewFragment {
3842 return WebViewFragment ().apply {
3943 arguments = Bundle (1 ).also {
4044 it.putString(ARG_URL_STRING , url)
@@ -68,44 +72,60 @@ class WebViewFragment: PermissionAwareWebViewFragment(), JSInterface.JSInterface
6872 var dialedAt : Long
6973 )
7074
71- private fun writeParticipantInfoAndCallDetailsToRTDB (){
75+ private fun writeParticipantInfoAndCallDetailsToRTDB () {
7276
7377 // while writing the information to RTDB, we create the key as the user id
7478 val selectedUser = QTalkTestUsers
7579 .values()
76- .firstOrNull { it.userName == PreferenceManager .getString(activity!! , PreferenceManager .KEY_SELECTED_USER ) }?.userIdRemote
80+ .firstOrNull {
81+ it.userName == PreferenceManager .getString(
82+ activity!! ,
83+ PreferenceManager .KEY_SELECTED_USER
84+ )
85+ }?.userIdRemote
7786 ? : run {
7887 Toast .makeText(activity!! , " No user selected!" , Toast .LENGTH_SHORT ).show()
7988 return
8089 }
8190
8291 val loadedUrl = getLoadedUrl()!!
8392
84- val callId = Uri .parse(loadedUrl).getQueryParameter(" id" )? : run {
85- Toast .makeText(activity!! , " No Call ID provided, check entered URL!" , Toast .LENGTH_LONG ).show()
93+ val callId = Uri .parse(loadedUrl).getQueryParameter(" id" ) ? : run {
94+ Toast .makeText(activity!! , " No Call ID provided, check entered URL!" , Toast .LENGTH_LONG )
95+ .show()
8696 return
8797 }
8898
89- Log .d(" WebViewFragment" , " writeParticipantInfoAndCallDetailsToRTDB: ${callId} , $selectedUser " )
99+ Log .d(
100+ " WebViewFragment" ,
101+ " writeParticipantInfoAndCallDetailsToRTDB: ${callId} , $selectedUser "
102+ )
90103
91104 val database = FirebaseDatabase .getInstance()
92105
93106 // get reference to clDts/prtcpnts which is where the participants are store in by the main QTalk app.
94107 val ref = database.getReference(" qtalkDebugAndStaging/calls" ).child(callId)
95108
96109 // store the participant info with the key as the user id
97- ref.child(RTDB_CHILD_PARTICIPANTS ).child(selectedUser).setValue(TestUserObject (selectedUser))
110+ ref.child(RTDB_CHILD_PARTICIPANTS ).child(selectedUser)
111+ .setValue(TestUserObject (selectedUser))
98112
99113 // store call details
100- ref.child(RTDB_CHILD_CALL_DETAILS ).setValue(RTDBPreviewCallDetails (
101- callId,
102- System .currentTimeMillis()
103- ))
114+ ref.child(RTDB_CHILD_CALL_DETAILS ).setValue(
115+ RTDBPreviewCallDetails (
116+ callId,
117+ System .currentTimeMillis()
118+ )
119+ )
104120
105121 rtdbReference = ref
106122 }
107123
108- override fun onCreateView (inflater : LayoutInflater , container : ViewGroup ? , savedInstanceState : Bundle ? ): View ? {
124+ override fun onCreateView (
125+ inflater : LayoutInflater ,
126+ container : ViewGroup ? ,
127+ savedInstanceState : Bundle ?
128+ ): View ? {
109129 return inflater.inflate(R .layout.webview_fragment, container, false )
110130 }
111131
@@ -117,10 +137,19 @@ class WebViewFragment: PermissionAwareWebViewFragment(), JSInterface.JSInterface
117137 isTestUrl = loadedUrl.startsWith(" file:///" )
118138
119139 if (! isTestUrl) {
120- PreferenceManager .writeString(activity!! , PreferenceManager .KEY_LAST_ENTERED_URL , loadedUrl)
140+ PreferenceManager .writeString(
141+ activity!! ,
142+ PreferenceManager .KEY_LAST_ENTERED_URL ,
143+ loadedUrl
144+ )
121145 }
122146
123- interactionType = InteractionType .valueOf((arguments? : return ).getString(ARG_INTERACTION_TYPE , InteractionType .IN_CALL .name))
147+ interactionType = InteractionType .valueOf(
148+ (arguments ? : return ).getString(
149+ ARG_INTERACTION_TYPE ,
150+ InteractionType .IN_CALL .name
151+ )
152+ )
124153
125154 Log .d(" WebViewFragment" , " onViewCreated: interaction type: $interactionType " )
126155
@@ -130,8 +159,9 @@ class WebViewFragment: PermissionAwareWebViewFragment(), JSInterface.JSInterface
130159
131160 endCallButton.visibility = View .VISIBLE
132161
133- endCallButton.setOnClickListener{
134- rtdbReference.child(RTDB_CHILD_CALL_DETAILS ).child(RTDB_VALUE_CALL_ENDED_AT ).setValue(System .currentTimeMillis())
162+ endCallButton.setOnClickListener {
163+ rtdbReference.child(RTDB_CHILD_CALL_DETAILS ).child(RTDB_VALUE_CALL_ENDED_AT )
164+ .setValue(System .currentTimeMillis())
135165 activity?.finish()
136166 }
137167 }
@@ -169,32 +199,43 @@ class WebViewFragment: PermissionAwareWebViewFragment(), JSInterface.JSInterface
169199 return getSelectedUserFromPref()?.generateSHA1() ? : TEST_TOKEN
170200 }
171201
172- private fun getSelectedUserFromPref () = PreferenceManager .getString(activity!! , PreferenceManager .KEY_SELECTED_USER )
202+ private fun getSelectedUserFromPref () =
203+ PreferenceManager .getString(activity!! , PreferenceManager .KEY_SELECTED_USER )
173204
174- override fun notifyGameRoundStarted (){
205+ override fun notifyGameRoundStarted () {
175206 Toast .makeText(context, " Game round started notified!" , Toast .LENGTH_SHORT ).show()
176207 }
177208
178- override fun notifyGameRoundEnded (){
209+ override fun notifyGameRoundEnded () {
179210 Toast .makeText(context, " Game round ended notified!" , Toast .LENGTH_SHORT ).show()
180211 }
181212
182- override fun updateGamePrompts (prompts : String ){
213+ override fun updateGamePrompts (prompts : String ) {
183214 if (isTestUrl) {
184215 webView.handler.post {
185- webView.evaluateJavascript(" setPromptToText($prompts )" ) { Log .d(" JSInterface" , " onReceiveValue" ) }
216+ webView.evaluateJavascript(" setPromptToText($prompts )" ) {
217+ Log .d(
218+ " JSInterface" ,
219+ " onReceiveValue"
220+ )
221+ }
186222 }
187- }else {
223+ } else {
188224 Toast .makeText(context, " Prompts recieved: $prompts " , Toast .LENGTH_LONG ).show()
189225 }
190226 }
191227
192228 override fun clearGamePrompts () {
193229 if (isTestUrl) {
194230 webView.handler.post {
195- webView.evaluateJavascript(" setPromptToText(\"\" )" ) { Log .d(" JSInterface" , " onReceiveValue" ) }
231+ webView.evaluateJavascript(" setPromptToText(\"\" )" ) {
232+ Log .d(
233+ " JSInterface" ,
234+ " onReceiveValue"
235+ )
236+ }
196237 }
197- }else {
238+ } else {
198239 Toast .makeText(context, " Prompts cleared" , Toast .LENGTH_LONG ).show()
199240 }
200241 }
@@ -204,7 +245,7 @@ class WebViewFragment: PermissionAwareWebViewFragment(), JSInterface.JSInterface
204245 }
205246
206247 // test only
207- override fun clearWebViewCache (){
248+ override fun clearWebViewCache () {
208249 Log .d(" JSInterfaceBridge" , " clearWebViewCache: " )
209250 webView.handler.post {
210251 Toast .makeText(context, " Cache cleared!" , Toast .LENGTH_LONG ).show()
0 commit comments