feat: 设备添加页面

This commit is contained in:
niushuai233 2022-10-20 18:02:23 +08:00
parent 8b1617ce45
commit 7e5035fb6b
8 changed files with 87 additions and 25 deletions

View File

@ -9,8 +9,10 @@
android:roundIcon="@mipmap/app_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.DevControl">
<!--主页面-->
<activity
android:name=".ui.deviceadd.DeviceAddPowerSwitchActivity"
android:exported="false" />
<!-- 主页面 -->
<activity
android:name=".MainActivity"
android:exported="true">
@ -19,29 +21,26 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!--开关操作-->
</activity> <!-- 开关操作 -->
<activity
android:name=".ui.powerswitch.PowerSwitchActivity"
android:exported="false">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!--开关设置-->
</activity> <!-- 开关设置 -->
<activity
android:name=".ui.powerswitch.PowerSwitchSetActivity"
android:exported="false">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!--开关参数设置-->
<activity android:name=".ui.powerswitch.PowerSwitchSetParamActivity" android:exported="false">
</activity> <!-- 开关参数设置 -->
<activity
android:name=".ui.powerswitch.PowerSwitchSetParamActivity"
android:exported="false">
<intent-filter>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>

View File

@ -148,7 +148,7 @@ public class DeviceInfo {
device.setName("卧室灯开关" + (i + 1));
device.setIconId(iconId);
device.setDescription("卧室灯开关-树莓派");
device.setDeviceType(DeviceTypeEnum.Switch);
device.setDeviceType(DeviceTypeEnum.Power_Switch);
device.setOnOff(OnOffEnum.OFF);
device.setCommandPath("/path/file");
device.setCommandArgs("-c light -t 1");

View File

@ -1,7 +1,10 @@
package cc.niushuai.project.devcontrol.base.enums;
import android.widget.TextView;
import cc.niushuai.project.devcontrol.R;
import cc.niushuai.project.devcontrol.base.ui.BaseActivity;
import cc.niushuai.project.devcontrol.ui.deviceadd.DeviceAddPowerSwitchActivity;
import cc.niushuai.project.devcontrol.ui.powerswitch.PowerSwitchActivity;
/**
@ -15,20 +18,34 @@ public enum DeviceTypeEnum {
/**
* 开关
*/
Switch("Switch", "开关", R.drawable.ic_device_type_switch, PowerSwitchActivity.class),
Custom("Custom", "自定义设备", R.drawable.ic_device_type_custom, PowerSwitchActivity.class),
Power_Switch("Power_Switch", "开关", R.drawable.ic_device_type_switch, DeviceAddPowerSwitchActivity.class, PowerSwitchActivity.class),
Custom("Custom", "自定义设备", R.drawable.ic_device_type_custom, DeviceAddPowerSwitchActivity.class, PowerSwitchActivity.class),
;
private String value;
private String text;
private int resId;
private Class<? extends BaseActivity> activity;
private Class<? extends BaseActivity> deviceAddActivity;
private Class<? extends BaseActivity> deviceOperateActivity;
DeviceTypeEnum(String value, String text, int resId, Class<? extends BaseActivity> activity) {
DeviceTypeEnum(String value, String text, int resId,
Class<? extends BaseActivity> deviceAddActivity,
Class<? extends BaseActivity> deviceOperateActivity) {
this.value = value;
this.text = text;
this.resId = resId;
this.activity = activity;
this.deviceAddActivity = deviceAddActivity;
this.deviceOperateActivity = deviceOperateActivity;
}
public static DeviceTypeEnum matchByValue(String value) {
for (DeviceTypeEnum deviceTypeEnum : DeviceTypeEnum.values()) {
if (deviceTypeEnum.getValue().equals(value)) {
return deviceTypeEnum;
}
}
return null;
}
public String getValue() {
@ -55,11 +72,19 @@ public enum DeviceTypeEnum {
this.resId = resId;
}
public Class<? extends BaseActivity> getActivity() {
return activity;
public Class<? extends BaseActivity> getDeviceAddActivity() {
return deviceAddActivity;
}
public void setActivity(Class<? extends BaseActivity> activity) {
this.activity = activity;
public void setDeviceAddActivity(Class<? extends BaseActivity> deviceAddActivity) {
this.deviceAddActivity = deviceAddActivity;
}
public Class<? extends BaseActivity> getDeviceOperateActivity() {
return deviceOperateActivity;
}
public void setDeviceOperateActivity(Class<? extends BaseActivity> deviceOperateActivity) {
this.deviceOperateActivity = deviceOperateActivity;
}
}

View File

@ -14,8 +14,11 @@ public class GlobalVariables {
*/
public static final Map<String, DeviceInfo> DEVICE_INFO_MAP = new HashMap<>(16);
public static Class<? extends BaseActivity> getDeviceAddActivity(String deviceId) {
return getDeviceInfo(deviceId).getDeviceType().getDeviceAddActivity();
}
public static Class<? extends BaseActivity> getDeviceOperateActivity(String deviceId) {
return getDeviceInfo(deviceId).getDeviceType().getActivity();
return getDeviceInfo(deviceId).getDeviceType().getDeviceOperateActivity();
}
public static DeviceInfo getDeviceInfo(String deviceId) {

View File

@ -0,0 +1,21 @@
package cc.niushuai.project.devcontrol.ui.deviceadd;
import android.os.Bundle;
import cc.niushuai.project.devcontrol.R;
import cc.niushuai.project.devcontrol.base.ui.BaseActivity;
public class DeviceAddPowerSwitchActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_device_add_power_switch);
}
@Override
protected void init() {
}
}

View File

@ -11,6 +11,7 @@ import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
@ -18,6 +19,8 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@ -25,6 +28,7 @@ import java.util.Map;
import cc.niushuai.project.devcontrol.R;
import cc.niushuai.project.devcontrol.base.enums.DeviceTypeEnum;
import cc.niushuai.project.devcontrol.base.util.ActivityUtil;
import cc.niushuai.project.devcontrol.databinding.DeviceAddBinding;
public class DeviceAddDialogFragment extends DialogFragment {
@ -88,7 +92,9 @@ public class DeviceAddDialogFragment extends DialogFragment {
* @date: 2022/10/20 16:59
*/
private void deviceTypeListItemClickListener(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getActivity(), "xxx", Toast.LENGTH_SHORT).show();
TextView keyView = view.findViewById(R.id.device_type_list_key);
ActivityUtil.startActivity(getActivity(), DeviceTypeEnum.matchByValue(keyView.getText().toString()).getDeviceAddActivity());
}
/**

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.deviceadd.DeviceAddPowerSwitchActivity">
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -38,7 +38,6 @@
<!--添加设备 end-->
<!--开关设置页面 start-->
<string name="power_switch_set_iconChange">更换图标</string>
<string name="power_switch_set_paramSet">参数设置</string>