RingMyPhoneAndroid icon indicating copy to clipboard operation
RingMyPhoneAndroid copied to clipboard

Modernization and TLC

Open ItsHarper opened this issue 3 years ago • 5 comments

I definitely would have done this a bit more piecemeal and explained some decisions better in the commit messages if I'd thought you'd want to do it this way. Let me know if you'd like me to close this PR and make a series of smaller PRs instead. Feel free to ask why I made certain changes.

Changes made

Housekeeping

  • Updates Android Gradle Plugin to 7.0.4
  • Updates Gradle to 7.2
  • Updates Android build tools to 32.0.0
  • Updates compileSdkVersion to 31
  • Updates targetSdkVersion to 25
    • This is the highest target SDK that does't require having a foreground service with a persistent notification for this use-case.
    • If you would like to publish to Google Play, we would need to increase this significantly.
  • Removes all billing-related code
  • Migrates from the Android support library to AndroidX
  • Updates Guava
  • Migrates to View Binding from Butter Knife and findViewById()
  • Migrates to AndroidX preferences
  • Uses a notification channel on Android 8 or later
  • Fixes (or explicitly disables for a good reason) many Android Lint and IntelliJ warnings
  • Reformatted codebase (let me know if you want me to go back and make these changes with the previous formatting
  • Some general cleanup

Bug fixes

  • Fixes bug where the ringer mode would not be reset to its previous state after the ringtone is stopped
  • Fixes bug where the app would crash on launch on Android 12 (though this may have been caused by a tooling update, I never actually built the app with the old tooling)
  • Removes notification sound that overlapped with the ringtone
  • Fixes bug where the app would crash if Do Not Disturb mode was enabled when the app tried to start ringing

I also made changes to the about screen, some of which you may see as a regression. Let me know if you want me to change anything there.

ItsHarper avatar Feb 13 '22 04:02 ItsHarper

Once this PR is merged and you publish a new release, I can submit a PR to F-Droid to get the app included there.

In the meantime, it would be great if you'd create your Rebble Dev Portal account, and start the process of claiming your Pebble app entry.

ItsHarper avatar Feb 13 '22 04:02 ItsHarper

I just discovered another bug. If the app tries to make the phone ring while it is in do not disturb mode, it crashes.

ItsHarper avatar Feb 13 '22 04:02 ItsHarper

I just pushed a commit that fixes the crash and adds a couple of TODOs to improve the experience surrounding Do Not Disturb mode. I'll probably implement those tomorrow.

ItsHarper avatar Feb 13 '22 05:02 ItsHarper

For the record, this PR still does not reliably make my phone ring, so you probably shouldn't bother reviewing it until I can give it some more attention.

ItsHarper avatar Feb 27 '22 01:02 ItsHarper

I'm back now and will have a look at this soon

Wavesonics avatar Feb 27 '22 03:02 Wavesonics