Skip to content

Commit 48ed8e8

Browse files
committed
add adjustUIForAPILevel35
Signed-off-by: alperozturk <[email protected]>
1 parent b68bff8 commit 48ed8e8

File tree

3 files changed

+72
-9
lines changed

3 files changed

+72
-9
lines changed

gradle/verification-metadata.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,38 @@
44
<verify-metadata>true</verify-metadata>
55
<verify-signatures>true</verify-signatures>
66
<trusted-artifacts>
7+
<trust file="animation-android-1.7.8.pom"/>
8+
<trust file="animation-core-android-1.7.8.pom"/>
79
<trust file="annotation-jvm-1.6.0.pom"/>
810
<trust file="concurrent-futures-1.1.0.pom"/>
911
<trust file="concurrent-futures-ktx-1.1.0.pom"/>
1012
<trust file="constraintlayout-2.1.4.pom"/>
1113
<trust file="core-common-2.2.0.pom"/>
1214
<trust file="core-runtime-2.2.0.pom"/>
1315
<trust file="flexbox-3.0.0.pom"/>
16+
<trust file="foundation-android-1.7.8.pom"/>
17+
<trust file="foundation-layout-android-1.7.8.pom"/>
1418
<trust file="fragment-1.5.4.pom"/>
1519
<trust file="fragment-ktx-1.3.6.pom"/>
1620
<trust file="material-1.12.0.pom"/>
21+
<trust file="material-icons-core-android-1.7.8.pom"/>
22+
<trust file="material-ripple-android-1.7.8.pom"/>
1723
<trust file="preference-1.2.1.pom"/>
1824
<trust file="resourceinspection-annotation-1.0.1.pom"/>
25+
<trust file="runtime-android-1.7.8.pom"/>
26+
<trust file="runtime-saveable-android-1.7.8.pom"/>
1927
<trust file="savedstate-1.2.1.pom"/>
2028
<trust file="savedstate-ktx-1.2.1.pom"/>
2129
<trust file="slidingpanelayout-1.2.0.pom"/>
2230
<trust file="tracing-1.0.0.pom"/>
2331
<trust file="tracing-1.1.0.pom"/>
24-
<trust file="viewbinding-8.4.1.pom"/>
25-
<trust file="animation-android-1.7.8.pom"/>
26-
<trust file="animation-core-android-1.7.8.pom"/>
27-
<trust file="foundation-android-1.7.8.pom"/>
28-
<trust file="foundation-layout-android-1.7.8.pom"/>
29-
<trust file="material-icons-core-android-1.7.8.pom"/>
30-
<trust file="material-ripple-android-1.7.8.pom"/>
31-
<trust file="runtime-android-1.7.8.pom"/>
32-
<trust file="runtime-saveable-android-1.7.8.pom"/>
3332
<trust file="ui-android-1.7.8.pom"/>
3433
<trust file="ui-geometry-android-1.7.8.pom"/>
3534
<trust file="ui-graphics-android-1.7.8.pom"/>
3635
<trust file="ui-text-android-1.7.8.pom"/>
3736
<trust file="ui-unit-android-1.7.8.pom"/>
3837
<trust file="ui-util-android-1.7.8.pom"/>
38+
<trust file="viewbinding-8.4.1.pom"/>
3939
<trust file="viewbinding-8.8.1.pom"/>
4040
<trust group="com.android.tools.build" name="aapt2" version="8.8.1-12006047" reason="ships OS specific artifacts (win/linux) - temp global trust"/>
4141
<trust file=".*-javadoc[.]jar" regex="true"/>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*
2+
* Nextcloud Android Common Library
3+
*
4+
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
5+
* SPDX-License-Identifier: MIT
6+
*/
7+
8+
package com.nextcloud.android.common.ui.util.extensions
9+
10+
import android.graphics.Color
11+
import android.os.Build
12+
import androidx.activity.SystemBarStyle
13+
import androidx.activity.enableEdgeToEdge
14+
import androidx.appcompat.app.AppCompatActivity
15+
16+
@JvmOverloads
17+
@Suppress("MagicNumber")
18+
fun AppCompatActivity.adjustUIForAPILevel35(
19+
statusBarStyle: SystemBarStyle = SystemBarStyle.auto(Color.TRANSPARENT, Color.TRANSPARENT),
20+
navigationBarStyle: SystemBarStyle = SystemBarStyle.auto(Color.TRANSPARENT, Color.TRANSPARENT)
21+
) {
22+
val isApiLevel35OrHigher = (Build.VERSION.SDK_INT >= 35)
23+
if (!isApiLevel35OrHigher) {
24+
return
25+
}
26+
27+
enableEdgeToEdge(statusBarStyle, navigationBarStyle)
28+
29+
window.addSystemBarPaddings()
30+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
* Nextcloud Android Common Library
3+
*
4+
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
5+
* SPDX-License-Identifier: MIT
6+
*/
7+
8+
package com.nextcloud.android.common.ui.util.extensions
9+
10+
import android.view.View
11+
import android.view.Window
12+
import androidx.core.view.ViewCompat
13+
import androidx.core.view.WindowInsetsCompat
14+
import androidx.core.view.updatePadding
15+
16+
fun Window?.addSystemBarPaddings() {
17+
if (this == null) {
18+
return
19+
}
20+
21+
ViewCompat.setOnApplyWindowInsetsListener(decorView) { v: View, insets: WindowInsetsCompat ->
22+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
23+
24+
v.updatePadding(
25+
left = bars.left,
26+
top = bars.top,
27+
right = bars.right,
28+
bottom = bars.bottom
29+
)
30+
31+
WindowInsetsCompat.CONSUMED
32+
}
33+
}

0 commit comments

Comments
 (0)