GitBucket
4.21.2
Toggle navigation
Snippets
Sign in
Files
Branches
1
Releases
Issues
Pull requests
Labels
Priorities
Milestones
Wiki
Forks
mark.george
/
timekeeper
Browse code
Added README, switch to release configuration, added clock.
master
1 parent
878f6e5
commit
5f0d751a1ecffbbf63743fa500f55c9a94c62ee1
Mark George
authored
on 12 Sep 2019
Patch
Showing
3 changed files
README.md
app/build.gradle
clock.svg
Ignore Space
Show notes
View
README.md
0 → 100644
# Description I got sick of giving lectures in rooms with a clock that is either non-functional or several minutes fast/slow. What happened to all the old militant academics who would throw tantrams at the building supervisors if there was a bad clock in a room? I don't wear a watch, but always have my phone with me since I use it for recording the lecture. So, I figured an app should do the trick. My requirements: * A simple fullscreen 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. * Time-oriented since I want to be able to pick the end time rather than a duration. * Some kind of obvious indication when time is up. A quick survey of the app store showed that most apps in this category were: * Butt fugly. * Ridden with ads. * Built for some specific purpose with mandatory breaks in the middle (WTH is pomodoro?). * Most were 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. FYI - Android development still sucks. Glad to see things have not changed since I last had to build an app a few years back. # Usage Run the app. Enter your end time. If you bugger it up, tap reset. Set the display update rate (defaults to 5 seconds). Set the dim screen option if you want it (should use less battery with the screen dimmed). Tap start. It will count down the minutes until the end time. 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 to get your navigation buttons back. I got lazy and used 'sticky immersive' mode which will automatically hide the navigation buttons after a few seconds. This saved me from having to write my own fullscreen toggle, but does mean you have to use the swipe down to get to the navigation bars which is a bit annoying (particularly if you don't know about it).
Ignore Space
Show notes
View
app/build.gradle
apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion "29.0.2" defaultConfig { applicationId "nz.ac.otago.infosci.timekeeper" minSdkVersion 26 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'com.google.android.material:material:1.0.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' }
apply plugin: 'com.android.application' android { compileSdkVersion 29 buildToolsVersion "29.0.2" defaultConfig { applicationId "nz.ac.otago.infosci.timekeeper" minSdkVersion 26 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'com.google.android.material:material:1.0.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test:runner:1.2.0' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' }
Ignore Space
Show notes
View
clock.svg
0 → 100644
Show line notes below