package com.hdl.sdk.ttl_sdk.activity; import android.os.Bundle; import android.support.annotation.NonNull; import android.text.TextUtils; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.EditText; import android.widget.RelativeLayout; import android.widget.Spinner; import android.widget.TextView; import com.afollestad.materialdialogs.DialogAction; import com.afollestad.materialdialogs.MaterialDialog; import com.hdl.sdk.ttl.Config.Configuration; import com.hdl.sdk.ttl.HDLDeviceManger.Core.HDLDeviceManager; import com.hdl.sdk.ttl_sdk.R; import com.hdl.sdk.ttl_sdk.base.BaseActivity; /** * 手动添加不支持简易编程搜索的设备 * 音乐模块和安防模块 * 需要填写正确的子网号,设备号,回路号,备注名 */ public class AddDevicesManuallyActivity extends BaseActivity { /** * Topbar */ private RelativeLayout topBarBack; private TextView topBarTitle; //当前APP设备子网号和设备号配置 private EditText subnetIDEditText; private EditText deviceIDEditText; private EditText channelNumEditText; private EditText remarksEditText; private Button addButton; // private String subnetIDStr, deviceIDStr, channelNumStr, remarksStr; private int subnetID, deviceID, channelNum; private String remarksStr; private int deviceTypeId = 0; private static final String[] deviceTypeItems = {"安防模块", "音乐模块", "传感器模块"}; private Spinner spinner_deviceType; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add_devices_manually); initToolbar(); initView(); setOnClick(); initData(); } /** * 初始化Toolbar */ private void initToolbar() { topBarBack = findViewById(R.id.ll_top_b_left); setViewVisible(topBarBack); topBarTitle = findViewById(R.id.tv_top_b_header_title); topBarBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); topBarTitle.setText("添加设备"); } private void initView() { subnetIDEditText = findViewById(R.id.et_subnetID); deviceIDEditText = findViewById(R.id.et_deviceID); channelNumEditText = findViewById(R.id.et_channelNum); remarksEditText = findViewById(R.id.et_remarks); addButton = findViewById(R.id.btn_add); spinner_deviceType = findViewById(R.id.spinner_device_type); } private void setOnClick() { addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { addButtonAction(); } }); ArrayAdapter sp_CheckBitAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, deviceTypeItems); sp_CheckBitAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner_deviceType.setAdapter(sp_CheckBitAdapter); spinner_deviceType.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() { public void onItemSelected(AdapterView arg0, View arg1, int arg2, long arg3) { deviceTypeId = arg2; } public void onNothingSelected(AdapterView arg0) { } }); } private void initData() { } /** * 手动添加不支持简易编程搜索的设备 */ private void addDevicesManually() { // if (deviceTypeId == 0) { // HDLDeviceManager.addSecurityDevicesManually(42, 11, 1, "安防模块"); // } else { // HDLDeviceManager.addAudioDevicesManually(1, 17, 1, "音乐播放器"); // } boolean isSuccess = false; if (deviceTypeId == 0) { isSuccess = HDLDeviceManager.addSecurityDevicesManually(subnetID, deviceID, channelNum, remarksStr); } else if(deviceTypeId == 1) { isSuccess = HDLDeviceManager.addAudioDevicesManually(subnetID, deviceID, channelNum, remarksStr); }else { //指定大类和小类参数 区分模块类型 isSuccess = HDLDeviceManager.addDevicesManuallyWithoutSearching(Configuration.SENSOR_BIG_TYPE,11 ,subnetID, deviceID, channelNum, remarksStr); } if(isSuccess){ showToast("添加成功"); finish(); }else { showToast("添加失败"); } } private void addButtonAction(){ String subnetIDStr = subnetIDEditText.getText().toString(); if (TextUtils.isEmpty(subnetIDStr)) { showToast("子网号不能为空"); return; } String deviceIDStr = deviceIDEditText.getText().toString(); if (TextUtils.isEmpty(deviceIDStr)) { showToast("设备号不能为空"); return; } String channelNumStr = channelNumEditText.getText().toString(); if (TextUtils.isEmpty(channelNumStr)) { showToast("回路号不能为空"); return; } String remarksString = remarksEditText.getText().toString(); if (TextUtils.isEmpty(remarksString)) { showToast("备注不能为空"); return; } subnetID = Integer.parseInt(subnetIDStr); deviceID = Integer.parseInt(deviceIDStr); channelNum = Integer.parseInt(channelNumStr); remarksStr = remarksString; String mes = ""; mes = "设备类型:" + deviceTypeItems[deviceTypeId]; mes += "\n子网号:" + subnetIDStr +"\n设备号:" + deviceIDStr +"\n回路号:" + channelNumStr +"\n备注名:" + remarksStr; showTipDialog(mes); } private void showTipDialog(String message) { MaterialDialog mMaterialDialog = new MaterialDialog.Builder(this) .title("是否确定添加该设备?") .content(message) .positiveText(R.string.ok) .negativeText(getString(R.string.cancel)) .onPositive(new MaterialDialog.SingleButtonCallback() { //监听肯定按键 @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { addDevicesManually(); } }) .onNegative(new MaterialDialog.SingleButtonCallback() { //监听否定按键 @Override public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { dialog.dismiss(); } }).build(); mMaterialDialog.show(); } }