SelectUseOrNewDeviceActivity.java 源代码
package activity.addCamera;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
import base.HiActivity;
import com.hichip.base.HiLog;
import com.hichip.campro.R;
import com.hichip.tools.HiLitosSDK;
import com.hichip.tools.HiSearchSDK;
import common.Constant;
import common.HiDataValue;
import common.TitleView;
import custom.dialog.NiftyDialogBuilder;
import liteos.addCamera.OSConfirmApDeviceActivity;
import main.MainActivity;
import org.json.JSONException;
import org.json.JSONObject;
import utils.HiLogcatUtil;
import utils.HiTools;
import utils.MyToast;
import utils.WifiAdmin;
import utils.WifiUtils;
public class SelectUseOrNewDeviceActivity extends HiActivity implements View.OnClickListener {
private HiLitosSDK hiLitosSDK;
private String mCurrentPhoneWiFi;
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message message) {
HiSearchSDK.HiSearchResult hiSearchResult;
super.handleMessage(message);
if (message.what != -1879048187 || (hiSearchResult = (HiSearchSDK.HiSearchResult) message.obj) == null || TextUtils.isEmpty(hiSearchResult.uid)) {
return;
}
SelectUseOrNewDeviceActivity.this.dismissjuHuaDialog();
SelectUseOrNewDeviceActivity.this.searchSDK.stop();
if (SelectUseOrNewDeviceActivity.this.timer != null) {
SelectUseOrNewDeviceActivity.this.timer.cancel();
}
Intent intent = new Intent(SelectUseOrNewDeviceActivity.this, (Class<?>) ConfirmApDeviceActivity.class);
intent.putExtra(HiDataValue.EXTRAS_KEY_UID, hiSearchResult.uid);
intent.putExtra("mCurrentPhoneWiFi", SelectUseOrNewDeviceActivity.this.mCurrentPhoneWiFi);
SelectUseOrNewDeviceActivity.this.startActivity(intent);
}
};
private String mSsid;
private HiSearchSDK searchSDK;
private CountDownTimer timer;
TitleView titleview;
TextView tv_current;
TextView tv_new_device;
TextView tv_useing_device;
@Override
protected int setLayoutId() {
return R.layout.activity_select_add_camera_mode;
}
@Override
protected void init(Bundle bundle) {
String stringExtra = getIntent().getStringExtra("mCurrentPhoneWiFi");
this.mCurrentPhoneWiFi = stringExtra;
if (TextUtils.isEmpty(stringExtra)) {
this.mCurrentPhoneWiFi = WifiUtils.getCurrentWifiSSID(this, false);
}
initView();
setListeners();
}
private void setListeners() {
this.tv_new_device.setOnClickListener(this);
this.tv_useing_device.setOnClickListener(this);
}
private void initView() {
this.titleview.setButton(0);
this.titleview.setTitle(getString(R.string.add_device));
this.titleview.setRightTxtBack(R.mipmap.x_bule);
this.titleview.setNavigationBarButtonListener(new TitleView.NavigationBarButtonListener() {
@Override
public void OnNavigationButtonClick(int i) {
if (i == 0) {
SelectUseOrNewDeviceActivity.this.finish();
} else {
if (i != 2) {
return;
}
SelectUseOrNewDeviceActivity.this.startActivity(new Intent(SelectUseOrNewDeviceActivity.this, (Class<?>) MainActivity.class), true);
}
}
});
}
@Override
public void onClick(View view) {
int id = view.getId();
if (id == R.id.tv_new_device) {
HiLog.e("" + HiDataValue.mHi_wifiConnect_Q);
HiLog.e("mCurrentPhoneWiFi:::" + this.mCurrentPhoneWiFi);
if (HiTools.isWifiConnected(this) || HiDataValue.mHi_wifiConnect_Q.length() > 0) {
if (WifiUtils.getCurrentWifiSSID(this, false).startsWith(HiDataValue.START_WITH_IPCAM) || HiDataValue.mHi_wifiConnect_Q.startsWith(HiDataValue.START_WITH_IPCAM)) {
showLoadDialog(getString(R.string.searching_device), false, false);
startSearch();
startSearchLiteos();
return;
} else {
Intent intent = new Intent(this, (Class<?>) ConfirmElectriActivity.class);
intent.putExtra("mCurrentPhoneWiFi", this.mCurrentPhoneWiFi);
intent.putExtra("type", 1);
startActivity(intent);
return;
}
}
MyToast.showToast(this, getString(R.string.toast_connect_wifi));
Hi_ToSysWifi();
return;
}
if (id == R.id.tv_useing_device && !HiTools.isCustomFastClick(500)) {
startActivity(new Intent(this, (Class<?>) AddCameraActivity.class));
}
}
private void Hi_ToSysWifi() {
final NiftyDialogBuilder niftyDialogBuilder = NiftyDialogBuilder.getInstance(this);
niftyDialogBuilder.withMessageLayoutHWrapW(HiTools.dip2px(this, 280.0f));
niftyDialogBuilder.withTitle(getString(R.string.tip_hint)).withMessage(getString(R.string.toast_connect_wifi));
niftyDialogBuilder.withButton1Text(getString(R.string.cancel)).withButton2Text(getString(R.string.sure));
niftyDialogBuilder.setButton1Click(new View.OnClickListener() {
@Override
public void onClick(View view) {
niftyDialogBuilder.dismiss();
}
});
niftyDialogBuilder.setButton2Click(new View.OnClickListener() {
@Override
public void onClick(View view) {
niftyDialogBuilder.dismiss();
if (HiDataValue.mHi_PhoneSys_Q) {
if (HiDataValue.wifiAdmin == null) {
HiDataValue.wifiAdmin = new WifiAdmin(SelectUseOrNewDeviceActivity.this.getApplicationContext());
}
if (HiDataValue.wifiAdmin != null) {
HiDataValue.wifiAdmin.removeNetwork_Q();
}
}
Intent intent = new Intent("android.settings.WIFI_SETTINGS");
intent.setFlags(268435456);
SelectUseOrNewDeviceActivity.this.startActivity(intent);
}
});
niftyDialogBuilder.isCancelableOnTouchOutside(false);
niftyDialogBuilder.show();
}
@Override
public void onResume() {
super.onResume();
if (HiTools.isWifiConnected(this) || HiDataValue.mHi_wifiConnect_Q.length() > 0) {
String currentWifiSSID = WifiUtils.getCurrentWifiSSID(this, false);
this.mSsid = currentWifiSSID;
if (TextUtils.isEmpty(currentWifiSSID) || WifiUtils.WIFISSID_UNKNOW.equalsIgnoreCase(this.mSsid.trim())) {
this.tv_current.setVisibility(8);
} else {
this.tv_current.setVisibility(0);
}
this.tv_current.setText(getString(R.string.current_network) + " " + this.mSsid);
return;
}
this.tv_current.setVisibility(8);
}
@Override
public void onPause() {
super.onPause();
dismissLoadDialog();
CountDownTimer countDownTimer = this.timer;
if (countDownTimer != null) {
countDownTimer.cancel();
this.timer = null;
}
HiSearchSDK hiSearchSDK = this.searchSDK;
if (hiSearchSDK != null) {
hiSearchSDK.stop();
this.searchSDK = null;
}
HiLitosSDK hiLitosSDK = this.hiLitosSDK;
if (hiLitosSDK != null) {
hiLitosSDK.litosstopServerSocket();
}
Handler handler = this.mHandler;
if (handler != null) {
handler.removeCallbacksAndMessages(null);
}
}
private void startSearch() {
CountDownTimer countDownTimer = this.timer;
if (countDownTimer != null) {
countDownTimer.cancel();
this.timer = null;
}
HiSearchSDK hiSearchSDK = new HiSearchSDK(new HiSearchSDK.ISearchResult() {
@Override
public void onReceiveSearchResult(HiSearchSDK.HiSearchResult hiSearchResult) {
if (TextUtils.isEmpty(hiSearchResult.uid.substring(0, 4))) {
return;
}
Message obtainMessage = SelectUseOrNewDeviceActivity.this.mHandler.obtainMessage();
obtainMessage.obj = hiSearchResult;
obtainMessage.what = HiDataValue.HANDLE_MESSAGE_SCAN_RESULT;
SelectUseOrNewDeviceActivity.this.mHandler.sendMessage(obtainMessage);
}
});
this.searchSDK = hiSearchSDK;
hiSearchSDK.search2();
this.timer = new CountDownTimer(15000, 1000L) {
@Override
public void onTick(long j) {
}
@Override
public void onFinish() {
SelectUseOrNewDeviceActivity.this.dismissLoadDialog();
SelectUseOrNewDeviceActivity selectUseOrNewDeviceActivity = SelectUseOrNewDeviceActivity.this;
MyToast.showToast(selectUseOrNewDeviceActivity, selectUseOrNewDeviceActivity.getString(R.string.not_found_device));
}
}.start();
}
private void startSearchLiteos() {
this.mHandler.postDelayed(new Runnable() {
@Override
public final void run() {
SelectUseOrNewDeviceActivity.this.lambda$startSearchLiteos$0$SelectUseOrNewDeviceActivity();
}
}, 20000L);
this.mLoadDialoging.setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override
public final void onDismiss(DialogInterface dialogInterface) {
SelectUseOrNewDeviceActivity.this.lambda$startSearchLiteos$1$SelectUseOrNewDeviceActivity(dialogInterface);
}
});
HiLitosSDK hiLitosSDK = new HiLitosSDK(new HiLitosSDK.ILitosResult() {
@Override
public final void onReceiveLitosResult(String str, int i, int i2, int i3) {
SelectUseOrNewDeviceActivity.this.lambda$startSearchLiteos$2$SelectUseOrNewDeviceActivity(str, i, i2, i3);
}
});
this.hiLitosSDK = hiLitosSDK;
hiLitosSDK.HttpRequest("192.168.55.1", 15555, "/liteos/param.cgi?cmd=getdevinfo", 5, 6);
}
public void lambda$startSearchLiteos$0$SelectUseOrNewDeviceActivity() {
if (this.mLoadDialoging == null || !this.mLoadDialoging.isShowing()) {
return;
}
dismissLoadDialog();
MyToast.showToast(this, getString(R.string.not_found_device));
}
public void lambda$startSearchLiteos$1$SelectUseOrNewDeviceActivity(DialogInterface dialogInterface) {
this.mHandler.removeCallbacksAndMessages(null);
}
public void lambda$startSearchLiteos$2$SelectUseOrNewDeviceActivity(String str, int i, int i2, int i3) {
if (!TextUtils.isEmpty(str) && str.split("\r\n").length > 3) {
String[] split = str.split("\r\n");
try {
JSONObject jSONObject = new JSONObject(split[split.length - 1]).getJSONObject("devinfo");
String string = jSONObject.getString(HiDataValue.EXTRAS_KEY_UID);
String string2 = jSONObject.getString("mac");
String string3 = jSONObject.getString(Constant.MODE);
Intent intent = new Intent(this, (Class<?>) OSConfirmApDeviceActivity.class);
intent.putExtra(HiDataValue.EXTRAS_KEY_UID, string);
intent.putExtra("ssid", this.mCurrentPhoneWiFi);
intent.putExtra("type", 2);
intent.putExtra("mCurrentPhoneWiFi", this.mCurrentPhoneWiFi);
intent.putExtra("isAP", true);
intent.putExtra(Constant.MAC, string2);
intent.putExtra(Constant.IP_STR, HiTools.getIPAddress(this));
intent.putExtra(Constant.MODE, string3);
startActivity(intent);
return;
} catch (JSONException e) {
e.printStackTrace();
return;
}
}
HiLogcatUtil.e("get_dev_info error");
}
}