导航菜单

页面标题

页面副标题

WeatherSense v1.8.9 - PairSelectActivity.java 源代码

正在查看: WeatherSense v1.8.9 应用的 PairSelectActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.emax.weather.ui.activity;

import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.core.content.ContextCompat;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import com.emax.weahter.R;
import com.emax.weather.base.BaseActivity;
import com.emax.weather.bean.CmdConstant;
import com.emax.weather.utils.CheckClickUtils;
import com.emax.weather.utils.HomeUtil;
import com.emax.weather.widget.EnterPopWindow;
import com.ezon.health.utils_lib.LogUtils;
import com.ezon.health.utils_lib.ToastUtil;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.Result;
import com.google.zxing.client.result.ParsedResult;
import com.mylhyl.zxing.scanner.OnScannerCompletionListener;
import com.mylhyl.zxing.scanner.ScannerOptions;
import com.mylhyl.zxing.scanner.ScannerView;
import com.tbruyelle.rxpermissions2.RxPermissions;
import io.reactivex.functions.Consumer;

public class PairSelectActivity extends BaseActivity implements OnScannerCompletionListener, EnterPopWindow.OnCheckClickListener {
    private static final int TYPE_0 = 0;
    private static final int TYPE_1 = 1;

    @BindView(R.id.back_sub)
    ImageView backSub;

    @BindView(R.id.enter_id_btn)
    ImageView enterIdBtn;

    @BindView(R.id.enter_id_tv)
    TextView enterIdTv;
    private EnterPopWindow enterPopWindow;

    @BindView(R.id.flashlight_btn)
    ImageView flashlightBtn;
    private ScannerOptions scannerOptions;

    @BindView(R.id.scanner_view)
    ScannerView scannerView;

    @BindView(R.id.setting)
    TextView setting;

    @BindView(R.id.title_rl)
    RelativeLayout titleRl;

    @BindView(R.id.title_sub)
    TextView titleSub;

    @Override
    protected int getActivityRId() {
        return R.layout.activity_pair_select;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ButterKnife.bind(this);
        new RxPermissions(this).request(new String[]{"android.permission.CAMERA"}).subscribe(new Consumer() {
            public final void accept(Object obj) {
                PairSelectActivity.this.lambda$onCreate$0$PairSelectActivity((Boolean) obj);
            }
        }, new Consumer() {
            public final void accept(Object obj) {
                System.out.println(" throwable.getMessage() = " + ((Throwable) obj).getMessage());
            }
        });
    }

    public void lambda$onCreate$0$PairSelectActivity(Boolean bool) throws Exception {
        if (bool.booleanValue()) {
            initView();
        } else {
            ToastUtil.show(getString(R.string.Please_check_your_permissions), this);
        }
    }

    private void initView() {
        this.titleSub.setText(getString(R.string.pair));
        ScannerOptions build = new ScannerOptions.Builder().setFrameSize(256, 256).setFrameTopMargin(100).setFrameOutsideColor(ContextCompat.getColor(this, R.color.transparent_black)).setFrameCornerColor(ContextCompat.getColor(this, R.color.scan_corner)).setLaserLineColor(ContextCompat.getColor(this, R.color.scan_corner)).setFrameCornerWidth(3).setCameraZoomRatio(1.8d).setFrameCornerInside(false).setMediaResId(R.raw.beep).setScanMode(new BarcodeFormat[]{BarcodeFormat.QR_CODE}).build();
        this.scannerOptions = build;
        this.scannerView.setScannerOptions(build);
        this.scannerView.setOnScannerCompletionListener(this);
    }

    public void onScannerCompletion(Result rawResult, ParsedResult parsedResult, Bitmap barcode) {
        LogUtils.d("扫描结果", rawResult.toString());
        try {
            checkModelId(HomeUtil.getScanModelId(rawResult.toString()));
        } catch (Exception unused) {
            ToastUtil.show(getString(R.string.id_error), this);
        }
    }

    @Override
    protected void onResume() {
        this.scannerView.onResume();
        super.onResume();
    }

    @Override
    protected void onPause() {
        this.scannerView.onPause();
        super.onPause();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
    }

    @Override
    public void onAgree(String modelId) {
        checkModelId(modelId);
    }

    @OnClick({R.id.back_sub, R.id.enter_id_btn, R.id.flashlight_btn})
    public void onViewClicked(View view) {
        if (CheckClickUtils.isFastClick()) {
            return;
        }
        int id = view.getId();
        if (id == 2131230838) {
            onBackPressed();
            return;
        }
        if (id == 2131231049) {
            EnterPopWindow enterPopWindow = new EnterPopWindow(this, this);
            this.enterPopWindow = enterPopWindow;
            enterPopWindow.showPopupWindow(view);
        } else {
            if (id != 2131231070) {
                return;
            }
            if (this.scannerView.getToggleLightStatus()) {
                closeLight();
            } else {
                openLight();
            }
        }
    }

    private void closeLight() {
        this.flashlightBtn.setImageResource(R.mipmap.light);
        this.scannerView.toggleLight(false);
    }

    private void openLight() {
        this.scannerView.toggleLight(true);
        this.flashlightBtn.setImageResource(R.mipmap.light_);
    }

    private void checkModelId(String id) {
        Intent intent = new Intent(this, (Class<?>) APConnectActivity.class);
        id.hashCode();
        if (id.equals(CmdConstant.W_0) || id.equals(CmdConstant.W_1)) {
            EnterPopWindow enterPopWindow = this.enterPopWindow;
            if (enterPopWindow != null) {
                enterPopWindow.dismiss();
            }
            intent.putExtra("MODEL_TYPE", id);
            startActivity(intent);
            finish();
            return;
        }
        ToastUtil.show(getString(R.string.id_error), this);
    }
}