Skip to content

Commit d63fc0b

Browse files
authored
Merge pull request #9067 from element-hq/feature/fga/fix_window_insets
Fix window insets
2 parents 8d412cd + 340affe commit d63fc0b

File tree

6 files changed

+40
-3
lines changed

6 files changed

+40
-3
lines changed

dependencies.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def bigImageViewer = "1.8.1"
2727
def jjwt = "0.11.5"
2828
def vanniktechEmoji = "0.16.0"
2929
def sentry = "6.18.1"
30-
def fragment = "1.8.1"
30+
def fragment = "1.8.6"
3131
// Testing
3232
def mockk = "1.13.11"
3333
def espresso = "3.6.1"
@@ -50,7 +50,7 @@ ext.libs = [
5050
'activity' : "androidx.activity:activity-ktx:1.9.0",
5151
'appCompat' : "androidx.appcompat:appcompat:1.7.0",
5252
'biometric' : "androidx.biometric:biometric:1.1.0",
53-
'core' : "androidx.core:core-ktx:1.10.1",
53+
'core' : "androidx.core:core-ktx:1.16.0",
5454
'recyclerview' : "androidx.recyclerview:recyclerview:1.3.0",
5555
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.6",
5656
'fragmentKtx' : "androidx.fragment:fragment-ktx:$fragment",

dependencies_groups.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ ext.groups = [
213213
'org.jitsi',
214214
'org.json',
215215
'org.jsoup',
216+
'org.jspecify',
216217
'org.junit',
217218
'org.junit.jupiter',
218219
'org.junit.platform',

vector-app/src/main/java/im/vector/app/VectorApplication.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ class VectorApplication :
161161
"Noto Color Emoji Compat",
162162
R.array.com_google_android_gms_fonts_certs
163163
)
164+
@Suppress("DEPRECATION")
164165
FontsContractCompat.requestFont(this, fontRequest, emojiCompatFontProvider, getFontThreadHandler())
165166
vectorLocale.init()
166167
ThemeUtils.init(this)

vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import androidx.core.app.MultiWindowModeChangedInfo
2727
import androidx.core.util.Consumer
2828
import androidx.core.view.MenuProvider
2929
import androidx.core.view.ViewCompat
30+
import androidx.core.view.ViewGroupCompat
3031
import androidx.core.view.WindowInsetsCompat
3132
import androidx.core.view.isVisible
3233
import androidx.core.view.updatePadding
@@ -210,6 +211,7 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
210211
ThemeUtils.setActivityTheme(this, getOtherThemes())
211212
viewModelFactory = activityEntryPoint.viewModelFactory()
212213
enableEdgeToEdge()
214+
ViewGroupCompat.installCompatInsetsDispatch(window.decorView)
213215
super.onCreate(savedInstanceState)
214216
addOnMultiWindowModeChangedListener(onMultiWindowModeChangedListener)
215217
setupMenu()
@@ -416,6 +418,7 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
416418
// Just log that a change occurred.
417419
Timber.w("MDM data has been updated")
418420
}
421+
419422
ViewCompat.setOnApplyWindowInsetsListener(rootView) { v, insets ->
420423
val systemBars = insets.getInsets(
421424
WindowInsetsCompat.Type.systemBars() or
@@ -428,7 +431,7 @@ abstract class VectorBaseActivity<VB : ViewBinding> : AppCompatActivity(), Maver
428431
systemBars.right,
429432
systemBars.bottom,
430433
)
431-
insets
434+
WindowInsetsCompat.CONSUMED
432435
}
433436
}
434437

vector/src/main/java/im/vector/app/features/home/HomeDrawerFragment.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ import android.view.View
1313
import android.view.ViewGroup
1414
import androidx.core.app.ActivityOptionsCompat
1515
import androidx.core.view.ViewCompat
16+
import androidx.core.view.WindowInsetsCompat
1617
import androidx.core.view.isVisible
18+
import androidx.core.view.updatePadding
1719
import dagger.hilt.android.AndroidEntryPoint
1820
import im.vector.app.R
1921
import im.vector.app.core.extensions.observeK
@@ -109,6 +111,20 @@ class HomeDrawerFragment :
109111
}
110112
}
111113

114+
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
115+
val systemBars = insets.getInsets(
116+
WindowInsetsCompat.Type.systemBars() or
117+
WindowInsetsCompat.Type.displayCutout()
118+
)
119+
v.updatePadding(
120+
systemBars.left,
121+
systemBars.top,
122+
systemBars.right,
123+
systemBars.bottom,
124+
)
125+
WindowInsetsCompat.CONSUMED
126+
}
127+
112128
// Debug menu
113129
views.homeDrawerHeaderDebugView.debouncedClicks {
114130
sharedActionViewModel.post(HomeActivitySharedAction.CloseDrawer)

vector/src/main/java/im/vector/app/features/home/room/breadcrumbs/BreadcrumbsFragment.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ import android.os.Bundle
1111
import android.view.LayoutInflater
1212
import android.view.View
1313
import android.view.ViewGroup
14+
import androidx.core.view.ViewCompat
15+
import androidx.core.view.WindowInsetsCompat
16+
import androidx.core.view.updatePadding
1417
import com.airbnb.mvrx.fragmentViewModel
1518
import com.airbnb.mvrx.withState
1619
import dagger.hilt.android.AndroidEntryPoint
@@ -38,6 +41,19 @@ class BreadcrumbsFragment :
3841

3942
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
4043
super.onViewCreated(view, savedInstanceState)
44+
ViewCompat.setOnApplyWindowInsetsListener(views.breadcrumbsRecyclerView) { v, insets ->
45+
val systemBars = insets.getInsets(
46+
WindowInsetsCompat.Type.systemBars() or
47+
WindowInsetsCompat.Type.displayCutout()
48+
)
49+
v.updatePadding(
50+
systemBars.left,
51+
systemBars.top,
52+
systemBars.right,
53+
systemBars.bottom,
54+
)
55+
WindowInsetsCompat.CONSUMED
56+
}
4157
setupRecyclerView()
4258
sharedActionViewModel = activityViewModelProvider.get(RoomDetailSharedActionViewModel::class.java)
4359
}

0 commit comments

Comments
 (0)