Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Many "Deprecated in Java" and other warnings when building for Android. #2018

Closed
jacksonlevine opened this issue Jan 24, 2024 · 1 comment · Fixed by #2116
Closed

Many "Deprecated in Java" and other warnings when building for Android. #2018

jacksonlevine opened this issue Jan 24, 2024 · 1 comment · Fixed by #2116
Assignees
Labels
Platform: Android This issue is specific to Android Repro provided A reproduction with a snack or repo is provided

Comments

@jacksonlevine
Copy link

jacksonlevine commented Jan 24, 2024

Description

There are many "Deprecated in Java" warnings and other warnings when building for Android:

> Task :react-native-screens:processDebugManifest
package="com.swmansion.rnscreens" found in source AndroidManifest.xml: C:\Users\
Jack\Documents\ScreensDeprecatedWarnings\node_modules\react-native-screens\andro
id\src\main\AndroidManifest.xml.
Setting the namespace via the package attribute in the source AndroidManifest.xm
l is no longer supported, and the value is ignored.
Recommendation: remove package="com.swmansion.rnscreens" from the source Android
Manifest.xml: C:\Users\Jack\Documents\ScreensDeprecatedWarnings\node_modules\rea
ct-native-screens\android\src\main\AndroidManifest.xml.

> Task :react-native-screens:compileDebugKotlin
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenContainerView
Manager.kt:5:46 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenContainerView
Manager.kt:10:2 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment
.kt:65:28 'setter for targetElevation: Float' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment
.kt:128:28 'setter for targetElevation: Float' is deprecated. Deprecated in Jav
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderCo
nfig.kt:86:34 'getter for systemWindowInsetTop: Int' is deprecated. Deprecated i
n Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderCo
nfig.kt:229:37 'setColorFilter(Int, PorterDuff.Mode): Unit' is deprecated. Depre
cated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderCo
nfigViewManager.kt:7:46 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderCo
nfigViewManager.kt:18:2 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSu
bviewManager.kt:4:46 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderSu
bviewManager.kt:12:2 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewMana
ger.kt:6:46 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackViewMana
ger.kt:15:2 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.k
t:6:46 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.k
t:24:2 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenViewManager.k
t:47:42 'setStateWrapper(StateWrapper!): Unit' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.
kt:137:47 'replaceSystemWindowInsets(Int, Int, Int, Int): WindowInsetsCompat' is
 deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.
kt:138:51 'getter for systemWindowInsetLeft: Int' is deprecated. Deprecated in J
ava
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.
kt:140:51 'getter for systemWindowInsetRight: Int' is deprecated. Deprecated in
Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.
kt:141:51 'getter for systemWindowInsetBottom: Int' is deprecated. Deprecated in
 Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt
:6:46 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt
:17:2 'ReactModule' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt
:100:22 Parameter 'view' is never used
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt
:100:43 Parameter 'placeholder' is never used
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarView.kt:14
7:43 Parameter 'flag' is never used
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeight
ChangeEvent.kt:5:44 'RCTEventEmitter' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeight
ChangeEvent.kt:10:5 'constructor Event<T : Event<(raw) Event<*>>!>(Int)' is depr
ecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeight
ChangeEvent.kt:17:44 'RCTEventEmitter' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeight
ChangeEvent.kt:20:25 'receiveEvent(Int, String!, WritableMap?): Unit' is depreca
ted. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewG
roup.kt:5:37 'FabricViewStateManager' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewG
roup.kt:9:48 'FabricViewStateManager' is deprecated. Deprecated in Java
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewG
roup.kt:11:42 Parameter 'width' is never used
w: file:///C:/Users/Jack/Documents/ScreensDeprecatedWarnings/node_modules/react-
native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewG
roup.kt:11:54 Parameter 'height' is never used

Steps to reproduce

  1. Run to get the latest virgin react-native npx react-native init ScreensDeprecatedWarnings
  2. Run npm install react-native-screens
  3. Run npm run android

Snack or a link to a repository

https://github.com/jacksonlevine/ScreensDeprecatedWarnings

Screens version

