package com.hdl.sdk.ttl_sdk.activity;
|
|
import android.app.AlertDialog;
|
import android.content.DialogInterface;
|
import android.content.Intent;
|
import android.os.Bundle;
|
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.RecyclerView;
|
import android.text.TextUtils;
|
|
import android.view.View;
|
import android.widget.EditText;
|
import android.widget.RelativeLayout;
|
import android.widget.TextView;
|
|
import com.hdl.sdk.ttl.Config.Configuration;
|
import com.hdl.sdk.ttl.HDLAppliances.Config.HDLApConfig;
|
import com.hdl.sdk.ttl.HDLDeviceManger.Bean.AppliancesInfo;
|
import com.hdl.sdk.ttl.HDLDeviceManger.Core.HDLCommand;
|
import com.hdl.sdk.ttl.Utils.HDLUtlis.HDLStringUtils;
|
import com.hdl.sdk.ttl_sdk.R;
|
import com.hdl.sdk.ttl_sdk.adapter.HDLAppliancesListAdapter;
|
import com.hdl.sdk.ttl_sdk.base.BaseActivity;
|
import com.hdl.sdk.ttl_sdk.utlis.HDLLog;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 当前模块所有回路设备列表
|
*/
|
public class AppliancesListActivity extends BaseActivity {
|
|
private RecyclerView mRecyclerView;
|
// private List<String> listString = new ArrayList<>();
|
private List<AppliancesInfo> appliancesInfos = new ArrayList<>();
|
|
private String remarkStr;
|
private HDLAppliancesListAdapter mAppliancesAdapter;
|
|
|
/**Topbar*/
|
private RelativeLayout topBarBack;
|
private TextView topBarTitle;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_appliances_new);
|
initToolbar();
|
appliancesInfos = (List<AppliancesInfo>) getIntent().getSerializableExtra("Appliances");
|
initRecyclerView();
|
topBarTitle.setText(appliancesInfos.get(0).getDeviceName());
|
}
|
|
/**
|
* 初始化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();
|
}
|
});
|
}
|
|
/**
|
* 初始化RecyclerView
|
*/
|
private void initRecyclerView() {
|
mRecyclerView = findViewById(R.id.recyclerView_hl);
|
// 定义一个线性布局管理器
|
LinearLayoutManager manager = new LinearLayoutManager(this);
|
// 设置布局管理器
|
mRecyclerView.setLayoutManager(manager);
|
// 设置adapter
|
mAppliancesAdapter = new HDLAppliancesListAdapter(this, appliancesInfos);
|
mRecyclerView.setAdapter(mAppliancesAdapter);
|
|
mAppliancesAdapter.setOnItemClickLitener(new HDLAppliancesListAdapter.OnItemClickLitener() {
|
@Override
|
public void onItemClick(int position) {
|
startActivityWithBigType(position);
|
}
|
});
|
}
|
|
private void showInPutView(final int mSubnetID, final int mDeviceID, String mText) {
|
final EditText modifyRemark = new EditText(this);
|
modifyRemark.setText(mText);
|
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
builder.setTitle("修改备注").setIcon(android.R.drawable.ic_dialog_info).setView(modifyRemark)
|
.setNegativeButton("取消", null);
|
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
|
|
public void onClick(DialogInterface dialog, int which) {
|
remarkStr = modifyRemark.getText().toString();
|
if (TextUtils.isEmpty(remarkStr) || TextUtils.isEmpty(remarkStr)) {
|
showToast("内容不能为空");
|
return;
|
}
|
|
byte[] remarkByte = HDLStringUtils.stringtoBytes(remarkStr);
|
if (remarkByte.length > 20) {
|
showToast("备注名不能超过20字节");
|
} else {
|
//修改模块备注接口,
|
HDLCommand.updateModuleRemark(mSubnetID, mDeviceID, remarkByte);
|
HDLLog.Log("kkkkkkkkk:" + remarkStr);
|
}
|
}
|
});
|
builder.show();
|
}
|
|
/**
|
* 根据设备类型跳转相应的界面
|
*
|
* @param position
|
*/
|
private void startActivityWithBigType(int position) {
|
int mBigType = appliancesInfos.get(position).getBigType();
|
Intent intent = new Intent();
|
|
switch (mBigType) {
|
case Configuration.LIGTH_BIG_TYPE:
|
//灯光模块
|
intent.setClass(AppliancesListActivity.this, CtrlLightActivity.class);
|
break;
|
case Configuration.CURTAIN_BIG_TYPE:
|
//窗帘模块
|
intent.setClass(AppliancesListActivity.this, CtrlCurtainActivity.class);
|
break;
|
case Configuration.AIR_BIG_TYPE:
|
//空调模块
|
if(appliancesInfos.get(position).getDeviceType() == HDLApConfig.TYPE_AC_HVAC){
|
intent.setClass(AppliancesListActivity.this, CtrlAirHVACActivity.class);
|
}else {
|
intent.setClass(AppliancesListActivity.this, CtrlAirActivity.class);
|
}
|
break;
|
case Configuration.LOGIC_BIG_TYPE:
|
//逻辑模块
|
intent.setClass(AppliancesListActivity.this, CtrlLogicActivity.class);
|
break;
|
case Configuration.AUDIO_BIG_TYPE:
|
//大类是音乐类则跳转到AudioActivity
|
intent.setClass(AppliancesListActivity.this, CtrlAudioActivity.class);
|
break;
|
case Configuration.SECURITY_BIG_TYPE:
|
//大类是安防模块则跳转到CtrlSecurityActivity
|
intent.setClass(AppliancesListActivity.this, CtrlSecurityActivity.class);
|
break;
|
case Configuration.SENSOR_BIG_TYPE:
|
//大类是传感器则跳转到SensorActivity
|
intent.setClass(AppliancesListActivity.this, SensorActivity.class);
|
break;
|
case Configuration.COMMON_SWITCH_BIG_TYPE:
|
//大类是通用开关则跳转到CtrlCommonSwitchActivity
|
intent.setClass(AppliancesListActivity.this, CtrlCommonSwitchActivity.class);
|
break;
|
default:
|
intent.setClass(AppliancesListActivity.this, CtrlActivity.class);
|
|
break;
|
}
|
|
// if (mBigType == Configuration.AUDIO_BIG_TYPE) {
|
// //大类是音乐类则跳转到AudioActivity
|
// intent.setClass(AppliancesListActivity.this, CtrlAudioActivity.class);
|
// }else{
|
// intent.setClass(AppliancesListActivity.this, CtrlActivity.class);
|
// }
|
|
Bundle bundle = new Bundle();
|
bundle.putSerializable("hdl", appliancesInfos.get(position));
|
intent.putExtras(bundle);
|
AppliancesListActivity.this.startActivity(intent);
|
}
|
|
|
}
|