|
@@ -5,7 +5,9 @@ import android.graphics.Bitmap;
|
|
|
import android.graphics.BitmapFactory;
|
|
import android.graphics.BitmapFactory;
|
|
|
import android.os.Looper;
|
|
import android.os.Looper;
|
|
|
import android.util.Base64;
|
|
import android.util.Base64;
|
|
|
|
|
+import android.view.View;
|
|
|
import android.widget.ImageView;
|
|
import android.widget.ImageView;
|
|
|
|
|
+import android.widget.TextView;
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.bumptech.glide.Glide;
|
|
import com.bumptech.glide.Glide;
|
|
@@ -14,12 +16,14 @@ import com.sheep.gamegroup.model.entity.BaseMessage;
|
|
|
import com.sheep.gamegroup.model.entity.QRCode;
|
|
import com.sheep.gamegroup.model.entity.QRCode;
|
|
|
import com.sheep.gamegroup.model.util.SheepSubscriber;
|
|
import com.sheep.gamegroup.model.util.SheepSubscriber;
|
|
|
import com.sheep.gamegroup.util.GlideImageLoader;
|
|
import com.sheep.gamegroup.util.GlideImageLoader;
|
|
|
|
|
+import com.sheep.gamegroup.util.ViewUtil;
|
|
|
import com.sheep.jiuyan.samllsheep.R;
|
|
import com.sheep.jiuyan.samllsheep.R;
|
|
|
import com.sheep.jiuyan.samllsheep.SheepApp;
|
|
import com.sheep.jiuyan.samllsheep.SheepApp;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.G;
|
|
import com.sheep.jiuyan.samllsheep.utils.G;
|
|
|
import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
|
|
import com.sheep.jiuyan.samllsheep.utils.TitleBarUtils;
|
|
|
|
|
|
|
|
import butterknife.BindView;
|
|
import butterknife.BindView;
|
|
|
|
|
+import butterknife.OnClick;
|
|
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
|
import io.reactivex.schedulers.Schedulers;
|
|
import io.reactivex.schedulers.Schedulers;
|
|
|
|
|
|
|
@@ -28,6 +32,10 @@ public class QRCodeActivity extends BaseActivity implements Runnable {
|
|
|
|
|
|
|
|
@BindView(R.id.qr_iv)
|
|
@BindView(R.id.qr_iv)
|
|
|
public ImageView qrCodeImageView;
|
|
public ImageView qrCodeImageView;
|
|
|
|
|
+ @BindView(R.id.message_view)
|
|
|
|
|
+ public TextView messageView;
|
|
|
|
|
+ @BindView(R.id.time_view)
|
|
|
|
|
+ public TextView timeView;
|
|
|
|
|
|
|
|
//谁
|
|
//谁
|
|
|
private String token;
|
|
private String token;
|
|
@@ -55,10 +63,7 @@ public class QRCodeActivity extends BaseActivity implements Runnable {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void initView() {
|
|
public void initView() {
|
|
|
- TitleBarUtils.getInstance()
|
|
|
|
|
- .setShowOrHide(this, true)
|
|
|
|
|
- .setTitle(this, "扫描下面二维码")
|
|
|
|
|
- .setTitleBack(this);
|
|
|
|
|
|
|
+ messageView.setText(getIntent().getStringExtra("message"));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public void createQRCodeAction(boolean withLoop) {
|
|
public void createQRCodeAction(boolean withLoop) {
|
|
@@ -102,8 +107,12 @@ public class QRCodeActivity extends BaseActivity implements Runnable {
|
|
|
returnResult(qrCode.getAction_content());
|
|
returnResult(qrCode.getAction_content());
|
|
|
} else {
|
|
} else {
|
|
|
if (qrCode.isExpired()) {
|
|
if (qrCode.isExpired()) {
|
|
|
- G.showToast("二维码已过期, 自动刷新二维码");
|
|
|
|
|
- createQRCodeAction(false);
|
|
|
|
|
|
|
+ if (qrCode.getCreate_count() < 5) {
|
|
|
|
|
+ G.showToast("二维码已过期, 自动刷新二维码");
|
|
|
|
|
+ createQRCodeAction(false);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ finish();
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -123,6 +132,11 @@ public class QRCodeActivity extends BaseActivity implements Runnable {
|
|
|
finish();
|
|
finish();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @OnClick(R.id.close_btn)
|
|
|
|
|
+ public void onClose() {
|
|
|
|
|
+ finish();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public void onDestroy() {
|
|
public void onDestroy() {
|
|
|
isLooping = false;
|
|
isLooping = false;
|
|
@@ -131,11 +145,22 @@ public class QRCodeActivity extends BaseActivity implements Runnable {
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void run() {
|
|
public void run() {
|
|
|
|
|
+ int i = 0;
|
|
|
while (isLooping) {
|
|
while (isLooping) {
|
|
|
try {
|
|
try {
|
|
|
- Thread.sleep(3000);
|
|
|
|
|
|
|
+ Thread.sleep(1000);
|
|
|
|
|
+ i++;
|
|
|
if (!isLooping) break;
|
|
if (!isLooping) break;
|
|
|
- runOnUiThread(() -> fetchResult());
|
|
|
|
|
|
|
+ if (qrCode != null) {
|
|
|
|
|
+ if (qrCode.isExpired()) {
|
|
|
|
|
+ runOnUiThread(() -> ViewUtil.setText(timeView, "正在刷新二维码......"));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ runOnUiThread(() -> ViewUtil.setText(timeView, "剩余: " + (qrCode.getExpire_time() - System.currentTimeMillis() / 1000) + "S"));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (i % 3 == 0) {
|
|
|
|
|
+ runOnUiThread(() -> fetchResult());
|
|
|
|
|
+ }
|
|
|
} catch (InterruptedException e) {
|
|
} catch (InterruptedException e) {
|
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
|
}
|
|
}
|