import Build from 'android.os.Build'; import { UTSAndroid } from "io.dcloud.uts"; import { DeviceUtil } from './device/DeviceUtil.uts'; import { GetDeviceInfo, GetDeviceInfoOptions, GetDeviceInfoResult } from '../interface.uts' export const getDeviceInfo : GetDeviceInfo = (config : GetDeviceInfoOptions | null) : GetDeviceInfoResult => { let filter : Array = []; if (config != null && config.filter != null) { filter = config.filter; } if (config == null || filter.length == 0) { const defaultFilter = [ "brand", "deviceBrand", "deviceId", "model", "deviceModel", "deviceType", "deviceOrientation", "devicePixelRatio", "system", "platform", "oaid", "isRoot", "isSimulator", "isUSBDebugging" ]; filter = defaultFilter; } return getBaseInfo(filter); } function getBaseInfo(filterArray : Array) : GetDeviceInfoResult { const activity = UTSAndroid.getUniActivity()!; let result : GetDeviceInfoResult = {}; if (filterArray.indexOf("brand") != -1) { result.brand = Build.MANUFACTURER; } if (filterArray.indexOf("deviceBrand") != -1) { result.deviceBrand = Build.MANUFACTURER; } if (filterArray.indexOf("model") != -1) { result.model = Build.MODEL; } if (filterArray.indexOf("deviceModel") != -1) { result.deviceModel = Build.MODEL; } if (filterArray.indexOf("deviceType") != -1) { result.deviceType = DeviceUtil.getSystemUIModeType(activity); } if (filterArray.indexOf("deviceOrientation") != -1) { result.deviceOrientation = DeviceUtil.getOrientation(activity); } if (filterArray.indexOf("deviceId") != -1) { result.deviceId = DeviceUtil.getDeviceID(activity); } if (filterArray.indexOf("devicePixelRatio") != -1) { result.devicePixelRatio = DeviceUtil.getScaledDensity(activity) + ""; } if (filterArray.indexOf("system") != -1) { result.system = "Android " + Build.VERSION.RELEASE; } if (filterArray.indexOf("platform") != -1) { result.platform = "android"; } if (filterArray.indexOf("oaid") != -1) { result.oaid = DeviceUtil.getOaid(); } if (filterArray.indexOf("isRoot") != -1) { result.isRoot = DeviceUtil.hasRootPrivilege(); } if (filterArray.indexOf("isSimulator") != -1) { result.isSimulator = DeviceUtil.isSimulator(activity); } if (filterArray.indexOf("isUSBDebugging") != -1) { result.isUSBDebugging = DeviceUtil.listeningForADB(); } return result; }