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

Android: Graceful shutdown button in notification for persistent mode #2736

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

myxmaster
Copy link
Contributor

Description

This fixes #2501.

#2735 has to be merged first.

Note:
As of Android 13, the OS gives users a way to stop Apps that are running in the background (see https://developer.android.com/develop/background-work/services/fgs/handle-user-stopping). Unfortunately that "Stop" button it not trying any graceful shutdown, but does a hard kill (tested with logging in LndMobileService.java). So we should provide a button on our own notification that will do a graceful shutdown. (Chances are low, but I guess it is not impossible to corrupt the db when doing a hard kill.)

Changes:

  • Added button "Shutdown" to Android notification for persistent mode to stop LND gracefully
  • Added bridge to use some locale strings on Java layer
    -> translation cache will be updated at app start and when language is changed
  • Now using locale strings "LND is running in the background" and "Shutdown" in notification
    -> bridged locale strings are defined in LocaleUtils.ts
  • Additionally: removed redundant label "ZEUS" from notification
Android 12 on Pixel 4a Android 14 on Pixel 7
grafik grafik
grafik grafik

Before:
grafik

This pull request is categorized as a:

  • New feature
  • Bug fix
  • Code refactor
  • Configuration change
  • Locales update
  • Quality assurance
  • Other

Checklist

  • I’ve run yarn run tsc and made sure my code compiles correctly
  • I’ve run yarn run lint and made sure my code didn’t contain any problematic patterns
  • I’ve run yarn run prettier and made sure my code is formatted correctly
  • I’ve run yarn run test and made sure all of the tests pass

Testing

If you modified or added a utility file, did you add new unit tests?

  • No, I’m a fool :)
  • Yes
  • N/A

I have tested this PR on the following platforms (please specify OS version and phone model/VM):

  • Android
  • iOS

I have tested this PR with the following types of nodes (please specify node version and API version where appropriate):

  • Embedded LND
  • LND (REST)
  • LND (Lightning Node Connect)
  • Core Lightning (CLNRest)
  • LndHub
  • [DEPRECATED] Core Lightning (c-lightning-REST)
  • [DEPRECATED] Core Lightning (Spark)
  • [DEPRECATED] Eclair

Locales

  • I’ve added new locale text that requires translations
  • I’m aware that new translations should be made on the ZEUS Transfix page and not directly to this repo

Third Party Dependencies and Packages

  • Contributors will need to run yarn after this PR is merged in
  • 3rd party dependencies have been modified:
    • verify that package.json and yarn.lock have been properly updated
    • verify that dependencies are installed for both iOS and Android platforms

Other:

  • Changes were made that require an update to the README
  • Changes were made that require an update to onboarding

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add "shut down" button for persistent mode
2 participants