导航菜单

页面标题

页面副标题

WeatherSense v1.8.9 - MineDeviceActivity.java 源代码

正在查看: WeatherSense v1.8.9 应用的 MineDeviceActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.emax.weather.ui.activity;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.core.widget.NestedScrollView;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import com.alibaba.pdns.DNSResolver;
import com.alibaba.pdns.w.c;
import com.emax.weahter.R;
import com.emax.weather.base.BaseApplication;
import com.emax.weather.base.MvpBaseActivity;
import com.emax.weather.base.RxBus;
import com.emax.weather.bean.DeviceAlarm;
import com.emax.weather.bean.DeviceLocation;
import com.emax.weather.bean.DeviceName;
import com.emax.weather.bean.MyDeviceName;
import com.emax.weather.bean.RxBusEvent;
import com.emax.weather.bean.db.DaoHadle;
import com.emax.weather.event.RemindEvent;
import com.emax.weather.presenter.RemindPresenterImp;
import com.emax.weather.util.AndroidScheduler;
import com.emax.weather.utils.CheckClickUtils;
import com.emax.weather.utils.HomeUtil;
import com.emax.weather.utils.PrintListUtil;
import com.emax.weather.widget.HuimidityPopWindow;
import com.emax.weather.widget.NameInputPopWindow;
import com.emax.weather.widget.TemperaturePopWindow;
import com.ezon.health.utils_lib.SharedPre;
import com.ezon.health.utils_lib.SharedPreUtils;
import com.ezon.health.utils_lib.ToastUtil;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import io.reactivex.disposables.Disposable;
import io.reactivex.functions.Consumer;
import java.util.ArrayList;
import java.util.List;

public class MineDeviceActivity extends MvpBaseActivity<RemindEvent.RemindView, RemindPresenterImp> implements RemindEvent.RemindView, NameInputPopWindow.OnCheckClickListener {
    public static final int CH1 = 1;
    public static final int CH2 = 2;
    public static final int CH3 = 3;
    public static final int MASTER = 0;
    public static final int OUTDOOR = 4;

    @BindView(R.id.alias_lable)
    TextView aliasLable;

    @BindView(R.id.alias_value)
    TextView aliasValue;

    @BindView(R.id.back_sub)
    ImageView backSub;

    @BindView(R.id.ch1_value)
    TextView ch1Value;

    @BindView(R.id.ch2_lable)
    TextView ch2Lable;

    @BindView(R.id.ch2_value)
    TextView ch2Value;

    @BindView(R.id.ch3_lable)
    TextView ch3Lable;

    @BindView(R.id.ch3_value)
    TextView ch3Value;
    private int channel;
    private List<DeviceAlarm> deviceAlarmList;
    private DeviceLocation deviceLocation;

    @BindView(R.id.device_location_lable)
    TextView deviceLocationLable;

    @BindView(R.id.device_location_rl)
    RelativeLayout deviceLocationRl;

    @BindView(R.id.device_mac_lable)
    TextView deviceMacLable;

    @BindView(R.id.device_mac_rl)
    RelativeLayout deviceMacRl;

    @BindView(R.id.device_mac_value)
    TextView deviceMacValue;
    private Disposable disposable;

    @BindView(R.id.llFactoryModule)
    LinearLayout factoryModuleLl;
    private HuimidityPopWindow huimidityPopWindow;

    @BindView(R.id.location_enter_iv)
    ImageView locationEnterIv;

    @BindView(R.id.location_value)
    TextView locationValue;
    private String mainMac;
    private NameInputPopWindow nameInputPopWindow;

    @BindView(R.id.ll_outdoor)
    LinearLayout outdoorLl;

    @BindView(R.id.outdoor_value)
    TextView outdoorValue;

    @BindView(2131231444)
    NestedScrollView scrollView;

    @BindView(R.id.setting)
    TextView setting;
    private TemperaturePopWindow temperaturePopWindow;
    private String title;

