├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── resources.properties │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_shortcut_toggle.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_shortcut_toggle.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_shortcut_toggle.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_shortcut_toggle.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_shortcut_toggle.png │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── arrays.xml │ │ │ │ ├── styles.xml │ │ │ │ └── strings.xml │ │ │ ├── values-v23 │ │ │ │ └── styles.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_shortcut_toggle.xml │ │ │ ├── values-en │ │ │ │ └── strings.xml │ │ │ ├── values-af │ │ │ │ └── strings.xml │ │ │ ├── values-ji │ │ │ │ └── strings.xml │ │ │ ├── values-no │ │ │ │ └── strings.xml │ │ │ ├── values-sr │ │ │ │ └── strings.xml │ │ │ ├── values-vi │ │ │ │ └── strings.xml │ │ │ ├── drawable │ │ │ │ ├── ic_baseline_brightness_medium_24.xml │ │ │ │ ├── ic_baseline_access_time_24.xml │ │ │ │ ├── ic_twotone_free_breakfast_24_white.xml │ │ │ │ ├── ic_shortcut_toggle_foreground.xml │ │ │ │ ├── ic_twotone_free_breakfast_24_accent.xml │ │ │ │ ├── ic_twotone_free_breakfast_120.xml │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── xml │ │ │ │ ├── voice_interaction_service.xml │ │ │ │ └── pref_main.xml │ │ │ ├── values-v27 │ │ │ │ └── styles.xml │ │ │ ├── layout │ │ │ │ ├── activity_preference.xml │ │ │ │ ├── preference_material_switch.xml │ │ │ │ └── activity_main.xml │ │ │ ├── values-iw │ │ │ │ └── strings.xml │ │ │ ├── values-zh │ │ │ │ └── strings.xml │ │ │ ├── values-fa │ │ │ │ └── strings.xml │ │ │ ├── values-in │ │ │ │ └── strings.xml │ │ │ ├── values-zh-rCN │ │ │ │ └── strings.xml │ │ │ ├── values-ja │ │ │ │ └── strings.xml │ │ │ ├── values-ko │ │ │ │ └── strings.xml │ │ │ ├── values-nb │ │ │ │ └── strings.xml │ │ │ ├── values-cs │ │ │ │ └── strings.xml │ │ │ ├── values-da │ │ │ │ └── strings.xml │ │ │ ├── values-sv │ │ │ │ └── strings.xml │ │ │ ├── values-fi │ │ │ │ └── strings.xml │ │ │ ├── values-ro │ │ │ │ └── strings.xml │ │ │ ├── values-pt-rBR │ │ │ │ └── strings.xml │ │ │ ├── values-ar │ │ │ │ └── strings.xml │ │ │ ├── values-el │ │ │ │ └── strings.xml │ │ │ ├── values-es │ │ │ │ └── strings.xml │ │ │ ├── values-it │ │ │ │ └── strings.xml │ │ │ ├── values-tr │ │ │ │ └── strings.xml │ │ │ ├── values-uk │ │ │ │ └── strings.xml │ │ │ ├── values-nl │ │ │ │ └── strings.xml │ │ │ ├── values-ru │ │ │ │ └── strings.xml │ │ │ ├── values-pt │ │ │ │ └── strings.xml │ │ │ ├── values-pl │ │ │ │ └── strings.xml │ │ │ ├── values-ca │ │ │ │ └── strings.xml │ │ │ ├── values-fr │ │ │ │ └── strings.xml │ │ │ ├── values-hu │ │ │ │ └── strings.xml │ │ │ └── values-de │ │ │ │ └── strings.xml │ │ └── java │ │ │ └── com │ │ │ └── github │ │ │ └── muellerma │ │ │ └── coffee │ │ │ ├── BootReceiver.kt │ │ │ ├── activities │ │ │ └── CoffeeInvisibleActivity.kt │ │ │ ├── Assist.kt │ │ │ ├── tiles │ │ │ ├── ToggleTile.kt │ │ │ ├── TimeoutTile.kt │ │ │ └── AbstractTile.kt │ │ │ ├── Prefs.kt │ │ │ ├── CoffeeApplication.kt │ │ │ └── Utils.kt │ └── debug │ │ └── res │ │ ├── values-af │ │ └── strings.xml │ │ ├── values-fa │ │ └── strings.xml │ │ ├── values-in │ │ └── strings.xml │ │ ├── values-iw │ │ └── strings.xml │ │ ├── values-ji │ │ └── strings.xml │ │ ├── values-no │ │ └── strings.xml │ │ ├── values-sr │ │ └── strings.xml │ │ ├── values-vi │ │ └── strings.xml │ │ ├── values-zh │ │ └── strings.xml │ │ ├── values-ja │ │ └── strings.xml │ │ ├── values-uk │ │ └── strings.xml │ │ ├── values-zh-rCN │ │ └── strings.xml │ │ ├── values-ca │ │ └── strings.xml │ │ ├── values-cs │ │ └── strings.xml │ │ ├── values-de │ │ └── strings.xml │ │ ├── values-es │ │ └── strings.xml │ │ ├── values-it │ │ └── strings.xml │ │ ├── values-ko │ │ └── strings.xml │ │ ├── values-ro │ │ └── strings.xml │ │ ├── values-ru │ │ └── strings.xml │ │ ├── values-sv │ │ └── strings.xml │ │ ├── values-ar │ │ └── strings.xml │ │ ├── values-da │ │ └── strings.xml │ │ ├── values-el │ │ └── strings.xml │ │ ├── values-fi │ │ └── strings.xml │ │ ├── values-fr │ │ └── strings.xml │ │ ├── values-hu │ │ └── strings.xml │ │ ├── values-nb │ │ └── strings.xml │ │ ├── values-pl │ │ └── strings.xml │ │ ├── values-pt │ │ └── strings.xml │ │ ├── values-nl │ │ └── strings.xml │ │ ├── values-pt-rBR │ │ └── strings.xml │ │ ├── values-tr │ │ └── strings.xml │ │ └── values │ │ └── strings.xml ├── proguard-rules.pro └── build.gradle ├── fastlane └── metadata │ └── android │ ├── zh-TW │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── af-ZA │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── ar-SA │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── ca-ES │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── cs-CZ │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── da-DK │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── de-DE │ ├── title.txt │ ├── short_description.txt │ ├── images │ │ └── phoneScreenshots │ │ │ └── 1.png │ └── full_description.txt │ ├── el-GR │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── en-US │ ├── title.txt │ ├── changelogs │ │ ├── 37.txt │ │ ├── 1.txt │ │ ├── 3.txt │ │ ├── 7.txt │ │ ├── 13.txt │ │ ├── 18.txt │ │ ├── 19.txt │ │ ├── 20.txt │ │ ├── 25.txt │ │ ├── 28.txt │ │ ├── 29.txt │ │ ├── 32.txt │ │ ├── 34.txt │ │ ├── 42.txt │ │ ├── 43.txt │ │ ├── 44.txt │ │ ├── 10.txt │ │ ├── 16.txt │ │ ├── 17.txt │ │ ├── 2.txt │ │ ├── 31.txt │ │ ├── 40.txt │ │ ├── 41.txt │ │ ├── 45.txt │ │ ├── 24.txt │ │ ├── 38.txt │ │ ├── 14.txt │ │ ├── 22.txt │ │ ├── 23.txt │ │ ├── 26.txt │ │ ├── 39.txt │ │ ├── 4.txt │ │ ├── 5.txt │ │ ├── 9.txt │ │ ├── 12.txt │ │ ├── 15.txt │ │ ├── 36.txt │ │ ├── 27.txt │ │ ├── 30.txt │ │ ├── 35.txt │ │ ├── 33.txt │ │ ├── 6.txt │ │ ├── 8.txt │ │ ├── 21.txt │ │ └── 11.txt │ ├── short_description.txt │ ├── images │ │ ├── icon.png │ │ ├── featureGraphic.png │ │ └── phoneScreenshots │ │ │ └── 1.png │ └── full_description.txt │ ├── es-ES │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── fa-IR │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── fi-FI │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── fr-FR │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── he-IL │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── hu-HU │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── id-ID │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── it-IT │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── ja-JP │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── ko-KR │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── nb-NO │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── nl-NL │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── no-NO │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── pl-PL │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── pt-BR │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── pt-PT │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── ro-RO │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── ru-RU │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── sr-SP │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── sv-SE │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── tr-TR │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── uk-UA │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── vi-VN │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ ├── yi-DE │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt │ └── zh-CN │ ├── title.txt │ ├── short_description.txt │ └── full_description.txt ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .idea ├── codeStyles │ └── codeStyleConfig.xml ├── vcs.xml ├── compiler.xml ├── kotlinc.xml ├── AndroidProjectSystem.xml ├── migrations.xml ├── deviceManager.xml ├── gradle.xml ├── runConfigurations.xml └── jarRepositories.xml ├── SECURITY.md ├── renovate.json ├── .gitignore ├── .github ├── workflows │ ├── build.yml │ ├── stale.yml │ └── deploy-apk.yml └── ISSUE_TEMPLATE │ ├── feature_request.md │ └── bug_report.md ├── crowdin.yml ├── gradle.properties ├── README.md └── gradlew.bat /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-TW/title.txt: -------------------------------------------------------------------------------- 1 | 咖啡 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/af-ZA/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ar-SA/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ca-ES/title.txt: -------------------------------------------------------------------------------- 1 | Cafè 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/cs-CZ/title.txt: -------------------------------------------------------------------------------- 1 | Káva 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/da-DK/title.txt: -------------------------------------------------------------------------------- 1 | Kaffe 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/de-DE/title.txt: -------------------------------------------------------------------------------- 1 | Kaffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/el-GR/title.txt: -------------------------------------------------------------------------------- 1 | Καφές 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/es-ES/title.txt: -------------------------------------------------------------------------------- 1 | Café 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/fa-IR/title.txt: -------------------------------------------------------------------------------- 1 | قهوه 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/fi-FI/title.txt: -------------------------------------------------------------------------------- 1 | Kahvi 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/fr-FR/title.txt: -------------------------------------------------------------------------------- 1 | Café 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/he-IL/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/hu-HU/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/id-ID/title.txt: -------------------------------------------------------------------------------- 1 | Kopi 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/title.txt: -------------------------------------------------------------------------------- 1 | Caffè 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/title.txt: -------------------------------------------------------------------------------- 1 | コーヒー 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ko-KR/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/nb-NO/title.txt: -------------------------------------------------------------------------------- 1 | Kaffe 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/title.txt: -------------------------------------------------------------------------------- 1 | Koffie 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/no-NO/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pl-PL/title.txt: -------------------------------------------------------------------------------- 1 | Kawa 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-BR/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-PT/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ro-RO/title.txt: -------------------------------------------------------------------------------- 1 | Cafea 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ru-RU/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/sr-SP/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/sv-SE/title.txt: -------------------------------------------------------------------------------- 1 | Kaffe 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/tr-TR/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/uk-UA/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/vi-VN/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/yi-DE/title.txt: -------------------------------------------------------------------------------- 1 | Coffee 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-CN/title.txt: -------------------------------------------------------------------------------- 1 | 咖啡 Coffee 2 | -------------------------------------------------------------------------------- /app/src/main/res/resources.properties: -------------------------------------------------------------------------------- 1 | unqualifiedResLocale=en-US -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/37.txt: -------------------------------------------------------------------------------- 1 | Bug fixes 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-CN/short_description.txt: -------------------------------------------------------------------------------- 1 | 保持屏幕常亮 -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | rootProject.name = "Coffee" -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/1.txt: -------------------------------------------------------------------------------- 1 | Inital release 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/3.txt: -------------------------------------------------------------------------------- 1 | Improve strings 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/7.txt: -------------------------------------------------------------------------------- 1 | Add help dialog 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ko-KR/short_description.txt: -------------------------------------------------------------------------------- 1 | 화면 켜짐 상태 유지 -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/short_description.txt: -------------------------------------------------------------------------------- 1 | Houd scherm aan -------------------------------------------------------------------------------- /fastlane/metadata/android/af-ZA/short_description.txt: -------------------------------------------------------------------------------- 1 | Keep display awake -------------------------------------------------------------------------------- /fastlane/metadata/android/ar-SA/short_description.txt: -------------------------------------------------------------------------------- 1 | إبقاء الشاشة مسيقظة -------------------------------------------------------------------------------- /fastlane/metadata/android/da-DK/short_description.txt: -------------------------------------------------------------------------------- 1 | Hold skærmen vågen -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/13.txt: -------------------------------------------------------------------------------- 1 | Update dependencies 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/18.txt: -------------------------------------------------------------------------------- 1 | Update translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/19.txt: -------------------------------------------------------------------------------- 1 | Update translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/20.txt: -------------------------------------------------------------------------------- 1 | Add timer setting 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/25.txt: -------------------------------------------------------------------------------- 1 | Improve quick tile 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/28.txt: -------------------------------------------------------------------------------- 1 | Update translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/29.txt: -------------------------------------------------------------------------------- 1 | Support Android 13 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/32.txt: -------------------------------------------------------------------------------- 1 | Update translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/34.txt: -------------------------------------------------------------------------------- 1 | Fix notification 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/42.txt: -------------------------------------------------------------------------------- 1 | Update translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/43.txt: -------------------------------------------------------------------------------- 1 | Update translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/44.txt: -------------------------------------------------------------------------------- 1 | Update translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/short_description.txt: -------------------------------------------------------------------------------- 1 | Keep display awake -------------------------------------------------------------------------------- /fastlane/metadata/android/fi-FI/short_description.txt: -------------------------------------------------------------------------------- 1 | Pidä näyttö hereillä -------------------------------------------------------------------------------- /fastlane/metadata/android/he-IL/short_description.txt: -------------------------------------------------------------------------------- 1 | Keep display awake -------------------------------------------------------------------------------- /fastlane/metadata/android/id-ID/short_description.txt: -------------------------------------------------------------------------------- 1 | Keep display awake -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/short_description.txt: -------------------------------------------------------------------------------- 1 | ディスプレイの自動消灯を一時的に無効化 -------------------------------------------------------------------------------- /fastlane/metadata/android/nb-NO/short_description.txt: -------------------------------------------------------------------------------- 1 | Holde skjermen våken -------------------------------------------------------------------------------- /fastlane/metadata/android/no-NO/short_description.txt: -------------------------------------------------------------------------------- 1 | Keep display awake -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-BR/short_description.txt: -------------------------------------------------------------------------------- 1 | Manter a tela ativa -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-PT/short_description.txt: -------------------------------------------------------------------------------- 1 | Manter a tela ativa -------------------------------------------------------------------------------- /fastlane/metadata/android/sr-SP/short_description.txt: -------------------------------------------------------------------------------- 1 | Keep display awake -------------------------------------------------------------------------------- /fastlane/metadata/android/sv-SE/short_description.txt: -------------------------------------------------------------------------------- 1 | Håll skärmen vaken -------------------------------------------------------------------------------- /fastlane/metadata/android/tr-TR/short_description.txt: -------------------------------------------------------------------------------- 1 | Ekranı açık tutun -------------------------------------------------------------------------------- /fastlane/metadata/android/vi-VN/short_description.txt: -------------------------------------------------------------------------------- 1 | Keep display awake -------------------------------------------------------------------------------- /fastlane/metadata/android/yi-DE/short_description.txt: -------------------------------------------------------------------------------- 1 | Keep display awake -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-TW/short_description.txt: -------------------------------------------------------------------------------- 1 | Keep display awake -------------------------------------------------------------------------------- /fastlane/metadata/android/ca-ES/short_description.txt: -------------------------------------------------------------------------------- 1 | Mantén la pantalla encesa -------------------------------------------------------------------------------- /fastlane/metadata/android/el-GR/short_description.txt: -------------------------------------------------------------------------------- 1 | Διατήρηση ενεργής οθόνης -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/10.txt: -------------------------------------------------------------------------------- 1 | * Improve dark theme 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/16.txt: -------------------------------------------------------------------------------- 1 | Add Turkish translation 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/17.txt: -------------------------------------------------------------------------------- 1 | Add Chinese translation 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/2.txt: -------------------------------------------------------------------------------- 1 | Improve tile state update 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/31.txt: -------------------------------------------------------------------------------- 1 | Fix invisible app icon 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/40.txt: -------------------------------------------------------------------------------- 1 | Update for Android 14 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/41.txt: -------------------------------------------------------------------------------- 1 | Fix crash on Android 14 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/45.txt: -------------------------------------------------------------------------------- 1 | Fix tile not working 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/fr-FR/short_description.txt: -------------------------------------------------------------------------------- 1 | Garder l'écran allumé -------------------------------------------------------------------------------- /fastlane/metadata/android/hu-HU/short_description.txt: -------------------------------------------------------------------------------- 1 | A képernyő ébren tartása -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/short_description.txt: -------------------------------------------------------------------------------- 1 | Tiene lo schermo acceso -------------------------------------------------------------------------------- /fastlane/metadata/android/ro-RO/short_description.txt: -------------------------------------------------------------------------------- 1 | Mențineți ecranul activ -------------------------------------------------------------------------------- /fastlane/metadata/android/uk-UA/short_description.txt: -------------------------------------------------------------------------------- 1 | Тримати екран увімкненим -------------------------------------------------------------------------------- /fastlane/metadata/android/cs-CZ/short_description.txt: -------------------------------------------------------------------------------- 1 | Ponechat displej probuzený -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/24.txt: -------------------------------------------------------------------------------- 1 | Add actions to notification 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/38.txt: -------------------------------------------------------------------------------- 1 | Add button add quick tile 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/fa-IR/short_description.txt: -------------------------------------------------------------------------------- 1 | صفحه‌نمایش را بیدار نگه‌دارید -------------------------------------------------------------------------------- /fastlane/metadata/android/pl-PL/short_description.txt: -------------------------------------------------------------------------------- 1 | Pozostaw wyświetlacz włączony -------------------------------------------------------------------------------- /fastlane/metadata/android/ru-RU/short_description.txt: -------------------------------------------------------------------------------- 1 | Держать дисплей включённым -------------------------------------------------------------------------------- /fastlane/metadata/android/de-DE/short_description.txt: -------------------------------------------------------------------------------- 1 | Bildschirm eingeschaltet lassen -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/14.txt: -------------------------------------------------------------------------------- 1 | Add Dutch and Swedish translation 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/22.txt: -------------------------------------------------------------------------------- 1 | Fix crash when opening settings 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/es-ES/short_description.txt: -------------------------------------------------------------------------------- 1 | Mantiene la pantalla encendida. -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/23.txt: -------------------------------------------------------------------------------- 1 | Add setting to allow screen dimming 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/26.txt: -------------------------------------------------------------------------------- 1 | Add about page and update translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/39.txt: -------------------------------------------------------------------------------- 1 | Minor bug fixes and update translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/4.txt: -------------------------------------------------------------------------------- 1 | * Add Dutch and Portuguese translations 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/5.txt: -------------------------------------------------------------------------------- 1 | Add home screen shortcut to toggle Coffee -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/9.txt: -------------------------------------------------------------------------------- 1 | * Show message when using home screen widget -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/12.txt: -------------------------------------------------------------------------------- 1 | * Update button style 2 | * Improve toast messages 3 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/15.txt: -------------------------------------------------------------------------------- 1 | * Fix crash on Android 12 2 | * Use Material 3 design 3 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/36.txt: -------------------------------------------------------------------------------- 1 | No acutal changes, but first version deployed in GitHub 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/27.txt: -------------------------------------------------------------------------------- 1 | Ensure timeout job and wakelock are released when Coffee is stopped 2 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/30.txt: -------------------------------------------------------------------------------- 1 | * Request notification permission on Android 13 2 | * Support dynamic colors 3 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/35.txt: -------------------------------------------------------------------------------- 1 | Add quick tile to change timeout. You will have to re-add the existing tile. 2 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/33.txt: -------------------------------------------------------------------------------- 1 | * Show remaining time in quick tile, notification and app 2 | * Update translations 3 | -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/6.txt: -------------------------------------------------------------------------------- 1 | * Lower required Android version to 5. Android 7 is still required for the quick tile. -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/8.txt: -------------------------------------------------------------------------------- 1 | * Add shortcut as long press option for home screen icon 2 | * Update translations 3 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/21.txt: -------------------------------------------------------------------------------- 1 | Implement alternate mode to circumvent battery savers on Poco, Samsung, Xiaomi and others 2 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/fastlane/metadata/android/en-US/images/icon.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_shortcut_toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-hdpi/ic_shortcut_toggle.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_shortcut_toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-mdpi/ic_shortcut_toggle.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_shortcut_toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-xhdpi/ic_shortcut_toggle.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_shortcut_toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-xxhdpi/ic_shortcut_toggle.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_shortcut_toggle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_shortcut_toggle.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/featureGraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/fastlane/metadata/android/en-US/images/featureGraphic.png -------------------------------------------------------------------------------- /fastlane/metadata/android/de-DE/images/phoneScreenshots/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/fastlane/metadata/android/de-DE/images/phoneScreenshots/1.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/images/phoneScreenshots/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mueller-ma/Coffee/HEAD/fastlane/metadata/android/en-US/images/phoneScreenshots/1.png -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/changelogs/11.txt: -------------------------------------------------------------------------------- 1 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 2 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/kotlinc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #4E342E 4 | @android:color/white 5 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Since this is an Android app, only the latest version is supported. 6 | 7 | ## Reporting a Vulnerability 8 | 9 | Please open an issue on GitHub to report a vulnerability. 10 | -------------------------------------------------------------------------------- /.idea/AndroidProjectSystem.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /.idea/migrations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/debug/res/values-af/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/debug/res/values-fa/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/debug/res/values-in/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/debug/res/values-iw/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/debug/res/values-ji/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/debug/res/values-no/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/debug/res/values-sr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/debug/res/values-vi/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/debug/res/values-zh/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /app/src/main/res/values-v23/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-CN/full_description.txt: -------------------------------------------------------------------------------- 1 | 咖啡 Coffee允许您保持屏幕常亮,无需更改设备设置。 它可以在不同地方切换开关: 2 | * 在放置着例如Wi-Fi和蓝牙开关的快捷设置中提供了一个磁块。 需要Android 7或更高版本 3 | * 应用程序中的按钮 4 | * 您主屏幕上的快捷方式。 如果你的启动器支持它,它可以在应用程序中创建。 5 | 6 | 咖啡可以设置为辅助应用 (设备设置=> 应用=> 默认应用=> 辅助应用) 并在调用辅助时更改其状态。 7 | 8 | 由于一些OEM厂商(包括Poco、三星和小米) 采用的省电策略过于激进,Coffee 咖啡可能无法正常工作。 9 | 在这种情况下,请在设置中启用"备用模式"。 -------------------------------------------------------------------------------- /app/src/debug/res/values-ja/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | コーヒーデバッグ 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-uk/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Coffee 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-zh-rCN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 咖啡调试 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-ca/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Cafè Debug 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-cs/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Ladění kávy 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-de/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Kaffee Debug 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-es/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Café Debug 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-it/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug Caffè 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-ko/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Coffee 디버그 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-ro/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Cafea Debug 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-ru/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Отладка Кофе 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-sv/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Kaffe Debug 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-ar/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | تصحيح أخطاء Coffee 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-da/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Kaffe Fejlfinding 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-el/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Αποσφαλμάτωση Καφέ 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-fi/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Kahvivianetsintä 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-fr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Débogage de Café 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-hu/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Coffee Hibakereső 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-nb/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Kaffe feilsøking 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-pl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debugowanie kawy 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-pt/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Depuração de Café 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-nl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Koffie Foutopsporing 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-pt-rBR/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Depuração de Café 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values-tr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Coffee Hata Ayıklama 6 | 7 | -------------------------------------------------------------------------------- /app/src/debug/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | Coffee Debug 8 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": [ 4 | "config:recommended", 5 | ":dependencyDashboardApproval" 6 | ], 7 | "configMigration": true, 8 | "minimumReleaseAge": "7 days", 9 | "addLabels": [ 10 | "renovate" 11 | ], 12 | "dependencyDashboardLabels": [ 13 | "renovate" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/assetWizardSettings.xml 5 | /.idea/caches 6 | /.idea/deploymentTargetDropDown.xml 7 | /.idea/deploymentTargetSelector.xml 8 | /.idea/libraries 9 | /.idea/misc.xml 10 | /.idea/modules.xml 11 | /.idea/navEditor.xml 12 | /.idea/other.xml 13 | /.idea/workspace.xml 14 | .DS_Store 15 | /build 16 | /captures 17 | .externalNativeBuild 18 | .cxx 19 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/deviceManager.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_shortcut_toggle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/values-en/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ko-KR/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee는 기기 설정을 바꾸지 않고 디스플레이가 켜져 있게 유지할 수 있습니다. Coffee는 여러 곳에서 전환이 가능합니다. 2 | * 빠른 설정창 내 타일, Wi-Fi나 블루투스 등의 전환 버튼들이 있는 곳 안드로이드 7 이상이 필요합니다. 3 | * 앱 내의 버튼 4 | * 홈 스크린에 있는 바로가기. 사용하고 있는 런처가 지원한다면, 앱 내에서 생성할 수 있습니다. 5 | 6 | Coffee는 어시스턴트 앱으로 설정(기기 설정 => 애플리케이션 => 기본 앱 선택 => 디지털 어시스턴트 앱) 된 후 어시스턴트 호출 시 전환할 수 있습니다. 7 | 8 | Coffee는 몇몇 제조사들이 구현한 과도하게 공격적인 배터리 절전 기능으로 인해 작동하지 않을 수도 있습니다. (포코, 삼성, 샤오미 등) 9 | 이 경우 설정에서 "대체 모드"를 활성화하십시오. -------------------------------------------------------------------------------- /fastlane/metadata/android/ja-JP/full_description.txt: -------------------------------------------------------------------------------- 1 | コーヒーは、端末の設定を変えることなく一時的にディスプレイの自動消灯を無効にできるアプリです。 コーヒーは様々な場所から切り替えられます。 2 | * クイック設定(Wi-FiやBluetoothなどの切り替えボタンがある場所)のタイル。 Android 7以上が必要です。 3 | * アプリ内にあるボタン。 4 | * ホーム画面のショートカット。 お使いのランチャーでサポートされている場合に、アプリ内から作成できます。 5 | 6 | コーヒーはアシストアプリとして設定できます(設定 → アプリ → デフォルトのアプリ → デジタル アシスタント アプリ)。アシストが呼ばれた際、コーヒーのオン・オフが切り替わります。 7 | 8 | 一部メーカー(Poco、Samsung、Xiaomiなど)の端末には、このアプリを壊してしまう過度に強力なバッテリー節約機能が搭載されていることがあります。 9 | その場合、設定で「代替モード」を有効にしてください。 -------------------------------------------------------------------------------- /app/src/main/res/values-af/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-ji/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-no/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-sr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-vi/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_brightness_medium_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/xml/voice_interaction_service.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/values-v27/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_preference.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/values-iw/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | הגדרות 10 | 11 | לא נמצא דפדפן 12 | 13 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_baseline_access_time_24.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/layout/preference_material_switch.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Build App 2 | 3 | on: 4 | push: 5 | branches: [ "main" ] 6 | pull_request: 7 | branches: [ "main" ] 8 | schedule: 9 | - cron: '34 19 * * 6' 10 | 11 | permissions: {} 12 | 13 | jobs: 14 | build: 15 | runs-on: ubuntu-latest 16 | 17 | steps: 18 | - uses: actions/checkout@v4 19 | 20 | - name: Setup Java 21 | uses: actions/setup-java@v4 22 | with: 23 | distribution: 'adopt' 24 | java-version: 17 25 | 26 | - name: Validate Gradle Wrapper 27 | uses: gradle/wrapper-validation-action@v3.5.0 28 | 29 | - name: Build 30 | run: bash gradlew build 31 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ar-SA/full_description.txt: -------------------------------------------------------------------------------- 1 | تطبيق Coffe يسمح لك بإبقاء الشاشة مستيقظة دون الحاجة الى تغيير اعدادات الجهاز. يمكن اطفائها/تشغيلها في أماكن مختلفة: 2 | * مربع في الإعدادات السريعة، المكان الذي يحمل مفاتيح التبديل على سبيل المثال Wi-Fi والبلوتوث. يتطلب أندرويد 7 أو أعلى. 3 | * زر في التطبيق نفسه 4 | * اختصار على شاشتك الرئيسية. يمكن إنشاؤه في التطبيق، إذا كان المشغل يدعمه. 5 | 6 | القهوة يمكن تعيينها كتطبيق مساعد (إعدادات الجهاز => التطبيقات => التطبيقات الافتراضية => مساعدة التطبيق) وتغييرها عند استدعاء المساعدة. 7 | 8 | قد لا يعمل Coffee بسبب موفر بطارية المفرط، وهو موفر تنفذه بعض الشركات المصنعة (بما في ذلك Poco وSamsung وXiaomi). 9 | في تلك الحالة يرجى تمكين "الوضع البديل" في الإعدادات. -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: 'Close stale issues and PRs' 2 | on: 3 | schedule: 4 | - cron: '30 1 * * *' 5 | workflow_dispatch: 6 | 7 | permissions: 8 | issues: write 9 | 10 | jobs: 11 | stale: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/stale@v9 15 | with: 16 | days-before-stale: 360 17 | days-before-close: 7 18 | exempt-issue-labels: 'acknowledged' 19 | stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Also see https://github.com/mueller-ma/Coffee#maintenance-notice' 20 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /app/src/main/res/values/arrays.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 0 5 | 5 6 | 15 7 | 30 8 | 60 9 | 120 10 | 11 | 12 | 13 | @string/timeout_infinity 14 | @string/timeout_5_minutes 15 | @string/timeout_15_minutes 16 | @string/timeout_30_minutes 17 | @string/timeout_60_minutes 18 | @string/timeout_120_minutes 19 | 20 | -------------------------------------------------------------------------------- /fastlane/metadata/android/af-ZA/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 2 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 3 | * A button in the app itself 4 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 5 | 6 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /fastlane/metadata/android/en-US/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 2 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 3 | * A button in the app itself 4 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 5 | 6 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /fastlane/metadata/android/fi-FI/full_description.txt: -------------------------------------------------------------------------------- 1 | Kahvin avulla voit pitää näytön hereillä tarvitsematta muuttaa laitteen asetuksia. Se voidaan vaihtaa eri paikoilla: 2 | * Levy pika-asetuksissa, paikka, joka pitää toggles esim. Wi-Fi ja Bluetooth. Vaatii Android 7:n tai uudemman. 3 | * Itse sovelluksessa oleva painike 4 | * Oikopolku aloitusnäytölläsi. Se voidaan luoda sovelluksessa, jos käynnistin tukee sitä. 5 | 6 | Kahvia voidaan asettaa apuna sovellus (Laitteen asetukset => Sovellukset => Oletus sovellukset => Assist app) ja muuttaa sen tilaa, kun apua kutsutaan. 7 | 8 | Kahvi ei välttämättä toimi joidenkin OEM-valmistajien (Poco, Samsung ja Xiaomi) toteuttaman liian aggressiivisen akunsäästäjän vuoksi. 9 | Tässä tapauksessa ota käyttöön "Vaihtoehtoinen tila" asetuksista. -------------------------------------------------------------------------------- /fastlane/metadata/android/he-IL/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 2 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 3 | * A button in the app itself 4 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 5 | 6 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /fastlane/metadata/android/id-ID/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 2 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 3 | * A button in the app itself 4 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 5 | 6 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /fastlane/metadata/android/no-NO/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 2 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 3 | * A button in the app itself 4 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 5 | 6 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /fastlane/metadata/android/sr-SP/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 2 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 3 | * A button in the app itself 4 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 5 | 6 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /fastlane/metadata/android/vi-VN/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 2 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 3 | * A button in the app itself 4 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 5 | 6 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /fastlane/metadata/android/yi-DE/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 2 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 3 | * A button in the app itself 4 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 5 | 6 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /fastlane/metadata/android/zh-TW/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 2 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 3 | * A button in the app itself 4 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 5 | 6 | Coffee can be set as assist app (Device settings => Apps => Default apps => Assist app) and changes it's state when assist is called. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 18 | 19 | -------------------------------------------------------------------------------- /fastlane/metadata/android/nb-NO/full_description.txt: -------------------------------------------------------------------------------- 1 | Kaffe lar deg holde skjermen våken uten å måtte endre enhetsinnstillingene. Det kan veksles på ulike steder: 2 | * En flis i hurtiginnstillingene, stedet som holder vektene for eksempel Wi-Fi og Bluetooth. Støttes bare av Android 7 ovenfor. 3 | * En knapp i selve appen 4 | * En snarvei på hjemmeskjermen din. Den kan opprettes i appen, hvis din launcher støtter den. 5 | 6 | Kaffe kan stilles inn som assistanseapp (enhetsinnstillinger => Apper => Standardapper => Assist app) og endrer tilstand når hjelpen kalles. 7 | 8 | Koffee virker kanskje ikke på grunn av en for aggressiv batterisparer som er implementert av en del OEMs (inkludert Poco, Samsung og Xiaomi). 9 | I dette tilfellet må du aktivere "Alternativ modus" i innstillingene. -------------------------------------------------------------------------------- /fastlane/metadata/android/sv-SE/full_description.txt: -------------------------------------------------------------------------------- 1 | Kaffe kan du hålla skärmen vaken utan att behöva ändra enhetens inställningar. Det kan växlas på olika platser: 2 | * En bricka i de snabba inställningarna, den plats som håller växlarna för t.ex. Wi-Fi och Bluetooth. Kräver Android 7 eller högre. 3 | * En knapp i själva appen 4 | * En genväg på startskärmen. Det kan skapas i appen, om din launcher stöder det. 5 | 6 | Kaffe kan ställas in som assistansapp (Enhetsinställningar => Appar => Standardappar => Hjälparapp) och ändrar status när assistenten rings. 7 | 8 | Kaffe kanske inte fungerar på grund av en alltför aggressiv batterisparare som implementeras av vissa OEM-tillverkare (inklusive Poco, Samsung och Xiaomi). 9 | I så fall vänligen aktivera "Alternativt läge" i inställningarna. -------------------------------------------------------------------------------- /app/src/main/java/com/github/muellerma/coffee/BootReceiver.kt: -------------------------------------------------------------------------------- 1 | package com.github.muellerma.coffee 2 | 3 | import android.content.BroadcastReceiver 4 | import android.content.Context 5 | import android.content.Intent 6 | import android.os.Build 7 | import com.github.muellerma.coffee.tiles.TimeoutTile 8 | import com.github.muellerma.coffee.tiles.ToggleTile 9 | 10 | class BootReceiver : BroadcastReceiver() { 11 | override fun onReceive(context: Context, intent: Intent) { 12 | if (intent.action != Intent.ACTION_BOOT_COMPLETED) { 13 | return 14 | } 15 | 16 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { 17 | TimeoutTile.requestTileStateUpdate(context) 18 | ToggleTile.requestTileStateUpdate(context) 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /fastlane/metadata/android/tr-TR/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee, cihaz ayarlarını değiştirmek zorunda kalmadan ekranı uyanık tutmanızı sağlar. Çeşitli yerlerde değiştirilebilir: 2 | * Hızlı ayarlardaki bir kutucuk, örneğin Wi-Fi ve Bluetooth için geçişlerin bulunduğu yer. Android 7 veya üzeri gerektirir. 3 | * Uygulamanın kendi içinde bir düğme 4 | * Ana ekranınızda bir kısayol. Başlatıcınız destekliyorsa, uygulama içinde oluşturulabilir. 5 | 6 | Coffee, yardımcı uygulama olarak ayarlanabilir (Cihaz ayarları => Uygulamalar => Varsayılan uygulamalar => Asistan uygulaması) ve yardım istendiğinde durumunu değiştirir. 7 | 8 | Coffee, bazı OEM'ler (Poco, Samsung ve Xiaomi dahil) tarafından uygulanan aşırı agresif pil tasarrufu nedeniyle çalışmayabilir. 9 | Bu durumda lütfen ayarlardan "Alternatif modu" etkinleştirin. -------------------------------------------------------------------------------- /fastlane/metadata/android/da-DK/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffe giver dig mulighed for at holde skærmen vågen uden at skulle ændre enhedens indstillinger. Det kan aktiveres forskellige steder: 2 | * En flise i de hurtige indstillinger, det sted, der holder de skifter til f.eks. Wi-Fi og Bluetooth. Kræver Android 7 eller højere. 3 | * En knap i selve appen 4 | * En genvej på startskærmen. Det kan oprettes i appen, hvis din launcher understøtter det. 5 | 6 | Kaffe kan indstilles som assisteret app (Enhedsindstillinger => Apps => Standard apps => Assist app) og ændrer dens tilstand, når assistenten kaldes. 7 | 8 | Kaffe kan ikke arbejde på grund af en alt for aggressiv batteri saver, der gennemføres af nogle OEM'er (herunder Poco, Samsung og Xiaomi). 9 | I så fald skal du aktivere "Alternativ tilstand" i indstillingerne. -------------------------------------------------------------------------------- /fastlane/metadata/android/cs-CZ/full_description.txt: -------------------------------------------------------------------------------- 1 | Káva umožňuje udržet obrazovku vzhůru, aniž byste museli měnit nastavení zařízení. Lze ji přepínat na různých místech: 2 | * Dlaždice v rychlém nastavení, místo, které drží přepínače např. pro Wi-Fi a Bluetooth. Vyžaduje Android 7 nebo vyšší. 3 | * Tlačítko v samotné aplikaci 4 | * Zkratka na domovské obrazovce. Může být vytvořena v aplikaci, pokud ji váš spouštěč podporuje. 5 | 6 | Káva může být nastavena jako asistenční aplikace (Nastavení zařízení => Aplikace => Výchozí aplikace => Asistenční aplikace) a změní stav pomoci, pokud je volána. 7 | 8 | Káva nemusí fungovat kvůli příliš agresivnímu spořiči baterií, který je implementován některými výrobci originálního vybavení (včetně Poco, Samsung a Siaomi). 9 | V takovém případě povolte v nastavení "Alternativní režim". -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_twotone_free_breakfast_24_white.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 14 | 15 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Device (please complete the following information):** 27 | - Device: [e.g. Pixel 3] 28 | - Android version: [e.g. 11] 29 | 30 | **Additional context** 31 | Add any other context about the problem here. 32 | -------------------------------------------------------------------------------- /fastlane/metadata/android/fa-IR/full_description.txt: -------------------------------------------------------------------------------- 1 | کافه شما را قادر می‌سازد تا صفحه‌نمایش را بدون انجام تغییری در تنظیمات افزاره‌تان بیدار نگه‌دارید. می‌توان آن را از مکان‌های مختلفی تغییر داد: 2 | * یک دکمه در تنظیمات سریع، مکانی که دکمه‌هایی برای تغییر حالت وای‌فای و بلوتوث و ... را دارد. نیاز به اندروید ۷ یا بالاتر دارد. 3 | * یک دکمه در درون خود کاره. 4 | * یک میان‌بر در صفحهٔ خانه. اگر راه‌انداز شما از آن پشتیبانی کند، می‌توان آن را در کاره ایجاد کرد. 5 | 6 | قهوه را می‌توان به‌عنوان برنامه کمکی تنظیم کرد (تنظیمات دستگاه => برنامه‌ها => برنامه‌های پیش‌فرض => برنامه کمکی) و هنگام فراخوانی کمک، وضعیت آن را تغییر می‌دهد. 7 | 8 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 9 | In that case please enable "Alternate mode" in the settings. -------------------------------------------------------------------------------- /fastlane/metadata/android/pl-PL/full_description.txt: -------------------------------------------------------------------------------- 1 | Kawa pozwala utrzymać wyświetlanie bez konieczności zmiany ustawień urządzenia. Można go przekierować w różnych miejscach: 2 | * Kafelek w szybkich ustawieniach, w którym znajduje się przełącznik np. Wi-Fi i Bluetooth. Wymaga Androida 7 lub wyższego. 3 | * Przycisk w samej aplikacji 4 | * Skrót na ekranie głównym. Może być utworzony w aplikacji, jeśli twój launcher wspiera aplikację. 5 | 6 | Kawa może być ustawiona jako aplikacja asystująca (Ustawienia urządzenia => Aplikacje => Domyślne aplikacje => Aplikacje asystujące) i zmienia jej stan, gdy pomoc jest wywoływana. 7 | 8 | Kawa może nie działać z powodu zbyt agresywnego oszczędzania baterii, który jest wdrażany przez niektóre OEM (w tym Poco, Samsung i Xiaomi). 9 | W takim przypadku włącz "Tryb alternatywny" w ustawieniach. -------------------------------------------------------------------------------- /fastlane/metadata/android/ru-RU/full_description.txt: -------------------------------------------------------------------------------- 1 | Кофе позволяет держать экран включенным без необходимости изменять настройки устройства. Его можно переключать в разных местах: 2 | * Плитка в быстрых настройках, в месте, где расположены переключатели, например, Wi-Fi и Bluetooth. Требуется Android 7 или выше. 3 | * Кнопка в самом приложении 4 | * Ярлык на главном экране. Он может быть создан в приложении, если ваш лаунчер поддерживает это. 5 | 6 | Coffee можно задать как вспомогательное приложение (Device settings => Приложения => Приложения по умолчанию => Помощник приложения) и изменять его состояние при вызове помощи. 7 | 8 | Кофе может не работать из-за чрезмерно агрессивного энергосбережения, который реализован некоторыми производителями (включая Poco, Samsung и Xiaomi). 9 | В этом случае включите пожалуйста "Альтернативный режим" в настройках. -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-BR/full_description.txt: -------------------------------------------------------------------------------- 1 | Café permite que você mantenha a tela ligada sem precisar alterar as configurações no aparelho. Pode ser ativado em várias maneiras: 2 | * via botão em ajustes rápidos, lugar que mantém os atalhos de Wi-Fi e Bluetooth. Exige Android 7 ou mais recente. 3 | * via botão dentro do app 4 | * via atalho na tela inicial. Também pode ser criado no app, se seu lançador suporta funcionalidade. 5 | 6 | Café pode ser definido como app de assistência (Configurações do dispositivo => Apps => Apps padrão => App de assistência) que altera seu estado quando a assistência for solicitada. 7 | 8 | Café pode não funcionar devido a função de economia da bateria excessivamente agressiva que é implementada por alguns sistemas (como no Poco, Samsung e Xiaomi). 9 | Nesse caso, por favor, ative "Modo alternativo" em configurações. -------------------------------------------------------------------------------- /fastlane/metadata/android/it-IT/full_description.txt: -------------------------------------------------------------------------------- 1 | Caffè consente di mantenere il display acceso senza dover modificare le impostazioni del dispositivo. Può essere attivata in diversi modi: 2 | * Nelle impostazioni rapide, con un pulsante, come per il Wi-Fi o il Bluetooth. Richiede Android 7 o versioni successive. 3 | * Un pulsante nell'applicazione stessa 4 | * Un collegamento sulla schermata principale. Può essere creato nell'applicazione, se il launcher lo supporta. 5 | 6 | Caffè può essere impostato come app di assistenza (Impostazioni dispositivo => App => App predefinite => App di assistenza) e cambia lo stato quando viene chiamata l'assistenza. 7 | 8 | Caffè potrebbe non funzionare a causa di un risparmio di batteria troppo aggressivo implementato da alcuni OEM (tra cui Poco, Samsung e Xiaomi). 9 | In questo caso abilita la "Modalità alternativa" nelle impostazioni. -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -dontobfuscate -------------------------------------------------------------------------------- /fastlane/metadata/android/pt-PT/full_description.txt: -------------------------------------------------------------------------------- 1 | Café permite que você mantenha a tela ligada sem precisar alterar as configurações do dispositivo. Pode ser alternado em vários lugares: 2 | * Um botão nas configurações rápidas, o local que mantém os atalhos por exemplo, Wi-Fi e Bluetooth. Requer Android 7 ou superior. 3 | * Um botão no próprio aplicativo 4 | * Um atalho na sua tela inicial. Ele pode ser criado no app se seu launcher o suporta. 5 | 6 | O café pode ser definido como aplicativo assistivo (Configurações do dispositivo => Aplicativos => Aplicativos padrão => App de assistência) e altera seu estado quando a assistência é chamada. 7 | 8 | O café pode não funcionar devido a um economizador de bateria excessivamente agressivo que é implementado por alguns OEMs (incluindo Poco, Samsung e Xiaomi). 9 | Nesse caso, por favor, ative "Modo alternativo" nas configurações. -------------------------------------------------------------------------------- /fastlane/metadata/android/uk-UA/full_description.txt: -------------------------------------------------------------------------------- 1 | Coffee дозволяє підтримувати дисплей в активному стані без необхідності змінювати налаштування пристрою. Можна перемикати в різних місцях: 2 | * Плитка в швидких налаштуваннях, місце, де знаходяться перемикачі для, наприклад, Wi-Fi та Bluetooth. Потрібна версія Android 7 або новіша. 3 | * Кнопка у самому додатку 4 | * Ярлик на головному екрані. Можна створити в додатку, якщо ваш лаунчер це підтримує. 5 | 6 | Coffee може бути встановлена як додаток-помічник (Налаштування пристрою => Програми => Програми за замовчуванням => Додаток-помічник) і змінювати свій стан при виклику помічника. 7 | 8 | Кава може не працювати через надто агресивний режим економії заряду батареї, який реалізований деякими виробниками (в тому числі Poco, Samsung і Xiaomi). 9 | У такому випадку, будь ласка, увімкніть "Альтернативний режим" у налаштуваннях. -------------------------------------------------------------------------------- /app/src/main/java/com/github/muellerma/coffee/activities/CoffeeInvisibleActivity.kt: -------------------------------------------------------------------------------- 1 | package com.github.muellerma.coffee.activities 2 | 3 | import android.app.Activity 4 | import android.os.Bundle 5 | import android.util.Log 6 | import com.github.muellerma.coffee.ForegroundService 7 | 8 | class CoffeeInvisibleActivity : Activity() { 9 | override fun onCreate(savedInstanceState: Bundle?) { 10 | super.onCreate(savedInstanceState) 11 | 12 | if (intent?.action == ACTION_TOGGLE) { 13 | Log.d(TAG, "Received toggle") 14 | ForegroundService.changeState(this, ForegroundService.Companion.STATE.TOGGLE, true) 15 | } 16 | 17 | finishAndRemoveTask() 18 | } 19 | 20 | companion object { 21 | private val TAG = CoffeeInvisibleActivity::class.java.simpleName 22 | const val ACTION_TOGGLE = "toggle" 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_shortcut_toggle_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_twotone_free_breakfast_24_accent.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /crowdin.yml: -------------------------------------------------------------------------------- 1 | files: 2 | - source: /app/src/main/res/values/strings.xml 3 | translation: /app/src/main/res/values-%two_letters_code%/strings.xml 4 | translate_attributes: 0 5 | content_segmentation: 0 6 | languages_mapping: 7 | two_letters_code: 8 | pt-BR: pt-rBR 9 | zh-CN: zh-rCN 10 | he: iw 11 | id: in 12 | yi: ji 13 | - source: /app/src/debug/res/values/strings.xml 14 | translation: /app/src/debug/res/values-%two_letters_code%/strings.xml 15 | translate_attributes: 0 16 | content_segmentation: 0 17 | languages_mapping: 18 | two_letters_code: 19 | pt-BR: pt-rBR 20 | zh-CN: zh-rCN 21 | he: iw 22 | id: in 23 | yi: ji 24 | - source: /fastlane/metadata/android/en-US/*.txt 25 | translation: /fastlane/metadata/android/%locale%/%original_file_name% 26 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ro-RO/full_description.txt: -------------------------------------------------------------------------------- 1 | Cafea vă permite să țineți ecranul treaz fără a fi nevoie să schimbați setările dispozitivului. Poate fi compusă în diferite locuri: 2 | * O dală în setările rapide, locul care ține comutatoarele de ex. Wi-Fi și Bluetooth. Necesită Android 7 sau mai mare. 3 | * Un buton în aplicație 4 | * O comandă rapidă pe ecranul de pornire. Poate fi creat în aplicație, dacă lansatorul îl suportă. 5 | 6 | Coffee poate fi setat ca asistent al aplicației (Setări dispozitiv => Aplicații => Aplicații implicite => Aplicație asistentă) și modificarea stării când se apelează asistență. 7 | 8 | Este posibil ca cafeaua să nu funcționeze din cauza unui economizor excesiv de agresiv de baterii care este implementat de unii constructori de echipamente originale (inclusiv Poco, Samsung și Xiaomi). 9 | În acest caz, vă rugăm să activați "Mod alternativ" în setări. -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_twotone_free_breakfast_120.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /fastlane/metadata/android/ca-ES/full_description.txt: -------------------------------------------------------------------------------- 1 | Cafè et permet mantenir sempre la pantalla encesa sense haver de canviar la configuració de sistema. Es pot commutar en diversos llocs: 2 | * Un mosaic a la configuració ràpida, el lloc on hi ha els commutadors, per exemple els de la Wi-Fi i el Bluetooth. Requereix Android 7 o posterior. 3 | * Un botó a la mateixa aplicació 4 | * Una drecera a la pantalla principal. Pot ser creat a l'app si la teva aplicació d'inici ho suporta. 5 | 6 | Cafè pot estar configurat com aplicació de l'assistent digital (Configuració => Aplicacions => Aplicacions predeterminades => Aplicació de l'assistent digital) i commutar el seu estat quan es cridi l'assistent. 7 | 8 | Cafè pot no funcionar a causa del molt agressiu estalvi de bateria que implementen alguns OEMs (incloent-hi Poco, Samsung i Xiaomi). 9 | En aquest cas si us plau habiliteu "Mode altern" a la configuració. -------------------------------------------------------------------------------- /fastlane/metadata/android/nl-NL/full_description.txt: -------------------------------------------------------------------------------- 1 | Koffie zorgt ervoor dat jouw scherm aan blijft zonder dat de apparaatinstellingen veranderd hoeven te worden. Het kan aangezet worden op verschillende plekken: 2 | * Een tegel in de snelle instellingen, de plek waar de schakelaar wordt vastgehouden voor bijvoorbeeld Wi-Fi en Bluetooth. Dit vereist Android 7 of hoger. 3 | * Een knop in de app zelf 4 | * Een snelkoppeling op jouw home scherm. Het kan in de app gemaakt worden, mits jouw laucher dit ondersteunt. 5 | 6 | Koffie kan worden ingesteld als ondersteunende app (Apparaatinstellingen => Apps => Standaard apps => Ondersteunende app) en veranderd zijn status wanneer dit benodigd is. 7 | 8 | Koffie werkt mogelijk niet vanwege een te agressieve batterijbesparing die is geïmplementeerd door sommige OEM's (waaronder Poco, Samsung en Xiaomi). 9 | Schakel in dat geval "Alternatieve modus" in bij de instellingen. -------------------------------------------------------------------------------- /fastlane/metadata/android/hu-HU/full_description.txt: -------------------------------------------------------------------------------- 1 | A Coffee lehetővé teszi, hogy a kijelzőt ébren tartsa anélkül, hogy a készülék beállításait megváltoztatná. Több különböző helyen is bekapcsolható: 2 | * Egy csempe a gyorsbeállításokban, a hely, ahol például a Wi-Fi és a Bluetooth kapcsolók vannak. Android 7, vagy újabb verzió szükséges. 3 | * Egy gomb magában az alkalmazásban 4 | * Egy parancsikon a kezdőképernyőjén. Létrehozhatja az alkalmazásban, ha a indítópultja támogatja. 5 | 6 | A Coffee beállítható asszisztens alkalmazásként (Készülékbeállítások => Alkalmazások => Alapértelmezett alkalmazások => Kisegítő alkalmazás), és az kisegítés hívásakor megváltoztatja az állapotát. 7 | 8 | A Coffee nem biztos, hogy működik, mert az egyes OEM-ek (köztük a Poco, a Samsung és a Xiaomi) túlságosan agresszív akkumulátorkímélési technológiát alkalmaznak. 9 | Abban az esetben, kérjük engedélyezze az "Alternatív üzemmód"-ot a beállításokban. -------------------------------------------------------------------------------- /fastlane/metadata/android/fr-FR/full_description.txt: -------------------------------------------------------------------------------- 1 | Café vous permet de garder l'écran allumé sans avoir à modifier les paramètres de l'appareil. Il peut être activé à différents endroits : 2 | * Une tuile dans les notifications, l'endroit où se trouvent les raccourcis, par exemple le Wi-Fi et le Bluetooth. Nécessite Android 7 ou supérieur. 3 | * Un bouton dans l'application elle-même 4 | * Un raccourci sur votre écran d'accueil. Il peut être créé dans l'application, si votre lanceur d'application le supporte. 5 | 6 | Café peut être défini comme application d'assistance (Paramètres de l'appareil => Applications => Applications par défaut => Application d'assistance) et modifie son état lorsque l'aide est appelée. 7 | 8 | Café peut ne pas fonctionner à cause d'un économiseur de batterie trop agressif qui est mis en œuvre par certains OEMs (y compris Poco, Samsung et Xiaomi). 9 | Dans ce cas, veuillez activer "Mode alternatif" dans les paramètres. -------------------------------------------------------------------------------- /fastlane/metadata/android/de-DE/full_description.txt: -------------------------------------------------------------------------------- 1 | Kaffee ermöglicht den Bildschirm eingeschaltet zu lassen, ohne dass man die Geräteeinstellungen ändern muss. Die App kann an verschiedenen Stellen umgeschaltet werden: 2 | * Über eine Kachel in den Schnelleinstellungen, dem Ort, wo Schalter für z.B. WLAN und Bluethooth sind. Benötigt Android 7 oder höher. 3 | * Über einen Button in der App selbst 4 | * Über eine Verknüpfung auf dem Startbildschirm. Diese kann in der App erstellt werden, wenn das der Launcher unterstützt. 5 | 6 | Kaffee kann als Assistent-App eingestellt werden (Geräteeinstellungen => Apps => Standard-Apps => Assistent-App) und ändert seinen Status beim Aufruf der Assistenz. 7 | 8 | Kaffee kann aufgrund eines übermäßig aggressiven Energiesparmodus nicht funktionieren, der von einigen Herstellern (einschließlich Poco, Samsung und Xiaomi) implementiert wird. 9 | In diesem Fall aktivieren Sie bitte "Alternativer Modus" in den Einstellungen. -------------------------------------------------------------------------------- /fastlane/metadata/android/el-GR/full_description.txt: -------------------------------------------------------------------------------- 1 | Ο καφές σας επιτρέπει να διατηρήσετε την οθόνη ενεργή χωρίς να χρειάζεται να αλλάξετε τις ρυθμίσεις της συσκευής. Μπορεί να toggled σε διάφορα σημεία: 2 | * Ένα πλακίδιο στις γρήγορες ρυθμίσεις, το μέρος που συγκρατεί τις εναλλαγές για π.χ. Wi-Fi και Bluetooth. Απαιτεί Android 7 ή νεότερη έκδοση. 3 | * Ένα κουμπί στην ίδια την εφαρμογή 4 | * Μια συντόμευση στην αρχική σας οθόνη. Μπορεί να δημιουργηθεί στην εφαρμογή, αν το υποστηρίξει ο εκκινητής. 5 | 6 | Ο καφές μπορεί να οριστεί ως βοηθητική εφαρμογή (Ρυθμίσεις συσκευής => Εφαρμογές => Προεπιλεγμένες εφαρμογές => Βοηθήστε την εφαρμογή) και αλλάζει την κατάσταση όταν καλείται βοήθεια. 7 | 8 | Ο καφές μπορεί να μην λειτουργεί λόγω μιας υπερβολικά επιθετικής εξοικονόμησης μπαταρίας που εφαρμόζεται από κάποια OEMs (συμπεριλαμβανομένων των Poco, Samsung και Xiaomi). 9 | Σε αυτή την περίπτωση, παρακαλώ ενεργοποιήστε την "Εναλλακτική λειτουργία" στις ρυθμίσεις. -------------------------------------------------------------------------------- /fastlane/metadata/android/es-ES/full_description.txt: -------------------------------------------------------------------------------- 1 | Café le permite mantener la pantalla encendida sin tener que cambiar la configuración del dispositivo. Puede ser activado en varios lugares: 2 | * Un mosaico en los ajustes rápidos, el lugar donde se encuentran los interruptores para, por ejemplo, Wifi y Bluetooth. Requiere Android 7 o superior. 3 | * Un botón en la misma aplicación 4 | * Un acceso directo en su pantalla de inicio. Puede ser creado desde la aplicación, si su lanzador lo soporta. 5 | 6 | Se puede establecer Café como aplicación de asistencia (Configuración del dispositivo ⇒ Aplicaciones ⇒ Aplicaciones predeterminadas ⇒ Aplicación de asistencia) y así cambiar su estado cuando se llama al asistente. 7 | 8 | Es posible que Café no funcione debido a la optimización de batería demasiado agresiva que algunos fabricantes (incluyendo a Poco, a Samsung y a Xiaomi) han aplicado. 9 | En ese caso, por favor, active "Modo alternativo" en los ajustes. -------------------------------------------------------------------------------- /app/src/main/java/com/github/muellerma/coffee/Assist.kt: -------------------------------------------------------------------------------- 1 | package com.github.muellerma.coffee 2 | 3 | import android.content.Context 4 | import android.os.Bundle 5 | import android.service.voice.VoiceInteractionService 6 | import android.service.voice.VoiceInteractionSession 7 | import android.service.voice.VoiceInteractionSessionService 8 | import android.util.Log 9 | 10 | private const val TAG = "Assist" 11 | 12 | class InteractionSessionService : VoiceInteractionSessionService() { 13 | override fun onNewSession(bundle: Bundle?) = InteractionSession(this) 14 | } 15 | 16 | class InteractionSession(private val ctx: Context) : VoiceInteractionSession(ctx) { 17 | override fun onHandleAssist(state: AssistState) { 18 | Log.d(TAG, "onHandleAssist") 19 | ForegroundService.changeState(ctx, ForegroundService.Companion.STATE.TOGGLE, true) 20 | finish() 21 | } 22 | } 23 | 24 | class InteractionService : VoiceInteractionService() -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 17 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/values-zh/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 咖啡 7 | 開啓 8 | 已開啓:剩餘 %s 9 | 關閉 10 | 開關 11 | 12 | 此應用程式在快速設定中提供一個圖塊 (放置 Wi-Fi 和 藍牙 等切換鈕的地方),讓您無須變更裝置設定就能讓熒幕保持喚醒狀態。 13 | 按一下圖塊或通知,或手動關閉螢幕時,即可停止咖啡。 14 | 添加開關到主熒幕 15 | 新增設定方塊 16 | 釘選至主熒幕 17 | 固定到主畫面時出錯 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/values-fa/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | قهوه 7 | پایندان قهوه 8 | 9 | این برنامه یک خانه را در ساماندهی آنی (جایگاه پایندان؛ برای نمونه، جای وای‌فای و بلوتوث) فراهم می‌کند که توانایی بیدار نگه‌داشتن نمایشگر را بدون تغییر ساماندهی به شما می‌دهد. 10 | قهوه با کلیک بر روی خانه یا آگهداد یا هنگامی که نمایشگر به گونه دستی خاموش شود، می‌ایستد. 11 | افزودن پایندان به برگ خانه 12 | به خانه سنجاق شد 13 | کژی در چسباندن به خانه 14 | 15 | برای خاموشی بزنید 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/values-in/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Kopi 7 | Beralih Kopi 8 | 9 | Aplikasi ini menyediakan ubin dalam pengaturan cepat (tempat beralih untuk mis. Wi-Fi dan Bluetooth) yang memungkinkan anda untuk menjaga tampilan tetap aktif tanpa harus mengubah pengaturan perangkat. 10 | Kopi bisa dihentikan dengan mengklik tile atau notifikasi atau saat layar dimatikan secara manual. 11 | Tambahkan toggle ke layar beranda 12 | Disematkan ke tampilan depan 13 | Terjadi kesalahan saat menyematkan ke tampilan depan 14 | 15 | Ketuk untuk mematikan 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 17 | 18 | 22 | 23 | 27 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | # Automatically convert third-party libraries to use AndroidX 19 | android.enableJetifier=true 20 | # Kotlin code style for this project: "official" or "obsolete": 21 | kotlin.code.style=official 22 | android.defaults.buildfeatures.buildconfig=true 23 | android.nonTransitiveRClass=false 24 | android.nonFinalResIds=false -------------------------------------------------------------------------------- /.idea/jarRepositories.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 14 | 15 | 19 | 20 | 24 | 25 | 29 | 30 | -------------------------------------------------------------------------------- /.github/workflows/deploy-apk.yml: -------------------------------------------------------------------------------- 1 | name: Deploy APK on GitHub 2 | 3 | on: 4 | release: 5 | types: 6 | - created 7 | 8 | permissions: 9 | contents: write 10 | 11 | jobs: 12 | build: 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v4 17 | 18 | - name: Setup Java 19 | uses: actions/setup-java@v4 20 | with: 21 | distribution: 'adopt' 22 | java-version: 17 23 | 24 | - name: Validate Gradle Wrapper 25 | uses: gradle/wrapper-validation-action@v3.5.0 26 | 27 | - name: Build APK 28 | run: bash gradlew app:assembleRelease 29 | 30 | - uses: r0adkll/sign-android-release@v1.0.4 31 | name: Sign APK 32 | id: sign_app 33 | with: 34 | releaseDirectory: app/build/outputs/apk/release 35 | signingKeyBase64: ${{ secrets.SIGNING_KEY }} 36 | alias: "key0" 37 | keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} 38 | keyPassword: ${{ secrets.KEY_PASSWORD }} 39 | env: 40 | BUILD_TOOLS_VERSION: "34.0.0" 41 | 42 | - uses: svenstaro/upload-release-action@v2 43 | name: Upload APK 44 | with: 45 | file: ${{steps.sign_app.outputs.signedReleaseFile}} 46 | asset_name: coffee.apk 47 | tag: ${{ github.ref }} 48 | repo_token: ${{ secrets.GITHUB_TOKEN }} 49 | -------------------------------------------------------------------------------- /app/src/main/res/xml/pref_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 13 | 19 | 25 | 26 | 27 | 30 | 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/muellerma/coffee/tiles/ToggleTile.kt: -------------------------------------------------------------------------------- 1 | package com.github.muellerma.coffee.tiles 2 | 3 | import android.content.ComponentName 4 | import android.content.Context 5 | import android.os.Build 6 | import android.util.Log 7 | import androidx.annotation.RequiresApi 8 | import com.github.muellerma.coffee.ForegroundService 9 | import com.github.muellerma.coffee.ServiceStatus 10 | import com.github.muellerma.coffee.ServiceStatusObserver 11 | 12 | @RequiresApi(Build.VERSION_CODES.N) 13 | class ToggleTile : AbstractTile() { 14 | override fun onClick() { 15 | Log.d(TAG, "onClick()") 16 | ForegroundService.changeState(this, ForegroundService.Companion.STATE.TOGGLE, false) 17 | super.onClick() 18 | } 19 | 20 | @RequiresApi(Build.VERSION_CODES.N) 21 | companion object { 22 | private val TAG = ToggleTile::class.java.simpleName 23 | 24 | fun requestTileStateUpdate(context: Context) { 25 | Log.d(TAG, "requestTileStateUpdate()") 26 | try { 27 | requestListeningState(context, ComponentName(context, ToggleTile::class.java)) 28 | } catch (e: Exception) { 29 | Log.e(TAG, "Error when calling requestListeningState()", e) 30 | } 31 | } 32 | } 33 | 34 | class TileServiceStatusObserver(private val context: Context) : ServiceStatusObserver { 35 | override fun onServiceStatusUpdate(status: ServiceStatus) { 36 | requestTileStateUpdate(context) 37 | } 38 | 39 | } 40 | } -------------------------------------------------------------------------------- /app/src/main/java/com/github/muellerma/coffee/Prefs.kt: -------------------------------------------------------------------------------- 1 | package com.github.muellerma.coffee 2 | 3 | import android.content.Context 4 | import android.content.SharedPreferences 5 | import androidx.core.content.edit 6 | import androidx.preference.PreferenceManager 7 | 8 | class Prefs(private val context: Context) { 9 | var sharedPrefs: SharedPreferences = PreferenceManager.getDefaultSharedPreferences(context) 10 | private set 11 | 12 | var timeout: Int 13 | get() = sharedPrefs.getString("timeout", "0")?.toInt() ?: 0 14 | set(value) = sharedPrefs.edit { putString("timeout", value.toString()) } 15 | 16 | val nextTimeout: Int 17 | get() { 18 | val allTimeouts = context.resources.getStringArray(R.array.timeout_values) 19 | val currentIndex = allTimeouts.indexOf(timeout.toString()) 20 | val nextIndex = (currentIndex + 1).mod(allTimeouts.size) 21 | return allTimeouts[nextIndex].toIntOrNull() ?: 0 22 | } 23 | 24 | val firstTimeout: Int 25 | get() { 26 | val allTimeouts = context.resources.getStringArray(R.array.timeout_values) 27 | return allTimeouts[1].toIntOrNull() ?: 0 28 | } 29 | 30 | var allowDimming: Boolean 31 | get() = sharedPrefs.getBoolean("allow_dimming", false) 32 | set(value) = sharedPrefs.edit { putBoolean("allow_dimming", value) } 33 | 34 | val useAlternateMode: Boolean 35 | get() = sharedPrefs.getBoolean("alternate_mode", false) 36 | 37 | var alternateModeOldTimeout: Int 38 | get() = sharedPrefs.getInt("alternate_mode_old_timeout", -1) 39 | set(value) = sharedPrefs.edit { putInt("alternate_mode_old_timeout", value) } 40 | } -------------------------------------------------------------------------------- /app/src/main/java/com/github/muellerma/coffee/CoffeeApplication.kt: -------------------------------------------------------------------------------- 1 | package com.github.muellerma.coffee 2 | 3 | import android.app.Application 4 | import android.os.Build 5 | import androidx.preference.PreferenceManager 6 | import com.github.muellerma.coffee.tiles.TimeoutTile 7 | import com.github.muellerma.coffee.tiles.ToggleTile 8 | import com.google.android.material.color.DynamicColors 9 | import kotlin.time.Duration 10 | 11 | class CoffeeApplication : Application() { 12 | var observers = mutableListOf() 13 | var lastStatusUpdate: ServiceStatus = ServiceStatus.Stopped 14 | private set 15 | 16 | override fun onCreate() { 17 | super.onCreate() 18 | 19 | PreferenceManager.setDefaultValues(this, R.xml.pref_main, false) 20 | DynamicColors.applyToActivitiesIfAvailable(this) 21 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { 22 | observers.add(ToggleTile.TileServiceStatusObserver(this)) 23 | observers.add(TimeoutTile.TileServiceStatusObserver(this)) 24 | } 25 | } 26 | 27 | fun notifyObservers(status: ServiceStatus) { 28 | lastStatusUpdate = status 29 | observers.forEach { observer -> 30 | observer.onServiceStatusUpdate(status) 31 | } 32 | } 33 | } 34 | 35 | interface ServiceStatusObserver { 36 | fun onServiceStatusUpdate(status: ServiceStatus) 37 | } 38 | 39 | sealed class ServiceStatus { 40 | class Running(val remaining: Duration?) : ServiceStatus() { 41 | override fun toString() = "${Running::class.java.simpleName}(${remaining?.inWholeSeconds})" 42 | } 43 | object Stopped : ServiceStatus() { 44 | override fun toString(): String = Stopped::class.java.simpleName 45 | } 46 | } -------------------------------------------------------------------------------- /app/src/main/java/com/github/muellerma/coffee/tiles/TimeoutTile.kt: -------------------------------------------------------------------------------- 1 | package com.github.muellerma.coffee.tiles 2 | 3 | import android.content.ComponentName 4 | import android.content.Context 5 | import android.os.Build 6 | import android.util.Log 7 | import androidx.annotation.RequiresApi 8 | import com.github.muellerma.coffee.ForegroundService 9 | import com.github.muellerma.coffee.Prefs 10 | import com.github.muellerma.coffee.ServiceStatus 11 | import com.github.muellerma.coffee.ServiceStatusObserver 12 | import com.github.muellerma.coffee.coffeeApp 13 | 14 | @RequiresApi(Build.VERSION_CODES.N) 15 | class TimeoutTile : AbstractTile() { 16 | override fun onClick() { 17 | Log.d(TAG, "onClick()") 18 | val prefs = Prefs(applicationContext) 19 | when { 20 | coffeeApp().lastStatusUpdate is ServiceStatus.Stopped -> { 21 | prefs.timeout = prefs.firstTimeout 22 | ForegroundService.changeState(this, ForegroundService.Companion.STATE.START, false) 23 | } 24 | prefs.nextTimeout == 0 -> { 25 | prefs.timeout = 0 26 | ForegroundService.changeState(this, ForegroundService.Companion.STATE.STOP, false) 27 | } 28 | else -> { 29 | prefs.timeout = prefs.nextTimeout 30 | } 31 | } 32 | super.onClick() 33 | } 34 | 35 | @RequiresApi(Build.VERSION_CODES.N) 36 | companion object { 37 | private val TAG = TimeoutTile::class.java.simpleName 38 | 39 | fun requestTileStateUpdate(context: Context) { 40 | Log.d(TAG, "requestTileStateUpdate()") 41 | try { 42 | requestListeningState(context, ComponentName(context, TimeoutTile::class.java)) 43 | } catch (e: Exception) { 44 | Log.e(TAG, "Error when calling requestListeningState()", e) 45 | } 46 | } 47 | } 48 | 49 | class TileServiceStatusObserver(private val context: Context) : ServiceStatusObserver { 50 | override fun onServiceStatusUpdate(status: ServiceStatus) { 51 | requestTileStateUpdate(context) 52 | } 53 | } 54 | } -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.android.application" 2 | apply plugin: "kotlin-android" 3 | apply plugin: "com.mikepenz.aboutlibraries.plugin" 4 | 5 | android { 6 | compileSdk 36 7 | 8 | defaultConfig { 9 | applicationId "com.github.muellerma.coffee" 10 | minSdkVersion 21 11 | targetSdkVersion 34 12 | versionCode 45 13 | versionName "2.25" 14 | } 15 | namespace = "com.github.muellerma.coffee" 16 | 17 | buildTypes { 18 | release { 19 | minifyEnabled true 20 | shrinkResources true 21 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 22 | } 23 | debug { 24 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 25 | applicationIdSuffix ".debug" 26 | } 27 | } 28 | 29 | compileOptions { 30 | sourceCompatibility JavaVersion.VERSION_17 31 | targetCompatibility JavaVersion.VERSION_17 32 | encoding "UTF-8" 33 | } 34 | kotlinOptions { 35 | jvmTarget = JavaVersion.VERSION_17.toString() 36 | allWarningsAsErrors = true 37 | } 38 | 39 | buildFeatures { 40 | viewBinding true 41 | } 42 | lint { 43 | abortOnError false 44 | } 45 | androidResources { 46 | generateLocaleConfig true 47 | } 48 | } 49 | 50 | // Make app reproducible by removing timestamp. 51 | // https://github.com/mikepenz/AboutLibraries/issues/784#issuecomment-1205501876 52 | aboutLibraries { 53 | excludeFields = [ "generated" ] 54 | } 55 | 56 | dependencies { 57 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 58 | implementation "androidx.core:core-ktx:1.16.0" 59 | implementation "androidx.appcompat:appcompat:1.7.1" 60 | implementation "androidx.fragment:fragment-ktx:1.8.8" 61 | implementation "com.google.android.material:material:1.12.0" 62 | implementation "androidx.preference:preference-ktx:1.2.1" 63 | implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" 64 | implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version" 65 | implementation "com.mikepenz:aboutlibraries:$about_libraries_version" 66 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Coffee 2 | 3 | [![Build App](https://github.com/mueller-ma/Coffee/actions/workflows/build.yml/badge.svg)](https://github.com/mueller-ma/Coffee/actions/workflows/build.yml) 4 | [![CodeFactor](https://www.codefactor.io/repository/github/mueller-ma/coffee/badge)](https://www.codefactor.io/repository/github/mueller-ma/coffee) 5 | [![Crowdin](https://badges.crowdin.net/coffee-app/localized.svg)](https://crowdin.com/project/coffee-app) 6 | 7 | This Android app allows you to keep the display awake without having to change the device settings. It can be toggled at various places: 8 | * A tile in the quick settings, the place that holds the toggles for e.g. Wi-Fi and Bluetooth. Requires Android 7 or higher. 9 | * A button in the app itself 10 | * A shortcut on your home screen. It can be created in the app, if your launcher supports it. 11 | 12 | Coffee can be set as assist app (Device settings => `Apps` => `Default apps` => `Assist app`) and changes it's state when assist is called. 13 | 14 | [Get it on F-Droid](https://f-droid.org/de/packages/com.github.muellerma.coffee/)[Download from GitHub](https://github.com/mueller-ma/Coffee/releases) 15 | 16 | Screenshot 17 | 18 | ## Maintenance notice 19 | 20 | From my point of view this app is feature complete. I probably won't add new major features on my own, but I will: 21 | * Keep dependencies up-to-date 22 | * Merge new translations 23 | * Fix bugs 24 | * Review and merge PRs, even for new features 25 | 26 | ## Translations 27 | 28 | App strings and the app store description can be translated via Crowdin: https://crowdin.com/project/coffee-app 29 | 30 | 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](https://crowdin.com/profile/mueller-ma) or open an issue here on GitHub. 31 | 32 | 33 | ## Troubleshooting 34 | 35 | Coffee may not work because of an overly aggressive battery saver that is implemented by some OEMs (including Poco, Samsung and Xiaomi). 36 | In that case please enable "Alternate mode" in the settings. 37 | 38 | ## Credits 39 | 40 | * Feature graphic by https://unsplash.com/@mukulwadhwa 41 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/muellerma/coffee/tiles/AbstractTile.kt: -------------------------------------------------------------------------------- 1 | package com.github.muellerma.coffee.tiles 2 | 3 | import android.os.Build 4 | import android.os.Handler 5 | import android.os.Looper 6 | import android.service.quicksettings.Tile 7 | import android.service.quicksettings.TileService 8 | import android.util.Log 9 | import androidx.annotation.CallSuper 10 | import androidx.annotation.RequiresApi 11 | import com.github.muellerma.coffee.R 12 | import com.github.muellerma.coffee.ServiceStatus 13 | import com.github.muellerma.coffee.coffeeApp 14 | import com.github.muellerma.coffee.toFormattedTime 15 | 16 | @RequiresApi(Build.VERSION_CODES.N) 17 | abstract class AbstractTile : TileService() { 18 | @CallSuper 19 | override fun onClick() { 20 | Log.d(TAG, "onClick()") 21 | Handler(Looper.getMainLooper()).postDelayed({ 22 | Log.d(TAG, "Delaying tile state update for 1 second") 23 | setTileState() 24 | }, 500) 25 | } 26 | 27 | override fun onCreate() { 28 | Log.d(TAG, "onCreate()") 29 | super.onCreate() 30 | setTileState() 31 | } 32 | 33 | override fun onStartListening() { 34 | Log.d(TAG, "onStartListening()") 35 | setTileState() 36 | super.onStartListening() 37 | } 38 | 39 | override fun onTileAdded() { 40 | Log.d(TAG, "onTileAdded()") 41 | setTileState() 42 | super.onTileAdded() 43 | } 44 | 45 | private fun setTileState() { 46 | val currentStatus = coffeeApp().lastStatusUpdate 47 | Log.d(TAG, "setTileState(): running = $currentStatus") 48 | val tile = qsTile ?: return 49 | 50 | val (tileState, tileSubtitle) = when (currentStatus) { 51 | is ServiceStatus.Stopped -> Pair(Tile.STATE_INACTIVE, "") 52 | is ServiceStatus.Running -> { 53 | if (currentStatus.remaining == null) { 54 | Pair(Tile.STATE_ACTIVE, "") 55 | } else { 56 | Pair(Tile.STATE_ACTIVE, currentStatus.remaining.toFormattedTime()) 57 | } 58 | } 59 | } 60 | 61 | tile.apply { 62 | state = tileState 63 | label = getString(R.string.app_name) 64 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { 65 | subtitle = tileSubtitle 66 | } 67 | updateTile() 68 | } 69 | } 70 | 71 | companion object { 72 | private val TAG = AbstractTile::class.java.simpleName 73 | } 74 | } -------------------------------------------------------------------------------- /app/src/main/res/values-zh-rCN/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 咖啡 Coffee 7 | 已打开 8 | 已开启:剩余 %s 9 | 已关闭 10 | 开关咖啡 Coffee 11 | 12 | 此应用在快捷设置(放置着 Wi-Fi 和蓝牙等开关的地方)中提供了一个磁块,使您可以保持屏幕常亮,而无需更改设备设置 13 | 可以通过点击磁块、通知或手动关闭屏幕来停用咖啡 Coffee 14 | 添加开关到主屏幕 15 | 添加磁贴 16 | 已固定到主页 17 | 固定到主屏幕时出错 18 | 需要显示通知权限 19 | 授权 20 | 21 | 咖啡Coffee将保持屏幕常亮 22 | 咖啡将保持屏幕常亮:%s 23 | 点击关闭 24 | 允许屏幕变暗 25 | 不允许屏幕变暗 26 | 下一个时限 27 | 28 | 设置 29 | 定时关闭咖啡 30 | 不限时 31 | 5 分钟 32 | 15 分钟 33 | 30 分钟 34 | 1 小时 35 | 2 小时 36 | 允许屏幕变暗 37 | 屏幕将会根据系统的屏幕超时时间来变暗 38 | 备用模式 39 | 仅在咖啡无法保持屏幕常亮时才需要启用备用模式;在此模式下,其他功能可能无法正常工作。备用模式通过暂时增加屏幕超时时间来保持屏幕常亮。 40 | 备用模式需要此权限 41 | Coffee 咖啡无法设置之前的超时时间 42 | 43 | 关于咖啡 Coffee 44 | 未发现浏览器 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-ja/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | コーヒー 7 | 有効 8 | 有効: 残り %s 9 | 無効 10 | コーヒーを切り替え 11 | 12 | このアプリはクイック設定(Wi-FiやBluetoothなどの切り替えボタンがある場所)に端末の設定を変えることなくディスプレイの自動消灯を一時的に無効化できるタイルを追加します。 13 | コーヒーはタイルをもう一度押す、通知をタップする、手動で画面をオフにするなどで止められます。 14 | ホーム画面にショートカットを追加 15 | タイルを追加 16 | ホーム画面に追加しました 17 | ホーム画面に追加できませんでした 18 | 通知を表示する権限が必要です 19 | 許可 20 | 21 | ディスプレイが消灯しないようにしています 22 | %s の間ディスプレイが消灯しないようにしています 23 | タップしてオフにする 24 | 調光を有効にする 25 | 調光を無効にする 26 | タイマーを切り替え 27 | 28 | 設定 29 | コーヒーを自動的にオフにするまでの時間 30 | 無効 31 | 5分 32 | 15分 33 | 30分 34 | 1時間 35 | 2時間 36 | 画面の調光を許可 37 | 画面がシステムの自動消灯の時間に基づいて暗くなることを許可します。 38 | 代替モード 39 | コーヒーが機能していない場合のみ代替モードをオンにしてください。代替モードでは一部の機能が使えなくなります。代替モードは一時的にシステムの自動消灯設定を変更することにより画面の消灯を防止します。 40 | 代替モードにはこの権限が必要です 41 | コーヒーは自動消灯の設定を元に戻すことができませんでした 42 | 43 | コーヒーについて 44 | ブラウザが見つかりませんでした 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-ko/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Coffee 7 | 활성화됨 8 | 활성화됨: %s 남음 9 | 비활성화됨 10 | Coffee 전환하기 11 | 12 | 이 앱은 빠른 설정창(전환 버튼들이 있는곳, 예를 들어 Wi-Fi나 블루투스 버튼들)에 기기의 설정을 바꾸지 않고 화면이 계속 켜져있게 해주는 타일을 제공합니다. 13 | 타일이나 알림을 클릭하거나, 화면을 수동으로 꺼서 Coffee를 비횔성화할 수 있습니다. 14 | 홈스크린에 전환 버튼 추가하기 15 | 타일 추가하기 16 | 홈에 고정함 17 | 홈에 고정하는데 실패함 18 | 알림을 표시할 권한이 필요합니다 19 | 허용 20 | 21 | Coffee가 디스플레이가 켜져 있게 유지합니다 22 | Coffee가 디스플레이가 켜져 있게 유지합니다: %s 23 | 탭하여 끄기 24 | 디밍 활성화 25 | 디밍 비활성화 26 | 다음 타임아웃 27 | 28 | 설정 29 | 다음 시간 후 Coffee 중단하기 30 | 타임아웃 없음 31 | 5분 32 | 15분 33 | 30분 34 | 1시간 35 | 2시간 36 | 스크린 디밍 허용하기 37 | 시스템의 스크린 타임아웃 설정에 따라 스크린이 디밍됩니다 38 | 대체 모드 39 | Coffee를 활성화했음에도 화면이 꺼질 때만 대체 모드를 활성화해주세요. 다른 기능들이 작동하지 않을 수 있습니다. 대체 모드는 일시적으로 시스템 스크린 타임아웃을 증가시킵니다. 40 | 대체 모드는 이 권한이 필요합니다 41 | Coffee가 이전 타임아웃을 설정하지 못했습니다 42 | 43 | Coffee 정보 44 | 브라우저를 찾을 수 없음 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-nb/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Kaffe 7 | Skrudd på 8 | Slått på: %s gjenstår 9 | Skrudd av 10 | Veksle Kaffe 11 | 12 | Denne appen gir en flis i hurtiginnstillingene (stedet som holder vektene for eksempel Wi-Fi og Bluetooth) som lar deg holde skjermen våken uten å endre enhetens innstillinger. 13 | Kaffe kan stanses ved å klikke på flisen, varslene eller når skjermen er slått av manuelt. 14 | Legg til veksling til startskjerm 15 | Festet til hjemme 16 | Feil ved knytting til hjemme 17 | Tillatelse til å vise varslinger er påkrevd 18 | Tillat 19 | 20 | Kaffe vil holde skjermen på 21 | Kaffe vil beholde skjermen på: %s 22 | Trykk for å skru av 23 | Aktiver dimming 24 | Deaktiver dimming 25 | Neste tidsavbrudd 26 | 27 | Innstillinger 28 | Stopp Kaffe etter 29 | Ingen tidsavbrudd 30 | 5 minutter 31 | 15 minutter 32 | 30 minutter 33 | 1 time 34 | 2 timer 35 | Tillat skjermdimming 36 | Skjermen vil bli dimmet basert på systemets tidsavbrudd 37 | Alternativ modus 38 | Alternativ modus krever denne tillatelsen 39 | Kaffe kunne ikke angi forrige tidsavbrudd 40 | 41 | Om Kaffe 42 | Ingen nettleser funnet 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values-cs/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Káva 7 | Zapnuto 8 | Zapnuto: %s zbývá 9 | Vypnuto 10 | Přepnout kávu 11 | 12 | Tato aplikace poskytuje dlaždici v rychlém nastavení (místo, kde je umístěno přepínače např. Wi-Fi a Bluetooth), které umožňují udržet obrazovku vzhůru bez nutnosti měnit nastavení zařízení. 13 | Kávu lze zastavit kliknutím na dlaždici nebo oznámením nebo při manuálním vypnutí obrazovky. 14 | Přidat přepínání na domovskou obrazovku 15 | Připnuto na domov 16 | Chyba připnutí domů 17 | Je vyžadováno oprávnění k zobrazení oznámení 18 | Udělit 19 | 20 | Káva bude zapnuta 21 | Káva bude udržovat displej na: %s 22 | Klepnutím vypnete 23 | Povolit stmívání 24 | Zakázat stmívání 25 | Příští časový limit 26 | 27 | Nastavení 28 | Zastavit kávu po 29 | Žádný časový limit 30 | 5 minut 31 | 15 minut 32 | 30 minut 33 | 1 hodina 34 | 2 hodiny 35 | Povolit stmívání obrazovky 36 | Obrazovka bude ztlumena podle časového limitu systémové obrazovky 37 | Alternativní režim 38 | Alternativní režim vyžaduje toto oprávnění 39 | Káva nemohla nastavit předchozí časový limit 40 | 41 | O kávě 42 | Nebyl nalezen žádný prohlížeč 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values-da/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Kaffe 7 | Slået til 8 | Slået til: %s tilbage 9 | Slukket fra 10 | Slå Kaffe Til/Fra 11 | 12 | Denne app giver en flise i hurtig-indstillingerne (det sted, der holder skiftene til f.eks. Wi-Fi og Bluetooth), der giver dig mulighed for at holde skærmen vågen uden at skulle ændre enhedsindstillingerne. 13 | Kaffe kan stoppes ved at klikke på flisen eller notifikationen, eller når skærmen er slukket manuelt. 14 | Tilføj skift til startskærm 15 | Fastgjort til hjem 16 | Fejl ved fastgørelse til hjemmet 17 | Tilladelse til at vise notifikationer er påkrævet 18 | Tildel 19 | 20 | Kaffe vil holde skærmen tændt 21 | Kaffe vil holde skærmen på: %s 22 | Tryk for at slukke 23 | Aktivér dæmpning 24 | Deaktivér dæmpning 25 | Næste timeout 26 | 27 | Indstillinger 28 | Stop kaffe efter 29 | Ingen timeout 30 | 5 minutter 31 | 15 minutter 32 | 30 minutter 33 | 1 time 34 | 2 timer 35 | Tillad skærmdæmpning 36 | Skærmen vil blive dæmpet baseret på systemskærmens timeout 37 | Alternativ tilstand 38 | Alternativ tilstand kræver denne tilladelse 39 | Kaffe kunne ikke indstille forrige timeout 40 | 41 | Om Kaffe 42 | Ingen browser fundet 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values-sv/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Kaffe 7 | Aktiverad 8 | Aktiverad på: %s kvar 9 | Stäng av 10 | Växla Kaffe 11 | 12 | Denna applikation ger en bricka i snabbinställningarna (platsen som håller växlarna för t.ex. Wi-Fi och Bluetooth) som låter dig hålla skärmen vaken utan att behöva ändra enhetsinställningarna. 13 | Kaffe kan stoppas genom att klicka på brickan, notifikationen eller när skärmen stängs av manuellt. 14 | Lägg till växeln på startskärmen 15 | Fäst på hem 16 | Fel vid fästning på hem 17 | Behörighet att visa aviseringar krävs 18 | Bevilja 19 | 20 | Kaffe kommer att hålla displayen på 21 | Kaffe kommer att hålla displayen på: %s 22 | Tryck för att slå av 23 | Aktivera ljusreglering 24 | Inaktivera ljusreglering 25 | Nästa timeout 26 | 27 | Inställningar 28 | Stoppa kaffe efter 29 | Ingen timeout 30 | 5 minuter 31 | 15 minuter 32 | 30 minuter 33 | 1 timme 34 | 2 timmar 35 | Tillåt ljusreglering på skärmen 36 | Skärmen kommer att sänkas baserat på systemskärmens tidsgräns 37 | Alternativt läge 38 | Alternativt läge kräver detta tillstånd 39 | Kaffe kunde inte ställa in föregående timeout 40 | 41 | Om kaffe 42 | Ingen webbläsare hittades 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values-fi/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Kahvi 7 | Käytössä 8 | Hyväksyt: %s jäljellä 9 | Pois päältä 10 | Vaihda Kahvia 11 | 12 | Tämä sovellus tarjoaa ruudun pika-asetuksissa (paikka, jossa on asetukset esim. Wi-Fi ja Bluetooth), joiden avulla voit pitää näytön hereillä tarvitsematta muuttaa laitteen asetuksia. 13 | Kahvi voidaan pysäyttää klikkaamalla laattaa tai ilmoitusta tai kun näyttö on pois päältä manuaalisesti. 14 | Lisää asetus aloitusnäyttöön 15 | Kiinnitetty kotiin 16 | Virhe kiinnitettäessä kotiin 17 | Oikeus näyttää ilmoitukset vaaditaan 18 | Myönnä 19 | 20 | Kahvi pitää näytön päällä 21 | Kahvi pitää näytön päällä: %s 22 | Poista käytöstä napauttamalla 23 | Ota himmennys käyttöön 24 | Poista himmennys käytöstä 25 | Seuraava aikakatkaisu 26 | 27 | Asetukset 28 | Pysäytä kahvi jälkeen 29 | Ei aikakatkaisu 30 | 5 minuuttia 31 | 15 minuuttia 32 | 30 minuuttia 33 | 1 tunti 34 | 2 tuntia 35 | Salli näytön himmennys 36 | Näytön himmennys perustuu järjestelmän näytön aikakatkaisuun 37 | Vaihtoehtoinen tila 38 | Vaihtoehtoinen tila vaatii tämän käyttöoikeuden 39 | Kahvi ei onnistunut asettamaan edellistä aikakatkaisua 40 | 41 | Tietoja Kahvista 42 | Selainta ei löytynyt 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values-ro/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Cafea 7 | Activat 8 | Pornit pe: %s rămase 9 | Oprit 10 | Comută cafeaua 11 | 12 | Această aplicație oferă o iconiță în setările rapide (locul care conține comutatoarele de ex. Wi-Fi și Bluetooth) care vă permit să mențineți ecranul treaz fără să modificați setările dispozitivului. 13 | Cafea poate fi oprită făcând clic pe dală sau pe notificare sau atunci când ecranul este oprit manual. 14 | Adăugați comutator pe ecranul de pornire 15 | Fixat acasă 16 | Eroare la fixarea la domiciliu 17 | Permisiunea de a afișa notificări este necesară 18 | Acordă 19 | 20 | Cafea va păstra afișajul pe 21 | Cafea va păstra afișajul pe: %s 22 | Atingeți pentru a opri 23 | Activare estompare 24 | Dezactivează estomparea 25 | Următoarea pauză 26 | 27 | Setări 28 | Oprește cafeaua după 29 | Fără timeout 30 | 5 minute 31 | 15 minute 32 | 30 de minute 33 | 1 oră 34 | 2 ore 35 | Permite reducerea luminozității ecranului 36 | Ecranul va fi estompat în funcție de timpul de expirare a ecranului de sistem 37 | Mod alternativ 38 | Modul alternativ necesită această permisiune 39 | Cafea nu a putut seta perioada de pauză anterioară 40 | 41 | Despre cafea 42 | Nici un browser găsit 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt-rBR/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Coffee 7 | Ativado em 8 | Ativado em: %s restante 9 | Desativado 10 | Lig./Deslig. Café 11 | 12 | Este aplicativo fornece um botão nas configurações rápidas (onde ficam os botões para o Wi-Fi e o Bluetooth, por exemplo) que permite que você deixe a tela ligada sem precisar alterar as configurações do dispositivo. 13 | O café pode ser desligado via botão em ajustes rápidos, via notificação ou quando a tela for apagada manualmente. 14 | Adicionar botão à tela inicial 15 | Fixado na tela inicial 16 | Erro ao fixar na tela inicial 17 | Exigida a permissão para mostrar notificações 18 | Conceder 19 | 20 | Café manterá a tela ligada 21 | Café manterá a exibição: %s 22 | Toque para desativar 23 | Ativar redução do brilho 24 | Desativar redução do brilho 25 | Próximo tempo limite 26 | 27 | Configurações 28 | Desligar café após 29 | Sem tempo limite 30 | 5 minutos 31 | 15 minutos 32 | 30 minutos 33 | 1 hora 34 | 2 horas 35 | Permitir redução do brilho 36 | O brilho da tela será reduzido baseado no tempo limite definido pelo sistema 37 | Modo alternativo 38 | Modo alternativo precisa desta permissão 39 | Café não podia definir o tempo limite anterior 40 | 41 | Sobre Café 42 | Nenhum navegador encontrado 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values-ar/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Coffee 7 | تم تشغيل 8 | تم تشغيل: %s متبقي 9 | تم إيقاف التشغيل 10 | تبديل Coffee 11 | 12 | يوفر هذا التطبيق بلاط في الإعدادات السريعة (المكان الذي يحتوي على مفاتيح التبديل مثلاً: شبكة Wi-Fi وBluetooth) التي تسمح لك بإبقاء الشاشة مستيقظة دون الحاجة إلى تغيير إعدادات الجهاز. 13 | يمكن إيقاف Coffee بالنقر على البلاط أو الإشعار أو عند إيقاف تشغيل الشاشة يدوياً. 14 | إضافة تبديل إلى الشاشة الرئيسية 15 | إضافة بلاطة 16 | مثبت على الشاشة الرئيسية 17 | خطأ في تثبيت الشاشة الرئيسية 18 | إذن إظهار الإشعارات مطلوب 19 | منح 20 | 21 | Coffee ستيقي الشاشة قيد التشغيل 22 | سوف يبقي Coffee قيد التشغيل على: %s 23 | انقر لإيقاف التشغيل 24 | تمكين التعتيم 25 | تعطيل التعتيم 26 | المهلة التالية 27 | 28 | الإعدادات 29 | إيقاف Coffee بعد 30 | لا مهلة 31 | 5 دقائق 32 | 15 دقيقة 33 | 30 دقيقة 34 | ساعة واحدة 35 | ساعتين 36 | السماح بتقويم الشاشة 37 | سيتم إزالة الشاشة على أساس مهلة شاشة النظام 38 | الوضع البديل 39 | قم بتشغيل الوضع البديل فقط إذا لم يبقي Coffee الشاشة قيد التشغيل؛ قد لا تعمل الميزات الأخرى. سيؤدي الوضع البديل إلى زيادة مهلة شاشة النظام مؤقتاً. 40 | الوضع البديل يتطلب هذا الإذن 41 | تعذر تعيين المهلة السابقة لـCoffee 42 | 43 | حول Coffee 44 | لم يتم العثور على متصفح 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-el/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Καφές 7 | Ενεργοποιήθηκε 8 | Ενεργοποίησε στις: %s απομένουν 9 | Απενεργοποίηση 10 | Εναλλαγή Καφέ 11 | 12 | Αυτή η εφαρμογή παρέχει ένα πλακίδιο στις γρήγορες ρυθμίσεις (το μέρος που κρατά τις εναλλαγές για π.χ. Wi-Fi και Bluetooth) που σας επιτρέπει να διατηρήσετε την οθόνη ενεργή χωρίς να χρειάζεται να αλλάξετε τις ρυθμίσεις της συσκευής. 13 | Ο καφές μπορεί να σταματήσει κάνοντας κλικ στο πλακίδιο ή στην ειδοποίηση ή όταν η οθόνη είναι απενεργοποιημένη χειροκίνητα. 14 | Προσθήκη εναλλαγής στην αρχική οθόνη 15 | Καρφιτσωμένο στο σπίτι 16 | Σφάλμα καρφιτσώματος στην αρχική 17 | Απαιτείται άδεια για εμφάνιση ειδοποιήσεων 18 | Παραχώρηση 19 | 20 | Ο καφές θα κρατήσει την οθόνη ενεργή 21 | Ο καφές θα κρατήσει την οθόνη στο: %s 22 | Πατήστε για απενεργοποίηση 23 | Ενεργοποίηση dimming 24 | Απενεργοποίηση dimming 25 | Επόμενο χρονικό όριο 26 | 27 | Ρυθμίσεις 28 | Σταματήστε τον καφέ μετά 29 | Χωρίς χρονικό όριο 30 | 5 λεπτά 31 | 15 λεπτά 32 | 30 λεπτά 33 | 1 ώρα 34 | 2 ώρες 35 | Να επιτρέπεται η μείωση φωτεινότητας οθόνης 36 | Η οθόνη θα γίνει αμυδρή με βάση το χρονικό όριο της οθόνης συστήματος 37 | Εναλλακτική λειτουργία 38 | Η λειτουργία εναλλακτικής λειτουργίας απαιτεί αυτό το δικαίωμα 39 | Ο καφές δεν μπόρεσε να ορίσει το προηγούμενο χρονικό όριο 40 | 41 | Σχετικά Με Καφές 42 | Δεν βρέθηκε πρόγραμμα περιήγησης 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values-es/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Café 7 | Activado 8 | Activado: %s restantes 9 | Desactivado 10 | Activar o desactivar Café 11 | 12 | Esta aplicación ofrece un mosaico en los ajustes rápidos (el lugar donde se encuentran los interruptores para, por ejemplo, Wifi y Bluetooth) que le permite mantener la pantalla encendida sin tener que cambiar la configuración del dispositivo 13 | Puede detener Café pulsando el mosaico, la notificación o apagando la pantalla manualmente. 14 | Agregar interruptor a la pantalla de inicio 15 | Añadir mosaico 16 | Anclado a la pantalla de inicio 17 | Error al anclar a la pantalla de inicio 18 | Se requiere permiso para mostrar notificaciones 19 | Permitir 20 | 21 | Café mantendrá encendida la pantalla 22 | Café mantendrá encendida la pantalla: %s 23 | Pulse para desactivar 24 | Activar atenuación 25 | Desactivar atenuación 26 | Siguiente tiempo límite 27 | 28 | Ajustes 29 | Detener Café después de 30 | Sin tiempo límite 31 | 5 minutos 32 | 15 minutos 33 | 30 minutos 34 | 1 hora 35 | 2 horas 36 | Permitir la atenuación de la pantalla 37 | La pantalla se atenuará en función del tiempo de espera de reposo del sistema 38 | Modo alternativo 39 | El modo alternativo requiere este permiso 40 | Café no pudo establecer el tiempo de espera anterior 41 | 42 | Acerca de Café 43 | No se encontró ningún navegador 44 | 45 | -------------------------------------------------------------------------------- /app/src/main/res/values-it/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Caffè 7 | Attivato 8 | Attivato: %s rimanenti 9 | Disattivato 10 | Attiva/Disattiva Caffè 11 | 12 | L’app può essere aggiunta nelle impostazioni rapide (ad esempio, il posto dove si trovano le icone dell\'Wi-Fi, Bluetooth, Modalità aerea) e consentirà di avere lo schermo sempre attivo senza dover modificare le impostazioni del dispositivo. 13 | Caffè può essere interrotto tramite l’icona nelle impostazioni rapide, dalle notifiche o quando lo schermo viene spento manualmente con il pulsante. 14 | Aggiungi pulsante sulla schermata principale 15 | Pulsante aggiunto nella schermata principale 16 | Errore durante l\'aggiunta alla schermata principale 17 | È necessaria l\'autorizzazione a ricevere le notifiche 18 | Consenti 19 | 20 | Caffè manterrà lo schermo attivo 21 | Il caffè manterrà il display su: %s 22 | Tocca per spegnere 23 | Abilita oscuramento 24 | Disabilita oscuramento 25 | Prossimo pausa 26 | 27 | Impostazioni 28 | Ferma Caffè dopo 29 | Nessuna pausa 30 | 5 minuti 31 | 15 minuti 32 | 30 minuti 33 | 1 ora 34 | 2 ore 35 | Consenti oscuramento dello schermo 36 | Lo schermo verrà oscurato in base alle impostazioni del sistema 37 | Modalità alternativa 38 | La \"Modalità alternativa\" richiede questa autorizzazione 39 | Caffè non è riuscito a impostare il timeout precedente 40 | 41 | Riguardo Caffè 42 | Nessun browser trovato 43 | 44 | -------------------------------------------------------------------------------- /app/src/main/res/values-tr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Coffee 7 | Açık 8 | Açık: %s kaldı 9 | Kapalı 10 | Coffee\'yi Aç/Kapat 11 | 12 | Bu uygulama hızlı ayarlarda (Örneğin, Wi-Fi ve Bluetooth için geçişleri tutan yer) cihaz ayarlarını değiştirmek zorunda kalmadan ekranı uyanık tutmanıza izin veren bir kutucuk sağlar. 13 | Coffee, kutucuğa veya bildirime tıklanarak veya ekran el ile olarak kapatıldığında durdurulabilir. 14 | Ana ekrana geçiş ekle 15 | Başlık ekle 16 | Ana ekrana sabitlenmiş 17 | Ana ekrana sabitleme hatası 18 | Bildirimleri göstermek için izin gerekli 19 | İzin ver 20 | 21 | Coffee ekranı açık tutacaktır 22 | Coffee ekranı açık tutacaktır: %s 23 | Kapatmak için dokunun 24 | Karartmayı etkinleştir 25 | Karartmayı devre dışı bırak 26 | Sonraki zaman aşımı 27 | 28 | Ayarlar 29 | Sonra Coffee\'yi durdur 30 | Zaman aşımı yok 31 | 5 dakika 32 | 15 dakika 33 | 30 dakika 34 | 1 saat 35 | 2 saat 36 | Ekran karartmaya izin ver 37 | Ekran, sistem ekran zaman aşımına bağlı olarak karartılacaktır 38 | Alternatif mod 39 | Alternatif modu yalnızca Coffee ekranı açık tutmuyorsa açın; diğer özellikler çalışmayabilir. Alternatif mod, sistem ekranı zaman aşımını geçici olarak artıracaktır. 40 | Alternatif mod bu izni gerektirir 41 | Coffee önceki zaman aşımını ayarlayamadı 42 | 43 | Coffee Hakkında 44 | Tarayıcı bulunamadı 45 | 46 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @rem 2 | @rem Copyright 2015 the original author or authors. 3 | @rem 4 | @rem Licensed under the Apache License, Version 2.0 (the "License"); 5 | @rem you may not use this file except in compliance with the License. 6 | @rem You may obtain a copy of the License at 7 | @rem 8 | @rem https://www.apache.org/licenses/LICENSE-2.0 9 | @rem 10 | @rem Unless required by applicable law or agreed to in writing, software 11 | @rem distributed under the License is distributed on an "AS IS" BASIS, 12 | @rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | @rem See the License for the specific language governing permissions and 14 | @rem limitations under the License. 15 | @rem 16 | @rem SPDX-License-Identifier: Apache-2.0 17 | @rem 18 | 19 | @if "%DEBUG%"=="" @echo off 20 | @rem ########################################################################## 21 | @rem 22 | @rem Gradle startup script for Windows 23 | @rem 24 | @rem ########################################################################## 25 | 26 | @rem Set local scope for the variables with windows NT shell 27 | if "%OS%"=="Windows_NT" setlocal 28 | 29 | set DIRNAME=%~dp0 30 | if "%DIRNAME%"=="" set DIRNAME=. 31 | @rem This is normally unused 32 | set APP_BASE_NAME=%~n0 33 | set APP_HOME=%DIRNAME% 34 | 35 | @rem Resolve any "." and ".." in APP_HOME to make it shorter. 36 | for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi 37 | 38 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 39 | set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" 40 | 41 | @rem Find java.exe 42 | if defined JAVA_HOME goto findJavaFromJavaHome 43 | 44 | set JAVA_EXE=java.exe 45 | %JAVA_EXE% -version >NUL 2>&1 46 | if %ERRORLEVEL% equ 0 goto execute 47 | 48 | echo. 1>&2 49 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2 50 | echo. 1>&2 51 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2 52 | echo location of your Java installation. 1>&2 53 | 54 | goto fail 55 | 56 | :findJavaFromJavaHome 57 | set JAVA_HOME=%JAVA_HOME:"=% 58 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 59 | 60 | if exist "%JAVA_EXE%" goto execute 61 | 62 | echo. 1>&2 63 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2 64 | echo. 1>&2 65 | echo Please set the JAVA_HOME variable in your environment to match the 1>&2 66 | echo location of your Java installation. 1>&2 67 | 68 | goto fail 69 | 70 | :execute 71 | @rem Setup the command line 72 | 73 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 74 | 75 | 76 | @rem Execute Gradle 77 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* 78 | 79 | :end 80 | @rem End local scope for the variables with windows NT shell 81 | if %ERRORLEVEL% equ 0 goto mainEnd 82 | 83 | :fail 84 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 85 | rem the _cmd.exe /c_ return code! 86 | set EXIT_CODE=%ERRORLEVEL% 87 | if %EXIT_CODE% equ 0 set EXIT_CODE=1 88 | if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% 89 | exit /b %EXIT_CODE% 90 | 91 | :mainEnd 92 | if "%OS%"=="Windows_NT" endlocal 93 | 94 | :omega 95 | -------------------------------------------------------------------------------- /app/src/main/res/values-uk/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Coffee 7 | Увімкнути 8 | Увімкнено: %s залишилося 9 | Вимкнути 10 | Вкл/Викл Coffee 11 | 12 | Ця програма надає плитку у швидких налаштуваннях (місце, де знаходяться перемикачі, наприклад, для Wi-Fi та Bluetooth), яка дозволяє тримати дисплей увімкненим без необхідності змінювати налаштування пристрою. 13 | Coffee можна зупинити, натиснувши на плитку або повідомлення, або при ручному вимиканні екрану. 14 | Додати на головний екран 15 | Додати плитку 16 | Додано на головний екран 17 | Помилка додавання на головний екран 18 | Потрібен дозвіл на показ повідомлень 19 | Дозволити 20 | 21 | Coffee не дасть дисплею згаснути 22 | Coffee триматиме дисплей увімкненим: %s 23 | Натисніть, щоб вимкнути 24 | Увімкнути затемнення 25 | Вимкнути затемнення 26 | Наступний таймаут 27 | 28 | Налаштування 29 | Зупинка Coffee після 30 | Без таймауту 31 | 5 хвилин 32 | 15 хвилин 33 | 30 хвилин 34 | 1 година 35 | 2 години 36 | Дозволити затемнення екрана 37 | Екран буде затемнено відповідно до таймауту екрану системи 38 | Альтернативний режим 39 | Увімкніть альтернативний режим, тільки якщо програма \"Кава\" не утримує екран увімкненим; інші функції можуть не працювати. Альтернативний режим тимчасово збільшує час очікування екрана системи. 40 | Альтернативний режим вимагає цього дозволу 41 | Coffee не може встановити попередній таймаут 42 | 43 | Про Coffee 44 | Браузер не знайдено 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-nl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Koffie 7 | Ingeschakeld 8 | Ingeschakeld: %s resterend 9 | Uitgeschakeld 10 | Zet Koffie aan/uit 11 | 12 | Deze app biedt een tegel voor de snelle instellingen (het menu met schakelaars voor o.a. wifi en bluetooth) om het scherm ingeschakeld te houden zonder daarvoor in de instellingenapp te hoeven duiken. 13 | Koffie kan worden gestopt door te drukken op de tegel of melding, of door het scherm handmatig uit te schakelen. 14 | Voeg schuifje toe aan home scherm 15 | Tegel toevoegen 16 | Vastgemaakt aan home 17 | Error bij vastmaken aan home 18 | Toestemming om meldingen weer te geven is vereist 19 | Toestaan 20 | 21 | Koffie zal het scherm aan houden 22 | Koffie zal het scherm %s aan houden 23 | Druk om uit te schakelen 24 | Dimmen inschakelen 25 | Dimmen uitschakelen 26 | Volgende time-out 27 | 28 | Instellingen 29 | Koffie stoppen na 30 | Geen time-out 31 | 5 minuten 32 | 15 minuten 33 | 30 minuten 34 | 1 uur 35 | 2 uur 36 | Dimmen toestaan 37 | Scherm zal gedimd worden op basis van de systeemvergrendeltijd. 38 | Alternatieve modus 39 | Schakel alternatieve modus alleen in als Koffie het scherm niet aan laat staan; andere functies werken mogelijk niet. De alternatieve modus zal de vergrendeltijd tijdelijk verhogen. 40 | Alternatieve modus vereist deze toestemming 41 | Koffie kon de vorige time-out niet instellen 42 | 43 | Over Koffie 44 | Geen browser gevonden 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-ru/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Кофе 7 | Включено 8 | Включено: %s осталось 9 | Выключено 10 | Переключить Coffee 11 | 12 | Это приложение предоставляет плитку в быстрых настройках (место, где находятся переключатели, например, Wi-Fi и Bluetooth), которая позволяет вам сохранять дисплей включённым без необходимости изменять настройки устройства. 13 | Кофе можно остановить, нажав на плитку или уведомление, или когда экран выключен вручную. 14 | Добавить переключатель на домашний экран 15 | Добавить плитку 16 | Прикреплено 17 | Ошибка прикрепления 18 | Требуется разрешение на отображение уведомлений 19 | Предоставить 20 | 21 | Кофе будет держать дисплей включенным 22 | Кофе сохранит дисплей включенным: %s 23 | Коснитесь, чтобы выключить 24 | Включить затемнение 25 | Отключить затемнение 26 | Следующий таймаут 27 | 28 | Настройки 29 | Остановить Кофе через 30 | Без таймаута 31 | 5 минут 32 | 15 минут 33 | 30 минут 34 | 1 час 35 | 2 часа 36 | Разрешить затемнение экрана 37 | Экран будет затемнен в зависимости от системного таймаута экрана 38 | Альтернативный режим 39 | Включайте альтернативный режим, только если Coffee не держит экран включенным; другие функции могут не работать. Альтернативный режим временно увеличит системный таймаут экрана. 40 | Для работы в альтернативном режиме требуется следующее разрешение 41 | Coffee не удалось установить предыдущий таймаут 42 | 43 | О Coffee 44 | Браузер не найден 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-pt/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Coffee 7 | Ligado 8 | Ligado: Faltam %s 9 | Desligado 10 | Ativar/Desativar Coffee 11 | 12 | Esta aplicação fornece um bloco nas definições rápidas (o menu com os blocos de, por exemplo, Wi-Fi e Bluetooth) que permite que manter o ecrã ativo sem ter que alterar as configurações do dispositivo. 13 | O Coffee pode ser interrompido ao tocar no bloco ou na notificação, ou a desligar o ecrã manualmente. 14 | Adicionar botão à tela inicial 15 | Adicionar bloco 16 | Fixado no ecrã inicial 17 | Erro ao fixar no ecrã inicial 18 | A permissão para mostrar notificações é obrigatória 19 | Permitir 20 | 21 | Coffe irá manter o ecrã ligado 22 | Coffee manterá a exibição: %s 23 | Toque para desligar 24 | Ativar redução do brilho 25 | Desativar redução do brilho 26 | Próximo tempo limite 27 | 28 | Definições 29 | Desligar Coffee após 30 | Sem tempo limite 31 | 5 minutos 32 | 10 minutos 33 | 30 minutos 34 | 1 hora 35 | 2 horas 36 | Permitir redução do brilho 37 | O brilho do ecrã será reduzido baseado no tempo limite definido pelo sistema 38 | Modo alternativo 39 | Ligue o modo alternativo só se o Coffee não mantém o ecrã ligado; outras funcionalidades podem deixar de funcionar. O modo alternativo irá aumentar o tempo limite do sistema temporariamente. 40 | Modo alternativo requer esta permissão 41 | Coffee não conseguiu definir o tempo limite anterior 42 | 43 | Sobre Coffee 44 | Nenhum navegador encontrado 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-pl/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Kawa 7 | Włączony 8 | Włączono: pozostało %s 9 | Wyłączony 10 | Przełącz Kawę 11 | 12 | Ta aplikacja dodaje kafelek w panelu szybkich ustawień (w miejscu, gdzie znajdują się przełączniki dla Wi-Fi, Bluetooth itp.), który umożliwia ciągłe pobudzanie ekranu bez zmieniania ustawień urządzenia. 13 | Kawę można zatrzymać naciskając na kafelek lub powiadomienie oraz ręcznie wyłączając ekran. 14 | Dodaj przełącznik do ekranu głównego 15 | Dodaj kafelek 16 | Przypięto do ekranu głównego 17 | Błąd przypinania 18 | Wymagane jest pozwolenie na wyświetlanie powiadomień 19 | Przyznanie 20 | 21 | Kawa zapobiegnie wygaszeniu ekranu 22 | Kawa utrzyma wyświetlacz na: %s 23 | Naciśnij, aby wyłączyć 24 | Włącz przyciemnianie 25 | Wyłącz przyciemnianie 26 | Następny limit czasu 27 | 28 | Ustawienia 29 | Zatrzymaj działanie aplikacji po 30 | Brak limitu czasu 31 | 5 minutach 32 | 15 minutach 33 | 30 minutach 34 | 1 godzinie 35 | 2 godzinach 36 | Zezwól na przyciemnianie ekranu 37 | Ekran zostanie przyciemniony na podstawie czasu wygaszania ekranu ustawionego w systemie 38 | Tryb alternatywny 39 | Włącz tryb alternatywny tylko wtedy, gdy Coffee nie zachowuje ekranu włączonego; inne funkcje mogą nie działać. Alternatywny tryb tymczasowo zwiększy czas wygaszaania ekranu w systemie. 40 | Tryb alternatywny wymaga tego uprawnienia 41 | Kawa nie mogła ustawić poprzedniego limitu czasu 42 | 43 | O kawie 44 | Nie znaleziono przeglądarki 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-ca/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Cafè 7 | Activat 8 | Activat: %s restant 9 | Desactivat 10 | Commutar cafè 11 | 12 | Aquest aplicatiu proporciona un mosaic de configuració ràpida (el lloc on hi ha els commutadors, per exemple els de la Wi-Fi i el Bluetooth) que et permet mantenir la pantalla encesa sense haver de canviar la configuració de sistema. 13 | Cafè pot ser aturat clicant al mosaic o a la notificació o quan la pantalla s\'apaga manualment. 14 | Afegeix commutador a la pantalla d\'inici 15 | Afegeix un mosaic 16 | Fixat a la pàgina principal 17 | Error fixant a la pàgina principal 18 | Es requereix permís per a notificacions 19 | Permetre 20 | 21 | Cafè mantindrà la pantalla encesa 22 | Cafè mantindrà la pantalla encesa: %s 23 | Toqueu per desactivar 24 | Activar enfosquiment 25 | Desactivar enfosquiment 26 | Següent temps d\'espera 27 | 28 | Configuració 29 | Apaga cafè després de 30 | Sense temps d\'espera 31 | 5 minuts 32 | 15 minuts 33 | 30 minuts 34 | 1 hora 35 | 2 hores 36 | Permet enfosquiment de pantalla 37 | La pantalla s\'enfosquirà d\'acord amb la configuració de sistema 38 | Alternar mode 39 | Activa el mode altern només si Cafè no manté la pantalla encesa; altres funcionalitats poden no funcionar. El mode altern incrementarà temporalment el temps d\'espera de la pantalla. 40 | El mode altern requereix aquest permís 41 | Cafè no ha pogut restablir el temps d\'espera anterior 42 | 43 | Sobre Cafè 44 | No s\'ha trobat cap navegador 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-fr/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Café 7 | Activé 8 | Activé le : %s restants 9 | Éteint 10 | Activer Café 11 | 12 | Cette application fournit une tuile dans les widgets (l\'endroit où se trouvent les notifications, p. ex. Wi-Fi et Bluetooth) qui vous permet de garder l\'affichage allumé sans avoir à modifier les paramètres de l\'appareil. 13 | Café peut être arrêté en cliquant sur le widget ou sur la notification ou encore lorsque l\'écran est éteint manuellement. 14 | Ajouter un raccourci à l\'écran d\'accueil 15 | Ajouter une vignette 16 | Ajouté à l\'écran d\'accueil 17 | Erreur lors de l\'ajout à l\'écran d\'accueil 18 | Permission d\'afficher les notifications est requise 19 | Autoriser 20 | 21 | Café gardera l\'affichage allumé 22 | Le café gardera l\'affichage sur : %s 23 | Appuyez pour désactiver 24 | Modifier la luminosité 25 | Désactiver la gradation de la luminosité 26 | Délai suivant 27 | 28 | Paramètres 29 | Arrêter Café après 30 | Aucun délai 31 | 5 minutes 32 | 15 minutes 33 | 30 minutes 34 | 1 heure 35 | 2 heures 36 | Autoriser l\'assombrissement de l\'écran 37 | L\'écran sera assombri en fonction du délai d\'attente de l\'écran du système 38 | Mode alternatif 39 | N\'activez le mode alternatif que si Café ne garde pas l\'écran allumé ; les autres fonctions peuvent ne pas fonctionner. Le mode alternatif augmente temporairement le délai de fermeture de l\'écran. 40 | Le mode alternatif requiert cette autorisation 41 | Café n\'a pas pu définir le délai d\'attente précédent 42 | 43 | À propos de Café 44 | Aucun navigateur trouvé 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-hu/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Coffee 7 | Bekapcsolva 8 | Bekapcsolva: %s van hátra 9 | Kikapcsolva 10 | Coffee be/kikapcsolása 11 | 12 | Ez az alkalmazás egy olyan csempét biztosít a gyorsbeállításokban (a hely, ahol például a Wi-Fi és a Bluetooth kapcsolók vannak), amely lehetővé teszi, hogy a kijelzőt ébren tartsa anélkül, hogy a készülék beállításait meg kellene változtatnia. 13 | A Coffee leállítható a csempére vagy az értesítésre kattintva, illetve a képernyő kézi kikapcsolásával. 14 | Kapcsoló hozzáadása a kezdőképernyőhöz 15 | Csempe hozzáadása 16 | Kitűzve a kezdőképernyőre 17 | Hiba a kezdőképernyőre kitűzésekor 18 | Az értesítések megjelenítéséhez való engedély szükséges 19 | Engedélyez 20 | 21 | A Coffee bekapcsolva tartja a kijelzőt 22 | A Coffee ennyi ideig tartja bekapcsolva a kijelzőt: %s 23 | Érintse meg a kikapcsoláshoz 24 | Halványítás engedélyezése 25 | Halványítás letiltása 26 | Következő időkorlát 27 | 28 | Beállítások 29 | Coffe kikapcsolása ennyi idő után 30 | Nincs időkorlát 31 | 5 perc 32 | 15 perc 33 | 30 perc 34 | 1 óra 35 | 2 óra 36 | Képernyő halványításának engedélyezése 37 | A képernyő el lesz halványítva a rendszer képernyő időkorlátja alapján 38 | Alternatív mód 39 | Csak akkor kapcsolja be a alternatív üzemmódot, ha a Coffee nem tartja bekapcsolva a képernyőt; más funkciók esetleg nem működnek. Az alternatív üzemmód átmenetileg megnöveli a rendszer képernyőjének időkorlátját. 40 | Az alternatív mód megköveteli ezt az engedélyt 41 | A Coffee nem tudta beállítani az előző időkorlátot 42 | 43 | A Coffee-ról 44 | Nem található böngésző 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/res/values-de/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Kaffee 7 | Eingeschaltet 8 | Eingeschaltet: %s verbleibend 9 | Ausgeschaltet 10 | Kaffee umschalten 11 | 12 | Diese App stellt in den Schnelleinstellungen (der Ort, an dem die Schalter für z.B. WLAN und Bluetooth sind) eine Kachel zur Verfügung, welche es erlaubt, den Bildschirm eingeschaltet zu lassen, ohne die Geräteeinstellungen zu ändern 13 | Kaffee kann durch Tippen auf die Kachel oder die Benachrichtigung oder durch das manuelle Ausschalten des Bildschirms gestoppt werden 14 | Zum Startbildschirm hinzufügen 15 | Kachel hinzufügen 16 | An Startbildschirm angepinnt 17 | Fehler beim Anpinnen an Startbildschirm 18 | Berechtigung zum Anzeigen von Benachrichtigungen ist erforderlich 19 | Erlauben 20 | 21 | Kaffee lässt den Bildschirm eingeschaltet 22 | Kaffee lässt den Bildschirm eingeschaltet: %s 23 | Tippen zum Ausschalten 24 | Dimmen aktivieren 25 | Dimmen deaktivieren 26 | Nächster Timeout 27 | 28 | Einstellungen 29 | Stoppe Kaffee nach 30 | Kein Timeout 31 | 5 Minuten 32 | 15 Minuten 33 | 30 Minuten 34 | 1 Stunde 35 | 2 Stunden 36 | Dimmen des Bildschirms erlauben 37 | Bildschirm wird gedimmt, basierend auf der Bildschirmsperre des Systems 38 | Alternativer Modus 39 | Aktivieren Sie den alternativen Modus nur, wenn Kaffee den Bildschirm nicht eingeschaltet lässt. Andere Features werden nicht funktionieren. Der alternative Modus erhöht vorübergehend die Bildschirmsperre des Systems. 40 | Alternativer Modus benötigt diese Berechtigung 41 | Kaffee konnte den vorherigen Timeout nicht setzen 42 | 43 | Über Kaffee 44 | Kein Browser gefunden 45 | 46 | -------------------------------------------------------------------------------- /app/src/main/java/com/github/muellerma/coffee/Utils.kt: -------------------------------------------------------------------------------- 1 | package com.github.muellerma.coffee 2 | 3 | import android.app.Activity 4 | import android.app.PendingIntent 5 | import android.app.Service 6 | import android.content.ActivityNotFoundException 7 | import android.content.ContentResolver 8 | import android.content.Context 9 | import android.content.Intent 10 | import android.content.pm.PackageManager 11 | import android.net.Uri 12 | import android.os.Build 13 | import android.os.PowerManager 14 | import android.provider.Settings 15 | import android.util.Log 16 | import android.widget.Toast 17 | import androidx.annotation.CheckResult 18 | import androidx.annotation.StringRes 19 | import androidx.core.app.ActivityCompat 20 | import kotlin.time.Duration 21 | 22 | private const val TAG = "Utils" 23 | 24 | fun Context.showToast(@StringRes msg: Int) { 25 | Toast 26 | .makeText(this, msg, Toast.LENGTH_SHORT) 27 | .show() 28 | } 29 | 30 | fun ContentResolver.getSystemScreenTimeout(): Int { 31 | return Settings.System.getInt(this, Settings.System.SCREEN_OFF_TIMEOUT) 32 | } 33 | 34 | @CheckResult 35 | fun ContentResolver.setSystemScreenTimeout(timeout: Int): Boolean { 36 | return try { 37 | Settings.System.putInt(this, Settings.System.SCREEN_OFF_TIMEOUT, timeout) 38 | true 39 | } catch (e: SecurityException) { 40 | Log.e(TAG, "Error writing screen timeout", e) 41 | false 42 | } 43 | } 44 | 45 | fun Context.openSystemScreenTimeoutPermissions() { 46 | if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { 47 | return 48 | } 49 | 50 | showToast(R.string.alternate_mode_permissions) 51 | startActivity( 52 | Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS) 53 | .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK) 54 | .setData(Uri.parse("package:$packageName")) 55 | ) 56 | } 57 | 58 | fun Context.hasPermissions(vararg permissions: String): Boolean { 59 | return permissions 60 | .map { permission -> ActivityCompat.checkSelfPermission(this, permission) } 61 | .all { result -> result == PackageManager.PERMISSION_GRANTED } 62 | } 63 | 64 | fun String.openInBrowser(context: Context) { 65 | val intent = Intent(Intent.ACTION_VIEW, Uri.parse(this)) 66 | try { 67 | context.startActivity(intent) 68 | } catch (e: ActivityNotFoundException) { 69 | Log.d(TAG, "Unable to open url in browser: $intent") 70 | context.showToast(R.string.error_no_browser_found) 71 | } 72 | } 73 | 74 | val PendingIntent_Immutable = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { 75 | PendingIntent.FLAG_IMMUTABLE 76 | } else { 77 | 0 78 | } 79 | 80 | val PendingIntent_Mutable = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { 81 | PendingIntent.FLAG_MUTABLE 82 | } else { 83 | 0 84 | } 85 | 86 | fun PowerManager.WakeLock?.safeRelease() { 87 | try { 88 | this?.release() 89 | } catch (e: RuntimeException) { 90 | Log.d(TAG, "Couldn't release wakelock $this", e) 91 | } 92 | } 93 | 94 | fun Duration.toFormattedTime(): String { 95 | val wholeSeconds = inWholeSeconds 96 | val hours = wholeSeconds / 3600 97 | val minutes = wholeSeconds % 3600 / 60 98 | val seconds = wholeSeconds % 60 99 | 100 | return if (hours == 0L) { 101 | String.format("%02d:%02d", minutes, seconds) 102 | } else { 103 | String.format("%02d:%02d:%02d", hours, minutes, seconds) 104 | } 105 | } 106 | 107 | fun Activity.coffeeApp() = application as CoffeeApplication 108 | fun Service.coffeeApp() = application as CoffeeApplication -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | Coffee 9 | Turned on 10 | Turned on: %s remaining 11 | Turned off 12 | Toggle Coffee 13 | 14 | 15 | This app provides a tile in the quick settings (the place that holds the toggles for e.g. Wi-Fi and Bluetooth) that allows you to keep the display awake without having to change the device settings. 16 | Coffee can be stopped by clicking on the tile or the notification or when the screen is turned off manually. 17 | Add toggle to home screen 18 | Add tile 19 | Pinned to home 20 | Error pinning to home 21 | Permission to show notifications is required 22 | Grant 23 | 24 | 25 | Coffee will keep the display on 26 | Coffee will keep the display on: %s 27 | Tap to turn off 28 | Enable dimming 29 | Disable dimming 30 | Next timeout 31 | 32 | 33 | Settings 34 | Stop Coffee after 35 | No timeout 36 | 5 minutes 37 | 15 minutes 38 | 30 minutes 39 | 1 hour 40 | 2 hours 41 | 42 | Allow screen dimming 43 | Screen will be dimmed based on the system screen timeout 44 | 45 | Alternate mode 46 | Turn on alternate mode only if Coffee doesn\'t keep the screen on; other features may not work. The alternate mode will temporarily increase the system screen timeout. 47 | Alternate mode requires this permission 48 | Coffee couldn\'t set the previous timeout 49 | 50 | 51 | About Coffee 52 | No browser found 53 | GitHub 54 | F-Droid 55 | Crowdin 56 | 57 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | 25 | 26 | 36 | 37 | 46 | 47 | 56 | 57 | 65 | 66 | 76 | 77 | 87 | 88 | 98 | 99 | --------------------------------------------------------------------------------