Releases: abdalmoniem/Caffeinate
v2.2.0
- bump app version to 2.2.0
- New Crowdin updates (#94)
- New translations strings.xml (Arabic)
- New translations strings.xml (Polish)
- New translations strings.xml (Russian)
- New translations strings.xml (Arabic, Egypt)
- New Crowdin updates (#94)
- New translations strings.xml (Arabic)
- New translations strings.xml (Polish)
- New translations strings.xml (Russian)
- New translations strings.xml (Arabic, Egypt)
- feat: Show application status in Quick Tile title
- Introduced a new preference allowing users to display the application's status directly in the Quick Settings tile title. This is beneficial for OEM devices that do not show tile subtitles.
- Added a "Show Application Status in Quick Tile Title" switch in the settings UI.
- Updated
QuickTileServiceto observe this preference and dynamically change the tile's label or subtitle. - Refactored
SharedPrefsManagerto use theedit { ... }Kotlin extension for conciseness. - Upgraded Kotlin version to
2.2.21. - Enabled
-Xcontext-parameterscompiler argument.
- fix PiP not working on WSA devices
for some reason, pressing the back button on WSA didn't trigger onUserLeaveHint or onPictureInPictureUiStateChanged, so I added a callback to onBackPressedDispatcher to handle the case
- New Crowdin updates (#90)
- New translations strings.xml (Polish)
- New translations full_description.txt (Polish)
- New translations short_description.txt (Polish)
- New translations title.txt (Polish)
- New translations strings.xml (Polish)
- New Crowdin Russian Translations
- New translations full_description.txt (Russian)
- New translations short_description.txt (Russian)
- New translations title.txt (Russian)
- New translations strings.xml (Russian)
- New translations strings.xml (Russian)
- Update README.md
- Update issue templates
- updated git_hooks scripts and changelog files
Full Changelog: v2.1.0...v2.2.0
v2.1.0
- fixed TimeoutsSelectionFragment crashing when changing languages
- added Play Store badge to README
- Update issue templates
- sharedPrefs timeout checkboxes are initialized using a delegate now
- fix timeout selections saving not working
- New Crowdin updates (#77)
- New translations strings.xml (Arabic)
- New translations strings.xml (Arabic, Egypt)
- fix R8 engine optimization causing bugs and crashes
Full Changelog: v2.0.3...v2.1.0
v2.0.3
- fix R8 engine optimization causing bugs and crashes
- privacy policy colors now match the app's theme
- preparing for play store release
- added privacy policy
Full Changelog: v2.0.2...v2.0.3
v2.0.2
- bump app version to 2.0.2
added privacy policy
- added privacy policy
- picture in picture UI polish
Full Changelog: v2.0.1...v2.0.2
v2.0.1
- picture in picture UI polish
- update dependencies and improve UI LAF
- created new custom CircularDurationView for PiP mode
- code improvement and bug fixes
- New translations strings.xml (Arabic, Egypt) (#75)
- fix restart bugs in TimeoutJob
also improved PiP transition smoothing
- improved debouncing logic and increased TimeoutJob throughput
the TimeoutJob can now send updates at a minimum of every 50 milliseconds (was previously 1 second)
- New Crowdin updates (#74)
- New translations full_description.txt (French)
- New translations short_description.txt (French)
- New translations title.txt (French)
- New translations full_description.txt (Arabic)
- New translations short_description.txt (Arabic)
- New translations title.txt (Arabic)
- New translations title.txt (German)
- New translations full_description.txt (Arabic, Egypt)
- New translations short_description.txt (Arabic, Egypt)
- New translations title.txt (Arabic, Egypt)
- New translations strings.xml (Arabic)
- New translations strings.xml (Arabic, Egypt)
- code improvement and bug fixes
- fix issues in PiP mode
- fixed issue where when the system theme changed while a PiP window is showing, the countdown disappears and the main activity shows in the PiP window
- fixed issue where when the
toggleaction was click on a PiP window while the service is stopped, the service would start the second available timeout, not the first
- picture in picture mode enhancements
- fixed pip layout flickering and showing on top of the main activity when changing themes
- added
restart timeout,toggle timeoutandnext timeoutpip actions - added seamless transition support for pip (only for android 12 and up) this option animates and zooms in the activity and transitions to pip and animates and zooms out from pip to the main activity seamlessly
Full Changelog: v2.0.0...v2.0.1
v2.0.0
- added picture in picture support
- updated strings.xml
- Update Codacy Configuration
- New Crowdin updates (#58)
- New translations strings.xml (Arabic, Egypt)
- New translations strings.xml (Arabic)
- Rename publish_release.yml to publish_release_by_tag.yml
- Update publish_release_on_tag.yml
- Update publish_release.yml
- Update build_release_variant.yml
- Update build_debug_variant.yml
- Update publish_release_on_tag.yml
- Update publish_release.yml
- Update build_release_variant.yml
- Update build_debug_variant.yml
- Create codacy.yml
- added option to add infinite timeout in the timeouts selection sheet
- added beautiful animations to the timeouts selection sheet
- added ability to select items in timeouts bottom sheet
by long clicking on the item card, it will be selected and others will be selectable as well
- fixed items hidden behind navigation bar in timeouts bottom sheet
- changed timeouts selection UI from a dialog to a bottom sheet
this maximizes screen space for managing timeouts
- New Crowdin updates (#56)
- New translations strings.xml (Arabic)
- New translations strings.xml (Arabic, Egypt)
- code improvement and bug fixes
- added about dialog to show info about the app
- fixed settings item description not visible after changing theme color
- use MutableLiveData for states in MainActivityViewModel
to insure consistency accross the UI
- migrate architecture to MVVM
used viewModel to improve animation of restart button
- used K-Map to implement theme and contrast switching logic
this is a very efficient and flexible way to implement the logic
- improved theme and contrast switching logic
- fixed permission handling
permissions were checked only once when the app started, which could lead to crashes if these permissions were retracted while the app is running
- added permissions and settings icon to main activity
- adjust margins for app bar
- initial implementation of contrasted themes
- improved toolbar UI/UX
- persist toolbar expanded state when the app theme changes from the main activity
- replaced theme selection button with button toggle groups for easier access
- fix soft navigation bar overlapping main activity UI
- overall UI improvements
- added widget shadows, so that they can be visible when on wallpapers of same colors
- added overlay shadows, so that they can be visible when on wallpapers of same colors
- added text auto sizing for all text elements in the widget
- grouped permission cards and settings cards in main activity for better visibility
- added collapsing toolbar in main activity with improved animations
- preparing for Dynamic MediumContrast and HighContrast themes
- simplify theme color implementation
- baseline (non-dynamic) theme color improvement
improved contrast ratio on non dynamic theme colors
- fix app icon background on API >= 26
fix black background on app icon for android versions greater than or equal API level 26
- fix widget configuration crash
fixed widget configuration activity crashing when the app is closed or not in memory
- New Crowdin updates (#55)
- New translations strings.xml (Arabic)
- New translations strings.xml (Arabic, Egypt)
- fixed colors, theming and icons
- fixed themes for android versions less than API 26
- fixed app icons not showing for android versions less than API 26
- fixed un-appealing coloring for non dynamic color themes
- improved color consistency accross app UI components
- overall UI color improvements
also fixed some incorrect translations
- improved overlay appearance
- added drop shadow to text overlay
- the overlay text color is now dynamic depending on the theme applied
- the overlay text size is adjusted depending on if the app's locale is RTL or not for better visibility
- the overlay position changes dynamically from top/left to top/right if the app's locale is changed from LTR to RTL and vice versa when the app is running
- improved widget appearance
- added drop shadow to text elements in the widget
- improved UI spacing between widget elements
- improved widget configuration activity UI/UX
- enahnced widget coloring
- dynamic widget colors are now more vibrant
- widget configuration screen shows realtime updates if a timeout is running
- fix widgets configuration persistence
fixed widgets configuration not persisting when the phone restarts
- optimized widget dynamic colors
- Update README.md
- Renamed Build App to Build Debug Variant
- Create Build Release Variant Workflow
This workflow is triggered either manually or on every Friday at 12:00 AM
- New Crowdin updates (#52)
- New translations strings.xml (Arabic)
- New translations strings.xml (Arabic, Egypt)
- New translations strings.xml (Arabic)
Full Changelog: v1.8.0...v2.0.0
v1.8.0
- added show overlay option
- added an option to show or hide an overlay with the remaining timeout on the top right/left of the screen
- the overlay option may be required on some devices in order for the app to continue working in the background
- if the overlay option is enabled and the app is closed from the recents menu, the timeout will be cancelled (seems that this is a restriciton from android, if there is an overlay enabled and the app is closed, everything gets terminated)
- fix allow while locked not working as expected
fixed issue where the allow while locked toggle worked opposite to the intended behavior
- added configureable widget
the widget's background can now be configured to be on or off
- bug fixes and code improvements
- fix service termination on some chinese OEM devices
some chinese OEM devices have aggressive battery optimizations which would kill the service when the overlay option is enabled and the application is swiped away from the recent apps list or after some time has passed, the fix is a litte bit crude for now. the app saves the last remaining timeout to the device's storage every one second and then when the service is killed, it retrieves the last saved remaining timeout and then restarts the service. This may put a strain on the device's storage but can be avoided if the overlay is disabled while running on these devices
v1.7.5
preparing new release v1.7.5
v1.7.2
refix quick tile not updating on some devices
v1.7.1
added restart button
- added restart button to the main app's UI and the notification actions,
this button will appear when the timeout is started and counting down,
it enables restarting the count down of the currently selected timeout
without having to cycle through all timeouts - added widget preview image for launchers that don't support widget
preview layout