    @BindView(R.id.title_rl)
    RelativeLayout titleRl;

    @BindView(R.id.title_sub)
    TextView titleSub;
    private int weatherCode;
    private DeviceAlarm masterTempDeviceAlarm = new DeviceAlarm(0);
    private DeviceAlarm ch1TempDeviceAlarm = new DeviceAlarm(1);
    private DeviceAlarm ch2TempDeviceAlarm = new DeviceAlarm(2);
    private DeviceAlarm ch3TempDeviceAlarm = new DeviceAlarm(3);
    private DeviceAlarm masterHumidityDeviceAlarm = new DeviceAlarm(0);
    private DeviceAlarm ch1HumidityDeviceAlarm = new DeviceAlarm(1);
    private DeviceAlarm ch2HumidityDeviceAlarm = new DeviceAlarm(2);
    private DeviceAlarm ch3HumidityDeviceAlarm = new DeviceAlarm(3);
    private boolean isLog = true;
    private Gson gson = new Gson();

    @Override
    protected int getActivityRId() {
        return R.layout.activity_mine_device;
    }

    @Override
    public Context getContext() {
        return this;
    }

    @Override
    public void onReject() {
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ButterKnife.bind(this);
        this.title = getIntent().getStringExtra("title");
        this.weatherCode = getIntent().getIntExtra(RemindActivity.WEATHER_CODE, -1);
        this.channel = getIntent().getIntExtra(RemindActivity.CHANNEL, -1);
        this.mainMac = getIntent().getStringExtra(SharedPre.App.MAIN_MAC_DEVICE);
        HomeUtil.setDefault(this.masterTempDeviceAlarm, 1, this);
        HomeUtil.setDefault(this.ch1TempDeviceAlarm, 1, this);
        HomeUtil.setDefault(this.ch2TempDeviceAlarm, 1, this);
        HomeUtil.setDefault(this.ch3TempDeviceAlarm, 1, this);
        HomeUtil.setDefault(this.masterHumidityDeviceAlarm, 2, this);
        HomeUtil.setDefault(this.ch1HumidityDeviceAlarm, 2, this);
        HomeUtil.setDefault(this.ch2HumidityDeviceAlarm, 2, this);
        HomeUtil.setDefault(this.ch3HumidityDeviceAlarm, 2, this);
        initView();
        this.disposable = RxBus.getInstance().toObserverable(RxBusEvent.class).subscribeOn(AndroidScheduler.mainThread()).subscribe(new Consumer<RxBusEvent>() {
            public void accept(RxBusEvent rxBusEvent) throws Exception {
                if (MainActivity.NOT_DEVICE.equals(rxBusEvent.getUpdateTheData()) && MineDeviceActivity.this.isLog) {
                    MineDeviceActivity.this.isLog = false;
                    MineDeviceActivity.this.dismissLoadingViews();
                    Toast.makeText(MineDeviceActivity.this, rxBusEvent.getError(), 0).show();
                }
            }
        });
    }

    @Override
    public RemindPresenterImp createPresenter() {
        return new RemindPresenterImp(this);
    }

    @Override
    protected void onResume() {
        super.onResume();
        initCity();
    }

    public void initCity() {
        DeviceLocation deviceLocation = DaoHadle.getDeviceLocation();
        this.deviceLocation = deviceLocation;
        if (deviceLocation == null) {
            this.locationValue.setText("");
        } else {
            this.locationValue.setText(deviceLocation.getCity());
        }
    }

