diff --git a/android/app/src/main/res/values-v29/styles.xml b/android/app/src/main/res/values-v29/styles.xml new file mode 100644 index 0000000000000..24a6c3efcc6f8 --- /dev/null +++ b/android/app/src/main/res/values-v29/styles.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml index 42da35d7a493b..220bbe6e655e5 100644 --- a/android/app/src/main/res/values/styles.xml +++ b/android/app/src/main/res/values/styles.xml @@ -8,7 +8,6 @@ @color/gray4 @android:color/transparent @android:color/transparent - false @color/accent @drawable/rn_edit_text_material @style/AppTheme.Popup diff --git a/patches/react-native/details.md b/patches/react-native/details.md index 85f3c5f4a3677..401ac5c2a46d3 100644 --- a/patches/react-native/details.md +++ b/patches/react-native/details.md @@ -189,4 +189,13 @@ - Reason: This patch fixes a crash that occurred when the clipboard text data can be null. - Upstream PR/issue: 🛑 - E/App issue: [#66925](https://github.com/Expensify/App/issues/66925) -- PR introducing patch: [#66749](https://github.com/Expensify/App/pull/66749) \ No newline at end of file +- PR introducing patch: [#66749](https://github.com/Expensify/App/pull/66749) + +- PR introducing patch: [#66749](https://github.com/Expensify/App/pull/66749) +- +### [react-native+0.79.2+028+fix-modal-transparent-navigation-bar.patch](react-native+0.79.2+028+fix-modal-transparent-navigation-bar.patch) + +- Reason: This patch fixes an issue where it is not possible to enable a transparent navigation bar on Android +- Upstream PR/issue: 🛑 +- E/App issue: [#69005](https://github.com/Expensify/App/issues/69005) +- PR introducing patch: [#69004](https://github.com/Expensify/App/pull/69004) diff --git a/patches/react-native/react-native+0.79.2+028+fix-modal-transparent-navigation-bar.patch b/patches/react-native/react-native+0.79.2+028+fix-modal-transparent-navigation-bar.patch new file mode 100644 index 0000000000000..834e15fcafd37 --- /dev/null +++ b/patches/react-native/react-native+0.79.2+028+fix-modal-transparent-navigation-bar.patch @@ -0,0 +1,26 @@ +diff --git a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +index 139a1c1..f6d1faa 100644 +--- a/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt ++++ b/node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +@@ -361,6 +361,21 @@ public class ReactModalHostView(context: ThemedReactContext) : + // Navigation bar cannot be translucent without status bar being translucent too + dialogWindow.setSystemBarsTranslucency(navigationBarTranslucent) + ++ // If enforceNavigationBarContrast is explicitly set in the app theme (AppTheme), ++ // we need to override the default behaviour for edge-to-edge mode in WindowUtils.setSystemBarsTranslucency. ++ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { ++ val attrs = intArrayOf(android.R.attr.enforceNavigationBarContrast) ++ val ta = context.obtainStyledAttributes(R.style.Theme_FullScreenDialog, attrs) ++ ++ if (ta.length() == 1) { ++ val enforceNavigationBarContrastStyleValue = ta.getBoolean(0, false) ++ dialogWindow.isNavigationBarContrastEnforced = enforceNavigationBarContrastStyleValue ++ } ++ ++ ta.recycle() ++ } ++ ++ + if (!navigationBarTranslucent) { + dialogWindow.setStatusBarTranslucency(statusBarTranslucent) + } \ No newline at end of file