Skip to content

Commit

Permalink
Merge pull request #25 from dfyockey/Release_Stuff
Browse files Browse the repository at this point in the history
Release stuff
  • Loading branch information
dfyockey authored Feb 23, 2025
2 parents 1ec6a1f + e6ec409 commit d0948f2
Show file tree
Hide file tree
Showing 9 changed files with 64 additions and 15 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,35 @@ This project aims to adhere to [Semantic Versioning](https://server.org).

Regarding project commits: As of 2024-08-23, this project aims to adhere to the [Conventional Commits](https://www.conventionalcommits.org) standard. While the standard makes recommendations, it does not limit commit type or scope; consequently, neither type nor scope is limited to those recommendations in the project commits.

## [2.0.0] - 2025-02-23

### Added

* Ability to configure settings independently for app and for each of one or more widgets. Settings are distinguished by a postfix widget id added to preference keys corresponding to a given widget, and by app settings having no postfix. __[This addition may require the User to reset settings for any widgets currently in use.]__
* Ability to select a different time zone for each widget.
* Selectable widget layouts enabling addition of a time zone label above or below the time display.
* A custom preference that has no function except to provide a separator line in the arrangement of preferences on a settings activity.
* The id of the widget currently being configured to the widget settings activity title when the project is built for debugging.
* Commit type 'cleanup' for chores limited to removal of unused files, unused code, unneeded comments (or portions thereof), and/or superfluous whitespace.

### Changed

* XML implementation of time and opacity preferences to code implementation to enable programmatic change of preference keys so the same hierarchy could be used to independently set different preference values for app and widget.
* Tick intent (action MINUTE_TICK) so as to eliminate its unnecessary duplication.
* Frequency of updating widget features by determining when to update such features based on the action of a received intent, especially preventing these features from being updated with every receipt of a MINUTE_TICK intent.

### Deprecated

* The back arrow on the about activity, to be replaced with an "Ok" or similarly labeled button in the style of the buttons now provided on settings activities.

### Removed

* The back arrow from the title bar of each settings activity.

### Fixed

* Issues with widget time display text size being incorrect for the width of the widget (3 or >=4 tiles wide) by adding setting of text size to be updated along with other widget features.

## [1.3.0] - 2024-11-18

### Added
Expand Down
27 changes: 15 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,7 @@ RomanDigital includes several common clock app features, including:

![Landscape screenshot of phone showing system bars and RomanDigital app displaying time as IV:XIV with toolbar containing gear and info icons](/.github/images/Screenshot_20240809_161416_RomanDigital.png)

RomanDigital further includes features believed to be unique over other
known Roman digital clock Android apps, including:
RomanDigital further includes:

* Choice between centered display and display aligned with a fixed divider
* AM/PM indicator integrated into the time display, such that the divider is displayed as "·" for AM and ":" for PM:
Expand All @@ -51,10 +50,14 @@ known Roman digital clock Android apps, including:

* Option to only keep display on when device is charging
* Adaptive display providing the largest possible monospace text for the device screen width (excepting a narrow margin)
* A widget for providing a Roman digital clock display on a device's Home screen, where the display mirrors the settings of the app clock display:
* A widget for providing a Roman digital clock display on a device's Home screen:

![Portrait screenshot of phone Home screen showing RomanDigital widget](/.github/images/Screenshot_20240910_174429_One_UI_Home_scaled.jpg)

* Independent setting of widget background transparency, time zone, and other settings:

![Portrait screenshot of a second phone Home screen showing four RomanDigital widgets with center-aligned Continental U.S. time zone times, time zone labels below times, and different transparency backgrounds](/.github/images/Screenshot_20250219_115336_One_UI_Home_scaled.jpg) ![Portrait screenshot of a third phone Home screen showing six RomanDigital widgets with fixed-divider-aligned international location time zone times and time zone labels above times](/.github/images/Screenshot_20250219_120411_One_UI_Home_scaled.jpg)

* And... RomanDigital is Apache-2.0-licensed open source :slightly_smiling_face:

## Requirements
Expand Down Expand Up @@ -102,25 +105,25 @@ The RomanDigital app will run on a 5th Generation Amazon Kindle Fire, which is b

## FAQ (Foremost Anticipated Questions)

> Q: "I just updated RomanDigital, and now the widget doesn't work! What happened?"
> Q: "I just updated RomanDigital / updated Android / restarted my device, and now the widget doesn't work! What happened?"
>
> A: The widget "ticks" are scheduled in advance for technical reasons, and the widget that's part of the updated app may not receive "ticks" previously scheduled for the widget's earlier version. In such a case, it stops :slightly_frowning_face: The workaround right now to get the widget going again is to "kickstart" it by simply opening and then closing a settings screen from either the widget or the app. I hope to make post-update widget restart either more elegant or entirely automatic at some point.
> A: The widget "ticks" are scheduled in advance for technical reasons, and the widget that's part of the updated app may not receive "ticks" previously scheduled for the widget's earlier version. In such a case, it stops :slightly_frowning_face: The workaround right now to get the widget going again is to "kickstart" it by simply opening and then canceling a settings screen from any widget or from the app. Not ideal, but at least it works. :roll_eyes: My hope is to make such widget restarts either more elegant or entirely automatic at some point.
> Q: "Why does the position of the divider change when 'Align to Divider' is selected? Isn't it supposed to stay in one place?"
>
> A: Yes, it's supposed to stay in one place, but the positioning was designed with the expectation of using a monospace font (shortsighted of me, I know). If you've changed a device setting effecting the font used, e.g. your system-wide font, to something that doesn't provide for monospace, then the calculated display position based on expected equal-width characters, and thus the divider position, will unfortunately be off.
> A: Yes, it's supposed to stay in one place, but the positioning was designed with the expectation of using a monospace font. Shortsighted of me, I know, but implementation for variable width fonts would be _really hard_. If you've changed a device setting effecting the font used, e.g. your system-wide font, to something that doesn't provide for monospace, then the calculated display position based on expected equal-width characters, and thus the divider position, will unfortunately be off.
> Q: "There's no alarm feature, so why the need to set exact alarms? What's this got to do with an accurate time display?"
>
> A: Android doesn't enable widgets to receive the ACTION_TIME_TICK intent broadcast through the system each minute. Setting an alarm for the exact time of each next minute at the end of a minute is the only straightforward way (that I know of) for the app's widget to know when to update the time display.
> Q: "Will there ever be an alarm feature?"
>
> A: Maybe, but it's quite low on the priority list at this point.
> A: Maybe, but it's quite low on the priority list at this point.
> Q: "Why can't I change the font/text color/background color/widget corner curvature/etc?"
>
> A: Haven't gotten to them yet.
> A: Background _transparency_ can now be changed, with background fully white/black for 100% opacity in light/dark mode. As for other stylistic changes, I haven't gotten to them yet. (_Spoiler Alert!_ Variable app text color is planned for version 2.1.0.)
> Q: "Why no seconds?"
>
Expand All @@ -130,6 +133,10 @@ The RomanDigital app will run on a 5th Generation Amazon Kindle Fire, which is b
>
> A: Because it's just a simple clock. At least for now.
> Q: "I want to change widget time zone labels to particular place names. Is there any way to do this?"
>
> A: Not right now, but it should be added pretty soon since I want that option myself and it should be easy to implement.
> Q: "Can I put the widget on my phone's lock screen?"
>
> A: Maybe. I was able to on my Samsung Galaxy A14 5G by purchasing the awkwardly-named [Lockscreen Widgets and Drawer](https://play.google.com/store/apps/details?id=tk.zwander.lockscreenwidgets) app for the low, low price of $1.49. YMMV. Here's what my lock screen looks like:
Expand All @@ -147,7 +154,3 @@ The RomanDigital app will run on a 5th Generation Amazon Kindle Fire, which is b
> Q: "Will it work on a watch or a TV?"
>
> A: It might — haven't tried — but if it did, it would likely result in a time display that's "unoptimized for the given device's screen size." In other words, "too large" or "too small".
> Q: "Can the app and widgets be set to different time zones?"
>
> A: Not at this point because only one global set of preferences is used. But providing independent preferences for the app and each widget is something I'd like to get to pretty soon.
4 changes: 2 additions & 2 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
applicationId = "net.diffengine.romandigitalclock"
minSdk = 21
targetSdk = 34
versionCode = 6
versionName = "1.3.0.Dev20250218"
versionCode = 7
versionName = "2.0.0"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
Expand Down
15 changes: 15 additions & 0 deletions fastlane/metadata/android/en-US/changelogs/7.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Added:
* Ability to configure settings independently for app and for each of one or more widgets.
* Ability to select a different time zone for each widget.
* Selectable widget layouts enabling addition of a time zone label above or below the time display.

Changed:
* Internal details related to updating of widgets' time and features, to improve efficiency.

Removed:
* The back arrow from the title bar of each Settings screen, since the arrow performs the same function as the Save button,

Fixed:
* Issues with widget time display text size being incorrect for the width of the widget (3 or >=4 tiles wide).

NOTE: Installing this update will likely require resetting settings for any widgets currently in use.
4 changes: 3 additions & 1 deletion fastlane/metadata/android/en-US/full_description.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@ The RomanDigital app provides a clock of unique style that can be used to repurp

For more personal use, the RomanDigital widget makes a distinctive addition to a device's Home screen.

RomanDigital includes features expected in an ordinary digital clock app, such as:
RomanDigital includes features expected in an ordinary digital clock, such as:
* Choice of 12 or 24 hour format
* Optional AM/PM indicator (uniquely integrated into the time display)
* Option to keep display on when app is in the foreground
* Display in either portrait or landscape

The RomanDigital widget also includes variable background opacity that can be set from 0% to 100% by tens.

For more detailed information including a FAQ list, please see the README.md file accompanying the RomanDigital source code.

Source code for RomanDigital is available at:
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d0948f2

Please sign in to comment.