Fix force close issue when network connectivity changes
This commit is contained in:
@@ -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 = "*/*"
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user