@@ -89,8 +89,8 @@ class MangaActivity : BaseActivity() {
89
89
val language: Language
90
90
get() = when {
91
91
intent.action == Intent .ACTION_VIEW -> ProxerUtils .toApiEnum<Language >(
92
- intent.data?.pathSegments
93
- ?.getOrElse( 3 ) { " " } ? : " " ) ? : Language .ENGLISH
92
+ intent.data?.pathSegments?.getOrElse( 3 ) { " " } ? : " "
93
+ ) ? : Language .ENGLISH
94
94
else -> intent.getSerializableExtra(LANGUAGE_EXTRA ) as Language
95
95
}
96
96
@@ -124,8 +124,7 @@ class MangaActivity : BaseActivity() {
124
124
125
125
private val toolbar: Toolbar by bindView(R .id.toolbar)
126
126
127
- private val hideHandler = FullscreenHandler (WeakReference (this ))
128
- private var isFullscreen = false
127
+ private val fullscreenHandler = FullscreenHandler (WeakReference (this ))
129
128
130
129
override fun onCreate (savedInstanceState : Bundle ? ) {
131
130
super .onCreate(savedInstanceState)
@@ -143,10 +142,7 @@ class MangaActivity : BaseActivity() {
143
142
if (visibility and SYSTEM_UI_FLAG_FULLSCREEN == 0 ) {
144
143
window.decorView.systemUiVisibility = defaultUiFlags()
145
144
146
- if (isFullscreen) {
147
- hideHandler.removeMessages(0 )
148
- hideHandler.sendEmptyMessageDelayed(0 , 2_000 )
149
- }
145
+ toggleFullscreen(true , 2_000 )
150
146
}
151
147
}
152
148
}
@@ -188,15 +184,15 @@ class MangaActivity : BaseActivity() {
188
184
return super .onOptionsItemSelected(item)
189
185
}
190
186
191
- fun toggleFullscreen (fullscreen : Boolean ) {
192
- isFullscreen = fullscreen
187
+ fun toggleFullscreen (fullscreen : Boolean , delay : Long = 0) {
188
+ val fullscreenMessage = Message ().apply {
189
+ what = 0
190
+ obj = fullscreen
191
+ }
193
192
194
- if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .KITKAT ) {
195
- if (fullscreen) {
196
- window.decorView.systemUiVisibility = fullscreenUiFlags()
197
- } else {
198
- window.decorView.systemUiVisibility = defaultUiFlags()
199
- }
193
+ if (! fullscreenHandler.hasMessages(0 , fullscreen)) {
194
+ fullscreenHandler.removeMessages(0 )
195
+ fullscreenHandler.sendMessageDelayed(fullscreenMessage, delay)
200
196
}
201
197
}
202
198
@@ -241,8 +237,18 @@ class MangaActivity : BaseActivity() {
241
237
}
242
238
243
239
private class FullscreenHandler (private val activity : WeakReference <MangaActivity >) : Handler() {
244
- override fun handleMessage (msg : Message ? ) {
245
- activity.get()?.toggleFullscreen(true )
240
+ override fun handleMessage (message : Message ) {
241
+ val fullscreen = message.data.getBoolean(" fullscreen" , true )
242
+
243
+ this .activity.get()?.apply {
244
+ if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .KITKAT ) {
245
+ if (fullscreen) {
246
+ window.decorView.systemUiVisibility = fullscreenUiFlags()
247
+ } else {
248
+ window.decorView.systemUiVisibility = defaultUiFlags()
249
+ }
250
+ }
251
+ }
246
252
}
247
253
}
248
254
}
0 commit comments