diff --git a/app/src/main/java/com/ckkj/water/device/DeviceControlActivity.java b/app/src/main/java/com/ckkj/water/device/DeviceControlActivity.java index 6a597f8..39152fe 100644 --- a/app/src/main/java/com/ckkj/water/device/DeviceControlActivity.java +++ b/app/src/main/java/com/ckkj/water/device/DeviceControlActivity.java @@ -2,6 +2,8 @@ package com.ckkj.water.device; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; import android.text.TextUtils; import android.view.View; @@ -28,8 +30,12 @@ import com.ckkj.water.utils.show.ToastUtil; import com.gyf.immersionbar.ImmersionBar; import com.lxj.xpopup.XPopup; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.Locale; import de.greenrobot.event.Subscribe; import de.greenrobot.event.ThreadMode; @@ -46,6 +52,16 @@ public class DeviceControlActivity extends BaseActivity= mWorkEndTime) { + progress = 100; + } else { + progress = (int) ((now - mWorkStartTime) * 100 / (mWorkEndTime - mWorkStartTime)); + } + + updateProgressView(progress); + mProgressHandler.removeCallbacks(mWorkProgressRunnable); + if (progress < 100 && mDeviceEntity != null && "1".equals(mDeviceEntity.getWorkStatus())) { + mProgressHandler.postDelayed(mWorkProgressRunnable, 1000); + } else if (progress >= 100 && !mHasRefreshAfterWorkFinished + && mDeviceEntity != null && !TextUtils.isEmpty(mDeviceEntity.getDeviceNo())) { + mHasRefreshAfterWorkFinished = true; + ToastUtil.showShort(mContext,"任务结束"); + showLoadingDialog(); + mProgressHandler.postDelayed(new Runnable() { + @Override + public void run() { + if (mDeviceEntity != null && !TextUtils.isEmpty(mDeviceEntity.getDeviceNo())) { + mPresenter.getDeviceDetailInfo(mDeviceEntity.getDeviceNo()); + } + } + }, 1500); + } + } + + private void updateProgressView(int progress) { + viewBinding.progressWork.setProgress(progress); + viewBinding.tvProgressPercent.setText(getString(R.string.device_work_progress_title) + progress + "%"); + } + + private void stopWorkProgressUpdate() { + mProgressHandler.removeCallbacksAndMessages(null); + mWorkStartTime = 0L; + mWorkEndTime = 0L; + } + + @Override + protected void onDestroy() { + stopWorkProgressUpdate(); + super.onDestroy(); + } + @Override public void logOut(BaseBean bean) { diff --git a/app/src/main/java/com/ckkj/water/login/LoginActivity.java b/app/src/main/java/com/ckkj/water/login/LoginActivity.java index dde0a61..a1439ba 100644 --- a/app/src/main/java/com/ckkj/water/login/LoginActivity.java +++ b/app/src/main/java/com/ckkj/water/login/LoginActivity.java @@ -334,7 +334,7 @@ public class LoginActivity extends BaseActivity map, CallBack callBack); //注销账号--确认注销 - void logoffAccount(Map map, CallBack callBack); + void logoffAccount(JSONObject json, CallBack callBack); } public interface LoginView extends IView{ diff --git a/app/src/main/java/com/ckkj/water/login/mvp/LoginImpl.java b/app/src/main/java/com/ckkj/water/login/mvp/LoginImpl.java index 689b9d4..ddb5b1b 100644 --- a/app/src/main/java/com/ckkj/water/login/mvp/LoginImpl.java +++ b/app/src/main/java/com/ckkj/water/login/mvp/LoginImpl.java @@ -148,13 +148,13 @@ public class LoginImpl implements LoginContract.DataModel { /** * 注销账号--确认 - * @param map + * @param json * @param callBack */ @Override - public void logoffAccount(Map map, LoginContract.CallBack callBack) { + public void logoffAccount(JSONObject json, LoginContract.CallBack callBack) { try { - NetWorkManager.getRequest().confirmLogiffAccount(NetWorkManager.getToken(), map) + NetWorkManager.getRequest().confirmLogiffAccount(NetWorkManager.getToken(), NetWorkManager.toRequestBody(json)) .subscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) diff --git a/app/src/main/java/com/ckkj/water/mine/SettingsActivity.java b/app/src/main/java/com/ckkj/water/mine/SettingsActivity.java index b998d20..5ad80db 100644 --- a/app/src/main/java/com/ckkj/water/mine/SettingsActivity.java +++ b/app/src/main/java/com/ckkj/water/mine/SettingsActivity.java @@ -122,7 +122,7 @@ public class SettingsActivity extends BaseActivity finish()); if(AppConfig.USER_LOGIN){ String userAccount = (!TextUtils.isEmpty(WaterUserInfoManager.getInstance().getUserInfo().getUser().getPhonenumber()) ? @@ -95,7 +95,7 @@ public class UserLogOffAccountActivity extends BaseActivity { * @param verCode */ public void confirmAccountLogoff(String verCode) { - Map map = new HashMap<>(); - map.put("code",verCode); - new LoginImpl().logoffAccount(map, new LoginContract.CallBack() { - @Override - public void success(BaseBean bean) { - if(MinePresenter.this.getView() != null){ - MinePresenter.this.getView().confirmAccountLogoffCodeSuccess(bean); + try { + Map map = new HashMap<>(); + map.put("code",verCode); + JSONObject json = new JSONObject(); + json.put("code",verCode); + new LoginImpl().logoffAccount(json, new LoginContract.CallBack() { + @Override + public void success(BaseBean bean) { + if(MinePresenter.this.getView() != null){ + MinePresenter.this.getView().confirmAccountLogoffCodeSuccess(bean); + } } - } - @Override - public void fail(String msg) { - if(MinePresenter.this.getView() != null){ - MinePresenter.this.getView().showError(msg); + @Override + public void fail(String msg) { + if(MinePresenter.this.getView() != null){ + MinePresenter.this.getView().showError(msg); + } } - } - }); + }); + } catch (JSONException e) { + throw new RuntimeException(e); + } } } diff --git a/app/src/main/java/com/ckkj/water/network/Request.java b/app/src/main/java/com/ckkj/water/network/Request.java index 4e760da..34149d6 100644 --- a/app/src/main/java/com/ckkj/water/network/Request.java +++ b/app/src/main/java/com/ckkj/water/network/Request.java @@ -19,6 +19,7 @@ import okhttp3.RequestBody; import retrofit2.http.Body; import retrofit2.http.DELETE; import retrofit2.http.GET; +import retrofit2.http.HTTP; import retrofit2.http.HeaderMap; import retrofit2.http.Multipart; import retrofit2.http.POST; @@ -41,9 +42,9 @@ public interface Request { @GET("resource/account/cancel/code") Observable logoffAccountCode(@HeaderMap Map headMap); - //排程解绑设备 - @DELETE("app/v1/account") - Observable confirmLogiffAccount(@HeaderMap Map headMap,@QueryMap Map map); + //注销账户 + @HTTP(method = "DELETE", path = "auth/account", hasBody = true) + Observable confirmLogiffAccount(@HeaderMap Map headMap,@Body RequestBody requestBody); //注册 diff --git a/app/src/main/res/layout/device_control_layout.xml b/app/src/main/res/layout/device_control_layout.xml index 2b8d4b5..6e59046 100644 --- a/app/src/main/res/layout/device_control_layout.xml +++ b/app/src/main/res/layout/device_control_layout.xml @@ -115,10 +115,11 @@ android:orientation="horizontal" android:gravity="center_vertical"> diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 4f48fe3..c2ec943 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -267,6 +267,31 @@ User Agreement + + + Cache cleared successfully + + Notification Permission Request + + Notification permission is required to display the app download progress. + + Storage Permission Request + + Storage permission is required to update your application. + + Download complete, installing... + + Delete Account + + This action will permanently delete this account. + + The verification code has been sent to this account. + + Resend in seconds + + Resend + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c98e343..4132a8d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -251,6 +251,31 @@ 已经到底了 + + 缓存清除成功 + + 通知权限申请 + + 需要通知权限来显示应用下载进度 + + 文件存储权限申请 + + 需要您的授权,获取存储权限来更新您的应用 + + 下载完成,正在安装 + + 注销账号 + + 该操作将会注销此账号 + + 验证码已发送至该账户 + + 秒后重发 + + 重新发送 + + +