parse-community / Parse-SDK-Android

The Android SDK for Parse Platform
https://parseplatform.org/
Other
1.88k stars 735 forks source link

fix: missing pending intents mutability for Android 12+ #1139

Closed azlekov closed 2 years ago

azlekov commented 2 years ago

New Pull Request Checklist

Issue Description

Pending intents mutability

If your app targets Android 12, you must specify the mutability of each PendingIntent object that your app creates. This additional requirement improves your app's security.

https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability

Related issue: #1137 Closes #1137

Approach

Freeze version of the compile and target to the newest version 31 and on Android 12 versions set PendingIntent immutability flags when receiving Parse notifications.

TODOs before merging

parse-github-assistant[bot] commented 2 years ago

Thanks for opening this pull request!

codecov[bot] commented 2 years ago

Codecov Report

Merging #1139 (c1a9958) into master (ac6d9e0) will increase coverage by 0.80%. The diff coverage is 40.00%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master    #1139      +/-   ##
============================================
+ Coverage     65.30%   66.11%   +0.80%     
- Complexity     2218     2241      +23     
============================================
  Files           122      122              
  Lines          9961     9965       +4     
  Branches       1338     1339       +1     
============================================
+ Hits           6505     6588      +83     
+ Misses         2943     2860      -83     
- Partials        513      517       +4     
Impacted Files Coverage Ξ”
...rse/src/main/java/com/parse/ParseCommandCache.java 8.12% <0.00%> (+5.93%) :arrow_up:
...ain/java/com/parse/ParsePushBroadcastReceiver.java 43.41% <66.66%> (+43.41%) :arrow_up:
...arse/src/main/java/com/parse/ParseCorePlugins.java 67.39% <0.00%> (+0.54%) :arrow_up:
...se/src/main/java/com/parse/ParseKeyValueCache.java 46.93% <0.00%> (+2.04%) :arrow_up:
parse/src/main/java/com/parse/Parse.java 59.90% <0.00%> (+2.41%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Ξ” = absolute <relative> (impact), ΓΈ = not affected, ? = missing data Powered by Codecov. Last update 8d9691e...c1a9958. Read the comment docs.

azlekov commented 2 years ago

@mtrezza I cannot understand the failing CI/CD task. This PR should be done.

mtrezza commented 2 years ago

The CI fails because this PR decreases code coverage. We require PRs to at least cover their own added code.

azlekov commented 2 years ago

@mtrezza I have add some tests for building the notifications but and I patched the ParseCommandCache as there ware some null pointer exceptions when there's no internet permissions on the tests. Please ignore if possible codecov/patch

parseplatformorg commented 2 years ago

πŸŽ‰ This change has been released in version 2.0.6