    private void initView() {
        if (SharedPreUtils.getInt(this, SharedPre.FactoryUrl.FACTORY_URL, -1) == 0) {
            this.factoryModuleLl.setVisibility(8);
        } else {
            this.factoryModuleLl.setVisibility(0);
        }
        initCity();
        this.titleSub.setText(getString(R.string.mine_device));
        this.setting.setVisibility(0);
        this.setting.setText(getString(R.string.relocation));
        String string = SharedPreUtils.getString(this, "mac_device");
        TextView textView = this.deviceMacValue;
        if (TextUtils.isEmpty(string)) {
            string = "";
        }
        textView.setText(string);
        this.outdoorLl.setVisibility(SharedPreUtils.getInt(this, SharedPre.App.SERIAL, 1) != 1 ? 0 : 8);
        String string2 = SharedPreUtils.getString(this, SharedPre.Alarm.DEVICE_NAME, "");
        if (TextUtils.isEmpty(string2)) {
            ((RemindPresenterImp) this.mPresenter).requestData();
            return;
        }
        List list = (List) this.gson.fromJson(string2, new TypeToken<List<MyDeviceName>>() {
        }.getType());
        this.aliasValue.setText(list.size() >= 1 ? ((MyDeviceName) list.get(0)).getDeivceName() : getString(R.string.defualt_master_name));
        this.ch1Value.setText(list.size() >= 2 ? ((MyDeviceName) list.get(1)).getDeivceName() : getString(R.string.defualt_ch1));
        this.ch2Value.setText(list.size() >= 3 ? ((MyDeviceName) list.get(2)).getDeivceName() : getString(R.string.defualt_ch2));
        this.ch3Value.setText(list.size() >= 4 ? ((MyDeviceName) list.get(3)).getDeivceName() : getString(R.string.defualt_ch3));
        this.outdoorValue.setText(list.size() >= 5 ? ((MyDeviceName) list.get(4)).getDeivceName() : getString(R.string.outdoor));
        insertVaule();
    }

    @OnClick({R.id.setting, R.id.device_location_rl, R.id.alias_value, R.id.outdoor_value, R.id.ch1_value, R.id.ch2_value, R.id.ch3_value, R.id.master_alarm_rl, R.id.outdoor_alarm_rl, R.id.ch1_alarm_rl, R.id.ch2_alarm_rl, R.id.ch3_alarm_rl})
    public void onViewClicked(View view) {
        if (CheckClickUtils.isFastClick()) {
        }
        switch (view.getId()) {
            case R.id.alias_value:
                NameInputPopWindow nameInputPopWindow = new NameInputPopWindow(this, this.aliasValue.getText().toString(), this, 0);
                this.nameInputPopWindow = nameInputPopWindow;
                nameInputPopWindow.showPopupWindow(view);
                break;
            case R.id.ch1_alarm_rl:
                Intent intent = new Intent(this, (Class<?>) RemindActivity.class);
                intent.putExtra("title", this.ch1Value.getText() == null ? getString(R.string.defualt_ch1) : this.ch1Value.getText().toString());
                intent.putExtra(RemindActivity.CHANNEL, 1);
                intent.putExtra(RemindActivity.WEATHER_CODE, c.d);
                startActivity(intent);
                break;
            case R.id.ch1_value:
                NameInputPopWindow nameInputPopWindow2 = new NameInputPopWindow(this, this.ch1Value.getText().toString(), this, 1);
                this.nameInputPopWindow = nameInputPopWindow2;
                nameInputPopWindow2.showPopupWindow(view);
                break;
            case R.id.ch2_alarm_rl:
                Intent intent2 = new Intent(this, (Class<?>) RemindActivity.class);
                intent2.putExtra("title", this.ch2Value.getText() == null ? getString(R.string.defualt_ch2) : this.ch2Value.getText().toString());
                intent2.putExtra(RemindActivity.CHANNEL, 2);
                intent2.putExtra(RemindActivity.WEATHER_CODE, c.d);
                startActivity(intent2);
                break;
            case R.id.ch2_value:
                NameInputPopWindow nameInputPopWindow3 = new NameInputPopWindow(this, this.ch2Value.getText().toString(), this, 2);
                this.nameInputPopWindow = nameInputPopWindow3;
                nameInputPopWindow3.showPopupWindow(view);
                break;
            case R.id.ch3_alarm_rl:
                Intent intent3 = new Intent(this, (Class<?>) RemindActivity.class);
                intent3.putExtra("title", this.ch3Value.getText() == null ? getString(R.string.defualt_ch3) : this.ch3Value.getText().toString());
                intent3.putExtra(RemindActivity.CHANNEL, 3);
                intent3.putExtra(RemindActivity.WEATHER_CODE, c.d);
                startActivity(intent3);
                break;
            case R.id.ch3_value:
                NameInputPopWindow nameInputPopWindow4 = new NameInputPopWindow(this, this.ch3Value.getText().toString(), this, 3);
                this.nameInputPopWindow = nameInputPopWindow4;
                nameInputPopWindow4.showPopupWindow(view);
                break;
            case R.id.device_location_rl:
                Intent intent4 = new Intent(this, (Class<?>) MapActivity.class);
                intent4.putExtra("ACTION", DNSResolver.QTYPE_IPV4);
                intent4.putExtra("TYPE", 1);
                startActivity(intent4);
                break;
            case R.id.master_alarm_rl:
                Intent intent5 = new Intent(this, (Class<?>) RemindActivity.class);
                intent5.putExtra("title", this.title);
                intent5.putExtra(RemindActivity.CHANNEL, this.channel);
                intent5.putExtra(RemindActivity.WEATHER_CODE, c.d);
                startActivity(intent5);
                break;
            case R.id.outdoor_alarm_rl:
                Intent intent6 = new Intent(this, (Class<?>) RemindActivity.class);
                intent6.putExtra("title", this.outdoorValue.getText() == null ? getString(R.string.outdoor) : this.outdoorValue.getText().toString());
                intent6.putExtra(RemindActivity.CHANNEL, 99);
                intent6.putExtra(RemindActivity.WEATHER_CODE, c.d);
                startActivity(intent6);
                break;
            case R.id.outdoor_value:
                NameInputPopWindow nameInputPopWindow5 = new NameInputPopWindow(this, this.outdoorValue.getText().toString(), this, 4);
                this.nameInputPopWindow = nameInputPopWindow5;
                nameInputPopWindow5.showPopupWindow(view);
                break;
            case R.id.setting:
                Intent intent7 = new Intent(this, (Class<?>) MapActivity.class);
                intent7.putExtra("ACTION", "2");
                intent7.putExtra("TYPE", 2);
                startActivity(intent7);
                Log.i("MineDeviceActivity", "Location --- startActivity MapActivity");
                break;
        }
    }

