Skip to content
malarm - Good night & Good-morning with your favorite tunes (Android app)
Java JavaScript CSS HTML Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
assets/local
doc
libs
libsrc
res
src/com/mamewo/malarm24
test
tool
.classpath
.gitignore
.gitmodules
.project
.travis.yml
AndroidManifest.xml
LICENCE.txt
README.md
ant.properties
build.xml
index.html
lint.xml
proguard.cfg
project.properties

README.md

malarm - Good-night & Good-morning with your favorite tunes Build Status

What is this?

This is a simple alarm application of android (version 2.2.x - 2.3.3, 4.x).

Overview

            sleep tunes (e.g.1h)               wake-up tunes w vibration
                                               application starts
 Alarm set ------------------> ..... Alarm time --------------->
 press "set alarm" button                      display google calendar/Gmail etc..

If you want to stop vibration only, please use "stop vibration" menu

Resources

Demo video

http://www.youtube.com/watch?v=vA2F_dO0mQA

Screenshot

Japanese screen shot English screen shot Preference

Help page

Google Play

my play page

Github

https://github.com/mamewotoko/malarm

How to start

  1. Put your music file into /sdcard/music directory of android device
  2. Prepare m3u format play list for sleep (named sleep.m3u) and wakeup (named wakeup.m3u). m3u file contains one music filename in one line.
  3. Put playlists and stop.m4a file in /sdcard/music/ directory of android device.
  4. Download apk file from https://github.com/mamewotoko/malarm/downloads or Build malarm and install it on android device
  5. Run malarm on android device
  6. Enjoy!

You can change path to playlist and music files by "Playlist directory" preference screen

Tested Device

  • Xperia acro
    • Android 2.3.4 (API level 10)
    • 480x854 (WVGA+) screen
  • AQUOS PHONE Serie SHL21
    • Android 4.0.4
    • Android 4.1.2
  • Android 2.1 emulator (API level 7)
  • Android 2.2 emulator (API level 8)
  • Android 4.0 emulator

Playlist format

Basically m3u format. Podcast is supported by adding podcast XML url like following

podcast:http://www.nhk.or.jp/rj/podcast/rss/english.xml

The first episode is played.

Limitation

  • Music stops when DRM decoding failed

TODO

  • merge PlayserService from podplayer project
  • add UI to widen WebView area
  • use playlist created by Google music player
    • add UI to select playlist for wakeup and sleep.
  • Write more detail to help page
    • how to create playlist
    • how to create customized url list file
  • add preference to avoid network access from web viewer
    • add network preference, disable/enable
    • e.g. display photo
  • fix bugs
    • long press set alarm button -> rotate -> then notification disappears but alarm is set
    • alarm set -> pause music from menu -> notification title is incorrect
  • make COOL widget to set alarm (make clock widget?)
  • show music title as a notification, not filename
  • add play button on volume preference to check volume
  • show mark on playing music in playlist preference
  • improve UI to create and edit playlist
  • improve accessibility http://android-developers.blogspot.jp/2012/04/accessibility-are-you-serving-all-your.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+blogspot/hsDu+(Android+Developers+Blog)
  • add introduction guide or tutorial to create playlist
  • improve wording especially one of notification
  • parse preference.xml to test preference easily. (remove lookup and table)
  • use text to speech to read web page http://developer.android.com/resources/articles/tts.html
  • add preference to set silent mode or restore volume
  • change notification icon while playing music
  • change webview into photo view, movie player...
    • separate webview part from main activity
  • add UI to play ringtone on VolumePreference to check volume
  • hide time picker after malarm is set? (or count down?)
    • scale of web contents
  • move current playing position when playlist is edited
  • add mode to display alert dialog if device is not charged when alarm is set
  • fix UI update bug when sleep timer expires (broadcast -> activity)
  • conditional playlist
    • Sunday, holiday playlist etc...
  • add more test cases
    • setAlarm -> Activity quits
    • double touch of webview
    • label text is updated when music is stopped or alarm is canceled
    • check default config value
  • fix bug when native player is used....
  • support HVGA, WVGA, WVGA+ resolution

Future work

  • localize: French, Chinese (needs pull request...?)
  • support multiple episode of podcast?
  • support shuffle of music
  • use Actionbar
  • Design for tablets
  • record wakeup time

Appendix

How To Build From Command Line

  1. Create local.properties file and set sdk.dir property to location where you installed android SDK sdk.dir=<path to android SDK>
  2. In project top directory execute following command
ant debug
  1. malarm-debug.apk will be created in bin directory, if successed

Start Android Emulator And Install APK From Command Line

  1. start android emulator
emulator -avd <avdname>
  1. install application on android emulator
adb install bin/malarm-cmd.apk

(build.xml and *.property files are created by android create command) or install app using ant

ant installd

Automated UI Testing

There is a GUI automated test using Robotium, named malarm_test

Memo

  • URL list specification
    1. if malarm/urllist.txt exists in external storage(e.g. SD card), it is used as url list file url list file is a text file which contains title followed by tab and its url par line you can specify slide show contents in asset e.g. file:///android_asset/local/step.html
    2. otherwise, url list specified by UI is used pref_url_list_value in values/arrays.xml is used
  • MultiListPreference is based on the following web page http://blog.350nice.com/wp/archives/240
  • Alarm application starts when user push appwidget of malarm.
  • Dropsync is a useful Android app!
  • To use @Overrides annotation, use following eclipse setting org.eclipse.jdt.core.compiler.compliance=1.6

Takashi Masuyama < mamewotoko@gmail.com >
http://mamewo.ddo.jp/

Something went wrong with that request. Please try again.