Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.arx.arxhdp;
- import android.content.Intent;
- import android.net.Uri;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.Toast;
- import com.google.gson.Gson;
- import com.google.gson.GsonBuilder;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import jp.co.omron.healthcare.omoron_connect.wrapper.EquipmentInfo;
- import jp.co.omron.healthcare.omoron_connect.wrapper.VitalData;
- import jp.co.omron.healthcare.omoron_connect.wrapper.WrapperApi;
- import okhttp3.ResponseBody;
- import retrofit2.Call;
- import retrofit2.Callback;
- import retrofit2.Response;
- import retrofit2.Retrofit;
- import retrofit2.converter.gson.GsonConverterFactory;
- public class MainActivity extends AppCompatActivity {
- private String serialId;
- private int userId;
- private String deviceType;
- private WrapperApi wrapperApi = new WrapperApi(MainActivity.this, "VoQJd4rx", "com.arx.arxhdp");
- private HashMap<Long, BloodPressureModel> bloodPressureHashMap = new HashMap<>();
- private Retrofit retrofit;
- private ArxApi arxApi;
- private String token;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Retrofit.Builder builder = new Retrofit.Builder()
- .baseUrl("https://arxsup.azurewebsites.net/api/")
- .addConverterFactory(GsonConverterFactory.create());
- retrofit = builder.build();
- arxApi = retrofit.create(ArxApi.class);
- findViewById(R.id.btn_login).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- login();
- }
- });
- findViewById(R.id.btn_patient).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- getPatient();
- }
- });
- findViewById(R.id.btn_startup).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- startUp();
- }
- });
- findViewById(R.id.btn_register).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- register();
- }
- });
- findViewById(R.id.btn_transfer).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- transfer();
- }
- });
- findViewById(R.id.btn_putBloodPressure).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- vitalData();
- putBloodPressure();
- }
- });
- }
- private void login() {
- EditText userName = findViewById(R.id.userName);
- EditText password = findViewById(R.id.password);
- Login login = new Login(userName.getText().toString(), password.getText().toString());
- Call<User> call = arxApi.login(login);
- call.enqueue(new Callback<User>() {
- @Override
- public void onResponse(Call<User> call, Response<User> response) {
- if(response.isSuccessful()) {
- Toast.makeText(MainActivity.this, response.body().getToken(), Toast.LENGTH_SHORT).show();
- token = response.body().getToken();
- }else {
- Toast.makeText(MainActivity.this, "login not correct :(", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onFailure(Call<User> call, Throwable t) {
- Toast.makeText(MainActivity.this, "error :(", Toast.LENGTH_SHORT).show();
- }
- });
- }
- private void getPatient() {
- Call<Patient> call = arxApi.getPatient("Bearer " + token);
- call.enqueue(new Callback<Patient>() {
- @Override
- public void onResponse(Call<Patient> call, Response<Patient> response) {
- if(response.isSuccessful()) {
- Patient patient = response.body();
- String showOnToast = patient.getFirstName() + " " + patient.getLastName() + "\n";
- for(BloodPressureModel bloodPressureModel : patient.getMeasurements()){
- showOnToast += "Systoliskt: " + bloodPressureModel.getSystolic() + "\n";
- showOnToast += "Diastoliskt: " + bloodPressureModel.getDiastolic() + "\n";
- showOnToast += "Puls: " + bloodPressureModel.getPulse() + "\n\n";
- Toast.makeText(MainActivity.this, showOnToast, Toast.LENGTH_SHORT).show();
- }
- }else {
- Toast.makeText(MainActivity.this, "token is not correct :(", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onFailure(Call<Patient> call, Throwable t) {
- Toast.makeText(MainActivity.this, "error :(", Toast.LENGTH_SHORT).show();
- }
- });
- }
- private void startUp() {
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("omronconnect://startup?appName=OMRONconnect&returnUrl=ARXHDP://callback"));
- startActivity(intent);
- }
- private void register(){
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("omronconnect://deviceregist?appName=OMRONconnect&returnUrl=ARXHDP://callback"));
- startActivity(intent);
- }
- private void getEquipmentInfo() {
- ArrayList<EquipmentInfo> equipmentInfos = wrapperApi.getDeveiceList(true);
- deviceType = equipmentInfos.get(0).getDeviceType();
- serialId = equipmentInfos.get(0).getSerialId();
- }
- private void transfer(){
- getEquipmentInfo();
- Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("omronconnect://transfer?appName=OMRONconnect&returnUrl=ARXHDP://callback&serialId="+ serialId));
- startActivity(intent);
- }
- private void vitalData() {
- getEquipmentInfo();
- ArrayList<VitalData> vitalDataList = wrapperApi.GetVitalData(deviceType, null, 0, 0, -1, -1, -1, true, -1, null);
- for (VitalData vitalData : vitalDataList) {
- long keyUnixDate = vitalData.getStartDate();
- keyUnixDate = keyUnixDate/1000;
- BloodPressureModel bloodPressureModel;
- if (bloodPressureHashMap.containsKey(keyUnixDate)) {
- bloodPressureModel = bloodPressureHashMap.get(keyUnixDate);
- } else {
- bloodPressureModel = new BloodPressureModel();
- bloodPressureModel.setUnixDateTime(keyUnixDate);
- }
- if (vitalData.getIndexId() == 1) {
- bloodPressureModel.setSystolic(vitalData.getMeasurement());
- } else if (vitalData.getIndexId() == 2) {
- bloodPressureModel.setDiastolic(vitalData.getMeasurement());
- } else if (vitalData.getIndexId() == 3) {
- bloodPressureModel.setPulse(vitalData.getMeasurement());
- }
- bloodPressureHashMap.put(keyUnixDate, bloodPressureModel);
- }
- }
- private void putBloodPressure() {
- List<BloodPressureModel> measurements = new ArrayList<>();
- for (HashMap.Entry<Long, BloodPressureModel> entry : bloodPressureHashMap.entrySet()) {
- BloodPressureModel bp = entry.getValue();
- measurements.add(bp);
- }
- Call<ResponseBody> call = arxApi.putBloodPressure("Bearer " + token, measurements);
- call.enqueue(new Callback<ResponseBody>() {
- @Override
- public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
- if (response.isSuccessful()) {
- Toast.makeText(MainActivity.this, "yay", Toast.LENGTH_SHORT).show();
- }else {
- Toast.makeText(MainActivity.this, "nay", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onFailure(Call<ResponseBody>call, Throwable t) {
- Toast.makeText(MainActivity.this, "error :(", Toast.LENGTH_SHORT).show();
- }
- });
- }
- @Override
- protected void onResume() {
- super.onResume();
- Uri uri = getIntent().getData();
- if(uri != null && uri.toString().startsWith("ARXHDP")) {
- serialId = uri.getQueryParameter("serialId");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement