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);
        }
    }
}