mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-09-12 17:08:59 -04:00
Fixed: The navigationView and rightDrawerView was overlapping on statusBar.
This commit is contained in:
parent
53d773846c
commit
82ba9f3299
@ -51,6 +51,7 @@ import org.kiwix.kiwixmobile.core.R.string
|
|||||||
import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions
|
import org.kiwix.kiwixmobile.core.base.FragmentActivityExtensions
|
||||||
import org.kiwix.kiwixmobile.core.dao.NewBookDao
|
import org.kiwix.kiwixmobile.core.dao.NewBookDao
|
||||||
import org.kiwix.kiwixmobile.core.downloader.downloadManager.DOWNLOAD_NOTIFICATION_TITLE
|
import org.kiwix.kiwixmobile.core.downloader.downloadManager.DOWNLOAD_NOTIFICATION_TITLE
|
||||||
|
import org.kiwix.kiwixmobile.core.extensions.setTopMarginToViewForEdgeToEdgeMode
|
||||||
import org.kiwix.kiwixmobile.core.extensions.toast
|
import org.kiwix.kiwixmobile.core.extensions.toast
|
||||||
import org.kiwix.kiwixmobile.core.main.ACTION_NEW_TAB
|
import org.kiwix.kiwixmobile.core.main.ACTION_NEW_TAB
|
||||||
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
import org.kiwix.kiwixmobile.core.main.CoreMainActivity
|
||||||
@ -122,11 +123,14 @@ class KiwixMainActivity : CoreMainActivity() {
|
|||||||
setContentView(activityKiwixMainBinding.root)
|
setContentView(activityKiwixMainBinding.root)
|
||||||
|
|
||||||
navController.addOnDestinationChangedListener(finishActionModeOnDestinationChange)
|
navController.addOnDestinationChangedListener(finishActionModeOnDestinationChange)
|
||||||
activityKiwixMainBinding.drawerNavView.setupWithNavController(navController)
|
activityKiwixMainBinding.drawerNavView.apply {
|
||||||
activityKiwixMainBinding.drawerNavView.setNavigationItemSelectedListener { item ->
|
setupWithNavController(navController)
|
||||||
|
setNavigationItemSelectedListener { item ->
|
||||||
closeNavigationDrawer()
|
closeNavigationDrawer()
|
||||||
onNavigationItemSelected(item)
|
onNavigationItemSelected(item)
|
||||||
}
|
}
|
||||||
|
setTopMarginToViewForEdgeToEdgeMode()
|
||||||
|
}
|
||||||
activityKiwixMainBinding.bottomNavView.setupWithNavController(navController)
|
activityKiwixMainBinding.bottomNavView.setupWithNavController(navController)
|
||||||
lifecycleScope.launch {
|
lifecycleScope.launch {
|
||||||
migrateInternalToPublicAppDirectory()
|
migrateInternalToPublicAppDirectory()
|
||||||
@ -134,6 +138,7 @@ class KiwixMainActivity : CoreMainActivity() {
|
|||||||
handleZimFileIntent(intent)
|
handleZimFileIntent(intent)
|
||||||
handleNotificationIntent(intent)
|
handleNotificationIntent(intent)
|
||||||
handleGetContentIntent(intent)
|
handleGetContentIntent(intent)
|
||||||
|
readerTableOfContentsDrawer.setTopMarginToViewForEdgeToEdgeMode()
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun migrateInternalToPublicAppDirectory() {
|
private suspend fun migrateInternalToPublicAppDirectory() {
|
||||||
|
@ -21,16 +21,14 @@ package org.kiwix.kiwixmobile.core.base
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.appcompat.widget.Toolbar
|
import androidx.appcompat.widget.Toolbar
|
||||||
import androidx.core.view.ViewCompat
|
|
||||||
import androidx.core.view.WindowInsetsCompat
|
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import org.kiwix.kiwixmobile.core.R
|
import org.kiwix.kiwixmobile.core.R
|
||||||
import org.kiwix.kiwixmobile.core.extensions.enableEdgeToEdgeMode
|
import org.kiwix.kiwixmobile.core.extensions.enableEdgeToEdgeMode
|
||||||
import org.kiwix.kiwixmobile.core.extensions.getToolbarNavigationIcon
|
import org.kiwix.kiwixmobile.core.extensions.getToolbarNavigationIcon
|
||||||
import org.kiwix.kiwixmobile.core.extensions.setToolTipWithContentDescription
|
import org.kiwix.kiwixmobile.core.extensions.setToolTipWithContentDescription
|
||||||
|
import org.kiwix.kiwixmobile.core.extensions.setTopMarginToViewForEdgeToEdgeMode
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All fragments should inherit from this fragment.
|
* All fragments should inherit from this fragment.
|
||||||
@ -52,15 +50,7 @@ abstract class BaseFragment : Fragment() {
|
|||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
enableEdgeToEdgeMode()
|
enableEdgeToEdgeMode()
|
||||||
setupToolbar()
|
setupToolbar()
|
||||||
this.view?.let {
|
this.view.setTopMarginToViewForEdgeToEdgeMode()
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(it) { view, windowInsets ->
|
|
||||||
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
|
||||||
val layoutParams = view.layoutParams as? ViewGroup.MarginLayoutParams
|
|
||||||
layoutParams?.topMargin = insets.top
|
|
||||||
view.layoutParams = layoutParams
|
|
||||||
WindowInsetsCompat.CONSUMED
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup toolbar to handle common back pressed event
|
// Setup toolbar to handle common back pressed event
|
||||||
|
@ -21,10 +21,12 @@ package org.kiwix.kiwixmobile.core.extensions
|
|||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.view.ViewGroup
|
||||||
import android.view.Window
|
import android.view.Window
|
||||||
import android.view.WindowManager
|
import android.view.WindowManager
|
||||||
import androidx.annotation.ColorInt
|
import androidx.annotation.ColorInt
|
||||||
import androidx.appcompat.widget.TooltipCompat
|
import androidx.appcompat.widget.TooltipCompat
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
import androidx.core.view.WindowCompat
|
import androidx.core.view.WindowCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.core.view.WindowInsetsControllerCompat
|
import androidx.core.view.WindowInsetsControllerCompat
|
||||||
@ -119,3 +121,15 @@ fun View.closeFullScreenMode(window: Window) {
|
|||||||
clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun View?.setTopMarginToViewForEdgeToEdgeMode() {
|
||||||
|
this?.let {
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(it) { view, windowInsets ->
|
||||||
|
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||||
|
val layoutParams = view.layoutParams as? ViewGroup.MarginLayoutParams
|
||||||
|
layoutParams?.topMargin = insets.top
|
||||||
|
view.layoutParams = layoutParams
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -38,6 +38,7 @@ import org.kiwix.kiwixmobile.custom.BuildConfig
|
|||||||
import org.kiwix.kiwixmobile.custom.R
|
import org.kiwix.kiwixmobile.custom.R
|
||||||
import org.kiwix.kiwixmobile.core.R.string
|
import org.kiwix.kiwixmobile.core.R.string
|
||||||
import org.kiwix.kiwixmobile.core.R.drawable
|
import org.kiwix.kiwixmobile.core.R.drawable
|
||||||
|
import org.kiwix.kiwixmobile.core.extensions.setTopMarginToViewForEdgeToEdgeMode
|
||||||
import org.kiwix.kiwixmobile.custom.customActivityComponent
|
import org.kiwix.kiwixmobile.custom.customActivityComponent
|
||||||
import org.kiwix.kiwixmobile.custom.databinding.ActivityCustomMainBinding
|
import org.kiwix.kiwixmobile.custom.databinding.ActivityCustomMainBinding
|
||||||
|
|
||||||
@ -84,6 +85,8 @@ class CustomMainActivity : CoreMainActivity() {
|
|||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
activityCustomMainBinding = ActivityCustomMainBinding.inflate(layoutInflater)
|
activityCustomMainBinding = ActivityCustomMainBinding.inflate(layoutInflater)
|
||||||
setContentView(activityCustomMainBinding.root)
|
setContentView(activityCustomMainBinding.root)
|
||||||
|
drawerNavView.setTopMarginToViewForEdgeToEdgeMode()
|
||||||
|
readerTableOfContentsDrawer.setTopMarginToViewForEdgeToEdgeMode()
|
||||||
if (savedInstanceState != null) {
|
if (savedInstanceState != null) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user