diff --git a/app/src/main/java/org/ntlab/amaryllis/client/entities/AmaryllisBackgroundService.java b/app/src/main/java/org/ntlab/amaryllis/client/entities/AmaryllisBackgroundService.java index 53cc29f..7ef7aa6 100644 --- a/app/src/main/java/org/ntlab/amaryllis/client/entities/AmaryllisBackgroundService.java +++ b/app/src/main/java/org/ntlab/amaryllis/client/entities/AmaryllisBackgroundService.java @@ -2,21 +2,70 @@ import android.app.IntentService; import android.content.Intent; -import android.content.Context; +import android.location.Location; +import android.location.LocationListener; +import android.os.Bundle; +import org.ntlab.amaryllis.client.resources.VoicememosRest; import org.ntlab.amaryllis.client.voiceservice.PlayListManager; +import org.ntlab.amaryllis.client.voiceservice.VoiceMemo; import java.util.ArrayList; +import java.util.List; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; -public class AmaryllisBackgroundService extends IntentService { +public class AmaryllisBackgroundService extends IntentService implements LocationListener { private ArrayList playListListeners; private PlayListManager playListManager; + private double longitude,latitude; + private int i=0; public AmaryllisBackgroundService() { super("AmaryllisBackgroundService"); playListListeners=new ArrayList<>(); } +// ArrayList Lat; + @Override + public void onCreate() { + super.onCreate(); + + Retrofit retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/amaryllis/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + final VoicememosRest voicememosRest=retrofit.create(VoicememosRest.class); + Call> call=voicememosRest.getVoicememos(145.0,0.0,145.0,0.0); + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + List voicememos = response.body(); + float distance[] = new float[voicememos.size()]; + ArrayList t = new ArrayList<>(); + for(VoiceMemo v:voicememos){ + double lat=v.getLatitude(); + double lon=v.getLongitude(); + Location.distanceBetween(latitude,longitude,lat,lon,distance); + if (distance[i] < 50){ + //ここにPlayListManagerへ投稿を送る + t.add(v); + } + i++; + } + playListManager.addVoiceMemos(t); + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }); + } @Override protected void onHandleIntent(Intent intent) { @@ -38,4 +87,26 @@ } +// ArrayList<> 変数名 = new ArrayList(); + + @Override + public void onLocationChanged(Location location) { + longitude=location.getLongitude(); + latitude=location.getLatitude(); + } + + @Override + public void onStatusChanged(String s, int i, Bundle bundle) { + } + + @Override + public void onProviderEnabled(String s) { + + } + + @Override + public void onProviderDisabled(String s) { + + } + }