From dc99d1b0079c1657d22b7e46918a808d53307c5c Mon Sep 17 00:00:00 2001 From: Aditya Kulkarni Date: Fri, 25 Jan 2019 12:30:35 -0800 Subject: [PATCH] Add Reconnect button --- .../adityapk/zcash/zqwandroid/MainActivity.kt | 18 ++++++++++++++++-- app/src/main/res/layout/content_main.xml | 18 +++++++++++++++++- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/adityapk/zcash/zqwandroid/MainActivity.kt b/app/src/main/java/com/adityapk/zcash/zqwandroid/MainActivity.kt index d79729a..cbc32b9 100644 --- a/app/src/main/java/com/adityapk/zcash/zqwandroid/MainActivity.kt +++ b/app/src/main/java/com/adityapk/zcash/zqwandroid/MainActivity.kt @@ -7,6 +7,7 @@ import android.net.Uri import android.os.Bundle import android.os.Handler import android.support.constraint.ConstraintLayout +import android.support.design.widget.Snackbar import android.support.v7.app.AppCompatActivity import android.util.Log import android.view.Menu @@ -19,6 +20,7 @@ import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.content_main.* import okhttp3.* import okio.ByteString +import java.net.ConnectException import java.text.DecimalFormat @@ -46,7 +48,15 @@ class MainActivity : AppCompatActivity(), TransactionItemFragment.OnFragmentInte startActivityForResult(intent, QrReaderActivity.REQUEST_CONNDATA) } + btnReconnect.setOnClickListener { + makeConnection() + DataModel.makeAPICalls() + } + swiperefresh.setOnRefreshListener { + if (connStatus == ConnectionStatus.DISCONNECTED) { + makeConnection() + } makeAPICalls() } @@ -286,12 +296,11 @@ class MainActivity : AppCompatActivity(), TransactionItemFragment.OnFragmentInte private fun disconnected() { Log.i(TAG, "Disconnected") - connStatus = ConnectionStatus.DISCONNECTED DataModel.clear() - updateUI(true) } + private inner class EchoWebSocketListener : WebSocketListener() { override fun onOpen(webSocket: WebSocket, response: Response) { @@ -311,12 +320,17 @@ class MainActivity : AppCompatActivity(), TransactionItemFragment.OnFragmentInte override fun onClosing(webSocket: WebSocket, code: Int, reason: String?) { webSocket.close(1000, null) + connStatus = ConnectionStatus.DISCONNECTED Log.i(TAG,"Closing : $code / $reason") disconnected() } override fun onFailure(webSocket: WebSocket, t: Throwable, response: Response?) { Log.e(TAG,"Failed $t") + connStatus = ConnectionStatus.DISCONNECTED + if (t is ConnectException) { + Snackbar.make(layoutConnect, t.localizedMessage, Snackbar.LENGTH_SHORT).show() + } disconnected() } } diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml index bf4803a..26c6dcd 100644 --- a/app/src/main/res/layout/content_main.xml +++ b/app/src/main/res/layout/content_main.xml @@ -103,7 +103,7 @@ android:layout_marginStart="8dp" app:layout_constraintEnd_toEndOf="parent" android:layout_marginEnd="8dp" android:layout_marginBottom="8dp" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintVertical_bias="0.35000002"/> + app:layout_constraintVertical_bias="0.22000003"/>