| |
---|
| | import com.example.cosmosclient.R; |
---|
| | import com.example.cosmosclient.app.Cosmos; |
---|
| | import com.example.cosmosclient.entities.AddRequestsResponse; |
---|
| | import com.example.cosmosclient.entities.Request; |
---|
| | import com.example.cosmosclient.entities.Requests; |
---|
| | import com.example.cosmosclient.entities.RequestList; |
---|
| | import com.example.cosmosclient.resources.GroupsRest; |
---|
| | import com.example.cosmosclient.yolp.Yolp; |
---|
| | |
---|
| | import java.io.IOException; |
---|
| |
---|
| | |
---|
| | Toast toast; //動作テスト用 |
---|
| | |
---|
| | //Request List |
---|
| | Requests requests; |
---|
| | RequestList requestList; |
---|
| | |
---|
| | //Color制御 |
---|
| | boolean productColorFlag = true; //買うもの (true:白, false:黒) |
---|
| | boolean deadlineColorFlag = true; //購入期限 |
---|
| |
---|
| | if (!productColorFlag) { |
---|
| | product.setColorFilter(null); |
---|
| | productColorFlag = true; |
---|
| | ResetRequestListTable(); |
---|
| | AddRequestListTable(requests); |
---|
| | AddRequestListTable(requestList); |
---|
| | } else { |
---|
| | if(deadlineRotationFlag) { |
---|
| | deadlineRotationFlag = false; |
---|
| | } else { |
---|
| |
---|
| | if (!deadlineColorFlag) { |
---|
| | deadline.setColorFilter(null); |
---|
| | deadlineColorFlag = true; |
---|
| | ResetRequestListTable(); |
---|
| | AddRequestListTable(requests); |
---|
| | AddRequestListTable(requestList); |
---|
| | if(!deadlineRotationFlag) { |
---|
| | deadline.setRotation(0); |
---|
| | } |
---|
| | } else { |
---|
| |
---|
| | if (!locationColorFlag) { |
---|
| | location.setColorFilter(null); |
---|
| | locationColorFlag = true; |
---|
| | ResetRequestListTable(); |
---|
| | AddRequestListTable(requests); |
---|
| | AddRequestListTable(requestList); |
---|
| | } else { |
---|
| | if(deadlineRotationFlag) { |
---|
| | deadlineRotationFlag = false; |
---|
| | } else { |
---|
| |
---|
| | if (!nameColorFlag) { |
---|
| | name.setColorFilter(null); |
---|
| | nameColorFlag = true; |
---|
| | ResetRequestListTable(); |
---|
| | AddRequestListTable(requests); |
---|
| | AddRequestListTable(requestList); |
---|
| | } else { |
---|
| | if(deadlineRotationFlag) { |
---|
| | deadlineRotationFlag = false; |
---|
| | } else { |
---|
| |
---|
| | final String uId = app.getuId(); |
---|
| | final String token = app.getToken(); |
---|
| | |
---|
| | for(Integer i : selectedRequestList.keySet()) { |
---|
| | Request request = requests.getRequest(i - 1); |
---|
| | Request request = requestList.getRequest(i - 1); |
---|
| | 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> updateReqestCall = requestsService.updateRequest(gId, request.getrId(), uId, request.getProduct(), deadline, request.getLocation(), true, token); |
---|
| | requests.removeRequest(i - 1); |
---|
| | requestList.removeRequest(i - 1); |
---|
| | |
---|
| | //サーバからのレスポンス |
---|
| | updateReqestCall.enqueue(new Callback<AddRequestsResponse>() { |
---|
| | //成功時 |
---|
| |
---|
| | AddRequestsResponse result = response.body(); |
---|
| | Toast.makeText(RequestListActivity.this, "RequestListを達成しました", Toast.LENGTH_SHORT).show(); |
---|
| | |
---|
| | ResetRequestListTable(); |
---|
| | AddRequestListTable(requests); |
---|
| | AddRequestListTable(requestList); |
---|
| | } else { |
---|
| | try { |
---|
| | System.out.println(response.errorBody().string()); |
---|
| | } catch (IOException e) { |
---|
| |
---|
| | @Override |
---|
| | protected void onStart() { |
---|
| | super.onStart(); |
---|
| | |
---|
| | //retrofitの処理 |
---|
| | // final Retrofit retrofit = new Retrofit.Builder() |
---|
| | //// .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/cosmos/") |
---|
| | // .baseUrl("http://10.0.2.2:8080/") |
---|
| | // .addConverterFactory(JacksonConverterFactory.create()) |
---|
| | // .build(); |
---|
| | |
---|
| | // //interfaceから実装を取得 |
---|
| | // final GroupsRest requestsService = retrofit.create(GroupsRest.class); |
---|
| | |
---|
| | //RequestList取得するための必要な情報 |
---|
| | Cosmos app = (Cosmos) getApplication(); |
---|
| | final Cosmos app = (Cosmos) getApplication(); |
---|
| | final String gId = app.getCurentGroup().getgId(); |
---|
| | final String token = app.getToken(); |
---|
| | final boolean detail = true; |
---|
| | int quantity = 20; |
---|
| | |
---|
| | final Call<Requests> requestsListByGidCall = requestsService.getRequestsListByGid(gId, token, detail, quantity); |
---|
| | final Call<RequestList> requestsListByGidCall = requestsService.getRequestsListByGid(gId, token, detail, quantity); |
---|
| | |
---|
| | //サーバからのレスポンス |
---|
| | requestsListByGidCall.enqueue(new Callback<Requests>() { |
---|
| | requestsListByGidCall.enqueue(new Callback<RequestList>() { |
---|
| | //成功時 |
---|
| | @Override |
---|
| | public void onResponse(Call<Requests> call, Response<Requests> response) { |
---|
| | public void onResponse(Call<RequestList> call, Response<RequestList> response) { |
---|
| | if (response.isSuccessful()) { |
---|
| | TimeZone.setDefault(TimeZone.getTimeZone("Asia/Tokyo")); |
---|
| | requests = response.body(); |
---|
| | requestList = response.body(); |
---|
| | app.getCurentGroup().setRequestList(requestList); |
---|
| | |
---|
| | //Add RequestList Table |
---|
| | AddRequestListTable(requests); |
---|
| | AddRequestListTable(requestList); |
---|
| | |
---|
| | Toast.makeText(RequestListActivity.this, "RequestListを取得しました", Toast.LENGTH_SHORT).show(); |
---|
| | } else { |
---|
| | try { |
---|
| |
---|
| | } |
---|
| | |
---|
| | //失敗時 |
---|
| | @Override |
---|
| | public void onFailure(Call<Requests> call, Throwable t) { |
---|
| | public void onFailure(Call<RequestList> call, Throwable t) { |
---|
| | t.printStackTrace(); |
---|
| | Toast.makeText(RequestListActivity.this, "RequestListの取得失敗しました", Toast.LENGTH_SHORT).show(); |
---|
| | } |
---|
| | }); |
---|
| |
---|
| | super.onRestart(); |
---|
| | |
---|
| | ResetRequestListTable(); |
---|
| | |
---|
| | requests.clearRequest(); |
---|
| | requestList.clearRequest(); |
---|
| | |
---|
| | // //Add RequestList Table |
---|
| | // AddRequestListTable(requests); |
---|
| | // AddRequestListTable(requestList); |
---|
| | } |
---|
| | |
---|
| | @SuppressWarnings("StatementWithEmptyBody") |
---|
| | @Override |
---|
| |
---|
| | requestlistDrawer.closeDrawer(GravityCompat.START); |
---|
| | return true; |
---|
| | } |
---|
| | |
---|
| | private int ConvertMonth(int i, Requests requests) { |
---|
| | return requests.getRequest(i).getDeadline().getMonth() + 1; |
---|
| | private int ConvertMonth(int i, RequestList requestList) { |
---|
| | return requestList.getRequest(i).getDeadline().getMonth() + 1; |
---|
| | } |
---|
| | |
---|
| | @TargetApi(Build.VERSION_CODES.O) |
---|
| | private void AddRequestListTable(Requests requests) { |
---|
| | private void AddRequestListTable(RequestList requestList) { |
---|
| | Date now = new Date(); |
---|
| | // TableLayout requesttable = (TableLayout)findViewById(R.id.RequestList); |
---|
| | requesttable.setShrinkAllColumns(true); |
---|
| | |
---|
| | for (int i = 0; i < requests.getRequestCount(); i++) { |
---|
| | for (int i = 0; i < requestList.getRequestCount(); i++) { |
---|
| | TableRow tableRow = new TableRow(this); |
---|
| | |
---|
| | TextView textProduct = new TextView(this); |
---|
| | textProduct.setText(requests.getRequest(i).getProduct()); |
---|
| | textProduct.setText(requestList.getRequest(i).getProduct()); |
---|
| | textProduct.setTextSize(20); |
---|
| | textProduct.setHeight(150); |
---|
| | textProduct.setGravity(Gravity.CENTER); |
---|
| | tableRow.addView(textProduct, new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT)); |
---|
| |
---|
| | // } |
---|
| | // if (requestList.get(i).getDeadline().getMonth() == now.getMonth() && requestList.get(i).getDeadline().getDate() - now.getDate() == 1) { |
---|
| | // textDeadline.setText("明日まで"); |
---|
| | // } |
---|
| | if(requests.getRequest(i).getDeadline() != null) { |
---|
| | textDeadline.setText(ConvertMonth(i, requests) + "/" + requests.getRequest(i).getDeadline().getDate()); |
---|
| | if(requestList.getRequest(i).getDeadline() != null) { |
---|
| | textDeadline.setText(ConvertMonth(i, requestList) + "/" + requestList.getRequest(i).getDeadline().getDate()); |
---|
| | } |
---|
| | // textDeadline.setText(now.getMonth() + "/" + now.getDate()); |
---|
| | textDeadline.setTextSize(20); |
---|
| | textDeadline.setHeight(150); |
---|
| | textDeadline.setGravity(Gravity.CENTER); |
---|
| | tableRow.addView(textDeadline, new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT)); |
---|
| | |
---|
| | TextView textLocation = new TextView(this); |
---|
| | if(Yolp.getInstance().getSubCategoryByCode(requests.getRequest(i).getLocation()) != null) { |
---|
| | textLocation.setText(Yolp.getInstance().getSubCategoryByCode(requests.getRequest(i).getLocation()).getSubName()); |
---|
| | if(Yolp.getInstance().getSubCategoryByCode(requestList.getRequest(i).getLocation()) != null) { |
---|
| | textLocation.setText(Yolp.getInstance().getSubCategoryByCode(requestList.getRequest(i).getLocation()).getSubName()); |
---|
| | } |
---|
| | |
---|
| | textLocation.setTextSize(20); |
---|
| | textLocation.setHeight(150); |
---|
| | textLocation.setGravity(Gravity.CENTER); |
---|
| | tableRow.addView(textLocation, new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT)); |
---|
| | |
---|
| | TextView textName = new TextView(this); |
---|
| | textName.setText(requests.getRequest(i).getIssuer().getName()); |
---|
| | textName.setText(requestList.getRequest(i).getIssuer().getName()); |
---|
| | textName.setTextSize(20); |
---|
| | textName.setHeight(150); |
---|
| | textName.setGravity(Gravity.CENTER); |
---|
| | tableRow.addView(textName, new TableRow.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT)); |
---|
| |
---|
| | requesttable.removeViews(1, childCount - 1); |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | private Requests SortProduct() { |
---|
| | List<Request> productsortRequestlist = (List<Request>) requests.getRequests(); |
---|
| | private RequestList SortProduct() { |
---|
| | List<Request> productsortRequestlist = (List<Request>) requestList.getRequests(); |
---|
| | |
---|
| | Collections.sort(productsortRequestlist, productSortComparator); |
---|
| | return new Requests(productsortRequestlist); |
---|
| | } |
---|
| | |
---|
| | private Requests SortDeadline() { |
---|
| | List<Request> deadlinesortRequestlist = (List<Request>) requests.getRequests(); |
---|
| | return new RequestList(productsortRequestlist); |
---|
| | } |
---|
| | |
---|
| | private RequestList SortDeadline() { |
---|
| | List<Request> deadlinesortRequestlist = (List<Request>) requestList.getRequests(); |
---|
| | |
---|
| | Collections.sort(deadlinesortRequestlist, deadlineSortComparator); |
---|
| | return new Requests(deadlinesortRequestlist); |
---|
| | } |
---|
| | |
---|
| | private Requests ReverseDeadline() { |
---|
| | List<Request> deadlinesortRequestlist = (List<Request>) requests.getRequests(); |
---|
| | return new RequestList(deadlinesortRequestlist); |
---|
| | } |
---|
| | |
---|
| | private RequestList ReverseDeadline() { |
---|
| | List<Request> deadlinesortRequestlist = (List<Request>) requestList.getRequests(); |
---|
| | |
---|
| | Collections.sort(deadlinesortRequestlist, deadlineReverseComparator); |
---|
| | return new Requests(deadlinesortRequestlist); |
---|
| | } |
---|
| | |
---|
| | private Requests SortLocation() { |
---|
| | List<Request> locationsortRequestlist = (List<Request>) requests.getRequests(); |
---|
| | return new RequestList(deadlinesortRequestlist); |
---|
| | } |
---|
| | |
---|
| | private RequestList SortLocation() { |
---|
| | List<Request> locationsortRequestlist = (List<Request>) requestList.getRequests(); |
---|
| | |
---|
| | Collections.sort(locationsortRequestlist, locationSortComparator); |
---|
| | return new Requests(locationsortRequestlist); |
---|
| | } |
---|
| | |
---|
| | private Requests SortName() { |
---|
| | List<Request> namesortRequestlist = (List<Request>) requests.getRequests(); |
---|
| | return new RequestList(locationsortRequestlist); |
---|
| | } |
---|
| | |
---|
| | private RequestList SortName() { |
---|
| | List<Request> namesortRequestlist = (List<Request>) requestList.getRequests(); |
---|
| | |
---|
| | Collections.sort(namesortRequestlist, nameSortComparator); |
---|
| | return new Requests(namesortRequestlist); |
---|
| | return new RequestList(namesortRequestlist); |
---|
| | } |
---|
| | } |
---|
| | |