TakeNameToCamActivity.java 源代码


package activity.addCamera;

import activity.cloud.api.ApiFactory;
import activity.cloud.bean.ServiceRequ;
import activity.cloud.bean.ServiceResp;
import activity.cloud.re.MyCallBack;
import activity.cloud.utils.DateUtils;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import base.HiActivity;
import bean.MyCamera;
import bean.ShowBuyCloudTip;
import com.hichip.callback.ICameraIOSessionCallback;
import com.hichip.campro.R;
import com.hichip.control.HiCamera;
import com.hichip.tools.Packet;
import com.xiaomi.mipush.sdk.Constants;
import common.Constant;
import common.ConstantCommand;
import common.HiDataValue;
import common.TitleView;
import custom.dialog.Effectstype;
import custom.dialog.WarningDialogBuilder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.Locale;
import java.util.Random;
import main.MainActivity;
import org.greenrobot.eventbus.EventBus;
import service.WakeUpDevService;
import utils.HiLogcatUtil;
import utils.HiTools;
import utils.SharePreUtils;
import utils.TimeUtil;

public class TakeNameToCamActivity extends HiActivity implements View.OnClickListener, ICameraIOSessionCallback {
    EditText et_name;
    private MyCamera mMyCamera;
    private String str_name;
    TitleView title;
    TextView tv_confirm;
    TextView tv_eight;
    TextView tv_five;
    TextView tv_four;
    TextView tv_one;
    TextView tv_seven;
    TextView tv_six;
    TextView tv_there;
    TextView tv_two;
    private ArrayList<TextView> listTv = new ArrayList<>();
    SimpleDateFormat format = new SimpleDateFormat(TimeUtil.FORMAT_DATE_TIME_FULL, Locale.getDefault());
    private Handler mIOHandler = new Handler() {
        @Override
        public void handleMessage(Message message) {
            MyCamera myCamera = (MyCamera) message.obj;
            int i = message.what;
            if (i == -1879048191) {
                TakeNameToCamActivity.this.handSessionState(message, myCamera);
            } else if (i == -1879048189 && message.arg2 == 0) {
                TakeNameToCamActivity.this.handIOCTRLSuccess(message, myCamera);
            }
        }
    };
    private MyCamera.OnBindPushResult bindPushResult = new MyCamera.OnBindPushResult() {
        @Override
        public void onBindFail(MyCamera myCamera) {
        }

        @Override
        public void onBindSuccess(MyCamera myCamera) {
        }

        @Override
        public void onBindTokenIsNull(MyCamera myCamera, boolean z) {
        }

        @Override
        public void onUnBindFail(MyCamera myCamera) {
        }

        @Override
        public void onUnBindSuccess(MyCamera myCamera) {
        }

        @Override
        public void onUpdatePushNameFail(MyCamera myCamera) {
        }

        @Override
        public void onUpdatePushNameSuccess(MyCamera myCamera) {
            TakeNameToCamActivity.this.mMyCamera.setPushDevName(TakeNameToCamActivity.this.str_name);
        }
    };

    @Override
    protected int setLayoutId() {
        return R.layout.activity_takename_tocam;
    }

    @Override
    protected void init(Bundle bundle) {
        getIntentData();
        connect();
        initViewAndData();
        setListeners();
    }

