From 69020308b699732b5c3fe05c3d6b5278d62df6c2 Mon Sep 17 00:00:00 2001 From: Arif Burak Demiray Date: Wed, 19 Nov 2025 16:25:37 +0300 Subject: [PATCH] feat: 25.4.7 --- CHANGELOG.md | 3 +++ gradle.properties | 2 +- .../java/ly/count/android/sdk/TestUtils.java | 2 +- sdk/src/main/java/ly/count/android/sdk/Countly.java | 2 +- .../java/ly/count/android/sdk/ModuleContent.java | 12 ++++++------ .../ly/count/android/sdk/TransparentActivity.java | 8 ++++++++ .../main/java/ly/count/android/sdk/UtilsDevice.java | 8 -------- 7 files changed, 20 insertions(+), 17 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 998d37dcc..4e4e8b306 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 25.4.7 +* Mitigated an issue where the navigation bar showed an unwanted shadow during content display. + ## 25.4.6 * Improved content error handling and display mechanics. * Updated user properties caching mechanism according to sessions. diff --git a/gradle.properties b/gradle.properties index 02c725193..733f2954a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -22,7 +22,7 @@ org.gradle.configureondemand=true android.useAndroidX=true android.enableJetifier=true # RELEASE FIELD SECTION -VERSION_NAME=25.4.6 +VERSION_NAME=25.4.7 GROUP=ly.count.android POM_URL=https://github.com/Countly/countly-sdk-android POM_SCM_URL=https://github.com/Countly/countly-sdk-android diff --git a/sdk/src/androidTest/java/ly/count/android/sdk/TestUtils.java b/sdk/src/androidTest/java/ly/count/android/sdk/TestUtils.java index 7ad613a9c..0a5de3b3a 100644 --- a/sdk/src/androidTest/java/ly/count/android/sdk/TestUtils.java +++ b/sdk/src/androidTest/java/ly/count/android/sdk/TestUtils.java @@ -44,7 +44,7 @@ public class TestUtils { public final static String commonAppKey = "appkey"; public final static String commonDeviceId = "1234"; public final static String SDK_NAME = "java-native-android"; - public final static String SDK_VERSION = "25.4.6"; + public final static String SDK_VERSION = "25.4.7"; public static final int MAX_THREAD_COUNT_PER_STACK_TRACE = 50; public static class Activity2 extends Activity { diff --git a/sdk/src/main/java/ly/count/android/sdk/Countly.java b/sdk/src/main/java/ly/count/android/sdk/Countly.java index 5f33a49f6..748dda9c6 100644 --- a/sdk/src/main/java/ly/count/android/sdk/Countly.java +++ b/sdk/src/main/java/ly/count/android/sdk/Countly.java @@ -47,7 +47,7 @@ of this software and associated documentation files (the "Software"), to deal */ public class Countly { - private final String DEFAULT_COUNTLY_SDK_VERSION_STRING = "25.4.6"; + private final String DEFAULT_COUNTLY_SDK_VERSION_STRING = "25.4.7"; /** * Used as request meta data on every request */ diff --git a/sdk/src/main/java/ly/count/android/sdk/ModuleContent.java b/sdk/src/main/java/ly/count/android/sdk/ModuleContent.java index 6fab5428b..0e5151bf2 100644 --- a/sdk/src/main/java/ly/count/android/sdk/ModuleContent.java +++ b/sdk/src/main/java/ly/count/android/sdk/ModuleContent.java @@ -186,8 +186,8 @@ private String prepareContentFetchRequest(@NonNull DisplayMetrics displayMetrics int totalWidthPx = displayMetrics.widthPixels; int totalHeightPx = displayMetrics.heightPixels; - int totalWidthDp = (int) Math.ceil(totalWidthPx / displayMetrics.density); - int totalHeightDp = (int) Math.ceil(totalHeightPx / displayMetrics.density); + int totalWidthDp = (int) Math.floor(totalWidthPx / displayMetrics.density); + int totalHeightDp = (int) Math.floor(totalHeightPx / displayMetrics.density); L.d("[ModuleContent] prepareContentFetchRequest, total screen dimensions (px): [" + totalWidthPx + "x" + totalHeightPx + "], (dp): [" + totalWidthDp + "x" + totalHeightDp + "], density: [" + displayMetrics.density + "]"); WebViewDisplayOption displayOption = _cly.config_.webViewDisplayOption; @@ -198,10 +198,10 @@ private String prepareContentFetchRequest(@NonNull DisplayMetrics displayMetrics SafeAreaDimensions safeArea = SafeAreaCalculator.calculateSafeAreaDimensions(_cly.context_, L); // px to dp - portraitWidth = (int) Math.ceil(safeArea.portraitWidth / displayMetrics.density); - portraitHeight = (int) Math.ceil(safeArea.portraitHeight / displayMetrics.density); - landscapeWidth = (int) Math.ceil(safeArea.landscapeWidth / displayMetrics.density); - landscapeHeight = (int) Math.ceil(safeArea.landscapeHeight / displayMetrics.density); + portraitWidth = (int) Math.floor(safeArea.portraitWidth / displayMetrics.density); + portraitHeight = (int) Math.floor(safeArea.portraitHeight / displayMetrics.density); + landscapeWidth = (int) Math.floor(safeArea.landscapeWidth / displayMetrics.density); + landscapeHeight = (int) Math.floor(safeArea.landscapeHeight / displayMetrics.density); L.d("[ModuleContent] prepareContentFetchRequest, safe area dimensions (px->dp) - Portrait: [" + safeArea.portraitWidth + "x" + safeArea.portraitHeight + " px] -> [" + portraitWidth + "x" + portraitHeight + " dp], topOffset: [" + safeArea.portraitTopOffset + " px]"); L.d("[ModuleContent] prepareContentFetchRequest, safe area dimensions (px->dp) - Landscape: [" + safeArea.landscapeWidth + "x" + safeArea.landscapeHeight + " px] -> [" + landscapeWidth + "x" + landscapeHeight + " dp], topOffset: [" + safeArea.landscapeTopOffset + " px]"); diff --git a/sdk/src/main/java/ly/count/android/sdk/TransparentActivity.java b/sdk/src/main/java/ly/count/android/sdk/TransparentActivity.java index dae0b92ce..ecb043388 100644 --- a/sdk/src/main/java/ly/count/android/sdk/TransparentActivity.java +++ b/sdk/src/main/java/ly/count/android/sdk/TransparentActivity.java @@ -285,6 +285,14 @@ private void hideSystemUI() { | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN); + + getWindow().setNavigationBarColor(Color.TRANSPARENT); + getWindow().setStatusBarColor(Color.TRANSPARENT); + + getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + + getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); + getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); } private void resizeContentInternal() { diff --git a/sdk/src/main/java/ly/count/android/sdk/UtilsDevice.java b/sdk/src/main/java/ly/count/android/sdk/UtilsDevice.java index e3a93329f..cc155d0ac 100644 --- a/sdk/src/main/java/ly/count/android/sdk/UtilsDevice.java +++ b/sdk/src/main/java/ly/count/android/sdk/UtilsDevice.java @@ -50,14 +50,6 @@ private static void applyWindowMetrics(@NonNull Context context, // If not activity, we can't know system UI visibility, so always use physical screen size if (!usePhysicalScreenSize) { - // Only subtract navigation bar insets when navigation bar is actually visible - if (windowInsets.isVisible(WindowInsets.Type.navigationBars())) { - types |= WindowInsets.Type.navigationBars(); - } - - if (windowInsets.isVisible(WindowInsets.Type.statusBars())) { - types |= WindowInsets.Type.statusBars(); - } boolean drawUnderCutout; WindowManager.LayoutParams params = ((Activity) context).getWindow().getAttributes();