Advertisement
Guest User

Untitled

a guest
Mar 29th, 2019
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.71 KB | None | 0 0
  1. package com.arx.arxhdp;
  2.  
  3. import android.content.Intent;
  4. import android.net.Uri;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.os.Bundle;
  7. import android.view.View;
  8. import android.widget.EditText;
  9. import android.widget.Toast;
  10.  
  11. import com.google.gson.Gson;
  12. import com.google.gson.GsonBuilder;
  13.  
  14. import java.util.ArrayList;
  15. import java.util.HashMap;
  16. import java.util.List;
  17.  
  18. import jp.co.omron.healthcare.omoron_connect.wrapper.EquipmentInfo;
  19. import jp.co.omron.healthcare.omoron_connect.wrapper.VitalData;
  20. import jp.co.omron.healthcare.omoron_connect.wrapper.WrapperApi;
  21. import okhttp3.ResponseBody;
  22. import retrofit2.Call;
  23. import retrofit2.Callback;
  24. import retrofit2.Response;
  25. import retrofit2.Retrofit;
  26. import retrofit2.converter.gson.GsonConverterFactory;
  27.  
  28. public class MainActivity extends AppCompatActivity {
  29.  
  30.     private String serialId;
  31.     private int userId;
  32.     private String deviceType;
  33.     private WrapperApi wrapperApi = new WrapperApi(MainActivity.this, "VoQJd4rx", "com.arx.arxhdp");
  34.     private HashMap<Long, BloodPressureModel> bloodPressureHashMap = new HashMap<>();
  35.     private Retrofit retrofit;
  36.     private ArxApi arxApi;
  37.     private String token;
  38.  
  39.     @Override
  40.     protected void onCreate(Bundle savedInstanceState) {
  41.         super.onCreate(savedInstanceState);
  42.         setContentView(R.layout.activity_main);
  43.  
  44.         Retrofit.Builder builder = new Retrofit.Builder()
  45.                 .baseUrl("https://arxsup.azurewebsites.net/api/")
  46.                 .addConverterFactory(GsonConverterFactory.create());
  47.         retrofit = builder.build();
  48.         arxApi = retrofit.create(ArxApi.class);
  49.  
  50.         findViewById(R.id.btn_login).setOnClickListener(new View.OnClickListener() {
  51.             @Override
  52.             public void onClick(View v) {
  53.                 login();
  54.             }
  55.         });
  56.  
  57.         findViewById(R.id.btn_patient).setOnClickListener(new View.OnClickListener() {
  58.             @Override
  59.             public void onClick(View v) {
  60.                 getPatient();
  61.             }
  62.         });
  63.  
  64.         findViewById(R.id.btn_startup).setOnClickListener(new View.OnClickListener() {
  65.             @Override
  66.             public void onClick(View v) {
  67.                 startUp();
  68.             }
  69.  
  70.         });
  71.  
  72.         findViewById(R.id.btn_register).setOnClickListener(new View.OnClickListener() {
  73.             @Override
  74.             public void onClick(View v) {
  75.                 register();
  76.             }
  77.         });
  78.  
  79.         findViewById(R.id.btn_transfer).setOnClickListener(new View.OnClickListener() {
  80.             @Override
  81.             public void onClick(View v) {
  82.                 transfer();
  83.             }
  84.         });
  85.  
  86.         findViewById(R.id.btn_putBloodPressure).setOnClickListener(new View.OnClickListener() {
  87.             @Override
  88.             public void onClick(View v) {
  89.                 vitalData();
  90.                 putBloodPressure();
  91.             }
  92.         });
  93.  
  94.     }
  95.  
  96.     private void login() {
  97.         EditText userName = findViewById(R.id.userName);
  98.         EditText password = findViewById(R.id.password);
  99.         Login login = new Login(userName.getText().toString(), password.getText().toString());
  100.         Call<User> call = arxApi.login(login);
  101.  
  102.         call.enqueue(new Callback<User>() {
  103.             @Override
  104.             public void onResponse(Call<User> call, Response<User> response) {
  105.                 if(response.isSuccessful()) {
  106.                     Toast.makeText(MainActivity.this, response.body().getToken(), Toast.LENGTH_SHORT).show();
  107.                     token = response.body().getToken();
  108.                 }else {
  109.                     Toast.makeText(MainActivity.this, "login not correct :(", Toast.LENGTH_SHORT).show();
  110.                 }
  111.             }
  112.  
  113.             @Override
  114.             public void onFailure(Call<User> call, Throwable t) {
  115.                 Toast.makeText(MainActivity.this, "error :(", Toast.LENGTH_SHORT).show();
  116.             }
  117.         });
  118.     }
  119.  
  120.     private void getPatient() {
  121.         Call<Patient> call = arxApi.getPatient("Bearer " + token);
  122.  
  123.         call.enqueue(new Callback<Patient>() {
  124.             @Override
  125.             public void onResponse(Call<Patient> call, Response<Patient> response) {
  126.                 if(response.isSuccessful()) {
  127.                     Patient patient = response.body();
  128.                     String showOnToast = patient.getFirstName() + " " + patient.getLastName() + "\n";
  129.                     for(BloodPressureModel bloodPressureModel : patient.getMeasurements()){
  130.                         showOnToast += "Systoliskt: " + bloodPressureModel.getSystolic() + "\n";
  131.                         showOnToast += "Diastoliskt: " + bloodPressureModel.getDiastolic() + "\n";
  132.                         showOnToast += "Puls: " + bloodPressureModel.getPulse() + "\n\n";
  133.                         Toast.makeText(MainActivity.this, showOnToast, Toast.LENGTH_SHORT).show();
  134.                     }
  135.  
  136.                 }else {
  137.                     Toast.makeText(MainActivity.this, "token is not correct :(", Toast.LENGTH_SHORT).show();
  138.                 }
  139.             }
  140.  
  141.             @Override
  142.             public void onFailure(Call<Patient> call, Throwable t) {
  143.                 Toast.makeText(MainActivity.this, "error :(", Toast.LENGTH_SHORT).show();
  144.             }
  145.         });
  146.  
  147.     }
  148.  
  149.     private void startUp() {
  150.         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("omronconnect://startup?appName=OMRONconnect&returnUrl=ARXHDP://callback"));
  151.         startActivity(intent);
  152.     }
  153.  
  154.     private void register(){
  155.         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("omronconnect://deviceregist?appName=OMRONconnect&returnUrl=ARXHDP://callback"));
  156.         startActivity(intent);
  157.  
  158.     }
  159.  
  160.     private void getEquipmentInfo() {
  161.         ArrayList<EquipmentInfo> equipmentInfos = wrapperApi.getDeveiceList(true);
  162.         deviceType = equipmentInfos.get(0).getDeviceType();
  163.         serialId = equipmentInfos.get(0).getSerialId();
  164.     }
  165.  
  166.     private void transfer(){
  167.         getEquipmentInfo();
  168.         Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("omronconnect://transfer?appName=OMRONconnect&returnUrl=ARXHDP://callback&serialId="+ serialId));
  169.         startActivity(intent);
  170.     }
  171.  
  172.     private void vitalData() {
  173.         getEquipmentInfo();
  174.         ArrayList<VitalData> vitalDataList = wrapperApi.GetVitalData(deviceType, null, 0, 0, -1, -1, -1, true, -1, null);
  175.         for (VitalData vitalData : vitalDataList) {
  176.             long keyUnixDate = vitalData.getStartDate();
  177.             keyUnixDate = keyUnixDate/1000;
  178.             BloodPressureModel bloodPressureModel;
  179.             if (bloodPressureHashMap.containsKey(keyUnixDate)) {
  180.                 bloodPressureModel = bloodPressureHashMap.get(keyUnixDate);
  181.             } else {
  182.                 bloodPressureModel = new BloodPressureModel();
  183.                 bloodPressureModel.setUnixDateTime(keyUnixDate);
  184.             }
  185.             if (vitalData.getIndexId() == 1) {
  186.                 bloodPressureModel.setSystolic(vitalData.getMeasurement());
  187.             } else if (vitalData.getIndexId() == 2) {
  188.                 bloodPressureModel.setDiastolic(vitalData.getMeasurement());
  189.             } else if (vitalData.getIndexId() == 3) {
  190.                 bloodPressureModel.setPulse(vitalData.getMeasurement());
  191.             }
  192.             bloodPressureHashMap.put(keyUnixDate, bloodPressureModel);
  193.         }
  194.     }
  195.  
  196.     private void putBloodPressure() {
  197.         List<BloodPressureModel> measurements = new ArrayList<>();
  198.         for (HashMap.Entry<Long, BloodPressureModel> entry : bloodPressureHashMap.entrySet()) {
  199.             BloodPressureModel bp = entry.getValue();
  200.             measurements.add(bp);
  201.         }
  202.  
  203.         Call<ResponseBody> call = arxApi.putBloodPressure("Bearer " + token, measurements);
  204.  
  205.         call.enqueue(new Callback<ResponseBody>() {
  206.             @Override
  207.             public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
  208.                 if (response.isSuccessful()) {
  209.                     Toast.makeText(MainActivity.this, "yay", Toast.LENGTH_SHORT).show();
  210.                 }else {
  211.                     Toast.makeText(MainActivity.this, "nay", Toast.LENGTH_SHORT).show();
  212.                 }
  213.  
  214.             }
  215.  
  216.             @Override
  217.             public void onFailure(Call<ResponseBody>call, Throwable t) {
  218.                 Toast.makeText(MainActivity.this, "error :(", Toast.LENGTH_SHORT).show();
  219.             }
  220.         });
  221.  
  222.     }
  223.  
  224.     @Override
  225.     protected void onResume() {
  226.         super.onResume();
  227.  
  228.         Uri uri = getIntent().getData();
  229.         if(uri != null && uri.toString().startsWith("ARXHDP")) {
  230.             serialId = uri.getQueryParameter("serialId");
  231.  
  232.         }
  233.  
  234.     }
  235. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement