正在查看: WeatherSense v1.8.9 应用的 OperateActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: WeatherSense v1.8.9 应用的 OperateActivity.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.emax.weather.ui.activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.le.ScanResult;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import com.emax.weahter.R;
import com.emax.weather.base.MvpBaseActivity;
import com.emax.weather.bean.CmdConstant;
import com.emax.weather.bean.DeviceInfo;
import com.emax.weather.event.BleScanEvent;
import com.emax.weather.presenter.BleScanPersenterImp;
import com.emax.weather.receiver.ClosePageReceiver;
import com.emax.weather.util.AndroidScheduler;
import com.emax.weather.utils.CheckClickUtils;
import com.emax.weather.utils.RxUtil;
import com.ezon.health.utils_lib.ToastUtil;
import io.reactivex.Observable;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
public class OperateActivity extends MvpBaseActivity<BleScanEvent.BleScanView, BleScanPersenterImp> implements BleScanEvent.BleScanView {
@BindView(R.id.back_sub)
ImageView backSub;
@BindView(R.id.btn_next)
Button btnNext;
private Disposable disposable;
private List<DeviceInfo> list;
@BindView(R.id.title_sub)
TextView titleSub;
private String connectType = CmdConstant.W_0;
private ClosePageReceiver closePageReceiver = new ClosePageReceiver() {
@Override
public void onClosePage() {
OperateActivity.this.finish();
}
};
@Override
protected int getActivityRId() {
return R.layout.activity_operate;
}
@Override
public Context getViewContext() {
return this;
}
@Override
public void refreshScanFail() {
}
@Override
public void refreshScanStart() {
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ButterKnife.bind(this);
initView();
}
private void initView() {
this.titleSub.setText(getString(R.string.start_ap_model));
this.connectType = getIntent().getStringExtra("MODEL_TYPE");
IntentFilter intentFilter = new IntentFilter(ClosePageReceiver.CLOSE_SELECT_DEVICE_PAGE_ACTION);
if (Build.VERSION.SDK_INT >= 33) {
registerReceiver(this.closePageReceiver, intentFilter, 2);
} else {
registerReceiver(this.closePageReceiver, intentFilter);
}
if (!BluetoothAdapter.getDefaultAdapter().isEnabled()) {
ToastUtil.show(getApplicationContext().getString(R.string.Please_open_ble), this);
}
if (this.connectType.equals(CmdConstant.W_2)) {
this.list = new ArrayList();
((BleScanPersenterImp) this.mPresenter).init();
if (((BleScanPersenterImp) this.mPresenter).openBle().booleanValue()) {
((BleScanPersenterImp) this.mPresenter).scan();
}
}
}
@OnClick({R.id.btn_next})
public void onViewClicked(View view) {
Intent intent;
if (!CheckClickUtils.isFastClick() && view.getId() == 2131230867) {
if (this.connectType.equals(CmdConstant.W_0) || this.connectType.equals(CmdConstant.W_1)) {
intent = new Intent(this, (Class<?>) NewApConnectActivity.class);
} else {
((BleScanPersenterImp) this.mPresenter).stopScan();
intent = new Intent(this, (Class<?>) BleScanActivity.class);
intent.putParcelableArrayListExtra("results", (ArrayList) this.list);
}
intent.putExtra("MODEL_TYPE", this.connectType);
startActivity(intent);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(this.closePageReceiver);
Disposable disposable = this.disposable;
if (disposable != null && !disposable.isDisposed()) {
this.disposable.dispose();
this.disposable = null;
}
((BleScanPersenterImp) this.mPresenter).stopScan();
((BleScanPersenterImp) this.mPresenter).release();
}
@Override
public BleScanPersenterImp createPresenter() {
return new BleScanPersenterImp(this);
}
@Override
public void refreshScanResult(final List<ScanResult> results) {
RxUtil.addWork(new RxUtil.RxActionListener<Object>() {
@Override
public void reponseAction(Object o) {
}
@Override
public void reponseDataNull() {
}
@Override
public void reponseError(Throwable e) {
}
@Override
public Object doAction() {
for (int i = 0; i < results.size(); i++) {
int i2 = 0;
while (true) {
if (i2 < OperateActivity.this.list.size()) {
if (((DeviceInfo) OperateActivity.this.list.get(i2)).getMac().equals(((ScanResult) results.get(i)).getDevice().getAddress())) {
break;
}
i2++;
} else {
OperateActivity.this.list.add(new DeviceInfo(((ScanResult) results.get(i)).getDevice().getName(), ((ScanResult) results.get(i)).getDevice().getAddress(), ((ScanResult) results.get(i)).getRssi()));
break;
}
}
}
return null;
}
});
}
public void lambda$refreshScanStop$0$OperateActivity(Long l) throws Exception {
((BleScanPersenterImp) this.mPresenter).scan();
}
@Override
public void refreshScanStop() {
this.disposable = Observable.timer(1000L, TimeUnit.MILLISECONDS).observeOn(AndroidScheduler.mainThread()).subscribe(new Consumer() {
public final void accept(Object obj) {
OperateActivity.this.lambda$refreshScanStop$0$OperateActivity((Long) obj);
}
}, new Consumer() {
public final void accept(Object obj) {
System.out.println(" throwable.getMessage() = " + ((Throwable) obj).getMessage());
}
});
}
}