| | package com.example.cosmosclient.services; |
---|
| | |
---|
| | import android.content.BroadcastReceiver; |
---|
| | import android.content.Context; |
---|
| | import android.content.Intent; |
---|
| | |
---|
| | import com.example.cosmosclient.app.Cosmos; |
---|
| | import com.example.cosmosclient.entities.AddRequestsResponse; |
---|
| | import com.example.cosmosclient.entities.Group; |
---|
| | import com.example.cosmosclient.entities.Request; |
---|
| | import com.example.cosmosclient.resources.GroupsRest; |
---|
| |
---|
| | import retrofit2.Response; |
---|
| | import retrofit2.Retrofit; |
---|
| | import retrofit2.converter.jackson.JacksonConverterFactory; |
---|
| | |
---|
| | public class NotificationDone { |
---|
| | public class NotificationDone extends BroadcastReceiver { |
---|
| | //retrofitの処理 |
---|
| | final Retrofit retrofit = new Retrofit.Builder() |
---|
| | .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/rest/") |
---|
| | // .baseUrl("http://10.0.2.2:8080/rest/") |
---|
| |
---|
| | .build(); |
---|
| | //interfaceから実装を取得 |
---|
| | final GroupsRest requestsService = retrofit.create(GroupsRest.class); |
---|
| | |
---|
| | public NotificationDone(){ |
---|
| | |
---|
| | @Override |
---|
| | public void onReceive(Context context, Intent intent) { |
---|
| | Cosmos app = (Cosmos) context.getApplicationContext(); |
---|
| | String gId = intent.getExtras().getString("gId"); |
---|
| | Request editRequest = app.getGroup(gId).getRequestList().getRequestById(intent.getExtras().getString("gId")); |
---|
| | if(gId == null){ |
---|
| | System.out.println("error"); |
---|
| | return; |
---|
| | } |
---|
| | if(editRequest == null){ |
---|
| | System.out.println("cannot find Request"); |
---|
| | return; |
---|
| | } |
---|
| | doneRequest(gId, editRequest); |
---|
| | } |
---|
| | |
---|
| | |
---|
| | public void onClick(Notification notification){ |
---|
| | Group group = notification.getGroup(); |
---|
| | Request request = notification.getRequest(); |
---|
| | |
---|
| | //引数で受け取ったリクエストを達成する |
---|
| | public void doneRequest(String gId, Request request){ |
---|
| | //Date型のフォーマット設定 |
---|
| | String deadline = null; |
---|
| | if (request.getDeadline() != null) { |
---|
| | deadline = String.format("%d-%02d-%02d %02d:%02d:%02d", request.getDeadline().getYear(), request.getDeadline().getMonth() + 1, request.getDeadline().getDate() + 1, 23, 59, 59); |
---|
| | } |
---|
| | final Call<AddRequestsResponse> updateRequestCall = requestsService.updateRequest(group.getgId(), request.getrId(), request.getIssuer().getuId(), request.getProduct(), deadline, request.getLocation(), true, "token"); |
---|
| | |
---|
| | final Call<AddRequestsResponse> updateRequestCall = requestsService.updateRequest(gId, request.getrId(), request.getIssuer().getuId(), request.getProduct(), deadline, request.getLocation(), true, "token"); |
---|
| | Response<AddRequestsResponse> response; |
---|
| | try { |
---|
| | response = updateRequestCall.execute(); |
---|
| | if (response.isSuccessful()) { |
---|
| |
---|
| | |