From a0565384ccd6459caa69ef3ec8d6f74fc3ab84b4 Mon Sep 17 00:00:00 2001 From: Rahul Kumar Patel Date: Thu, 25 Feb 2021 16:40:50 +0530 Subject: [PATCH] Fix force close issue when network connectivity changes --- .../java/com/aurora/store/MainActivity.kt | 24 +++++++++--------- .../store/view/ui/commons/BaseActivity.kt | 20 +++++++-------- .../view/ui/sheets/NetworkDialogSheet.kt | 24 +++++++----------- app/src/main/res/layout/sheet_network.xml | 25 ++++++------------- app/src/main/res/values/strings.xml | 2 ++ 5 files changed, 41 insertions(+), 54 deletions(-) diff --git a/app/src/main/java/com/aurora/store/MainActivity.kt b/app/src/main/java/com/aurora/store/MainActivity.kt index b900c2b5e..24d2bdc1c 100644 --- a/app/src/main/java/com/aurora/store/MainActivity.kt +++ b/app/src/main/java/com/aurora/store/MainActivity.kt @@ -70,6 +70,18 @@ class MainActivity : BaseActivity() { private var lastBackPressed = 0L + override fun onConnected() { + hideNetworkConnectivitySheet() + } + + override fun onDisconnected() { + showNetworkConnectivitySheet() + } + + override fun onReconnected() { + + } + companion object { @JvmStatic private fun matchDestination( @@ -220,18 +232,6 @@ class MainActivity : BaseActivity() { } } - override fun onConnected() { - hideNetworkConnectivitySheet() - } - - override fun onDisconnected() { - showNetworkConnectivitySheet() - } - - override fun onReconnected() { - - } - private fun pickExternalFileDir() { val getContentIntent = Intent(Intent.ACTION_GET_CONTENT) getContentIntent.type = "*/*" diff --git a/app/src/main/java/com/aurora/store/view/ui/commons/BaseActivity.kt b/app/src/main/java/com/aurora/store/view/ui/commons/BaseActivity.kt index e08978291..762bb2922 100644 --- a/app/src/main/java/com/aurora/store/view/ui/commons/BaseActivity.kt +++ b/app/src/main/java/com/aurora/store/view/ui/commons/BaseActivity.kt @@ -24,7 +24,6 @@ import android.content.Intent import android.os.Build import android.os.Bundle import androidx.appcompat.app.AppCompatActivity -import androidx.fragment.app.Fragment import com.aurora.Constants import com.aurora.extensions.applyTheme import com.aurora.extensions.getEmptyActivityBundle @@ -138,24 +137,25 @@ abstract class BaseActivity : AppCompatActivity(), NetworkProvider.NetworkListen } fun showNetworkConnectivitySheet() { - supportFragmentManager.beginTransaction() - .add(NetworkDialogSheet.newInstance(0), "NDS") - .commitAllowingStateLoss() + runOnUiThread { + supportFragmentManager.beginTransaction() + .add(NetworkDialogSheet.newInstance(), NetworkDialogSheet.TAG) + .commitAllowingStateLoss() + } } fun hideNetworkConnectivitySheet() { - val fragment: Fragment? = supportFragmentManager.findFragmentByTag("NDS") - if (fragment != null) { - supportFragmentManager.beginTransaction() - .remove(fragment) - .commitAllowingStateLoss() + runOnUiThread { + val fragment = supportFragmentManager.findFragmentByTag(NetworkDialogSheet.TAG) + fragment?.let { + supportFragmentManager.beginTransaction().remove(fragment).commitAllowingStateLoss() + } } } override fun onStart() { super.onStart() NetworkProvider.addListener(this) - } override fun onStop() { diff --git a/app/src/main/java/com/aurora/store/view/ui/sheets/NetworkDialogSheet.kt b/app/src/main/java/com/aurora/store/view/ui/sheets/NetworkDialogSheet.kt index ecee09a52..e9ebaeea5 100644 --- a/app/src/main/java/com/aurora/store/view/ui/sheets/NetworkDialogSheet.kt +++ b/app/src/main/java/com/aurora/store/view/ui/sheets/NetworkDialogSheet.kt @@ -23,22 +23,20 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import com.aurora.Constants import com.aurora.store.databinding.SheetNetworkBinding class NetworkDialogSheet : BaseBottomSheet() { lateinit var B: SheetNetworkBinding - private var type = 0 - companion object { + + const val TAG = "NetworkDialogSheet" + @JvmStatic - fun newInstance(type: Int): NetworkDialogSheet { + fun newInstance(): NetworkDialogSheet { return NetworkDialogSheet().apply { - arguments = Bundle().apply { - putInt(Constants.INT_EXTRA, type) - } + } } } @@ -47,18 +45,14 @@ class NetworkDialogSheet : BaseBottomSheet() { inflater: LayoutInflater, container: ViewGroup, savedInstanceState: Bundle? - ): View? { + ): View { B = SheetNetworkBinding.inflate(inflater, container, false) - - val bundle = arguments - if (bundle != null) { - type = bundle.getInt(Constants.INT_EXTRA, 0) - } - return B.root } override fun onContentViewCreated(view: View, savedInstanceState: Bundle?) { - + B.btnAction.setOnClickListener { + dismissAllowingStateLoss() + } } } \ No newline at end of file diff --git a/app/src/main/res/layout/sheet_network.xml b/app/src/main/res/layout/sheet_network.xml index 146ae90e0..9b308d5b4 100644 --- a/app/src/main/res/layout/sheet_network.xml +++ b/app/src/main/res/layout/sheet_network.xml @@ -24,20 +24,10 @@ android:orientation="vertical" android:padding="@dimen/padding_small"> - - - + android:text="@string/action_try_later" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 31b9d8d87..d20636270 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -115,6 +115,7 @@ "Skip" "Spoof" "Submit" + "Try later" "Uninstall" "App Info" "Update" @@ -310,6 +311,7 @@ "App Installer" "Language" "Library" + "No network" "Purchase history" "Settings" "Spoof manager"