AmaryllisBackgroundServiceとPlayListListenerを追加しました。 #53

Closed Shinji wants to merge 3 commits into nitta-lab-2020:master from nitta-lab-2020:shinji_1022_
Showing 3 changed files
View
15
app/src/main/AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.ntlab.amaryllis.client">
 
<!--
The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
Google Maps Android API v2, but you must specify either coarse or fine
location permissions for the "MyLocation" functionality.
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:usesCleartextTraffic="true"
android:theme="@style/AppTheme">
<activity android:name=".VoiceActivity"></activity>
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
<service
android:name=".entities.AmaryllisBackgroundService"
android:exported="false"></service>
 
<activity android:name=".VoiceActivity" />
<!--
The API key for Google Maps-based APIs is defined as a string resource.
(See the file "res/values/google_maps_api.xml").
Note that the API key is linked to the encryption key used to sign the APK.
View
41
app/src/main/java/org/ntlab/amaryllis/client/entities/AmaryllisBackgroundService.java 0 → 100644
package org.ntlab.amaryllis.client.entities;
 
import android.app.IntentService;
import android.content.Intent;
import android.content.Context;
 
import org.ntlab.amaryllis.client.voiceservice.PlayListManager;
 
import java.util.ArrayList;
 
 
public class AmaryllisBackgroundService extends IntentService {
private ArrayList<PlayListListener> playListListeners;
private PlayListManager playListManager;
public AmaryllisBackgroundService() {
super("AmaryllisBackgroundService");
playListListeners=new ArrayList<>();
}
 
@Override
protected void onHandleIntent(Intent intent) {
 
}
 
public void subscribe(PlayListListener playListListener){
playListListeners.add(playListListener);
}
public PlayListManager getPlayListManager(){
return playListManager;
}
 
private void callPlayNext(Voicememo voicememo){
for(PlayListListener pl:playListListeners)pl.onPlayNext(voicememo);
}
private void callPlayEnd(){
for(PlayListListener pl:playListListeners)pl.onPlayEnd();
}
 
 
}
View
7
app/src/main/java/org/ntlab/amaryllis/client/entities/PlayListListener.java 0 → 100644
package org.ntlab.amaryllis.client.entities;
 
public interface PlayListListener {
public void onPlayNext(Voicememo voicememo);
public void onPlayEnd();
}