diff --git a/app/src/main/java/com/vernu/sms/GatewayApiService.java b/app/src/main/java/com/vernu/sms/GatewayApiService.java index e4ce442..480dab5 100644 --- a/app/src/main/java/com/vernu/sms/GatewayApiService.java +++ b/app/src/main/java/com/vernu/sms/GatewayApiService.java @@ -1,14 +1,14 @@ package com.vernu.sms; -import com.vernu.sms.dtos.UpdateFCMTokenInputDTO; -import com.vernu.sms.dtos.UpdateFCMTokenResponseDTO; +import com.vernu.sms.dtos.UpdateDeviceInputDTO; +import com.vernu.sms.dtos.UpdateDeviceResponseDTO; import retrofit2.Call; import retrofit2.http.Body; -import retrofit2.http.POST; +import retrofit2.http.PATCH; import retrofit2.http.Path; public interface GatewayApiService { - @POST("gateway/devices/{deviceId}/updateFCMToken") - Call updateFCMToken(@Path("deviceId") String deviceId, @Body() UpdateFCMTokenInputDTO body); + @PATCH("gateway/devices/{deviceId}") + Call updateFCMToken(@Path("deviceId") String deviceId, @Body() UpdateDeviceInputDTO body); } \ No newline at end of file diff --git a/app/src/main/java/com/vernu/sms/activities/MainActivity.java b/app/src/main/java/com/vernu/sms/activities/MainActivity.java index 8ed099a..c5d3974 100644 --- a/app/src/main/java/com/vernu/sms/activities/MainActivity.java +++ b/app/src/main/java/com/vernu/sms/activities/MainActivity.java @@ -8,6 +8,7 @@ import androidx.core.content.ContextCompat; import android.Manifest; import android.content.Context; import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import android.util.Log; import android.view.View; @@ -22,8 +23,8 @@ import com.google.android.material.snackbar.Snackbar; import com.google.firebase.messaging.FirebaseMessaging; import com.vernu.sms.GatewayApiService; import com.vernu.sms.R; -import com.vernu.sms.dtos.UpdateFCMTokenInputDTO; -import com.vernu.sms.dtos.UpdateFCMTokenResponseDTO; +import com.vernu.sms.dtos.UpdateDeviceInputDTO; +import com.vernu.sms.dtos.UpdateDeviceResponseDTO; import com.vernu.sms.helpers.SharedPreferenceHelper; import retrofit2.Call; @@ -94,10 +95,21 @@ public class MainActivity extends AppCompatActivity { .build(); GatewayApiService service = retrofit.create(GatewayApiService.class); - Call apiCall = service.updateFCMToken(newKey, new UpdateFCMTokenInputDTO(token)); - apiCall.enqueue(new Callback() { + + + UpdateDeviceInputDTO updateDeviceInput = new UpdateDeviceInputDTO(); + updateDeviceInput.setEnabled(true); + updateDeviceInput.setBrand(Build.BRAND); + updateDeviceInput.setManufacturer(Build.MANUFACTURER); + updateDeviceInput.setModel(Build.MODEL); + updateDeviceInput.setBuildId(Build.ID); + updateDeviceInput.setOs(Build.VERSION.BASE_OS); + + + Call apiCall = service.updateFCMToken(newKey, updateDeviceInput); + apiCall.enqueue(new Callback() { @Override - public void onResponse(Call call, Response response) { + public void onResponse(Call call, Response response) { if (response.isSuccessful()) { SharedPreferenceHelper.setSharedPreferenceString(mContext, "GATEWAY_KEY", newKey); @@ -112,7 +124,7 @@ public class MainActivity extends AppCompatActivity { } @Override - public void onFailure(Call call, Throwable t) { + public void onFailure(Call call, Throwable t) { Snackbar.make(view, "An error occured :(", Snackbar.LENGTH_LONG).show(); updateKeyButton.setEnabled(true); updateKeyButton.setText("Update"); diff --git a/app/src/main/java/com/vernu/sms/dtos/UpdateDeviceInputDTO.java b/app/src/main/java/com/vernu/sms/dtos/UpdateDeviceInputDTO.java new file mode 100644 index 0000000..dc763fb --- /dev/null +++ b/app/src/main/java/com/vernu/sms/dtos/UpdateDeviceInputDTO.java @@ -0,0 +1,110 @@ +package com.vernu.sms.dtos; + +public class UpdateDeviceInputDTO { + private String fcmToken; + private boolean enabled; + private String brand; + private String manufacturer; + private String model; + private String serial; + private String buildId; + private String os; + private String osVersion; + private String appVersionName; + private String appVersionCode; + + public UpdateDeviceInputDTO() { + } + + public UpdateDeviceInputDTO(String fcmToken) { + this.fcmToken = fcmToken; + } + + public String getFcmToken() { + return fcmToken; + } + + public void setFcmToken(String fcmToken) { + this.fcmToken = fcmToken; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getManufacturer() { + return manufacturer; + } + + public void setManufacturer(String manufacturer) { + this.manufacturer = manufacturer; + } + + public String getModel() { + return model; + } + + public void setModel(String model) { + this.model = model; + } + + public String getSerial() { + return serial; + } + + public void setSerial(String serial) { + this.serial = serial; + } + + public String getBuildId() { + return buildId; + } + + public void setBuildId(String buildId) { + this.buildId = buildId; + } + + public String getOs() { + return os; + } + + public void setOs(String os) { + this.os = os; + } + + public String getOsVersion() { + return osVersion; + } + + public void setOsVersion(String osVersion) { + this.osVersion = osVersion; + } + + public String getAppVersionName() { + return appVersionName; + } + + public void setAppVersionName(String appVersionName) { + this.appVersionName = appVersionName; + } + + public String getAppVersionCode() { + return appVersionCode; + } + + public void setAppVersionCode(String appVersionCode) { + this.appVersionCode = appVersionCode; + } +} diff --git a/app/src/main/java/com/vernu/sms/dtos/UpdateFCMTokenResponseDTO.java b/app/src/main/java/com/vernu/sms/dtos/UpdateDeviceResponseDTO.java similarity index 72% rename from app/src/main/java/com/vernu/sms/dtos/UpdateFCMTokenResponseDTO.java rename to app/src/main/java/com/vernu/sms/dtos/UpdateDeviceResponseDTO.java index cc99c05..64ad23a 100644 --- a/app/src/main/java/com/vernu/sms/dtos/UpdateFCMTokenResponseDTO.java +++ b/app/src/main/java/com/vernu/sms/dtos/UpdateDeviceResponseDTO.java @@ -1,6 +1,6 @@ package com.vernu.sms.dtos; -public class UpdateFCMTokenResponseDTO { +public class UpdateDeviceResponseDTO { public boolean success; public Object data; public String error; diff --git a/app/src/main/java/com/vernu/sms/dtos/UpdateFCMTokenInputDTO.java b/app/src/main/java/com/vernu/sms/dtos/UpdateFCMTokenInputDTO.java deleted file mode 100644 index acceb89..0000000 --- a/app/src/main/java/com/vernu/sms/dtos/UpdateFCMTokenInputDTO.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.vernu.sms.dtos; - -public class UpdateFCMTokenInputDTO { - public String fcmToken; - - public UpdateFCMTokenInputDTO(String fcmToken) { - this.fcmToken = fcmToken; - } -}