WikiRadio is started as one of Outreachy round 13 project. It is a radio application which plays audio files from commons.wikimedia.org and/or tts files of random summaries from en.wikipedia.org. After internship, it is stil being developped.
Here is a demo
On comman line, please type:
cd DesiredWorkingDirectory<br />
git clone https://github.com/neslihanturan/WikiRadio.git<br />
Build with Android Studio or IntelliJ
1 - Open Android Studio
2 - Select File -> Import Project
3 - Find the directory you saved and select build.gradle file
User Interractions
RadioActivity.java - Main activity of the app. User can interract by action buttons on it.
NotificationService.java - Background service for notification operations
CacheController
WikipediaSummaryCacheController.java - Caches tts files on background
CommonsCacheController.java - Caches audio files from commons
Action
AudioSourceSelector.java - Choose audio source based from user prefrences, as commons audio files, tts files or both
AudioFileButtonListener.java - Includes the methods to operate actions for commons audio files
TTSButtonListener.java - Includes the methods to operate actions for tts files
Model
AudioFile.java - It is a data type to express audio files from commons
TTSFile.java - It is a data type to express audio files from tts source
MediaPlayer
MediaPlayerController.java - It is a interface for mediaplayer actions, makes state checks
SingleMediaPlayer.java - Singletone object to make sure there is only one mediaplayer object at a time
MediaPlayerState.java - Madiaplayer states table
Used Libraries
DanikulaVideoCache is used for background caching of commons files
Retrofit2 is used for network operations
New contributors are welcome. You can directly connect with me tur.neslihan(at)gmail(dot)com. Please create a new issue for the problem (there are several of them:)) you encountered or solve an existing issue.