0
0
mirror of https://github.com/mueller-ma/PrepaidBalance.git synced 2024-09-20 00:12:15 +02:00
App to check your prepaid balance
Go to file
2022-10-05 11:10:33 +02:00
.github
.idea Bump targetSdk to 33 2022-09-23 12:49:28 +02:00
app Fix starting PreferenceActivity 2022-10-05 11:10:33 +02:00
assets
fastlane/metadata/android Bump to 1.10 2022-09-23 17:47:32 +02:00
gradle/wrapper Upgrade the Gradle version is 7.4 (#128) 2022-09-22 08:56:09 +02:00
.gitignore Gitignore .idea/androidTestResultsUserPreferences.xml 2022-10-05 10:54:01 +02:00
build.gradle Bump about_libraries_version from 10.4.0 to 10.5.0 (#134) 2022-09-30 08:07:37 +02:00
crowdin.yml Add title.txt to Fastlane metadata 2022-05-01 19:16:50 +02:00
gradle.properties
gradlew
gradlew.bat
LICENSE
README.md Document how to add a parser 2022-08-01 16:55:28 +02:00
SECURITY.md
settings.gradle

Prepaid balance

Build App CodeFactor Crowdin

This app keeps track of your prepaid balance. It can automatically record it and post a notification if your balance drops under a configurable threshold. It does so by parsing the response of a USSD code, that can be set in the settings.

Get it on F-Droid

Screenshot

Translations

App strings and the app store description can be translated via Crowdin: https://crowdin.com/project/prepaidbalance

Translations have to be approved before being merged into the app. To become a translator with approval rights or to request a new language, please poke me on Crowdin or open an issue here on GitHub.

Troubleshooting

You might run into on of these issues with the app:

  • The USSD code is different than the default. In this case please configure the correct one and open an issue, so I can change the default code for your provider.
  • Your provider doesn't provide a USSD code to query your prepaid balance. In this case you cannot use this app.
  • The USSD code to query the balance is "menu based", i.e. if you enter it in the dialer app, you get a menu. See this issue for more details.
  • Depending on the response pattern the parsing might fail. In this case please open an issue.

Development

Fix parsing of an USSD code response

  • Add a new Matcher to MATCHERS in ReponseParser.kt
  • Add your USSD code to testGetBalance() in ResponseParserTest.kt
  • Check if all test succeed

Android permissions

  • CALL_PHONE: Used to query USSD codes.
  • ACCESS_NETWORK_STATE, RECEIVE_BOOT_COMPLETED, FOREGROUND_SERVICE, WAKE_LOCK: Used by WorkManager to ensure work constraints are met and running workers aren't killed.

Credits