    private void getIntentData() {
        String stringExtra = getIntent().getStringExtra(HiDataValue.EXTRAS_KEY_UID);
        if (!TextUtils.isEmpty(stringExtra)) {
            Iterator<MyCamera> it = HiDataValue.CameraList.iterator();
            while (true) {
                if (!it.hasNext()) {
                    break;
                }
                MyCamera next = it.next();
                if (stringExtra.equals(next.getUid())) {
                    this.mMyCamera = next;
                    break;
                }
            }
        }
        if (HiTools.cameraWhetherNull(this.mMyCamera, this)) {
            return;
        }
        SharePreUtils.putInt(HiDataValue.CACHE, this, this.mMyCamera.getUid() + "isOpenedDefaultAlarmPush", 1);
        if (this.mMyCamera.getPassword().equals("admin")) {
            SharePreUtils.putInt(HiDataValue.CACHE, this, this.mMyCamera.getUid() + Constant.HINT_PSW, 0);
        }
        try {
            this.mMyCamera.setTimerFlag(Integer.parseInt(this.mMyCamera.uid.split(Constants.ACCEPT_TIME_SEPARATOR_SERVER)[1]));
        } catch (NumberFormatException e) {
            e.printStackTrace();
            this.mMyCamera.setTimerFlag(new Random().nextInt());
        }
        if (HiTools.isNVRDev(this.mMyCamera.uid)) {
            this.et_name.setText(getResources().getString(R.string.nvradd_web_camext));
            this.tv_one.setText(getResources().getString(R.string.home));
            this.tv_two.setText(getResources().getString(R.string.factory));
            this.tv_there.setText(getResources().getString(R.string.farm));
            this.tv_four.setText(getResources().getString(R.string.company));
            this.tv_five.setText(getResources().getString(R.string.school));
            this.tv_six.setText(getResources().getString(R.string.shop));
            this.tv_seven.setText(getResources().getString(R.string.warehouse));
            this.tv_eight.setText(getResources().getString(R.string.parking_lot));
        }
    }

    private void connect() {
        new Thread(new Runnable() {
            @Override
            public final void run() {
                TakeNameToCamActivity.this.lambda$connect$1$TakeNameToCamActivity();
            }
        }).start();
    }

    public void lambda$connect$1$TakeNameToCamActivity() {
        MyCamera myCamera = this.mMyCamera;
        if (myCamera == null) {
            return;
        }
        myCamera.registerIOSessionListener(this);
        new Thread(new Runnable() {
            @Override
            public final void run() {
                TakeNameToCamActivity.this.lambda$connect$0$TakeNameToCamActivity();
            }
        }).start();
    }

    public void lambda$connect$0$TakeNameToCamActivity() {
        if (this.mMyCamera.getIsDevNVR()) {
            MyCamera myCamera = this.mMyCamera;
            myCamera.connectNVR(myCamera.isNvrLoginType);
        } else {
            if (this.mMyCamera.getIsLiteOs()) {
                Intent intent = new Intent(this, (Class<?>) WakeUpDevService.class);
                intent.putExtra(HiDataValue.EXTRAS_KEY_UID, this.mMyCamera.getUid());
                startService(intent);
                return;
            }
            this.mMyCamera.connect();
        }
    }

