diff --git a/app/src/main/java/io/nekohasekai/sfa/ui/dashboard/OverviewFragment.kt b/app/src/main/java/io/nekohasekai/sfa/ui/dashboard/OverviewFragment.kt
index 86d0d6b..d32a88b 100644
--- a/app/src/main/java/io/nekohasekai/sfa/ui/dashboard/OverviewFragment.kt
+++ b/app/src/main/java/io/nekohasekai/sfa/ui/dashboard/OverviewFragment.kt
@@ -66,14 +66,44 @@ class OverviewFragment : Fragment() {
binding.profileList.addItemDecoration(divider)
activity.serviceStatus.observe(viewLifecycleOwner) {
binding.statusContainer.isVisible = it == Status.Starting || it == Status.Started
- if (it == Status.Stopped) {
- binding.clashModeCard.isVisible = false
- binding.systemProxyCard.isVisible = false
+ when (it) {
+ Status.Stopped -> {
+ binding.clashModeCard.isVisible = false
+ binding.systemProxyCard.isVisible = false
+ binding.fab.setImageResource(R.drawable.ic_play_arrow_24)
+ binding.fab.show()
+ }
+
+ Status.Starting -> {
+ binding.fab.hide()
+ }
+
+ Status.Started -> {
+ statusClient.connect()
+ clashModeClient.connect()
+ reloadSystemProxyStatus()
+ binding.fab.setImageResource(R.drawable.ic_stop_24)
+ binding.fab.show()
+ }
+
+ Status.Stopping -> {
+ binding.fab.hide()
+ }
+
+ else -> {}
}
- if (it == Status.Started) {
- statusClient.connect()
- clashModeClient.connect()
- reloadSystemProxyStatus()
+ }
+ binding.fab.setOnClickListener {
+ when (activity.serviceStatus.value) {
+ Status.Stopped -> {
+ activity.startService()
+ }
+
+ Status.Started -> {
+ BoxService.stop()
+ }
+
+ else -> {}
}
}
ProfileManager.registerCallback(this::updateProfiles)
diff --git a/app/src/main/java/io/nekohasekai/sfa/ui/main/DashboardFragment.kt b/app/src/main/java/io/nekohasekai/sfa/ui/main/DashboardFragment.kt
index fd336fa..376aef4 100644
--- a/app/src/main/java/io/nekohasekai/sfa/ui/main/DashboardFragment.kt
+++ b/app/src/main/java/io/nekohasekai/sfa/ui/main/DashboardFragment.kt
@@ -10,7 +10,6 @@ import androidx.fragment.app.Fragment
import androidx.viewpager2.adapter.FragmentStateAdapter
import com.google.android.material.tabs.TabLayoutMediator
import io.nekohasekai.sfa.R
-import io.nekohasekai.sfa.bg.BoxService
import io.nekohasekai.sfa.constant.Status
import io.nekohasekai.sfa.databinding.FragmentDashboardBinding
import io.nekohasekai.sfa.ui.MainActivity
@@ -41,39 +40,15 @@ class DashboardFragment : Fragment(R.layout.fragment_dashboard) {
activity.serviceStatus.observe(viewLifecycleOwner) {
when (it) {
Status.Stopped -> {
- binding.fab.setImageResource(R.drawable.ic_play_arrow_24)
- binding.fab.show()
disablePager()
}
-
- Status.Starting -> {
- binding.fab.hide()
- }
-
Status.Started -> {
- binding.fab.setImageResource(R.drawable.ic_stop_24)
- binding.fab.show()
enablePager()
}
Status.Stopping -> {
- binding.fab.hide()
disablePager()
}
-
- else -> {}
- }
- }
- binding.fab.setOnClickListener {
- when (activity.serviceStatus.value) {
- Status.Stopped -> {
- activity.startService()
- }
-
- Status.Started -> {
- BoxService.stop()
- }
-
else -> {}
}
}
diff --git a/app/src/main/res/layout/fragment_dashboard.xml b/app/src/main/res/layout/fragment_dashboard.xml
index 2a5f4e0..32b051c 100644
--- a/app/src/main/res/layout/fragment_dashboard.xml
+++ b/app/src/main/res/layout/fragment_dashboard.xml
@@ -43,15 +43,4 @@
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_dashboard_overview.xml b/app/src/main/res/layout/fragment_dashboard_overview.xml
index 0ca87fe..d9fde22 100644
--- a/app/src/main/res/layout/fragment_dashboard_overview.xml
+++ b/app/src/main/res/layout/fragment_dashboard_overview.xml
@@ -518,4 +518,14 @@
+
+
\ No newline at end of file