Skip to content

Instantly share code, notes, and snippets.

@luk1337
Last active September 16, 2021 23:07
Show Gist options
  • Save luk1337/cd80a90e61462b6c53ec451360534736 to your computer and use it in GitHub Desktop.
Save luk1337/cd80a90e61462b6c53ec451360534736 to your computer and use it in GitHub Desktop.
diff --git a/app/src/main/java/com/ubergeek42/WeechatAndroid/WeechatActivity.kt b/app/src/main/java/com/ubergeek42/WeechatAndroid/WeechatActivity.kt
index 8dc5fab4..9917d12f 100644
--- a/app/src/main/java/com/ubergeek42/WeechatAndroid/WeechatActivity.kt
+++ b/app/src/main/java/com/ubergeek42/WeechatAndroid/WeechatActivity.kt
@@ -23,6 +23,8 @@ import android.graphics.drawable.Drawable
import android.net.Uri
import android.os.Build
import android.os.Bundle
+import android.os.Handler
+import android.os.Looper
import android.util.AttributeSet
import android.view.Menu
import android.view.MenuItem
@@ -121,7 +123,15 @@ class WeechatActivity : AppCompatActivity(), CutePageChangeListener,
private val toolbarController = ToolbarController(this).apply { observeLifecycle() }
- init { WeechatActivityFullScreenController(this).observeLifecycle() }
+ private val handler = Handler(Looper.getMainLooper())
+ private val disconnectRunnable: Runnable
+
+ init {
+ WeechatActivityFullScreenController(this).observeLifecycle()
+ disconnectRunnable = Runnable {
+ if (connectionState.isStarted) disconnect()
+ }
+ }
////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////// life cycle
@@ -205,6 +215,17 @@ class WeechatActivity : AppCompatActivity(), CutePageChangeListener,
ThemeFix.fixIconAndColor(this)
}
+ @MainThread @CatD public override fun onPause() {
+ super.onPause()
+ handler.postDelayed(disconnectRunnable, 300000 /* 5 minutes */)
+ }
+
+ @MainThread @CatD public override fun onResume() {
+ super.onResume()
+ handler.removeCallbacks(disconnectRunnable)
+ if (!connectionState.isStarted) connect()
+ }
+
@MainThread @CatD(linger = true) fun connect() {
P.loadConnectionPreferences()
val error = P.validateConnectionPreferences()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment