OSSoundWavesConfigActivity.java 源代码
package liteos.addCamera;
import activity.addCamera.AddCameraActivity;
import activity.addCamera.SeleApOrSoundwaveActivty;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.Animatable;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.os.Handler;
import android.os.Message;
import android.text.InputFilter;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.PopupWindow;
import android.widget.TextView;
import android.widget.Toast;
import base.HiActivity;
import bean.MyCamera;
import com.bytedance.android.live.base.api.push.model.PushUIConfig;
import com.hichip.base.HiLog;
import com.hichip.campro.R;
import com.hichip.tools.HiLitosSDK;
import com.hichip.tools.HiSearchSDK;
import com.hichip.tools.HiSinVoiceData;
import com.xiaomi.mipush.sdk.Constants;
import common.Constant;
import common.HiDataValue;
import common.TitleView;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
import main.MainActivity;
import utils.EmojiFilter;
import utils.FullCharFilter;
import utils.HiTools;
import utils.MyToast;
import utils.SharePreUtils;
import utils.WifiUtils;
public class OSSoundWavesConfigActivity extends HiActivity implements View.OnClickListener {
public static int mPort = 13567;
private Animatable animatable;
Button but_search_device;
private HiLitosSDK hiLitosSDK;
ImageView iv_dividing;
ImageView iv_wave;
private String mCurrentPhoneWiFi;
private String mIP;
private PopupWindow mPopupWindow;
private String mPsw;
private String mSSID;
private String mUid;
private HiSinVoiceData sv;
TitleView title;
TextView tv_count_down;
TextView tv_hava_uid;
TextView tv_uid;
private int mCountDownTime = 121;
private CountDownTimer mCountDownTimer = new CountDownTimer(this.mCountDownTime * 1000, 1000) {
@Override
public void onTick(long j) {
if (j > 0) {
long j2 = j / 1000;
if (j2 == 90) {
OSSoundWavesConfigActivity.this.but_search_device.setEnabled(true);
}
OSSoundWavesConfigActivity.this.tv_count_down.setText(j2 + "");
}
}
@Override
public void onFinish() {
if (!TextUtils.isEmpty(OSSoundWavesConfigActivity.this.mUid)) {
if (OSSoundWavesConfigActivity.this.animatable != null) {
OSSoundWavesConfigActivity.this.animatable.stop();
}
if (OSSoundWavesConfigActivity.this.timer != null) {
OSSoundWavesConfigActivity.this.timer.cancel();
}
if (OSSoundWavesConfigActivity.this.searchSDK != null) {
OSSoundWavesConfigActivity.this.searchSDK.stop();
}
OSSoundWavesConfigActivity.this.sv.stopSinVoice();
View inflate = View.inflate(OSSoundWavesConfigActivity.this, R.layout.pup_sound_wave_fail, null);
OSSoundWavesConfigActivity.this.mPopupWindow = new PopupWindow(inflate);
OSSoundWavesConfigActivity.this.mPopupWindow.setWidth(-1);
OSSoundWavesConfigActivity.this.mPopupWindow.setHeight(-1);
OSSoundWavesConfigActivity.this.mPopupWindow.setFocusable(false);
OSSoundWavesConfigActivity.this.mPopupWindow.showAtLocation(inflate, 17, 0, 0);
OSSoundWavesConfigActivity.this.mPopupWindow.setOutsideTouchable(false);
((TextView) inflate.findViewById(R.id.tv_ssid)).setText(OSSoundWavesConfigActivity.this.getString(R.string.wireless_name) + OSSoundWavesConfigActivity.this.mSSID);
((TextView) inflate.findViewById(R.id.tv_password)).setText(OSSoundWavesConfigActivity.this.getString(R.string.password_colon) + OSSoundWavesConfigActivity.this.mPsw);
((TextView) inflate.findViewById(R.id.tv_try)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OSSoundWavesConfigActivity.this.mPopupWindow.dismiss();
Intent intent = new Intent(OSSoundWavesConfigActivity.this, (Class<?>) SeleApOrSoundwaveActivty.class);
intent.putExtra("mCurrentPhoneWiFi", OSSoundWavesConfigActivity.this.mCurrentPhoneWiFi);
OSSoundWavesConfigActivity.this.startActivity(intent);
}
});
final TextView textView = (TextView) inflate.findViewById(R.id.tv_pup_modify);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
OSSoundWavesConfigActivity.this.mPopupWindow.dismiss();
OSSoundWavesConfigActivity.this.handModify(textView);
}
});
return;
}
Intent intent = new Intent(OSSoundWavesConfigActivity.this, (Class<?>) OSLANSearchCameraActivity.class);
intent.putExtra("mCurrentPhoneWiFi", OSSoundWavesConfigActivity.this.mCurrentPhoneWiFi);
intent.putExtra("type", 4);
OSSoundWavesConfigActivity.this.startActivity(intent);
}
};
private HiSearchSDK searchSDK = new HiSearchSDK(new HiSearchSDK.ISearchResult() {
@Override
public void onReceiveSearchResult(HiSearchSDK.HiSearchResult hiSearchResult) {
if (TextUtils.isEmpty(hiSearchResult.uid.substring(0, 4))) {
return;
}
Message obtainMessage = OSSoundWavesConfigActivity.this.mHandler.obtainMessage();
obtainMessage.obj = hiSearchResult;
obtainMessage.what = HiDataValue.HANDLE_MESSAGE_SCAN_RESULT;
OSSoundWavesConfigActivity.this.mHandler.sendMessage(obtainMessage);
}
});
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message message) {
super.handleMessage(message);
if (message.what != -1879048187) {
return;
}
HiSearchSDK.HiSearchResult hiSearchResult = (HiSearchSDK.HiSearchResult) message.obj;
if (TextUtils.isEmpty(hiSearchResult.uid) || !hiSearchResult.uid.equals(OSSoundWavesConfigActivity.this.mUid)) {
return;
}
for (MyCamera myCamera : HiDataValue.CameraList) {
if (myCamera.getUid().equalsIgnoreCase(OSSoundWavesConfigActivity.this.mUid)) {
myCamera.setPassword("admin");
myCamera.disconnect(1);
Intent intent = new Intent();
intent.putExtra("mIsAdd", true);
intent.setAction(HiDataValue.ACTION_CAMERA_INIT_END);
OSSoundWavesConfigActivity.this.sendBroadcast(intent);
OSSoundWavesConfigActivity.this.startActivity(new Intent(OSSoundWavesConfigActivity.this, (Class<?>) MainActivity.class));
OSSoundWavesConfigActivity oSSoundWavesConfigActivity = OSSoundWavesConfigActivity.this;
MyToast.showToast(oSSoundWavesConfigActivity, oSSoundWavesConfigActivity.getString(R.string.config_net_success));
return;
}
}
Intent intent2 = new Intent(OSSoundWavesConfigActivity.this, (Class<?>) AddCameraActivity.class);
intent2.putExtra(HiDataValue.EXTRAS_KEY_UID, OSSoundWavesConfigActivity.this.mUid);
intent2.putExtra("type", 1);
OSSoundWavesConfigActivity.this.startActivity(intent2);
}
};
private CountDownTimer timer = new CountDownTimer(60000, PushUIConfig.dismissTime) {
@Override
public void onFinish() {
}
@Override
public void onTick(long j) {
if (TextUtils.isEmpty(OSSoundWavesConfigActivity.this.mUid)) {
return;
}
OSSoundWavesConfigActivity.this.searchSDK.stop();
OSSoundWavesConfigActivity.this.searchSDK.search2();
}
};
@Override
protected int setLayoutId() {
return R.layout.activity_os_soundwaves_config;
}
@Override
protected void init(Bundle bundle) {
getWindow().addFlags(128);
getIntentData();
initViewAndData();
setListeners();
}
private void getIntentData() {
this.mCurrentPhoneWiFi = getIntent().getStringExtra("mCurrentPhoneWiFi");
this.mUid = getIntent().getStringExtra(HiDataValue.EXTRAS_KEY_UID);
this.mSSID = getIntent().getStringExtra("ssid");
this.mPsw = getIntent().getStringExtra("psw");
if (TextUtils.isEmpty(this.mCurrentPhoneWiFi)) {
this.mCurrentPhoneWiFi = WifiUtils.getCurrentWifiSSID(this, true);
}
}
private void setListeners() {
this.but_search_device.setOnClickListener(this);
}
private int getMPort() {
return new Random().nextInt(20000) + 10000;
}
private void initViewAndData() {
mPort = getMPort();
getWindow().addFlags(128);
this.tv_hava_uid.setVisibility(TextUtils.isEmpty(this.mUid) ? 8 : 0);
this.but_search_device.setVisibility(TextUtils.isEmpty(this.mUid) ? 0 : 8);
this.iv_dividing.setVisibility(TextUtils.isEmpty(this.mUid) ? 0 : 8);
this.title.setTitle(getString(R.string.title_sound_config));
this.title.setButton(0);
this.title.setRightTxtBack(R.mipmap.x_bule);
this.title.setNavigationBarButtonListener(new TitleView.NavigationBarButtonListener() {
@Override
public void OnNavigationButtonClick(int i) {
if (i == 0) {
OSSoundWavesConfigActivity.this.finish();
} else {
if (i != 2) {
return;
}
OSSoundWavesConfigActivity.this.startActivity(new Intent(OSSoundWavesConfigActivity.this, (Class<?>) MainActivity.class), true);
}
}
});
if (!TextUtils.isEmpty(this.mUid)) {
this.tv_uid.setText(this.mUid);
}
String str = this.mSSID;
if (str == null || str == null) {
MyToast.showToast(this, getString(R.string.data_error));
finish();
return;
}
String iPAddress = HiTools.getIPAddress(this);
this.mIP = iPAddress;
if (TextUtils.isEmpty(iPAddress)) {
Toast.makeText(this, getString(R.string.netword_abnormal), 1).show();
finish();
return;
}
this.sv = new HiSinVoiceData(this);
Log.i("tedu", "--端口--:" + mPort + "--ip--:" + this.mIP);
this.sv.setValue(this.mSSID, this.mPsw, this.mIP, mPort);
this.sv.startSinVoice();
this.but_search_device.setEnabled(false);
this.mCountDownTimer.start();
Animatable animatable = (Animatable) this.iv_wave.getDrawable();
this.animatable = animatable;
animatable.start();
openServerEndRecieveMsg();
if (TextUtils.isEmpty(this.mUid) || HiTools.isOtherLiteosDev(this.mUid) || HiTools.is4GLiteOSDev(this.mUid)) {
return;
}
this.timer.start();
}
private void openServerEndRecieveMsg() {
HiLitosSDK hiLitosSDK = new HiLitosSDK(new HiLitosSDK.ILitosResult() {
@Override
public void onReceiveLitosResult(String str, int i, int i2, int i3) {
Log.i("tedu", "-recieve-:" + str + "-type-:" + i + "-state-:" + i2 + "-num-:" + i3);
if (TextUtils.isEmpty(str) || str.equals("0_0")) {
OSSoundWavesConfigActivity oSSoundWavesConfigActivity = OSSoundWavesConfigActivity.this;
MyToast.showToast(oSSoundWavesConfigActivity, oSSoundWavesConfigActivity.getString(R.string.netword_abnormal));
return;
}
String[] split = str.split("_");
for (String str2 : split) {
Log.i("tedu", "--str--:" + str2);
}
Log.i("tedu", "--a--:" + (split.length > 0) + "--b--:" + HiTools.checkIsUid(split[0]));
if (split.length > 0 && HiTools.checkIsUid(split[0])) {
Intent intent = new Intent(OSSoundWavesConfigActivity.this, (Class<?>) OSAddCameraActivity.class);
intent.putExtra("mCurrentPhoneWiFi", OSSoundWavesConfigActivity.this.mCurrentPhoneWiFi);
intent.putExtra("type", 1);
intent.putExtra(HiDataValue.EXTRAS_KEY_UID, split[0]);
intent.putExtra(Constant.MAC, split[1]);
OSSoundWavesConfigActivity.this.startActivity(intent);
return;
}
if (TextUtils.isEmpty(split[0]) || HiTools.checkIsUid(split[0])) {
return;
}
OSSoundWavesConfigActivity oSSoundWavesConfigActivity2 = OSSoundWavesConfigActivity.this;
MyToast.showToast(oSSoundWavesConfigActivity2, oSSoundWavesConfigActivity2.getString(R.string.input_uid_format_error));
}
});
this.hiLitosSDK = hiLitosSDK;
hiLitosSDK.litoscreateServerSocket(mPort);
}
@Override
public void onResume() {
super.onResume();
if (this.timer == null) {
this.timer = new CountDownTimer(60000L, 6000L) {
@Override
public void onFinish() {
}
@Override
public void onTick(long j) {
OSSoundWavesConfigActivity.this.searchSDK.stop();
OSSoundWavesConfigActivity.this.searchSDK.search2();
}
};
}
}
@Override
public void onPause() {
super.onPause();
HiSinVoiceData hiSinVoiceData = this.sv;
if (hiSinVoiceData != null) {
hiSinVoiceData.stopSinVoice();
}
CountDownTimer countDownTimer = this.mCountDownTimer;
if (countDownTimer != null) {
countDownTimer.cancel();
this.mCountDownTimer = null;
}
CountDownTimer countDownTimer2 = this.timer;
if (countDownTimer2 != null) {
countDownTimer2.cancel();
}
PopupWindow popupWindow = this.mPopupWindow;
if (popupWindow != null && popupWindow.isShowing()) {
this.mPopupWindow.dismiss();
this.mPopupWindow = null;
}
HiLitosSDK hiLitosSDK = this.hiLitosSDK;
if (hiLitosSDK != null) {
hiLitosSDK.litosstopServerSocket();
}
HiSearchSDK hiSearchSDK = this.searchSDK;
if (hiSearchSDK != null) {
hiSearchSDK.stop();
}
Handler handler = this.mHandler;
if (handler != null) {
handler.removeCallbacksAndMessages(null);
}
finish();
}
@Override
public void onClick(View view) {
if (view.getId() != R.id.but_search_device) {
return;
}
if (HiTools.isWifiConnected(this) || HiDataValue.mHi_wifiConnect_Q.length() > 0) {
Intent intent = new Intent(this, (Class<?>) OSLANSearchCameraActivity.class);
intent.putExtra("mCurrentPhoneWiFi", this.mCurrentPhoneWiFi);
intent.putExtra("type", 4);
intent.putExtra("category", 2);
if (!TextUtils.isEmpty(this.mUid)) {
intent.putExtra(HiDataValue.EXTRAS_KEY_UID, this.mUid);
}
startActivity(intent);
return;
}
MyToast.showToast(this, getString(R.string.toast_connect_wifi));
}
public void handModify(View view) {
View inflate = View.inflate(this, R.layout.pup_sound_wave_wifi, null);
PopupWindow popupWindow = new PopupWindow(inflate);
this.mPopupWindow = popupWindow;
popupWindow.setOutsideTouchable(false);
this.mPopupWindow.setFocusable(true);
this.mPopupWindow.setWidth(-1);
this.mPopupWindow.setHeight(-1);
this.mPopupWindow.showAtLocation(view, 17, 0, 0);
final TextView textView = (TextView) inflate.findViewById(R.id.tv_ssid);
final EditText editText = (EditText) inflate.findViewById(R.id.et_psw);
editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(63), new FullCharFilter(this), new EmojiFilter()});
textView.setText(this.mSSID);
editText.setText(this.mPsw);
((TextView) inflate.findViewById(R.id.tv_cancel)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view2) {
OSSoundWavesConfigActivity.this.mPopupWindow.dismiss();
OSSoundWavesConfigActivity.this.finish();
}
});
((TextView) inflate.findViewById(R.id.tv_ok)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view2) {
String charSequence = textView.getText().toString();
String obj = editText.getText().toString();
if (TextUtils.isEmpty(charSequence)) {
OSSoundWavesConfigActivity oSSoundWavesConfigActivity = OSSoundWavesConfigActivity.this;
MyToast.showToast(oSSoundWavesConfigActivity, oSSoundWavesConfigActivity.getString(R.string.ssid_not_empty));
return;
}
OSSoundWavesConfigActivity oSSoundWavesConfigActivity2 = OSSoundWavesConfigActivity.this;
oSSoundWavesConfigActivity2.Hi_Save_UseWifi(oSSoundWavesConfigActivity2, obj, charSequence);
OSSoundWavesConfigActivity.this.mPopupWindow.dismiss();
OSSoundWavesConfigActivity.this.mSSID = charSequence;
OSSoundWavesConfigActivity.this.mPsw = obj;
OSSoundWavesConfigActivity.this.mCountDownTime = 61;
OSSoundWavesConfigActivity.this.but_search_device.setEnabled(false);
if (OSSoundWavesConfigActivity.this.mCountDownTimer != null) {
OSSoundWavesConfigActivity.this.mCountDownTimer.cancel();
}
if (OSSoundWavesConfigActivity.this.timer != null) {
OSSoundWavesConfigActivity.this.timer.cancel();
}
if (OSSoundWavesConfigActivity.this.animatable != null && !OSSoundWavesConfigActivity.this.animatable.isRunning()) {
OSSoundWavesConfigActivity.this.animatable.start();
}
OSSoundWavesConfigActivity.this.mCountDownTimer.start();
OSSoundWavesConfigActivity.this.sv.setValue(OSSoundWavesConfigActivity.this.mSSID, OSSoundWavesConfigActivity.this.mPsw);
OSSoundWavesConfigActivity.this.sv.startSinVoice();
}
});
}
public void Hi_Save_UseWifi(Context context, String str, String str2) {
Set<String> set;
Context context2 = context;
Set<String> stringSet = SharePreUtils.getStringSet(HiDataValue.CACHE, context2, HiDataValue.use_SSIDList);
if (stringSet != null) {
int i = 0;
if (stringSet.size() > 0) {
String[] strArr = (String[]) stringSet.toArray(new String[stringSet.size()]);
Arrays.sort(strArr);
for (int i2 = 0; i2 < strArr.length; i2++) {
HiLog.e(stringSet.size() + Constants.COLON_SEPARATOR + i2 + Constants.COLON_SEPARATOR + strArr[i2]);
}
int i3 = 0;
while (i3 < strArr.length) {
HiLog.e(stringSet.size() + Constants.COLON_SEPARATOR + i3 + Constants.COLON_SEPARATOR + strArr[i3].substring(3));
if (i3 % 2 == 0 && str2.equals(strArr[i3].substring(3))) {
StringBuilder sb = new StringBuilder();
sb.append(stringSet.size());
sb.append(Constants.COLON_SEPARATOR);
sb.append(i3);
sb.append("::");
sb.append(strArr[i3].substring(3));
sb.append(Constants.COLON_SEPARATOR);
int i4 = i3 + 1;
sb.append(strArr[i4].substring(3));
HiLog.e(sb.toString());
if (!str.equals(strArr[i4].substring(3)) || i3 + 2 < strArr.length) {
stringSet.remove(strArr[i3]);
stringSet.remove(strArr[i4]);
HiLog.e(stringSet.size() + Constants.COLON_SEPARATOR + i3 + Constants.COLON_SEPARATOR + strArr[i3].substring(3));
int size = stringSet.size() + 100;
int i5 = size + 1;
HashSet hashSet = new HashSet();
while (i < i3) {
hashSet.add("" + (i + 100) + strArr[i].substring(3));
i++;
stringSet = stringSet;
}
set = stringSet;
for (int i6 = i3 + 2; i6 < strArr.length; i6++) {
hashSet.add("" + ((i6 - 2) + 100) + strArr[i6].substring(3));
}
hashSet.add("" + size + str2);
hashSet.add("" + i5 + str);
HiLog.e(hashSet.size() + "::" + size + Constants.COLON_SEPARATOR + str2 + Constants.COLON_SEPARATOR + str);
context2 = context;
SharePreUtils.putStringSet(HiDataValue.CACHE, context2, HiDataValue.use_SSIDList, hashSet);
} else {
set = stringSet;
}
i = 1;
if (i != 0) {
int size2 = set.size() + 100;
HiLog.e(set.size() + "::" + size2 + Constants.COLON_SEPARATOR + str2 + Constants.COLON_SEPARATOR + str);
HashSet hashSet2 = new HashSet();
hashSet2.addAll(set);
StringBuilder sb2 = new StringBuilder();
sb2.append("");
sb2.append(size2);
sb2.append(str2);
hashSet2.add(sb2.toString());
hashSet2.add("" + (size2 + 1) + str);
HiLog.e(hashSet2.size() + "::" + size2 + Constants.COLON_SEPARATOR + str2 + Constants.COLON_SEPARATOR + str);
SharePreUtils.putStringSet(HiDataValue.CACHE, context2, HiDataValue.use_SSIDList, hashSet2);
return;
}
return;
}
i3++;
stringSet = stringSet;
}
}
set = stringSet;
if (i != 0) {
}
} else {
HashSet hashSet3 = new HashSet();
hashSet3.add("100" + str2);
hashSet3.add("101" + str);
SharePreUtils.putStringSet(HiDataValue.CACHE, context2, HiDataValue.use_SSIDList, hashSet3);
}
}
}