Fix force close issue when network connectivity changes
This commit is contained in:
@@ -70,6 +70,18 @@ class MainActivity : BaseActivity() {
|
|||||||
|
|
||||||
private var lastBackPressed = 0L
|
private var lastBackPressed = 0L
|
||||||
|
|
||||||
|
override fun onConnected() {
|
||||||
|
hideNetworkConnectivitySheet()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDisconnected() {
|
||||||
|
showNetworkConnectivitySheet()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onReconnected() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
private fun matchDestination(
|
private fun matchDestination(
|
||||||
@@ -220,18 +232,6 @@ class MainActivity : BaseActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onConnected() {
|
|
||||||
hideNetworkConnectivitySheet()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDisconnected() {
|
|
||||||
showNetworkConnectivitySheet()
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onReconnected() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun pickExternalFileDir() {
|
private fun pickExternalFileDir() {
|
||||||
val getContentIntent = Intent(Intent.ACTION_GET_CONTENT)
|
val getContentIntent = Intent(Intent.ACTION_GET_CONTENT)
|
||||||
getContentIntent.type = "*/*"
|
getContentIntent.type = "*/*"
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import android.content.Intent
|
|||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.fragment.app.Fragment
|
|
||||||
import com.aurora.Constants
|
import com.aurora.Constants
|
||||||
import com.aurora.extensions.applyTheme
|
import com.aurora.extensions.applyTheme
|
||||||
import com.aurora.extensions.getEmptyActivityBundle
|
import com.aurora.extensions.getEmptyActivityBundle
|
||||||
@@ -138,24 +137,25 @@ abstract class BaseActivity : AppCompatActivity(), NetworkProvider.NetworkListen
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun showNetworkConnectivitySheet() {
|
fun showNetworkConnectivitySheet() {
|
||||||
supportFragmentManager.beginTransaction()
|
runOnUiThread {
|
||||||
.add(NetworkDialogSheet.newInstance(0), "NDS")
|
supportFragmentManager.beginTransaction()
|
||||||
.commitAllowingStateLoss()
|
.add(NetworkDialogSheet.newInstance(), NetworkDialogSheet.TAG)
|
||||||
|
.commitAllowingStateLoss()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun hideNetworkConnectivitySheet() {
|
fun hideNetworkConnectivitySheet() {
|
||||||
val fragment: Fragment? = supportFragmentManager.findFragmentByTag("NDS")
|
runOnUiThread {
|
||||||
if (fragment != null) {
|
val fragment = supportFragmentManager.findFragmentByTag(NetworkDialogSheet.TAG)
|
||||||
supportFragmentManager.beginTransaction()
|
fragment?.let {
|
||||||
.remove(fragment)
|
supportFragmentManager.beginTransaction().remove(fragment).commitAllowingStateLoss()
|
||||||
.commitAllowingStateLoss()
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStart() {
|
override fun onStart() {
|
||||||
super.onStart()
|
super.onStart()
|
||||||
NetworkProvider.addListener(this)
|
NetworkProvider.addListener(this)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStop() {
|
override fun onStop() {
|
||||||
|
|||||||
@@ -23,22 +23,20 @@ import android.os.Bundle
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import com.aurora.Constants
|
|
||||||
import com.aurora.store.databinding.SheetNetworkBinding
|
import com.aurora.store.databinding.SheetNetworkBinding
|
||||||
|
|
||||||
class NetworkDialogSheet : BaseBottomSheet() {
|
class NetworkDialogSheet : BaseBottomSheet() {
|
||||||
|
|
||||||
lateinit var B: SheetNetworkBinding
|
lateinit var B: SheetNetworkBinding
|
||||||
|
|
||||||
private var type = 0
|
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
|
const val TAG = "NetworkDialogSheet"
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun newInstance(type: Int): NetworkDialogSheet {
|
fun newInstance(): NetworkDialogSheet {
|
||||||
return NetworkDialogSheet().apply {
|
return NetworkDialogSheet().apply {
|
||||||
arguments = Bundle().apply {
|
|
||||||
putInt(Constants.INT_EXTRA, type)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -47,18 +45,14 @@ class NetworkDialogSheet : BaseBottomSheet() {
|
|||||||
inflater: LayoutInflater,
|
inflater: LayoutInflater,
|
||||||
container: ViewGroup,
|
container: ViewGroup,
|
||||||
savedInstanceState: Bundle?
|
savedInstanceState: Bundle?
|
||||||
): View? {
|
): View {
|
||||||
B = SheetNetworkBinding.inflate(inflater, container, false)
|
B = SheetNetworkBinding.inflate(inflater, container, false)
|
||||||
|
|
||||||
val bundle = arguments
|
|
||||||
if (bundle != null) {
|
|
||||||
type = bundle.getInt(Constants.INT_EXTRA, 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
return B.root
|
return B.root
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onContentViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onContentViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
B.btnAction.setOnClickListener {
|
||||||
|
dismissAllowingStateLoss()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -24,20 +24,10 @@
|
|||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
android:padding="@dimen/padding_small">
|
android:padding="@dimen/padding_small">
|
||||||
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
|
||||||
android:id="@+id/title"
|
|
||||||
style="@style/AuroraTextStyle.Title"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:text="Network" />
|
|
||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatImageView
|
<androidx.appcompat.widget.AppCompatImageView
|
||||||
android:id="@+id/animationView"
|
android:id="@+id/img"
|
||||||
android:layout_width="176dp"
|
android:layout_width="@dimen/icon_size_avatar"
|
||||||
android:layout_height="176dp"
|
android:layout_height="@dimen/icon_size_avatar"
|
||||||
android:layout_below="@id/title"
|
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:layout_marginTop="@dimen/margin_normal"
|
android:layout_marginTop="@dimen/margin_normal"
|
||||||
android:layout_marginBottom="@dimen/margin_normal"
|
android:layout_marginBottom="@dimen/margin_normal"
|
||||||
@@ -45,19 +35,20 @@
|
|||||||
|
|
||||||
<androidx.appcompat.widget.AppCompatTextView
|
<androidx.appcompat.widget.AppCompatTextView
|
||||||
android:id="@+id/txt_warning"
|
android:id="@+id/txt_warning"
|
||||||
style="@style/AuroraTextStyle.Line1"
|
style="@style/AuroraTextStyle.Subtitle"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@id/animationView"
|
android:layout_below="@id/img"
|
||||||
android:text="No network!"
|
android:text="@string/title_no_network"
|
||||||
android:textAlignment="center" />
|
android:textAlignment="center" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
|
style="@style/Widget.MaterialComponents.Button.UnelevatedButton"
|
||||||
|
android:id="@+id/btn_action"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/txt_warning"
|
android:layout_below="@+id/txt_warning"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:layout_marginTop="@dimen/margin_normal"
|
android:layout_marginTop="@dimen/margin_normal"
|
||||||
android:text="Try Later" />
|
android:text="@string/action_try_later" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
@@ -115,6 +115,7 @@
|
|||||||
<string name="action_skip">"Skip"</string>
|
<string name="action_skip">"Skip"</string>
|
||||||
<string name="action_spoofed">"Spoof"</string>
|
<string name="action_spoofed">"Spoof"</string>
|
||||||
<string name="action_submit">"Submit"</string>
|
<string name="action_submit">"Submit"</string>
|
||||||
|
<string name="action_try_later">"Try later"</string>
|
||||||
<string name="action_uninstall">"Uninstall"</string>
|
<string name="action_uninstall">"Uninstall"</string>
|
||||||
<string name="action_info">"App Info"</string>
|
<string name="action_info">"App Info"</string>
|
||||||
<string name="action_update">"Update"</string>
|
<string name="action_update">"Update"</string>
|
||||||
@@ -310,6 +311,7 @@
|
|||||||
<string name="title_installer">"App Installer"</string>
|
<string name="title_installer">"App Installer"</string>
|
||||||
<string name="title_language">"Language"</string>
|
<string name="title_language">"Language"</string>
|
||||||
<string name="title_library">"Library"</string>
|
<string name="title_library">"Library"</string>
|
||||||
|
<string name="title_no_network">"No network"</string>
|
||||||
<string name="title_purchase_history">"Purchase history"</string>
|
<string name="title_purchase_history">"Purchase history"</string>
|
||||||
<string name="title_settings">"Settings"</string>
|
<string name="title_settings">"Settings"</string>
|
||||||
<string name="title_spoof_manager">"Spoof manager"</string>
|
<string name="title_spoof_manager">"Spoof manager"</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user