Code Monkey home page Code Monkey logo

random-alarm's Introduction

This project is archived

While I had a usecase for this app years ago, I don't anymore and as you can see, it's way outdated after 2 years without attention. For some it might still serve as inspiration but at this point, this is so outdated that I'd have to rebuild it from the ground up which I don't have the time for.

Random Alarm

An alarm app that lets you configure a list of sounds or music to wake you up with a random one each morning!

The app is built roughly following a design concept by Alex on Dribble:

Alarm App concept by Alex on Dribble

Running for yourself

  1. Clone the repository
git clone https://github.com/geisterfurz007/random-alarm.git
  1. Switch directory and install dependencies
cd random-alarm
flutter pub get
  1. Adapt alarm manager package to work on the homescreen. The required changes are described in flutter/flutter#30555 (comment) (path may vary due to a different version being installed; you are also not looking for the android_alarm_manager-version directory but android_alarm_manager_plus-version directory).

  2. Run the build runner

flutter packages pub run build_runner build
  1. Launch on a phone or emulator of your choice using flutter run or your favourite IDE / editor

Different screens

Main screen:

Main screen

Edit screen:

Edit screen

Alarm screen:

Alarm screen

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

random-alarm's People

Contributors

geisterfurz007 avatar jja08111 avatar mvarendorff 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

Watchers

 avatar  avatar  avatar

random-alarm's Issues

Issue Regarding Alarm List

Target of URI hasn't been generated: 'alarm_list.g.dart'.
Try running the generator that will generate the file referenced by the URI.

This is the error showing on alarm_list.dart and few more pages like alarm_status.dart, searchable_selection.dart.
I don't understand why in my PC "part 'searchable_selection.g.dart';" like this packages are not working..

Please solve this issue

Fail to build running this app in flutter.

I want to make alarm app that is my first app, so I would like to refer to your application.

But build failed..
I've changed the AlarmBroadcastReceiver.java.

The error code is here.

C:\flutter\.pub-cache\hosted\pub.dartlang.org\android_alarm_manager-0.4.5+15\android\src\main\java\io\flutter\plugins\androidalarmmanager\AlarmBroadcastReceiver.java:20: warning: [deprecation] SCREEN_DIM_WAKE_LOCK in PowerManager has been deprecated
    wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK |
                                                    ^
error: warnings found and -Werror specified
1 error
1 warning

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':android_alarm_manager:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 5s
Exception: Gradle task assembleDebug failed with exit code 1

How to debug this error?

Save other data when scheduling

Data like volume and sounds are not saved when an alarm is scheduled. To make sure the data used when the alarm goes off is actually up to date, the app currently must go through a life cycle change to either paused or inactive saving all alarms at once.

Alarm starts when rebooting

The alarm goes off when the phone is rebooted.
This might be an issue because of the modification made to android_alarm_manager, might be a bug in that library or might be a problem in my code.

Unschedule alarms when disabled

Currently there is no functionality that unschedules alarms when a specific day of the week is deselected or the entire alarm is turned off. Once scheduled that thing will ring (with a roughly 50:50 chance in its current state...).

Alarm app need two permission for stable alarm system

Hi, I released an alarm app at the play store using your open-source, thank you so much.

While building the app, I found out that two permissions are required for a stable alarm system.

  1. Display over other apps
  2. Ignore battery optimization

Those permissions are should be required in the upper Android 10 version. If the first permission is not allowed, the app cannot be displayed on the screen when the app is not running or is running in the background. If the second permission is not allowed, the alarm sometimes does not work.

Therefore, this repo should have a description or code added to the above permission.

Rescheduling alarms every week / running them only once

Alarms are scheduled for one week and would have to be manually rescheduled after that.
Neither should it be that way, nor does the UI reflect this.
Things that need to be done in this regard:

  • Update the UI to include options to repeat an alarm every week
    • Actually repeat the alarm every week
  • Reflect in the UI when an alarm will go off. If an alarm is not set to repeat every week, days should be set to disabled once the alarm went off on the respective day

When adding a fourth alarm, funny things start happening

Third alarm seems to turn out as duplicate of fourth one and you can control both by editing one.

When dismissing either, the other one causes an error because keywise they are the same and flutter complains that the other alarm that it considers equal should have been dismissed as well.

Add playlist support

It's cumbersome to select all pieces of music you'd like to hear just because they are all in one dialog.

Add support to simply select entire playlists to make things easier.

Single Song selection

When selecting a single song or sound from the dialog, the app crashes. Works with no selection and multiple selections. Just not with one.

unable to run this project on my system

when i am trying to run i am getting error in stores folder

Target of URI hasn't been generated: 'observable_alarm/observable_alarm.g.dart'.
Target of URI hasn't been generated: 'searchable_selection.g.dart'.

Add support for folders

Similar to #9 it should be possible to select a folder of music to be used for the music.

Something like getting a sound, resolving the path up to Music and looking for folders in there might work fine. Could even work with subfolders!

Absolute mess in the actual alarm functionality

In what feels like random cases, the alarm either:

  • Does not play music
  • Does not turn off
  • Gets stuck in the alarm screen despite the alarm should have been turned off
  • Does not exit the app after the alarm was turned off

Occasionally the app combines listed features for a more alarming experience.

Loop or continue to play

In case of shorter sounds, it's reasonable to assume it's a "normal" ringtone which should be looped.
In case of longer sounds, it's probably reasonable to assume it's a piece of music. In that case when it is fully played, pick another random song from the list and start playing that.

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.