Giter Club home page Giter Club logo

bilal's Introduction

Overview

Bilal is a free software that displays Muslim Prayer times on Android phones and tablets. It uses a Java version of the PrayerTime package that is part of Islamic Tools Library from the Arab Eyes project. This library provides also the calculation methods shown in the screenshots below.

Bilal was initially developed for academic purposes to demonstrate some Android features (Alarm, Notification, Wear support etc.). It was open sourced under GPLv3 in the hope that volunteers can contribute changes to improve it. See the TODO file for that.

Currently it contains the coordinates of 23784 cities in 250 countries around the world, extracted from the geoname.org project. Adding a new city or adjusting the coordinates of an existing one can de done in the sqlite locations.db3 database in app/src/main/asset/databases.

It is possible to add/replace a Muezzin by adding/modifying its mp3 files in app/src/main/res/raw and the corresponding XML resources.

Bilal is deployed in Google Play Store as "Athan Bilal": Get it on Google Play

Screenshots

screenshots

Testing

  • Testing with two emulators (phone + watch) is not possible any more due to changes in recent Android SDKs that prevent pairing them together. Instead, you can use a watch emulator with a real phone where you need to install the app 'Wear OS by Google'.

  • To test with two emulators (phone + watch) using SDK 26 and x86 emulator images follow these steps:

  1. Use a phone emulator with Google API support.

$ /opt/android-sdk-linux/tools/emulator -avd phone -netspeed full -netdelay none -no-boot-anim -gpu on -qemu -m 512 -enable-kvm

  1. Use a smart watch emulator to see Prayer Time wear notification.

$ /opt/android-sdk-linux/tools/emulator -avd watch -netspeed full -netdelay none -no-boot-anim -gpu on -qemu -m 512 -enable-kvm

  1. Google and download the old 'Android Wear' app and install it on the phone emulator:

$ /opt/android-sdk-linux/platform-tools/adb -s emulator-5556 install ~/Downloads/com.google.android.wearable.app-2.apk

  1. Pair the emulators as follows: a. find out the port used by the phone emulator (from its window title) or using:

    $ /opt/android-sdk-linux/platform-tools/adb devices

b. log into the phone emulator using telnet:

$ telnet localhost 5556

c. in the telnet session add a tcp port redirection like this:

redir add tcp:5601:5601 

d. run the wearable app on the phone, accept the licence and choose 'Pair with a new device'. Upon success the message 'connected' will appear in the action bar.

  1. Start Bilal then play with the time settings to trigger a notification.

bilal's People

Contributors

cdjalel avatar

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.