    @Override
    public void dismissLoadingViews() {
        dismissProgressDialog();
    }

    @Override
    public void showLoadingViews() {
        showProgressDialog();
    }

    @Override
    public void showErrorViews(int errorCode, String msg) {
        try {
            ToastUtil.show(msg, this);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void refreshContentView(int type, List<DeviceAlarm> data) {
        for (int i = 0; i < data.size(); i++) {
            if (data.get(i).getChannel() == 0) {
                if (data.get(i).getType() == 1 || data.get(i).getType() == 0) {
                    this.aliasValue.setText(TextUtils.isEmpty(data.get(i).getName()) ? getString(R.string.defualt_master_name) : data.get(i).getName());
                }
            } else if (data.get(i).getChannel() == 1) {
                if (data.get(i).getType() == 1 || data.get(i).getType() == 0) {
                    this.ch1Value.setText(TextUtils.isEmpty(data.get(i).getName()) ? getString(R.string.defualt_ch1) : data.get(i).getName());
                }
            } else if (data.get(i).getChannel() == 2) {
                if (data.get(i).getType() == 1 || data.get(i).getType() == 0) {
                    this.ch2Value.setText(TextUtils.isEmpty(data.get(i).getName()) ? getString(R.string.defualt_ch2) : data.get(i).getName());
                }
            } else if (data.get(i).getChannel() == 3) {
                if (data.get(i).getType() == 1 || data.get(i).getType() == 0) {
                    this.ch3Value.setText(TextUtils.isEmpty(data.get(i).getName()) ? getString(R.string.defualt_ch3) : data.get(i).getName());
                }
            } else if (data.get(i).getType() == 1 || data.get(i).getType() == 0) {
                this.outdoorValue.setText(TextUtils.isEmpty(data.get(i).getName()) ? getString(R.string.defualt_outdoor) : data.get(i).getName());
            }
        }
        ArrayList arrayList = new ArrayList();
        arrayList.add(new MyDeviceName(this.aliasValue.getText().toString()));
        arrayList.add(new MyDeviceName(this.ch1Value.getText().toString()));
        arrayList.add(new MyDeviceName(this.ch2Value.getText().toString()));
        arrayList.add(new MyDeviceName(this.ch3Value.getText().toString()));
        arrayList.add(new MyDeviceName(this.outdoorValue.getText().toString()));
        SharedPreUtils.putString(this, SharedPre.Alarm.DEVICE_NAME, this.gson.toJson(arrayList));
        insertVaule();
    }

    private void insertVaule() {
        ArrayList arrayList = new ArrayList();
        for (int i = 0; i < 4; i++) {
            DeviceName deviceName = new DeviceName();
            deviceName.setId(Long.valueOf(i));
            deviceName.setChanel(i);
            if (i == 0) {
                deviceName.setName(this.aliasValue.getText().toString());
            }
            if (i == 1) {
                deviceName.setName(this.ch1Value.getText().toString());
            }
            if (i == 2) {
                deviceName.setName(this.ch2Value.getText().toString());
            }
            if (i == 3) {
                deviceName.setName(this.ch3Value.getText().toString());
            }
            arrayList.add(deviceName);
        }
        BaseApplication.getApplication().getDaoSession().getDeviceNameDao().insertOrReplaceInTx(arrayList);
    }

    @Override
    public void showToastMessage(int msg) {
        ToastUtil.show(getString(msg), this);
    }

    @Override
    public List<DeviceAlarm> getAlarm() {
        return this.deviceAlarmList;
    }

    @Override
    public void settingSuccess() {
        ((RemindPresenterImp) this.mPresenter).requestData();
        try {
            showToastMessage(R.string.Setting_Success);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onAgree(String name, int type) {
        Gson gson = new Gson();
        List list = (List) gson.fromJson(SharedPreUtils.getString(this, SharedPre.Alarm.DEVICE_NAME, ""), new TypeToken<List<MyDeviceName>>() {
        }.getType());
        if (list == null) {
            list = new ArrayList();
        }
        PrintListUtil.printList(list);
        if (type == 0) {
            if (list.size() > 0) {
                ((MyDeviceName) list.get(0)).setDeivceName(name);
            } else {
                list.add(new MyDeviceName(name));
            }
            this.aliasValue.setText(name);
        } else if (type == 1) {
            if (list.size() > 1) {
                ((MyDeviceName) list.get(1)).setDeivceName(name);
            } else {
                list.add(new MyDeviceName(name));
            }
            this.ch1Value.setText(name);
        } else if (type == 2) {
            if (list.size() > 2) {
                ((MyDeviceName) list.get(2)).setDeivceName(name);
            } else {
                list.add(new MyDeviceName(name));
            }
            this.ch2Value.setText(name);
        } else if (type == 3) {
            if (list.size() > 3) {
                ((MyDeviceName) list.get(3)).setDeivceName(name);
            } else {
                list.add(new MyDeviceName(name));
            }
            this.ch3Value.setText(name);
        } else if (type == 4) {
            if (list.size() > 4) {
                ((MyDeviceName) list.get(4)).setDeivceName(name);
            } else {
                list.add(new MyDeviceName(name));
            }
            this.outdoorValue.setText(name);
        }
        SharedPreUtils.putString(this, SharedPre.Alarm.DEVICE_NAME, gson.toJson(list));
        insertVaule();
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        Disposable disposable = this.disposable;
        if (disposable == null || disposable.isDisposed()) {
            return;
        }
        this.disposable.dispose();
    }
}