# Gotify Custom Android Gotify Custom Android is a customized version of the Gotify Android client that connects to [gotify/server](https://github.com/gotify/server) and shows push notifications on new messages. ## Features * show push notifications on new messages * view and delete messages * filter notifications by priority (custom feature) ## Installation Build the APK using the instructions below or download from the releases. This is a custom build with package name `com.github.gotifycustom` to avoid conflicts with the original Gotify app. ### Disable battery optimization By default Android kills long running apps as they drain the battery. With enabled battery optimization, Gotify Custom will be killed and you wont receive any notifications. Here is one way to disable battery optimization for Gotify Custom. * Open "Settings" * Search for "Battery Optimization" * Find "Gotify Custom" and disable battery optimization See also https://dontkillmyapp.com for phone manufacturer specific instructions to disable battery optimizations. ### Minimize the Gotify Custom foreground notification *Only possible for Android version >= 8* The foreground notification showing the connection status can be manually minimized to be less intrusive: * Open Settings -> Apps -> Gotify Custom * Click Notifications * Click on `Gotify Custom foreground notification` * Toggle the "Minimize" option / Select a different "Behavior" or "Importance" (depends on your Android version) * Restart Gotify Custom ## Message Priorities | Notification | Gotify Priority| |- |-| | - | 0 | | Icon in notification bar | 1 - 3 | | Icon in notification bar + Sound | 4 - 7 | | Icon in notification bar + Sound + Vibration | 8 - 10 | ## Building Use Java 17 and execute the following command to build the apk. ```bash $ ./gradlew build ``` The APK will be in `app/build/outputs/apk/` with package name `com.github.gotifycustom`. ## Update client * Run `./gradlew generateSwaggerCode` * Delete `client/settings.gradle` (client is a gradle sub project and must not have a settings.gradle) * Delete `repositories` block from `client/build.gradle` * Delete `implementation "com.sun.xml.ws:jaxws-rt:x.x.x“` from `client/build.gradle` * Insert missing bracket in `retryingIntercept` method of class `src/main/java/com/github/gotify/client/auth/OAuth` * Commit changes ## Versioning We use [SemVer](http://semver.org/) for versioning. ## License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details