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.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) { e.printStackTrace(); } 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"; } //// return getDevice().getString(Device.device_id); // if (device_id != null && device_id.length() > 0) { // return device_id; // } // File deviceIdFile = new File("/sdcard/device_id.txt"); // FileReader fileReader = null; // if (deviceIdFile.exists()) { // try { // fileReader = new FileReader(deviceIdFile); // List lines = IOUtils.readLines(fileReader); // if (lines.size() > 0) { // device_id = lines.get(0); // } // } catch (IOException e) { // e.printStackTrace(); // } finally { // try { // if (fileReader != null) { // fileReader.close(); // } // } catch (Exception e) { // } // } // } // return device_id; } public static void writeDeviceId(String newDeviceId) { File deviceIdFile = new File("/sdcard/device_id.txt"); if (!deviceIdFile.exists()) { try { deviceIdFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } try { FileWriter fileWriter = new FileWriter(deviceIdFile); IOUtils.write(newDeviceId.getBytes(), fileWriter); fileWriter.flush(); fileWriter.close(); } catch (IOException e) { e.printStackTrace(); } 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); } } }