parse-community / Parse-SDK-Android

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

feat: update all dependencies and modernize the source base #1095

Closed azlekov closed 2 years ago

azlekov commented 3 years ago

This is first of many PRs which I want to introduce in order to get this SDK up to date.

First step in my master plan is update all dependencies, Gradle version and used plugins. Also this PR will cover updating to Java 8 and taking advantage of all sweet features of it. I prefer to make a small incremental steps so the PRs to be easy to review.

Code optimisation which have been done:

NOTE: No business logic was changed so far

Updating of the Firebase Messaging should address https://github.com/parse-community/Parse-SDK-Android/issues/1071#issuecomment-840608858 as there introduce some breaking changes and when using the Parse FCM there are signature issues with latest version of FCM

azlekov commented 3 years ago

Hello @Jawnnypoo @mtrezza I finally dared to submit my first PR here. Not sure if you are the right persons to ping, but I saw you're more likely active here. Don't be afraid of the huge changes, most of them are just replacing callbacks with lambdas and just syntax sugaring around Java 8.

I will be very happy if you have time to check this PR.

rogerhu commented 3 years ago

Thanks for the work!

Jawnnypoo commented 3 years ago

@L3K0V Looks like there is a compilation issue:

Parse-SDK-Android/parse/src/main/java/com/parse/ParseCommandCache.java:110: error: variable context might not have been initialized
azlekov commented 3 years ago

@Jawnnypoo any ideas what can cause this? On this line there's nothing interesting....

image

Jawnnypoo commented 3 years ago

Hmm yeah I am not really sure. Maybe you can remove this check.

azlekov commented 3 years ago

Fun fact is that locally I'm able to run the same Gradle script as the GitHub CI and it's working.

codecov[bot] commented 2 years ago

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@0362b10). Click here to learn what that means. The diff coverage is 63.03%.

Impacted file tree graph

@@            Coverage Diff            @@
##             master    #1095   +/-   ##
=========================================
  Coverage          ?   65.06%           
  Complexity        ?     2208           
=========================================
  Files             ?      122           
  Lines             ?     9463           
  Branches          ?     1317           
=========================================
  Hits              ?     6157           
  Misses            ?     2799           
  Partials          ?      507           
Impacted Files Coverage Δ
.../src/main/java/com/parse/CacheQueryController.java 6.81% <0.00%> (ø)
...c/main/java/com/parse/KnownParseObjectDecoder.java 50.00% <ø> (ø)
...arse/src/main/java/com/parse/LocationNotifier.java 0.00% <0.00%> (ø)
parse/src/main/java/com/parse/LockSet.java 0.00% <0.00%> (ø)
...rc/main/java/com/parse/OfflineQueryController.java 100.00% <ø> (ø)
parse/src/main/java/com/parse/ParseACL.java 89.15% <ø> (ø)
.../main/java/com/parse/ParseAnalyticsController.java 100.00% <ø> (ø)
...e/src/main/java/com/parse/ParseAnonymousUtils.java 57.14% <ø> (ø)
...rse/src/main/java/com/parse/ParseCommandCache.java 2.22% <0.00%> (ø)
...java/com/parse/ParseCountingByteArrayHttpBody.java 82.35% <ø> (ø)
... and 64 more

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 0362b10...b9f7a89. Read the comment docs.