3.29.0

React Native version

0.73.0

Platforms

Android

JavaScript runtime

Hermes

Workflow

React Native (without Expo)

Architecture

Paper (Old Architecture)

Build type

Debug mode

Device

Real device

Device model

Moto G4

Acknowledgements

Yes

@github-actions github-actions bot added Repro provided A reproduction with a snack or repo is provided Platform: Android This issue is specific to Android labels Jan 24, 2024
@tboba
Copy link
Member

tboba commented Jan 24, 2024

Hi @jacksonlevine, thanks for reporting this issue!
I can confirm this is reproducible for me and that I'm aware of those warnings. There have already been plans to address these errors for some time now, so I believe you should expect the patch in the upcoming release or two!

alduzy added a commit that referenced this issue May 6, 2024
## Description

This PR intents to fix some "Deprecated in Java" warnings when building
on android. I decided not to suppress warnings manually when it is
inescapable to avoid the warning.

Fixes #2018 

## Changes

- replaced deprecated targetElavation with elevation
- adjusted usage of porter duff color filter
- calculating header top inset using recent method if android API >= 30
(the warning persists as the previous APIs still require deprecated
method)
- fixed guarded runnable deprecated warning
- removed unused import

## Screenshots / GIFs

### Before

```
> Task :react-native-screens:compileDebugKotlin
'compileDebugJavaWithJavac' task (current target is 11) and 'compileDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain

w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/Screen.kt:83:22 'constructor GuardedRunnable(ReactContext!)' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt:65:27 'setter for targetElevation: Float' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackFragment.kt:128:27 'setter for targetElevation: Float' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt:86:34 'getter for systemWindowInsetTop: Int' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt:231:37 'setColorFilter(Int, PorterDuff.Mode): Unit' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:63:22 'constructor GuardedRunnable(ReactContext!)' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:108:22 'constructor GuardedRunnable(ReactContext!)' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:135:47 'replaceSystemWindowInsets(Int, Int, Int, Int): WindowInsetsCompat' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:136:51 'getter for systemWindowInsetLeft: Int' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:138:51 'getter for systemWindowInsetRight: Int' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:139:51 'getter for systemWindowInsetBottom: Int' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt:100:22 Parameter 'view' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt:100:43 Parameter 'placeholder' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarView.kt:147:43 Parameter 'flag' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/events/HeaderHeightChangeEvent.kt:6:44 'RCTEventEmitter' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt:11:42 Parameter 'width' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt:11:54 Parameter 'height' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt:11:67 Parameter 'headerHeight' is never used
```

### After

```
> Task :react-native-screens:compileDebugKotlin
'compileDebugJavaWithJavac' task (current target is 11) and 'compileDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
Consider using JVM toolchain: https://kotl.in/gradle/jvm/toolchain

w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenStackHeaderConfig.kt:90:34 'getter for systemWindowInsetTop: Int' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:135:47 'replaceSystemWindowInsets(Int, Int, Int, Int): WindowInsetsCompat' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:136:51 'getter for systemWindowInsetLeft: Int' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:138:51 'getter for systemWindowInsetRight: Int' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/ScreenWindowTraits.kt:139:51 'getter for systemWindowInsetBottom: Int' is deprecated. Deprecated in Java
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt:100:22 Parameter 'view' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarManager.kt:100:43 Parameter 'placeholder' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/main/java/com/swmansion/rnscreens/SearchBarView.kt:147:43 Parameter 'flag' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt:11:42 Parameter 'width' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt:11:54 Parameter 'height' is never used
w: file:///Users/alexduzy/Projects/react-native-screens/Example/node_modules/react-native-screens/android/src/paper/java/com/swmansion/rnscreens/FabricEnabledViewGroup.kt:11:67 Parameter 'headerHeight' is never used
```

## Test code and steps to reproduce

- build android app to compare deprecation warnings quantity
- run the example app and see wether the header shadow, backButton color
and top inset behave correctly

## Checklist

- [ ] Ensured that CI passes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Platform: Android This issue is specific to Android Repro provided A reproduction with a snack or repo is provided
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants