xuxiuxi
2017-08-01 db2c035c3406d310af30094ec2bbf55ab396bf83
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/DeviceFragment.java
@@ -1,26 +1,216 @@
package cn.com.basic.face.fragment;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CheckBox;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.RadioButton;
import android.widget.Toast;
import com.bsk.zhangbo.demoforbsk.R;
import cn.com.basic.face.base.BaseApplication;
import cn.com.basic.face.base.LeftRightBaseFragment;
import cn.com.basic.face.base.MainActivity;
import cn.com.basic.face.dialog.SelectDialog;
import cn.com.basic.face.discern.common.CommonVariables;
import cn.com.basic.face.discern.entity.Device;
import cn.com.basic.face.discern.query.item.DeviceQueryItem;
import cn.com.basic.face.service.DeviceMng;
import cn.com.basic.face.util.Constant;
import cn.com.basic.face.util.OkClickedListener;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
import java.util.ArrayList;
import java.util.List;
import org.xutils.http.RequestParams;
import java.util.HashMap;
import java.util.Map;
public class DeviceFragment extends LeftRightBaseFragment {
    private static DeviceFragment instance = new DeviceFragment();
    public static DeviceFragment getInstance() {
        return instance;
    }
    @ViewInject(R.id.fragment_device_left_wifi_check_box)
    private RadioButton fragment_device_left_wifi_check_box;
    @ViewInject(R.id.fragment_device_left_search)
    private EditText fragment_device_left_search;
    @ViewInject(R.id.fragment_device_left_lan_check_box)
    private RadioButton fragment_device_left_lan_check_box;
    @ViewInject(R.id.fragment_device_left_school_check_box)
    private RadioButton fragment_device_left_school_check_box;
    @ViewInject(R.id.fragment_device_left_camera1_check_box)
    private RadioButton fragment_device_left_camera1_check_box;
    @ViewInject(R.id.fragment_device_left_camera2_check_box)
    private RadioButton fragment_device_left_camera2_check_box;
    @OnClick(R.id.fragment_device_left_wifi_relative_layout)
    public void fragment_device_left_wifi_relative_layout_click(View view) { fragment_device_left_wifi_check_box_click(view); }
    @OnClick(R.id.fragment_device_left_lan_relative_layout)
    public void fragment_device_left_lan_relative_layout_click(View view) { fragment_device_left_lan_check_box_click(view); }
    @OnClick(R.id.fragment_device_left_school_relative_layout)
    public void fragment_device_left_school_relative_layout_click(View view) { fragment_device_left_school_check_box_click(view); }
    @OnClick(R.id.fragment_device_left_camera1_relative_layout)
    public void fragment_device_left_camera1_relative_layout_click(View view) { fragment_device_left_camera1_check_box_click(view); }
    @OnClick(R.id.fragment_device_left_camera2_relative_layout)
    public void fragment_device_left_camera2_relative_layout_click(View view) { fragment_device_left_camera2_check_box_click(view); }
    @ViewInject(R.id.fragment_left_right_frame_layout_right)
    private FrameLayout fragment_left_right_frame_layout_right;
    @ViewInject(R.id.fragment_device_right_camera1_brand)
    private EditText fragment_device_right_camera1_brand;
    @ViewInject(R.id.fragment_device_right_camera1_ip)
    private EditText fragment_device_right_camera1_ip;
    @ViewInject(R.id.fragment_device_right_camera1_port)
    private EditText fragment_device_right_camera1_port;
    @ViewInject(R.id.fragment_device_right_camera1_resolution)
    private EditText fragment_device_right_camera1_resolution;
    @ViewInject(R.id.fragment_device_right_camera1_username)
    private EditText fragment_device_right_camera1_username;
    @ViewInject(R.id.fragment_device_right_camera1_password)
    private EditText fragment_device_right_camera1_password;
    @ViewInject(R.id.fragment_device_right_camera2_brand)
    private EditText fragment_device_right_camera2_brand;
    @ViewInject(R.id.fragment_device_right_camera2_ip)
    private EditText fragment_device_right_camera2_ip;
    @ViewInject(R.id.fragment_device_right_camera2_port)
    private EditText fragment_device_right_camera2_port;
    @ViewInject(R.id.fragment_device_right_camera2_resolution)
    private EditText fragment_device_right_camera2_resolution;
    @ViewInject(R.id.fragment_device_right_camera2_username)
    private EditText fragment_device_right_camera2_username;
    @ViewInject(R.id.fragment_device_right_camera2_password)
    private EditText fragment_device_right_camera2_password;
    @ViewInject(R.id.fragment_device_right_lan_ip)
    private EditText fragment_device_right_lan_ip;
    @ViewInject(R.id.fragment_device_right_lan_port)
    private EditText fragment_device_right_lan_port;
    @ViewInject(R.id.fragment_device_right_lan_protocol)
    private EditText fragment_device_right_lan_protocol;
    @ViewInject(R.id.fragment_device_right_device_info_sn)
    private EditText fragment_device_right_device_info_sn;
    @ViewInject(R.id.fragment_device_right_device_info_device_address)
    private EditText fragment_device_right_device_info_device_address;
    @ViewInject(R.id.fragment_device_right_device_info_school_name)
    private EditText fragment_device_right_device_info_school_name;
    private View wifiView;
    private View lanView;
    private View schoolView;
    private View camera1View;
    private View camera2View;
    private DeviceQueryItem camera1;
    private DeviceQueryItem camera2;
    public DeviceQueryItem getCamera2() {
        return camera2;
    }
    public DeviceQueryItem getCamera1() {
        return camera1;
    }
    public void clearAll() {
        fragment_device_left_wifi_check_box.setChecked(false);
        fragment_device_left_lan_check_box.setChecked(false);
        fragment_device_left_school_check_box.setChecked(false);
        fragment_device_left_camera1_check_box.setChecked(false);
        fragment_device_left_camera2_check_box.setChecked(false);
        fragment_left_right_frame_layout_right.removeAllViews();
    }
    @Override
    protected void initViews(View view, Bundle savedInstanceState) {
        super.initViews(view, savedInstanceState);
        wifiView = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_wifi, null);
        lanView = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_lan, null);
        schoolView = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_device_info, null);
        camera1View = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_camera1, null);
        camera2View = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_device_right_camera2, null);
        ViewUtils.inject(this, wifiView);
        ViewUtils.inject(this, lanView);
        ViewUtils.inject(this, schoolView);
        ViewUtils.inject(this, camera1View);
        ViewUtils.inject(this, camera2View);
        fragment_device_left_wifi_check_box.setChecked(true);
        loadSharedPreferenceValues();
        setupUI(getLeftView());
        setupUI(getRightView());
    }
    private void loadSharedPreferenceValues() {
        SharedPreferences wifiMap = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.WIFI);
        SharedPreferences lanMap = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.LAN);
        fragment_device_right_lan_ip.setText(DeviceMng.getInstance().get(lanMap, "fragment_device_right_lan_ip"));
        fragment_device_right_lan_port.setText(DeviceMng.getInstance().get(lanMap, "fragment_device_right_lan_port"));
        fragment_device_right_lan_protocol.setText(DeviceMng.getInstance().get(lanMap, "fragment_device_right_lan_protocol"));
        SharedPreferences schoolMap = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.SCHOOL);
        fragment_device_right_device_info_sn.setText(DeviceMng.getInstance().get(schoolMap, "fragment_device_right_device_info_sn"));
        fragment_device_right_device_info_device_address.setText(DeviceMng.getInstance().get(schoolMap, "fragment_device_right_device_info_device_address"));
        fragment_device_right_device_info_school_name.setText(DeviceMng.getInstance().get(schoolMap, "fragment_device_right_device_info_school_name"));
        SharedPreferences camera1Map = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.CAMERA1);
        fragment_device_right_camera1_brand.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_brand"));
        fragment_device_right_camera1_ip.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_ip"));
        fragment_device_right_camera1_port.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_port"));
        fragment_device_right_camera1_resolution.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_resolution"));
        fragment_device_right_camera1_username.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_username"));
        fragment_device_right_camera1_password.setText(DeviceMng.getInstance().get(camera1Map, "fragment_device_right_camera1_password"));
        SharedPreferences camera2Map = DeviceMng.getInstance().loadSharedPreferences(CommonVariables.DeviceSharedPreferences.CAMERA2);
        fragment_device_right_camera2_brand.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_brand"));
        fragment_device_right_camera2_ip.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_ip"));
        fragment_device_right_camera2_port.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_port"));
        fragment_device_right_camera2_resolution.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_resolution"));
        fragment_device_right_camera2_username.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_username"));
        fragment_device_right_camera2_password.setText(DeviceMng.getInstance().get(camera2Map, "fragment_device_right_camera2_password"));
    }
    @OnClick(R.id.fragment_device_left_wifi_check_box)
    public void fragment_device_left_wifi_check_box_click(View view) {
        clearAll();
        fragment_device_left_wifi_check_box.setChecked(true);
        fragment_left_right_frame_layout_right.addView(wifiView);
    }
    @OnClick(R.id.fragment_device_left_lan_check_box)
    public void fragment_device_left_lan_check_box_click(View view) {
        clearAll();
        fragment_device_left_lan_check_box.setChecked(true);
        fragment_left_right_frame_layout_right.addView(lanView);
    }
    @OnClick(R.id.fragment_device_left_school_check_box)
    public void fragment_device_left_school_check_box_click(View view) {
        clearAll();
        fragment_device_left_school_check_box.setChecked(true);
        fragment_left_right_frame_layout_right.addView(schoolView);
    }
    @OnClick(R.id.fragment_device_left_camera1_check_box)
    public void fragment_device_left_camera1_check_box_click(View view) {
        clearAll();
        fragment_device_left_camera1_check_box.setChecked(true);
        fragment_left_right_frame_layout_right.addView(camera1View);
    }
    @OnClick(R.id.fragment_device_left_camera2_check_box)
    public void fragment_device_left_camera2_check_box_click(View view) {
        clearAll();
        fragment_device_left_camera2_check_box.setChecked(true);
        fragment_left_right_frame_layout_right.addView(camera2View);
    }
    public int[] getLeftRightLayoutIds() {
@@ -32,4 +222,154 @@
        MainActivity.selectPage(0);
    }
    @OnClick(R.id.fragment_device_right_delete)
    public void fragment_device_right_delete_click(View view) {
    }
    @OnClick(R.id.fragment_device_right_add)
    public void fragment_device_right_add_click(View view) {
    }
    @OnClick(R.id.fragment_device_right_lan_save)
    public void fragment_device_right_lan_save_click(View view) {
        Map<String, String> fields = new HashMap<>();
        fields.put("fragment_device_right_lan_ip", fragment_device_right_lan_ip.getText().toString());
        fields.put("fragment_device_right_lan_port", fragment_device_right_lan_port.getText().toString());
        fields.put("fragment_device_right_lan_protocol", fragment_device_right_lan_protocol.getText().toString());
        DeviceMng.getInstance().saveLanSetting(fields);
        Toast.makeText(MainActivity.getInstance(), "保存成功", Toast.LENGTH_SHORT).show();
    }
    @OnClick(R.id.fragment_device_right_school_save)
    public void fragment_device_right_school_save_click(View view) {
        Map<String, String> fields = new HashMap<>();
        fields.put("fragment_device_right_device_info_sn", fragment_device_right_device_info_sn.getText().toString());
        fields.put("fragment_device_right_device_info_device_address", fragment_device_right_device_info_device_address.getText().toString());
        fields.put("fragment_device_right_device_info_school_name", fragment_device_right_device_info_school_name.getText().toString());
        DeviceMng.getInstance().saveSchoolSetting(fields);
        Toast.makeText(MainActivity.getInstance(), "保存成功", Toast.LENGTH_SHORT).show();
    }
    @OnClick(R.id.fragment_device_right_camera1_save)
    public void fragment_device_right_camera1_save_click(View view) {
        RequestParams params = new RequestParams();
        Device camera1 = new Device();
        if (BaseApplication.getInstance().networkAvailable()) {
            params.addBodyParameter("brand", fragment_device_right_camera1_brand.getText().toString());
            params.addBodyParameter(Device.FieldNames.ip, fragment_device_right_camera1_ip.getText().toString());
            params.addBodyParameter(Device.FieldNames.port, fragment_device_right_camera1_port.getText().toString());
            params.addBodyParameter("resolution", fragment_device_right_camera1_resolution.getText().toString());
            params.addBodyParameter(Device.FieldNames.username, fragment_device_right_camera1_username.getText().toString());
            params.addBodyParameter(Device.FieldNames.password, fragment_device_right_camera1_password.getText().toString());
            params.addBodyParameter(Device.FieldNames.deviceId, camera1.getDeviceId());
        } else {
            camera1.setBrand(fragment_device_right_camera1_brand.getText().toString());
            camera1.setIp(fragment_device_right_camera1_ip.getText().toString());
            camera1.setPort(fragment_device_right_camera1_port.getText().toString());
            camera1.setResolution(fragment_device_right_camera1_resolution.getText().toString());
            camera1.setUsername(fragment_device_right_camera1_username.getText().toString());
            camera1.setPassword(fragment_device_right_camera1_password.getText().toString());
            camera1.setDeviceId(camera1.getDeviceId());
        }
        DeviceMng.getInstance().updateDevice(params, camera1);
    }
    @OnClick(R.id.fragment_device_right_camera2_save)
    public void fragment_device_right_camera2_save_click(View view) {
        RequestParams params = new RequestParams();
        Device camera2 = new Device();
        if (BaseApplication.getInstance().networkAvailable()) {
            params.addBodyParameter("brand", fragment_device_right_camera2_brand.getText().toString());
            params.addBodyParameter(Device.FieldNames.ip, fragment_device_right_camera2_ip.getText().toString());
            params.addBodyParameter(Device.FieldNames.port, fragment_device_right_camera2_port.getText().toString());
            params.addBodyParameter("resolution", fragment_device_right_camera2_resolution.getText().toString());
            params.addBodyParameter(Device.FieldNames.username, fragment_device_right_camera2_username.getText().toString());
            params.addBodyParameter(Device.FieldNames.password, fragment_device_right_camera2_password.getText().toString());
            params.addBodyParameter(Device.FieldNames.deviceId, camera2.getDeviceId());
        } else {
            camera2.setBrand(fragment_device_right_camera2_brand.getText().toString());
            camera2.setIp(fragment_device_right_camera2_ip.getText().toString());
            camera2.setPort(fragment_device_right_camera2_port.getText().toString());
            camera2.setResolution(fragment_device_right_camera2_resolution.getText().toString());
            camera2.setUsername(fragment_device_right_camera2_username.getText().toString());
            camera2.setPassword(fragment_device_right_camera2_password.getText().toString());
            camera2.setDeviceId(camera2.getDeviceId());
        }
        DeviceMng.getInstance().updateDevice(params, camera2);
    }
    @OnClick(R.id.fragment_device_right_camera1_brand_more)
    public void fragment_device_right_camera1_brand_click(View view) {
        new SelectDialog(getFrameView(), Constant.DialogSelectType.CAMERA_BRAND, new OkClickedListener() {
            public void onSelected(String value) {
                fragment_device_right_camera1_brand.setText(value);
            }
        },fragment_device_right_camera1_brand.getText().toString());
    }
    @OnClick(R.id.fragment_device_right_camera2_brand_more)
    public void fragment_device_right_camera2_brand_click(View view) {
        new SelectDialog(getFrameView(), Constant.DialogSelectType.CAMERA_BRAND, new OkClickedListener() {
            public void onSelected(String value) {
                fragment_device_right_camera2_brand.setText(value);
            }
        },fragment_device_right_camera2_brand.getText().toString());
    }
    @OnClick(R.id.fragment_device_right_camera1_resolution_more)
    public void fragment_device_right_camera1_resolution_click(View view) {
        new SelectDialog(getFrameView(), Constant.DialogSelectType.RESOLUTION, new OkClickedListener() {
            public void onSelected(String value) {
                fragment_device_right_camera1_resolution.setText(value);
            }
        },fragment_device_right_camera1_resolution.getText().toString());
    }
    @OnClick(R.id.fragment_device_right_camera2_resolution_more)
    public void fragment_device_right_camera2_resolution_click(View view) {
        new SelectDialog(getFrameView(), Constant.DialogSelectType.RESOLUTION, new OkClickedListener() {
            public void onSelected(String value) {
                fragment_device_right_camera2_resolution.setText(value);
            }
        },fragment_device_right_camera2_resolution.getText().toString());
    }
    @OnClick(R.id.fragment_device_right_lan_protocol_more)
    public void fragment_device_right_lan_protocol_click(View view) {
        new SelectDialog(getFrameView(), Constant.DialogSelectType.PROTOCOL, new OkClickedListener() {
            public void onSelected(String value) {
                fragment_device_right_lan_protocol.setText(value);
            }
        },fragment_device_right_lan_protocol.getText().toString());
    }
    public void setAndroidDevice(Device androidDevice) {
    }
    public void setCamera1(DeviceQueryItem camera1) {
        this.camera1 = camera1;
        fragment_device_right_camera1_ip.setText(camera1.getIp());
        fragment_device_right_camera1_username.setText(camera1.getUsername());
        fragment_device_right_camera1_password.setText(camera1.getPassword());
        fragment_device_right_camera1_port.setText(camera1.getPort());
        fragment_device_right_camera1_brand.setText(camera1.getBrandName());
        fragment_device_right_camera1_resolution.setText(camera1.getResolution());
    }
    public void setCamera2(DeviceQueryItem camera2) {
        this.camera2 = camera2;
        fragment_device_right_camera2_ip.setText(camera2.getIp());
        fragment_device_right_camera2_username.setText(camera2.getUsername());
        fragment_device_right_camera2_password.setText(camera2.getPassword());
        fragment_device_right_camera2_port.setText(camera2.getPort());
        fragment_device_right_camera1_brand.setText(camera2.getBrandName());
        fragment_device_right_camera1_resolution.setText(camera2.getResolution());
    }
}