From 117362d134dae3b9d83932bb69a1c602b568e4a3 Mon Sep 17 00:00:00 2001 From: huangjian Date: Thu, 19 May 2022 17:20:38 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9A=90=E7=A7=81=E5=8D=8F=E8=AE=AE=E5=BC=B9?= =?UTF-8?q?=E7=AA=97=E5=A2=9E=E5=8A=A05s=E5=90=8E=E6=89=8D=E8=83=BD?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E5=90=8C=E6=84=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../other/dialog/PrivacyAgreementDialog.java | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/yizhuan/erban/other/dialog/PrivacyAgreementDialog.java b/app/src/main/java/com/yizhuan/erban/other/dialog/PrivacyAgreementDialog.java index 58a3e9489..13ec0d0df 100644 --- a/app/src/main/java/com/yizhuan/erban/other/dialog/PrivacyAgreementDialog.java +++ b/app/src/main/java/com/yizhuan/erban/other/dialog/PrivacyAgreementDialog.java @@ -1,5 +1,6 @@ package com.yizhuan.erban.other.dialog; +import android.annotation.SuppressLint; import android.app.Dialog; import android.content.Context; import android.graphics.Color; @@ -24,9 +25,18 @@ import com.yizhuan.erban.ui.widget.magicindicator.buildins.UIUtil; import com.yizhuan.xchat_android_core.UriProvider; import com.yizhuan.xchat_android_library.utils.ScreenUtils; +import java.util.concurrent.TimeUnit; + +import io.reactivex.Observable; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.disposables.Disposable; +import io.reactivex.functions.Consumer; + public class PrivacyAgreementDialog extends Dialog implements View.OnClickListener { + private final int intervalTimeCount = 5; private OnCallBack onCallBack; + private Disposable disposable; public PrivacyAgreementDialog(@NonNull Context context) { super(context); @@ -36,14 +46,26 @@ public class PrivacyAgreementDialog extends Dialog implements View.OnClickListen this.onCallBack = onCallBack; } + @SuppressLint("SetTextI18n") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog_privacy_agreement); - - findViewById(R.id.tv_confirm).setOnClickListener(this); + TextView tvConfirm = findViewById(R.id.tv_confirm); + tvConfirm.setEnabled(false); + tvConfirm.setOnClickListener(this); + disposable = Observable.intervalRange(0, intervalTimeCount + 1, 0, 1, TimeUnit.SECONDS) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(aLong -> { + long residueCount = intervalTimeCount - aLong; + if (residueCount == 0) { + tvConfirm.setEnabled(true); + tvConfirm.setText("同意"); + } else { + tvConfirm.setText("同意(" + residueCount + "s)"); + } + }); findViewById(R.id.btn_cancel).setOnClickListener(this); - TextView tvDesc = findViewById(R.id.tv_desc); String privacyAgreementTip = getContext().getString(R.string.tip_privacy_agreement); String userAgreementTip = getContext().getString(R.string.tip_user_agreement); @@ -94,6 +116,7 @@ public class PrivacyAgreementDialog extends Dialog implements View.OnClickListen if (onCallBack != null) { onCallBack.onFinish(v.getId() == R.id.tv_confirm); } + if (disposable != null) disposable.dispose(); } public interface OnCallBack {