mirror of
https://github.com/vector-im/riotX-android
synced 2025-10-05 15:52:47 +02:00
Merge pull request #9067 from element-hq/feature/fga/fix_window_insets
Fix window insets
This commit is contained in:
@@ -27,7 +27,7 @@ def bigImageViewer = "1.8.1"
|
|||||||
def jjwt = "0.11.5"
|
def jjwt = "0.11.5"
|
||||||
def vanniktechEmoji = "0.16.0"
|
def vanniktechEmoji = "0.16.0"
|
||||||
def sentry = "6.18.1"
|
def sentry = "6.18.1"
|
||||||
def fragment = "1.8.1"
|
def fragment = "1.8.6"
|
||||||
// Testing
|
// Testing
|
||||||
def mockk = "1.13.11"
|
def mockk = "1.13.11"
|
||||||
def espresso = "3.6.1"
|
def espresso = "3.6.1"
|
||||||
@@ -50,7 +50,7 @@ ext.libs = [
|
|||||||
'activity' : "androidx.activity:activity-ktx:1.9.0",
|
'activity' : "androidx.activity:activity-ktx:1.9.0",
|
||||||
'appCompat' : "androidx.appcompat:appcompat:1.7.0",
|
'appCompat' : "androidx.appcompat:appcompat:1.7.0",
|
||||||
'biometric' : "androidx.biometric:biometric:1.1.0",
|
'biometric' : "androidx.biometric:biometric:1.1.0",
|
||||||
'core' : "androidx.core:core-ktx:1.10.1",
|
'core' : "androidx.core:core-ktx:1.16.0",
|
||||||
'recyclerview' : "androidx.recyclerview:recyclerview:1.3.0",
|
'recyclerview' : "androidx.recyclerview:recyclerview:1.3.0",
|
||||||
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.6",
|
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.6",
|
||||||
'fragmentKtx' : "androidx.fragment:fragment-ktx:$fragment",
|
'fragmentKtx' : "androidx.fragment:fragment-ktx:$fragment",
|
||||||
|
@@ -213,6 +213,7 @@ ext.groups = [
|
|||||||
'org.jitsi',
|
'org.jitsi',
|
||||||
'org.json',
|
'org.json',
|
||||||
'org.jsoup',
|
'org.jsoup',
|
||||||
|
'org.jspecify',
|
||||||
'org.junit',
|
'org.junit',
|
||||||
'org.junit.jupiter',
|
'org.junit.jupiter',
|
||||||
'org.junit.platform',
|
'org.junit.platform',
|
||||||
|
@@ -161,6 +161,7 @@ class VectorApplication :
|
|||||||
"Noto Color Emoji Compat",
|
"Noto Color Emoji Compat",
|
||||||
R.array.com_google_android_gms_fonts_certs
|
R.array.com_google_android_gms_fonts_certs
|
||||||
)
|
)
|
||||||
|
@Suppress("DEPRECATION")
|
||||||
FontsContractCompat.requestFont(this, fontRequest, emojiCompatFontProvider, getFontThreadHandler())
|
FontsContractCompat.requestFont(this, fontRequest, emojiCompatFontProvider, getFontThreadHandler())
|
||||||
vectorLocale.init()
|
vectorLocale.init()
|
||||||
ThemeUtils.init(this)
|
ThemeUtils.init(this)
|
||||||
|
@@ -27,6 +27,7 @@ import androidx.core.app.MultiWindowModeChangedInfo
|
|||||||
import androidx.core.util.Consumer
|
import androidx.core.util.Consumer
|
||||||
import androidx.core.view.MenuProvider
|
import androidx.core.view.MenuProvider
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.ViewGroupCompat
|
||||||
import androidx.core.view.WindowInsetsCompat
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
import androidx.core.view.updatePadding
|
import androidx.core.view.updatePadding
|
||||||
@@ -210,6 +211,7 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
|||||||
ThemeUtils.setActivityTheme(this, getOtherThemes())
|
ThemeUtils.setActivityTheme(this, getOtherThemes())
|
||||||
viewModelFactory = activityEntryPoint.viewModelFactory()
|
viewModelFactory = activityEntryPoint.viewModelFactory()
|
||||||
enableEdgeToEdge()
|
enableEdgeToEdge()
|
||||||
|
ViewGroupCompat.installCompatInsetsDispatch(window.decorView)
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
addOnMultiWindowModeChangedListener(onMultiWindowModeChangedListener)
|
addOnMultiWindowModeChangedListener(onMultiWindowModeChangedListener)
|
||||||
setupMenu()
|
setupMenu()
|
||||||
@@ -416,6 +418,7 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
|||||||
// Just log that a change occurred.
|
// Just log that a change occurred.
|
||||||
Timber.w("MDM data has been updated")
|
Timber.w("MDM data has been updated")
|
||||||
}
|
}
|
||||||
|
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(rootView) { v, insets ->
|
ViewCompat.setOnApplyWindowInsetsListener(rootView) { v, insets ->
|
||||||
val systemBars = insets.getInsets(
|
val systemBars = insets.getInsets(
|
||||||
WindowInsetsCompat.Type.systemBars() or
|
WindowInsetsCompat.Type.systemBars() or
|
||||||
@@ -428,7 +431,7 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
|
|||||||
systemBars.right,
|
systemBars.right,
|
||||||
systemBars.bottom,
|
systemBars.bottom,
|
||||||
)
|
)
|
||||||
insets
|
WindowInsetsCompat.CONSUMED
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -13,7 +13,9 @@ import android.view.View
|
|||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.core.app.ActivityOptionsCompat
|
import androidx.core.app.ActivityOptionsCompat
|
||||||
import androidx.core.view.ViewCompat
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
import androidx.core.view.isVisible
|
import androidx.core.view.isVisible
|
||||||
|
import androidx.core.view.updatePadding
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.extensions.observeK
|
import im.vector.app.core.extensions.observeK
|
||||||
@@ -109,6 +111,20 @@ class HomeDrawerFragment :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
|
||||||
|
val systemBars = insets.getInsets(
|
||||||
|
WindowInsetsCompat.Type.systemBars() or
|
||||||
|
WindowInsetsCompat.Type.displayCutout()
|
||||||
|
)
|
||||||
|
v.updatePadding(
|
||||||
|
systemBars.left,
|
||||||
|
systemBars.top,
|
||||||
|
systemBars.right,
|
||||||
|
systemBars.bottom,
|
||||||
|
)
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
|
|
||||||
// Debug menu
|
// Debug menu
|
||||||
views.homeDrawerHeaderDebugView.debouncedClicks {
|
views.homeDrawerHeaderDebugView.debouncedClicks {
|
||||||
sharedActionViewModel.post(HomeActivitySharedAction.CloseDrawer)
|
sharedActionViewModel.post(HomeActivitySharedAction.CloseDrawer)
|
||||||
|
@@ -11,6 +11,9 @@ import android.os.Bundle
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import androidx.core.view.ViewCompat
|
||||||
|
import androidx.core.view.WindowInsetsCompat
|
||||||
|
import androidx.core.view.updatePadding
|
||||||
import com.airbnb.mvrx.fragmentViewModel
|
import com.airbnb.mvrx.fragmentViewModel
|
||||||
import com.airbnb.mvrx.withState
|
import com.airbnb.mvrx.withState
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
@@ -38,6 +41,19 @@ class BreadcrumbsFragment :
|
|||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
ViewCompat.setOnApplyWindowInsetsListener(views.breadcrumbsRecyclerView) { v, insets ->
|
||||||
|
val systemBars = insets.getInsets(
|
||||||
|
WindowInsetsCompat.Type.systemBars() or
|
||||||
|
WindowInsetsCompat.Type.displayCutout()
|
||||||
|
)
|
||||||
|
v.updatePadding(
|
||||||
|
systemBars.left,
|
||||||
|
systemBars.top,
|
||||||
|
systemBars.right,
|
||||||
|
systemBars.bottom,
|
||||||
|
)
|
||||||
|
WindowInsetsCompat.CONSUMED
|
||||||
|
}
|
||||||
setupRecyclerView()
|
setupRecyclerView()
|
||||||
sharedActionViewModel = activityViewModelProvider.get(RoomDetailSharedActionViewModel::class.java)
|
sharedActionViewModel = activityViewModelProvider.get(RoomDetailSharedActionViewModel::class.java)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user