Giter Site home page Giter Site logo

alarmclock's Introduction

Installs Rating Version

Build Status codecov Codacy Badge License

Simple alarm clock

Simple Alarm Clock is an alarm clock for Android smartphones and tablets that brings pure alarm experience to you by combining powerful features and clean interface. The interface of our Alarm clock is designed to be simple, intuitive and efficient. By removing what is not essential, we make access to everything you need even easier.

Features

  • Low volume gentle alarm which starts some time before the main alarm (when you are in good sleep phase to wake up, you will hear the low volume alarm and wake up most refreshed. 30 minutes is most of the time enough to catch the fast sleep phase)
  • Cool time picker like in Jelly Bean. No more spinning, only phone-style keyboard!
  • Volume fade in and vibration starting only after completed fade in
  • Snooze for some time with one click or to a snooze to selected time with out time picker
  • Longclick to dismiss - prevents accidental alarm dismiss
  • Longclick on snooze button for adjustable snooze time with a convenient time picker

Open source

The application code is branched from AOSP and is open source. Additional feature requests are appreciated! You can submit bugreports and feature requests by sending an email to developers!

License

Apache 2.0

Get it on Google Play Get it on F-Droid

Installs

Code coverage

Codecov

alarmclock's People

Contributors

ac4bb21b avatar bradfitz avatar chethaase avatar d1nuc0m avatar dependabot[bot] avatar dmitriplotnikov avatar dsandler avatar easyvector avatar fadden avatar ftno avatar gerhardol avatar jackpal avatar jham avatar kolanse avatar kruton avatar ltguillaume avatar marmo avatar mikeandroid avatar nriver avatar ochuba avatar onoratoj avatar pataquets avatar paulwestbrook avatar poussinou avatar roboerikg avatar sheremi avatar yuriykulikov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alarmclock's Issues

Add one-shot alarms

Add a checkbox into the SetAlarmActivity to make an Alarm a one-shot Alarm. Alarms added this way cannot be enabled or disabled, they can be only removed. They are removed automatically when they fire. This requires GUI, Alarm and DB changes.

This should be configurable in Settings (or not?, please vote)

Add bottom action bar

Buttons go to sleep now and go to bed. On the top we can display an icon, settings icon and time to the next alarm. Or vice versa - buttons on top, status on bottom.

Add nfc

Option - touch an NFC tag to silence the alarm.

Use light during pre-alarm

according to http://habrahabr.ru/post/149159/
при свете разрушается гормон сна мелатонин, начинает вырабатываться гормон пробуждения кортизол. Умная лампа включается за полчаса до нужного времени. Но не сразу на полную мощность, а постепенно увеличивая яркость. Одновременно начинают петь птички и шуметь лес – все громче и громче. Плюс, в нужное время зазвучит мелодия.

I find this awesome.

Add a logger

logger should be able to log everything to the logcat, file, or textview and should be responsible for switching channels on and off. And a way to catch runtime exceptions would be nice as well. This logger can be used to gather info from beta testers in the background (once a day send an email).

More refactoring

The model concept is not clear yet.

What should alarm do?
What should manager do?

  • Tossing ID's around is not nice. Much nicer to toss alarm objects. If alarm is parcel able, there is almost no need for manager in presenters.
  • How new alarms should be created?
  • How go to bed alarms should be different?
  • How much alarms should be aware of each other?
  • How to handle persistence? It seems OK how it is handled now.

Replace pre-alarm checkbox with time selector

Replace pre-alarm checkbox with time selector

Description

Currently pre-alarm can be switched on and off with a single checkbox for each alarm. Replace this checkbox with a time selector (time picker) to make selection more explicit, easier to understand and more flexible, allowing to change pre-alarm durations for each alarm independently.

Success Metrics

Positive user feedback regarding usability

Risks and Assumptions

Requires changes to the database structure

Duplicates

#334

Snooze does not work

Snooze does not work yet, enabling snooze leads to the feedback loop of "Fired - Fire next immediately"

Reduce DB access

We don't have to update DB everytime something is changed. We have to get data from it on app start and flush it when app ends or major changes happen).

Snooze did not go

Snooze alarm did not go and there was no scheduled alarm on the lockscreen afterwards. Snooze notification was still present.

Application fails to start (asus tf300t)

HW - ASUS Transformer Pad TF300T
Android Ver. - 4.0.3
Kernel Ver. - 2.6.39.4-00003-gafee6c5 android@Mars#1
Build Ver. - IML74K.WW_epad-9.4.3.30-20120604

Actions:
Start app.

Issue:
'Clock application is stopped' notification
app. not started

Refactoring

Model:

  • Use calendars instead of time in millis to make things more clear and readable
  • Move decision making from the Alarm class to a dedicated comparator
  • Move Database interaction to a dedicated repository class
  • Make Alarm an information expert. Alarm knows better what to do when it is changed.

unable to add new alarm (asus tf300t)

HW - ASUS Transformer Pad TF300T
Android Ver. - 4.0.3
Kernel Ver. - 2.6.39.4-00003-gafee6c5 android@Mars#1
Build Ver. - IML74K.WW_epad-9.4.3.30-20120604

Actions:
start application
push 'add new alarm'

Issue:
No UI visible result
no option to create new alarm

Refactor alarm alert to have only one alert

We should not use Theme.Holo.Wallpaper.NoTitleBar to remove KeyGuard. Instead, we should remove it ourselves. This will allow us to have only one AlarmAlert class and no tablet-specific layouts.

Merge JB

Merge JB source for translations

New interface for tablets

It turns out that for tablets we need something else.
Currently I can come up with:

  • Fullscreen interface with desktop background
  • Fullscreen interface with analog clock widget
  • Fullscreen interface with fragments (like Settings application)
  • Dialog interface with buttons

Currently we are using "Dialog interface with buttons". Problem is that there is no access to settings and it does not look very nice. I really think full screen wil look better. What we can do is take a look at other alarms, like doubleTwist alarm.

Add "Go to bed now" button in the main Activity

This button should start a SetAlarmActivity. SetAlarmActivity should add a slider as a second way to set time and show how many hours there are to sleep. As an alternative (for future?), button can replaced with a "drawer handle" to slide in the layout. These are one-shot alarms.

This should be configurable in settings.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.