Mark George authored on 10 Feb 2020
.idea Add project 2 years ago
app Add progress percentage 2 years ago
gradle/ wrapper Add project 2 years ago
.gitignore Add progress percentage 2 years ago
README.md Minor improvements to README 2 years ago
build.gradle Add project 2 years ago
clock.svg Added README, switch to release configuration, added clock. 2 years ago
gradle.properties Add project 2 years ago
gradlew Add project 2 years ago
gradlew.bat Add project 2 years ago
settings.gradle Add project 2 years ago
README.md

Description

I got sick of giving lectures in rooms with a clock that is either non-functional, several minutes fast/slow, or in a stupid location when the lecturer can't see it. What happened to all the old militant academics who would throw tantrums at the building managers if there was a bad clock in a room?

I don't wear a watch but always have my phone with me since I usually use it as a backup for recording the lecture audio. So, I figured an app should do the trick.

My requirements:

  • A simple full screen display with only a minute countdown, progress indicator, and correct time.
  • High-contrast white on black always-on display so I can see things with a dimmed screen without killing the battery.
  • Time-oriented since I want to be able to pick the end time rather than a duration.
  • Some kind of obvious indication when the time is up.

A quick survey of the app store showed that most apps in this category:

  • Were butt fugly.
  • Were riddled with ads.
  • Wanted more permissions than I was willing to give a timer app.
  • Were built for some specific purpose with mandatory breaks in the middle (WTH is pomodoro?).
  • Were in many cases not time-oriented.

So, figuring that it has been a while since I tortured myself by writing an Android app, I built one that does what I need.

Downloading

The signed APK is in the app/release folder. Download and side load it.

Requirements

Requires Android version 26 (Oreo) or better.

Usage

  1. Run the app.
  2. Enter your end time. If you bugger it up, tap reset.
  3. Set the display update rate (defaults to 5 seconds).
  4. Set the dim screen option (should use less battery with the screen dimmed).
  5. Tap start.

It will count down the minutes until the end time. The screen will stay awake for the entire time that the timer is visible. At 2 minutes out it will switch to minutes and seconds. At the end time the screen goes red, and it will start counting up so you know how much over time you are.

To get out of the timer screen, swipe down from the top of the screen to get your navigation buttons back. I used 'sticky immersive' mode for the timer screen which will automatically hide the navigation buttons after a few seconds. This saved me from having to write my own full screen toggle, but does mean you have to swipe down from the top of the screen to get to the navigation bars which is a bit annoying (particularly if you don't know about it).