Skip to content

Commit

Permalink
Fix view not hidden on start
Browse files Browse the repository at this point in the history
  • Loading branch information
Mygod committed Aug 28, 2024
1 parent 22504ba commit 809d3f7
Showing 1 changed file with 3 additions and 8 deletions.
11 changes: 3 additions & 8 deletions mobile/src/main/java/com/github/shadowsocks/widget/StatsBar.kt
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,12 @@ import android.widget.TextView
import androidx.activity.viewModels
import androidx.appcompat.widget.TooltipCompat
import androidx.coordinatorlayout.widget.CoordinatorLayout
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.withStarted
import androidx.core.view.doOnPreDraw
import com.github.shadowsocks.MainActivity
import com.github.shadowsocks.R
import com.github.shadowsocks.bg.BaseService
import com.github.shadowsocks.net.HttpsTest
import com.google.android.material.bottomappbar.BottomAppBar
import kotlinx.coroutines.launch

class StatsBar @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null,
defStyleAttr: Int = R.attr.bottomAppBarStyle) :
Expand Down Expand Up @@ -75,14 +73,11 @@ class StatsBar @JvmOverloads constructor(context: Context, attrs: AttributeSet?

fun changeState(state: BaseService.State, animate: Boolean) {
val activity = context as MainActivity
fun postWhenStarted(what: () -> Unit) = activity.lifecycleScope.launch {
activity.withStarted { what() }
}
if ((state == BaseService.State.Connected).also { hideOnScroll = it }) {
postWhenStarted { performShow(animate) }
doOnPreDraw { performShow(animate) }
tester.status.observe(activity) { it.retrieve(this::setStatus) { msg -> activity.snackbar(msg).show() } }
} else {
postWhenStarted { performHide(animate) }
doOnPreDraw { performHide(animate) }
updateTraffic(0, 0, 0, 0)
tester.status.removeObservers(activity)
if (state != BaseService.State.Idle) tester.invalidate()
Expand Down

0 comments on commit 809d3f7

Please sign in to comment.