package com.basic.security.manager;
|
|
import android.text.TextUtils;
|
|
import com.basic.security.base.BaseApplication;
|
import com.basic.security.model.Device;
|
import com.basic.security.model.ModelAdapter;
|
import com.basic.security.model.Sync;
|
import com.basic.security.utils.Constants;
|
import com.basic.security.utils.ExceptionUtil;
|
import com.basic.security.utils.IpUtils;
|
|
import org.apache.commons.io.IOUtils;
|
|
import java.io.File;
|
import java.io.FileWriter;
|
import java.io.IOException;
|
|
public class DeviceManager extends BaseManager {
|
public static String device_id = "";
|
static ModelAdapter device = null;
|
|
public static void saveDevice(ModelAdapter newDevice) {
|
DeviceManager.device = newDevice;
|
writeDeviceId(newDevice.getString(Device.device_id));
|
save(newDevice);
|
}
|
|
public static ModelAdapter getDevice() {
|
if (device == null) {
|
initDevice();
|
}
|
return device;
|
}
|
|
public static String getOpenDoorTime() {
|
try {
|
ModelAdapter deviceSetting = getDevice();
|
String open_door_time = deviceSetting.getString("open_door_time");
|
if (!TextUtils.isEmpty(open_door_time)) {
|
return open_door_time;
|
} else {
|
return "5";
|
}
|
} catch (Exception e) {
|
ExceptionUtil.printException(e);
|
}
|
return "5";
|
}
|
|
public static String getDeviceName() {
|
ModelAdapter deviceSetting = getDevice();
|
String device_name = deviceSetting.getString("name");
|
if (!TextUtils.isEmpty(device_name)) {
|
return device_name;
|
} else {
|
return "admin";
|
}
|
}
|
|
public static String getDeviceId() {
|
if (1 == 1) {
|
return Constants.deviceId();
|
}
|
if (Constants.isOutdoor) {
|
return "outdoor1";
|
} else {
|
return "indoor1";
|
}
|
}
|
|
public static void writeDeviceId(String newDeviceId) {
|
File deviceIdFile = new File("/sdcard/device_id.txt");
|
if (!deviceIdFile.exists()) {
|
try {
|
deviceIdFile.createNewFile();
|
} catch (IOException e) {
|
ExceptionUtil.printException(e);
|
}
|
}
|
try {
|
FileWriter fileWriter = new FileWriter(deviceIdFile);
|
IOUtils.write(newDeviceId.getBytes(), fileWriter);
|
fileWriter.flush();
|
fileWriter.close();
|
} catch (IOException e) {
|
ExceptionUtil.printException(e);
|
} finally {
|
}
|
}
|
|
public static String getDeviceIp() {
|
return IpUtils.getIpAddress(BaseApplication.getApplication());
|
}
|
|
public static void initDevice() {
|
device = DeviceManager.findById(Device.tableName, Device.tableName);
|
if (device == null) {
|
device = new ModelAdapter(Device.tableName);
|
device.setString("device_id", DeviceManager.getDeviceId());
|
device.setString("ip", IpUtils.getIpAddress(BaseApplication.getApplication()));
|
device.setString("name", DeviceManager.getDeviceId());
|
device.setString("open_door_time", "5");
|
device.setString("no_face_delay", "10");
|
device.setString("table", "device");
|
device.setString(Sync.needSync, Constants.FALSE);
|
saveDevice(device);
|
}
|
}
|
}
|