    private void checkShowCloudBuyTip() {
        Log.e("CameraFragmentonResume", "checkShowCloudBuyTip = ");
        if ((this.mMyCamera.getIsSupportCloud() || this.mMyCamera.getIsSupportLiteCloud()) && this.mMyCamera.getConnectState() == 4) {
            if ((this.mMyCamera.getCameraLevel() == 1 && this.mMyCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) || this.mMyCamera.getCameraLevel() == 20) {
                ApiFactory.getApi().GetService(new ServiceRequ(this.mMyCamera.getUid(), DateUtils.getDate())).enqueue(new MyCallBack<ServiceResp>() {
                    @Override
                    public void onSuccess(ServiceResp serviceResp) {
                        Date date;
                        if (TakeNameToCamActivity.this.isFinishing()) {
                            return;
                        }
                        if (!TakeNameToCamActivity.this.mMyCamera.getIs_UseCloud()) {
                            TakeNameToCamActivity.this.mMyCamera.setmIs_UseCloud(true);
                        }
                        if (TextUtils.isEmpty(TakeNameToCamActivity.this.mMyCamera.getCloudEndTime())) {
                            TakeNameToCamActivity.this.mMyCamera.setCloudEndTime(serviceResp.getEndDate());
                        }
                        if (serviceResp.getEndDate().isEmpty() && TakeNameToCamActivity.this.mMyCamera.getCameraLevel() == 1 && TakeNameToCamActivity.this.mMyCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) {
                            EventBus.getDefault().post(new ShowBuyCloudTip(TakeNameToCamActivity.this.mMyCamera));
                            return;
                        }
                        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(TimeUtil.FORMAT_DATE_TIME_FULL, Locale.getDefault());
                        Date date2 = null;
                        try {
                            date = simpleDateFormat.parse(serviceResp.getEndDate());
                            try {
                                date2 = simpleDateFormat.parse(serviceResp.getDate());
                            } catch (ParseException e) {
                                e = e;
                                e.printStackTrace();
                                if (date == null) {
                                    return;
                                } else {
                                    return;
                                }
                            }
                        } catch (ParseException e2) {
                            e = e2;
                            date = null;
                        }
                        if (date == null && date2 != null && date.getTime() < date2.getTime() + 28800000 && TakeNameToCamActivity.this.mMyCamera.getCameraLevel() == 1 && TakeNameToCamActivity.this.mMyCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) {
                            EventBus.getDefault().post(new ShowBuyCloudTip(TakeNameToCamActivity.this.mMyCamera));
                        }
                    }

                    @Override
                    public void onError(Throwable th, String str) {
                        Log.e("TakeNameToCamActivity====", "onError = " + str + "-----isFinishing = " + TakeNameToCamActivity.this.isFinishing());
                        if (TakeNameToCamActivity.this.isFinishing()) {
                            return;
                        }
                        if (TakeNameToCamActivity.this.mMyCamera.getIs_UseCloud()) {
                            TakeNameToCamActivity.this.mMyCamera.setmIs_UseCloud(false);
                        }
                        if (TakeNameToCamActivity.this.mMyCamera.getCameraLevel() == 1 && TakeNameToCamActivity.this.mMyCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) {
                            EventBus.getDefault().post(new ShowBuyCloudTip(TakeNameToCamActivity.this.mMyCamera));
                        }
                    }
                });
            }
        }
    }

    private void setListeners() {
        Iterator<TextView> it = this.listTv.iterator();
        while (it.hasNext()) {
            it.next().setOnClickListener(this);
        }
        this.tv_confirm.setOnClickListener(this);
    }

    private void initViewAndData() {
        this.title.setTitle(getString(R.string.title_name_setting));
        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) {
                    TakeNameToCamActivity.this.startActivity(new Intent(TakeNameToCamActivity.this, (Class<?>) MainActivity.class));
                } else {
                    if (i != 2) {
                        return;
                    }
                    TakeNameToCamActivity.this.startActivity(new Intent(TakeNameToCamActivity.this, (Class<?>) MainActivity.class), true);
                }
            }
        });
        this.listTv.add(this.tv_one);
        this.listTv.add(this.tv_two);
        this.listTv.add(this.tv_there);
        this.listTv.add(this.tv_four);
        this.listTv.add(this.tv_five);
        this.listTv.add(this.tv_six);
        this.listTv.add(this.tv_seven);
        this.listTv.add(this.tv_eight);
        EditText editText = this.et_name;
        editText.setSelection(editText.getText().toString().length());
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.tv_confirm:
                if (HiTools.isCustomFastClick(700)) {
                    return;
                }
                String trim = this.et_name.getText().toString().trim();
                this.str_name = trim;
                if (TextUtils.isEmpty(trim)) {
                    showAlert(getString(R.string.device_name_cannot_be_empty));
                    return;
                }
                this.mMyCamera.setNikeName(this.str_name);
                this.mMyCamera.updateInDatabase(this);
                if (this.mMyCamera.getPushState() > 0) {
                    updatePushDevName(this.str_name);
                }
                startActivity(new Intent(this, (Class<?>) MainActivity.class), true);
                finish();
                return;
            case R.id.tv_eight:
                if (HiTools.isNVRDev(this.mMyCamera.uid)) {
                    this.et_name.setText(getString(R.string.parking_lot));
                } else {
                    this.et_name.setText(getString(R.string.office));
                }
                setTxtViewSelect(7);
                EditText editText = this.et_name;
                editText.setSelection(editText.getText().toString().length());
                return;
            case R.id.tv_five:
                if (HiTools.isNVRDev(this.mMyCamera.uid)) {
                    this.et_name.setText(getString(R.string.school));
                } else {
                    this.et_name.setText(getString(R.string.shop));
                }
                setTxtViewSelect(4);
                EditText editText2 = this.et_name;
                editText2.setSelection(editText2.getText().toString().length());
                return;
            case R.id.tv_four:
                if (HiTools.isNVRDev(this.mMyCamera.uid)) {
                    this.et_name.setText(getString(R.string.company));
                } else {
                    this.et_name.setText(getString(R.string.babyroom));
                }
                setTxtViewSelect(3);
                EditText editText3 = this.et_name;
                editText3.setSelection(editText3.getText().toString().length());
                return;
            case R.id.tv_one:
                if (HiTools.isNVRDev(this.mMyCamera.uid)) {
                    this.et_name.setText(getString(R.string.home));
                } else {
                    this.et_name.setText(getString(R.string.parlour));
                }
                setTxtViewSelect(0);
                EditText editText4 = this.et_name;
                editText4.setSelection(editText4.getText().toString().length());
                return;
            case R.id.tv_seven:
                if (HiTools.isNVRDev(this.mMyCamera.uid)) {
                    this.et_name.setText(getString(R.string.warehouse));
                } else {
                    this.et_name.setText(getString(R.string.hall));
                }
                setTxtViewSelect(6);
                EditText editText5 = this.et_name;
                editText5.setSelection(editText5.getText().toString().length());
                return;
            case R.id.tv_six:
                if (HiTools.isNVRDev(this.mMyCamera.uid)) {
                    this.et_name.setText(getString(R.string.shop));
                } else {
                    this.et_name.setText(getString(R.string.corridor));
                }
                setTxtViewSelect(5);
                EditText editText6 = this.et_name;
                editText6.setSelection(editText6.getText().toString().length());
                return;
            case R.id.tv_there:
                if (HiTools.isNVRDev(this.mMyCamera.uid)) {
                    this.et_name.setText(getString(R.string.farm));
                } else {
                    this.et_name.setText(getString(R.string.doorway));
                }
                setTxtViewSelect(2);
                EditText editText7 = this.et_name;
                editText7.setSelection(editText7.getText().toString().length());
                return;
            case R.id.tv_two:
                if (HiTools.isNVRDev(this.mMyCamera.uid)) {
                    this.et_name.setText(getString(R.string.factory));
                } else {
                    this.et_name.setText(getString(R.string.bedroom));
                }
                setTxtViewSelect(1);
                EditText editText8 = this.et_name;
                editText8.setSelection(editText8.getText().toString().length());
                return;
            default:
                return;
        }
    }

    private void updatePushDevName(String str) {
        if (this.mMyCamera.f987push != null) {
            this.mMyCamera.updateDevName(str, this.bindPushResult);
        }
    }

    private void setTxtViewSelect(int i) {
        int i2 = 0;
        while (i2 < this.listTv.size()) {
            this.listTv.get(i2).setSelected(i2 == i);
            i2++;
        }
    }

    @Override
    public void showAlert(CharSequence charSequence) {
        WarningDialogBuilder warningDialogBuilder = WarningDialogBuilder.getInstance(this);
        warningDialogBuilder.withMessage(charSequence).isCancelable(true).isCancelableOnTouchOutside(true).withEffect(Effectstype.Shake);
        warningDialogBuilder.show();
    }

    @Override
    public void onPause() {
        super.onPause();
        finish();
    }

    @Override
    public void receiveSessionState(HiCamera hiCamera, int i) {
        Message obtainMessage = this.mIOHandler.obtainMessage();
        obtainMessage.what = HiDataValue.HANDLE_MESSAGE_SESSION_STATE;
        obtainMessage.arg1 = i;
        obtainMessage.obj = hiCamera;
        this.mIOHandler.sendMessage(obtainMessage);
    }

    @Override
    public void receiveIOCtrlData(HiCamera hiCamera, int i, byte[] bArr, int i2) {
        if (i == 37125 && i2 == 0) {
            MyCamera myCamera = (MyCamera) hiCamera;
            HiLogcatUtil.i("==DEVICE_FISH_PARAM: " + myCamera.reciveBmpBuffer(bArr) + "");
            if (!myCamera.reciveBmpBuffer(bArr)) {
                return;
            }
        }
        Bundle bundle = new Bundle();
        bundle.putByteArray("data", bArr);
        Message obtainMessage = this.mIOHandler.obtainMessage();
        obtainMessage.what = HiDataValue.HANDLE_MESSAGE_RECEIVE_IOCTRL;
        obtainMessage.obj = hiCamera;
        obtainMessage.arg1 = i;
        obtainMessage.arg2 = i2;
        obtainMessage.setData(bundle);
        this.mIOHandler.sendMessage(obtainMessage);
    }

    public void handSessionState(Message message, MyCamera myCamera) {
        if (message.arg1 != 4) {
            return;
        }
        Log.e("wry----", myCamera.getUid() + "----CAMERA_CONNECTION_STATE_LOGIN------camera.getCameraLevel() = " + myCamera.getCameraLevel() + "---camera.isBindCurrentAccount() = " + myCamera.isBindCurrentAccount() + "---camera.getIsLiteOs() = " + myCamera.getIsLiteOs());
        if ((myCamera.getCameraLevel() == 1 && myCamera.isBindCurrentAccount() == HiTools.BindCurrentAccount_Y) || myCamera.getCameraLevel() == 20) {
            if (myCamera.mIsLiteOs) {
                if (myCamera.appGetCommandFunction(ConstantCommand.HI_P2P_GET_CLOUD_INFO)) {
                    myCamera.sendIOCtrl(ConstantCommand.HI_P2P_GET_CLOUD_INFO, new byte[0]);
                }
            } else if (myCamera.appGetCommandFunction(ConstantCommand.HI_P2P_CLOUD_CHECK)) {
                if (myCamera.appGetCommandFunction(ConstantCommand.HI_P2P_GET_CLOUD_PARAM)) {
                    myCamera.sendIOCtrl(ConstantCommand.HI_P2P_GET_CLOUD_PARAM, new byte[0]);
                }
            } else if (myCamera.appGetCommandFunction(16798)) {
                myCamera.sendIOCtrl(16798, new byte[0]);
            }
        }
    }

    public void handIOCTRLSuccess(Message message, MyCamera myCamera) {
        byte[] byteArray = message.getData().getByteArray("data");
        HiDataValue.CameraList.indexOf(myCamera);
        if (byteArray == null) {
            return;
        }
        Log.e("CameraFragmentonResume", "msg.arg1 = " + message.arg1);
        int i = message.arg1;
        Date date = null;
        if (i == 16798) {
            ConstantCommand.HI_P2P_CLOUD_UPDATE hi_p2p_cloud_update = new ConstantCommand.HI_P2P_CLOUD_UPDATE(byteArray);
            if (!TextUtils.isEmpty(SharePreUtils.getString(HiDataValue.CACHE, this, myCamera.getUid() + Constant.NOT_SEND_CLOUD_STATUS))) {
                hi_p2p_cloud_update.u32CloudEnable = 1;
                hi_p2p_cloud_update.u32CloudUpdate = 1;
                myCamera.sendIOCtrl(16797, hi_p2p_cloud_update.parseContent());
            } else if (hi_p2p_cloud_update.u32CloudEnable == 0 && !TextUtils.isEmpty(myCamera.getCloudEndTime())) {
                try {
                    date = this.format.parse(myCamera.getCloudEndTime());
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                if (date == null) {
                    return;
                }
                if (date.getTime() > System.currentTimeMillis()) {
                    hi_p2p_cloud_update.u32CloudEnable = 1;
                    hi_p2p_cloud_update.u32CloudUpdate = 1;
                    myCamera.sendIOCtrl(16797, hi_p2p_cloud_update.parseContent());
                }
            }
            checkShowCloudBuyTip();
            return;
        }
        if (i != 16822) {
            if (i != 65569) {
                return;
            }
            ConstantCommand.HI_P2P_CLOUD_UPDATE hi_p2p_cloud_update2 = new ConstantCommand.HI_P2P_CLOUD_UPDATE(byteArray);
            if (hi_p2p_cloud_update2.u32CloudServer == 1) {
                if (!myCamera.getIsSupportLiteCloud()) {
                    myCamera.setIsSupportLiteCloud(true);
                }
                if (!TextUtils.isEmpty(SharePreUtils.getString(HiDataValue.CACHE, this, myCamera.getUid() + Constant.NOT_SEND_CLOUD_STATUS))) {
                    hi_p2p_cloud_update2.u32CloudEnable = 1;
                    hi_p2p_cloud_update2.u32CloudUpdate = 1;
                    myCamera.sendIOCtrl(ConstantCommand.HI_P2P_SET_CLOUD_INFO, hi_p2p_cloud_update2.parseContent());
                } else if (hi_p2p_cloud_update2.u32CloudEnable == 0 && !TextUtils.isEmpty(myCamera.getCloudEndTime())) {
                    try {
                        date = this.format.parse(myCamera.getCloudEndTime());
                    } catch (ParseException e2) {
                        e2.printStackTrace();
                    }
                    if (date == null) {
                        return;
                    }
                    if (date.getTime() > System.currentTimeMillis()) {
                        hi_p2p_cloud_update2.u32CloudEnable = 1;
                        hi_p2p_cloud_update2.u32CloudUpdate = 1;
                        myCamera.sendIOCtrl(ConstantCommand.HI_P2P_SET_CLOUD_INFO, hi_p2p_cloud_update2.parseContent());
                    }
                }
                checkShowCloudBuyTip();
                return;
            }
            myCamera.setIsSupportLiteCloud(false);
            return;
        }
        ConstantCommand.HI_P2P_GET_CLOUD_PARAM hi_p2p_get_cloud_param = new ConstantCommand.HI_P2P_GET_CLOUD_PARAM(byteArray);
        if (hi_p2p_get_cloud_param.u32MfrsName == 1) {
            myCamera.setIsSupportCloud(true);
            myCamera.setCloudType(1);
            String string = Packet.getString(hi_p2p_get_cloud_param.u8CloudAddr);
            if (Constant.stringIsIP(string)) {
                myCamera.setEcsIp(string);
            }
            if (hi_p2p_get_cloud_param.u32CloudPort > 0) {
                myCamera.setEcsPort(hi_p2p_get_cloud_param.u32CloudPort + 9);
            }
            if (!TextUtils.isEmpty(SharePreUtils.getString(HiDataValue.CACHE, this, myCamera.getUid() + Constant.NOT_SEND_CLOUD_STATUS))) {
                hi_p2p_get_cloud_param.u32CloudEnable = 1;
                hi_p2p_get_cloud_param.u32CloudUpdate = 1;
                myCamera.sendIOCtrl(ConstantCommand.HI_P2P_SET_CLOUD_PARAM, hi_p2p_get_cloud_param.parseContent());
            } else if (!TextUtils.isEmpty(myCamera.getCloudEndTime())) {
                try {
                    date = this.format.parse(myCamera.getCloudEndTime());
                } catch (ParseException e3) {
                    e3.printStackTrace();
                }
                if (date == null) {
                    return;
                }
                if (date.getTime() > System.currentTimeMillis() && hi_p2p_get_cloud_param.u32CloudEnable == 0) {
                    hi_p2p_get_cloud_param.u32CloudEnable = 1;
                    hi_p2p_get_cloud_param.u32CloudUpdate = 1;
                    myCamera.sendIOCtrl(ConstantCommand.HI_P2P_SET_CLOUD_PARAM, hi_p2p_get_cloud_param.parseContent());
                }
            }
            checkShowCloudBuyTip();
        }
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        if (this.mMyCamera != null) {
            Log.e("CameraFragmentonResume", "onDestroy = ");
            this.mMyCamera.unregisterIOSessionListener(this);
        }
        Handler handler = this.mIOHandler;
        if (handler != null) {
            handler.removeCallbacksAndMessages(null);
        }
    }
}