From: snickersun Date: Fri, 25 Dec 2020 04:50:33 +0000 (+0800) Subject: release L02ProtocolV2 V739 X-Git-Url: http://git.snicker.com.cn/?a=commitdiff_plain;h=8e465323eaf7f81b2e42519958a35ec442024d59;p=protocol_srv.git release L02ProtocolV2 V739 S123 Vitrack 默认 15分钟 定位、检测心率、检测体温 增加温度日志 --- diff --git a/app/release/ICSer_V738_2012221145_release.apk b/app/release/ICSer_V739_2012251247_release.apk similarity index 78% rename from app/release/ICSer_V738_2012221145_release.apk rename to app/release/ICSer_V739_2012251247_release.apk index 81415d38..e4a6f9e4 100644 Binary files a/app/release/ICSer_V738_2012221145_release.apk and b/app/release/ICSer_V739_2012251247_release.apk differ diff --git a/app/release/output.json b/app/release/output.json index 617ce711..705860de 100644 --- a/app/release/output.json +++ b/app/release/output.json @@ -1 +1 @@ -[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":738,"versionName":"2012221145","enabled":true,"outputFile":"ICSer_V738_2012221145_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V738_2012221145_release.apk","properties":{}}] \ No newline at end of file +[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":739,"versionName":"2012251247","enabled":true,"outputFile":"ICSer_V739_2012251247_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V739_2012251247_release.apk","properties":{}}] \ No newline at end of file diff --git a/app/src/main/java/com/enqualcomm/support/CoreService.java b/app/src/main/java/com/enqualcomm/support/CoreService.java index 98e942b5..67e1352b 100644 --- a/app/src/main/java/com/enqualcomm/support/CoreService.java +++ b/app/src/main/java/com/enqualcomm/support/CoreService.java @@ -788,9 +788,9 @@ public class CoreService extends Service { Config.enableSleep=false; if (Config.getConfigInitFlag(this)==0) { Config.setLocationMode(this, CUSTOM_MOD8_GPS); - Config.setLocationCycle(this, 30*60); - Config.setPPGTestCycle(this, 0); - Config.setTemperatureTestCycle(runtime, 0); + Config.setLocationCycle(this, 15*60); + Config.setPPGTestCycle(this, 15*60); + Config.setTemperatureTestCycle(runtime, 15*60); Config.setConfigInitFlag(this, 1); } diff --git a/app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java b/app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java index a778dac5..450ac7e3 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/CellInfoUtil.java @@ -1,352 +1,352 @@ -package com.enqualcomm.support.utils; - -import android.content.Context; -import android.os.Build; -import android.os.Handler; -import android.os.Message; -import android.os.PowerManager; -import android.provider.ContactsContract; -import android.telephony.CellInfo; -import android.telephony.CellInfoCdma; -import android.telephony.CellInfoGsm; -import android.telephony.CellInfoLte; -import android.telephony.CellInfoWcdma; -import android.telephony.CellLocation; -import android.telephony.CellSignalStrengthCdma; -import android.telephony.CellSignalStrengthGsm; -import android.telephony.CellSignalStrengthLte; -import android.telephony.CellSignalStrengthWcdma; -import android.telephony.NeighboringCellInfo; -import android.telephony.TelephonyManager; -import android.telephony.cdma.CdmaCellLocation; -import android.telephony.gsm.GsmCellLocation; - -import com.android.internal.telephony.CallManager; -import com.android.internal.telephony.CallStateException; -import com.android.internal.telephony.Phone; -import com.android.internal.telephony.PhoneFactory; -import com.enqualcomm.support.Config; -import com.enqualcomm.support.GSensorListener; -import com.enqualcomm.support.adapter.LBSHelper; -import com.enqualcomm.support.bean.Runtime; -import com.sprd.internal.telephony.SprdCallManager; - -import java.lang.reflect.Method; -import java.util.Collections; -import java.util.Comparator; -import java.util.Iterator; -import java.util.List; - -import rx.Single; -import rx.android.schedulers.AndroidSchedulers; -import rx.functions.Action1; - -public class CellInfoUtil { - - - public static void dialSilent(Context context,String dialnumber){ -// Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1() { -// public void call(Object param1Object) { -// -// try { -// Class phoneFactoryClass = Class.forName("com.android.internal.telephony.PhoneFactory"); -// -// Method makeDefaultPhones = phoneFactoryClass.getMethod("makeDefaultPhones", Context.class); -// -// makeDefaultPhones.invoke(null, context); -// -// Method getDefaultPhone = phoneFactoryClass.getMethod("getDefaultPhone"); -// -// Object p = getDefaultPhone.invoke(null); -// -// Class classCallManager = Class.forName("com.sprd.internal.telephony.SprdCallManager"); -// -// Object CallManagerInstance = classCallManager.getDeclaredMethod("getInstance"); -// -// classCallManager.getMethod("registerPhone", Object.class).invoke(CallManagerInstance, p); -// -// Method newGetDefaultPhone = classCallManager.getMethod("getDefaultPhone"); -// -// Object phone = newGetDefaultPhone.invoke(CallManagerInstance); -// -// String phoneName = "com.android.internal.telephony.Phone"; -// -// Class phoneClass = Class.forName(phoneName); -// -// phoneClass.getMethod("dial", String.class).invoke(phone, dialnumber); -// }catch (Exception e){ -// ICLogger.PrintExceptionStackTrace(e); -// } -// } -// }); - Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1() { - public void call(Object param1Object) { - - PhoneFactory.makeDefaultPhones(context); - - Phone p = PhoneFactory.getDefaultPhone(); - - SprdCallManager cm = (SprdCallManager)SprdCallManager.getInstance(); - - cm.registerPhone(p); - - Phone phone = cm.getDefaultPhone(); - - try { - phone.dial(dialnumber); - } catch (Exception e) { - ICLogger.PrintExceptionStackTrace(e); - ICLogger.e(e.getMessage(),e); - } - } - }); - - } - public static int getSignal(TelephonyManager tm , Runtime runtime){ - - if(tm==null) - return 5; - try { - CellLocation celllocation = tm.getCellLocation(); - if (celllocation == null) { - ICLogger.i("cellLocation = null"); - return 1; - } else { - if (celllocation instanceof GsmCellLocation) { - for (CellInfo cinfo : tm.getAllCellInfo()) { - if (cinfo instanceof CellInfoGsm) { - CellSignalStrengthGsm cigsm = ((CellInfoGsm) cinfo).getCellSignalStrength(); - ICLogger.i("gsm signal dbm =" + cigsm.getDbm() + ",level=" + cigsm.getLevel()); - runtime.setSignalInfo("gsm signal dbm =" + cigsm.getDbm() + ",level=" + cigsm.getLevel()); - return cigsm.getDbm(); - } else if (cinfo instanceof CellInfoLte) { - CellSignalStrengthLte cigsm = ((CellInfoLte) cinfo).getCellSignalStrength(); - ICLogger.i("lte signal dbm =" + cigsm.getDbm() + ",level=" + cigsm.getLevel()); - runtime.setSignalInfo("lte signal dbm =" + cigsm.getDbm() + ",level=" + cigsm.getLevel()); - return cigsm.getDbm(); - } else if (cinfo instanceof CellInfoWcdma) { - CellSignalStrengthWcdma cicdma = ((CellInfoWcdma) cinfo).getCellSignalStrength(); - ICLogger.i("wcdma signal dbm =" + cicdma.getDbm() + ",level=" + cicdma.getLevel()); - runtime.setSignalInfo("wcdma signal dbm =" + cicdma.getDbm() + ",level=" + cicdma.getLevel()); - return cicdma.getDbm(); - } - } - return 2; - } else if (celllocation instanceof CdmaCellLocation) { - for (CellInfo cinfo : tm.getAllCellInfo()) { - if (cinfo instanceof CellInfoCdma) { - CellSignalStrengthCdma cicdma = ((CellInfoCdma) cinfo).getCellSignalStrength(); - ICLogger.i("cdma signal dbm =" + cicdma.getDbm() + ",level=" + cicdma.getLevel()); - runtime.setSignalInfo("cdma signal dbm =" + cicdma.getDbm() + ",level=" + cicdma.getLevel()); - return cicdma.getDbm(); - } - } - return 3; - } - return 4; - } - }catch (Exception e){ - ICLogger.e(e.getMessage(),e);ICLogger.PrintExceptionStackTrace(e); - ICLogger.e(e.getMessage(),e); - return 6; - } - } - public static String getCellInfo(TelephonyManager telephonyManager, Runtime runtime) { - ICLogger.i("LBS 延时获取基站信息"); - /*** - * MCC,Mobile Country Code,移动国家代码(中国的为460)。 - * MNC,Mobile Network Code,移动网络号码(中国移动为0,中国联通为1,中国电信为2)。 - * LAC,Location Area Code,位置区域码。 - * CID,Cell Identity,基站编号。 - * BSSS,Base station signal strength,基站信号强度。 - */ - int maxstationCount = 0; - String mccmnc; - if (Build.VERSION.SDK_INT > 23) { - mccmnc = telephonyManager.getSimOperator(); - if (mccmnc == null) { - ICLogger.i("LBS operator == null"); - return null; - } - - mccmnc = mccmnc.substring(0, 5); - } else { - mccmnc = telephonyManager.getNetworkOperator(); - } - - if(mccmnc==null|| (mccmnc!=null && mccmnc.trim().isEmpty())) - { - ICLogger.i("LBS retry get MCCMNC"); - telephonyManager=((TelephonyManager) runtime.getContextProxy().context.getSystemService(Context.TELEPHONY_SERVICE)); - Util.mSleep(5000); - mccmnc=telephonyManager.getSimOperator(); - } - ICLogger.i("LBS mccmnc "+mccmnc); - - if (mccmnc != null && mccmnc.length() > 3) { - - CellLocation celllocation = telephonyManager.getCellLocation(); - if (celllocation == null) { - ICLogger.i("LBS cellLocation = null"); - return null; - } else { - StringBuilder gsmSb = new StringBuilder(mccmnc); - gsmSb.insert(3, ","); - - StringBuilder cdmaSB = new StringBuilder(); - runtime.setMccAndMnc(gsmSb.toString()); - - if (celllocation instanceof GsmCellLocation) { - GsmCellLocation gsmCell = (GsmCellLocation)celllocation; - runtime.setCdmaInfo(null); - //AP01 Single GSM Station - gsmSb.append(","); - gsmSb.append(gsmCell.getLac()); - gsmSb.append(","); - gsmSb.append(gsmCell.getCid()); - gsmSb.append(","); - gsmSb.append(150-Math.abs(getSignal(telephonyManager,runtime))); - runtime.setCellinfo(gsmSb.toString()); - - runtime.getLocationInstance().setCID(gsmCell.getCid()); - runtime.getLocationInstance().setLAC(gsmCell.getLac()); - - ICLogger.i("LBS GsmCellLocation "+ gsmSb.toString()); - if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", gsmSb.toString()); - - List neighboringCell_list = telephonyManager.getNeighboringCellInfo(); - //AP02 Multi GSM Station - StringBuilder gsmSbMulti = new StringBuilder(); - - StringBuilder gsmSbMultiFZD = new StringBuilder(); - StringBuilder gsmSbMulti_data = new StringBuilder(); - - StringBuilder gsmSbMultiFZD_data = new StringBuilder(); - int size=1; - if (neighboringCell_list != null && !neighboringCell_list.isEmpty()) { - sortByRssi(neighboringCell_list); - - Iterator cell = neighboringCell_list.iterator(); - - - while(cell.hasNext()) { - NeighboringCellInfo mNeighboringCellInfo = (NeighboringCellInfo)cell.next(); - if (mNeighboringCellInfo.getLac() == -1) { - break; - } - gsmSbMulti_data.append(","); - gsmSbMulti_data.append(mNeighboringCellInfo.getLac()); - gsmSbMulti_data.append("|"); - gsmSbMulti_data.append(mNeighboringCellInfo.getCid()); - gsmSbMulti_data.append("|"); - gsmSbMulti_data.append( 150-Math.abs(mNeighboringCellInfo.getRssi())); - - gsmSbMultiFZD_data.append(","); - gsmSbMultiFZD_data.append(mNeighboringCellInfo.getLac()); - gsmSbMultiFZD_data.append(","); - gsmSbMultiFZD_data.append(mNeighboringCellInfo.getCid()); - gsmSbMultiFZD_data.append(","); - gsmSbMultiFZD_data.append( 150-Math.abs(mNeighboringCellInfo.getRssi())); - - maxstationCount ++; - if (maxstationCount == 5) { -// break; - } - } - size += maxstationCount; - } - - StringBuilder mmcmnc1 = new StringBuilder(mccmnc); - mmcmnc1.insert(3, ","); - gsmSbMulti.append(size); - gsmSbMulti.append(","); - gsmSbMulti.append(mmcmnc1); - gsmSbMulti.append(","); - gsmSbMulti.append(gsmCell.getLac()); - gsmSbMulti.append("|"); - gsmSbMulti.append(gsmCell.getCid()); - gsmSbMulti.append("|"); - gsmSbMulti.append(150-Math.abs(getSignal(telephonyManager,runtime))); - gsmSbMulti.append(gsmSbMulti_data.toString()); - - - gsmSbMultiFZD.append(size); - gsmSbMultiFZD.append(","); - gsmSbMultiFZD.append(1); - gsmSbMultiFZD.append(","); - gsmSbMultiFZD.append(mmcmnc1); - gsmSbMultiFZD.append(","); - gsmSbMultiFZD.append(gsmCell.getLac()); - gsmSbMultiFZD.append(","); - gsmSbMultiFZD.append(gsmCell.getCid()); - gsmSbMultiFZD.append(","); - gsmSbMultiFZD.append(150-Math.abs(getSignal(telephonyManager,runtime))); - gsmSbMultiFZD.append(gsmSbMultiFZD_data.toString()); - - - ICLogger.i("LBS GsmCellLocation MultiStation "+ gsmSbMulti.toString()); - ICLogger.i("FZD LBS GsmCellLocation MultiStation "+ gsmSbMultiFZD.toString()); - if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "LBS GsmCellLocation MultiStation "+ gsmSbMulti.toString()); - if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "FZD LBS GsmCellLocation MultiStation "+ gsmSbMultiFZD.toString()); - - runtime.setLBSMultiStationData(gsmSbMulti.toString()); - runtime.setFZDLBSMultiStationData(gsmSbMultiFZD.toString()); - - return gsmSb.toString(); - } else if (celllocation instanceof CdmaCellLocation) { - CdmaCellLocation cdmaCelllocation = (CdmaCellLocation)celllocation; - cdmaSB.append(cdmaCelllocation.getSystemId()); - cdmaSB.append(","); - cdmaSB.append(cdmaCelllocation.getNetworkId()); - cdmaSB.append(","); - cdmaSB.append(cdmaCelllocation.getBaseStationId()); - cdmaSB.append(","); - cdmaSB.append(""); - cdmaSB.append(","); - cdmaSB.append(""); - cdmaSB.append(","); - cdmaSB.append(getSignal(telephonyManager,runtime)); - ICLogger.i("CdmaCellLocation"); - StringBuilder var8 = new StringBuilder(); - var8.append("CDMA_info="); - var8.append(cdmaSB.toString()); - ICLogger.i(var8.toString()); - runtime.setCellinfo(null); - runtime.setCdmaInfo(cdmaSB.toString()); - - if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", var8.toString()); - return cdmaSB.toString(); - - } - - return null; - } - } else { - ICLogger.i("operator == null || operator.length() <= 3"); - return null; - } - } - private static void sortByRssi(List var1) { - Collections.sort(var1, new Comparator() { - public int compare(NeighboringCellInfo var1, NeighboringCellInfo var2) { - return var2.getRssi() - var1.getRssi(); - } - }); - } - public static void setCurrentAttachCellInfo(Runtime dev) { - - (new Thread(new Runnable() { - public void run() { - - if (dev !=null) { - //更新lbs信息 - getCellInfo(dev.getContextProxy().getTelephonyManager(),dev); - - } - - } - })).start(); - } - - -} +package com.enqualcomm.support.utils; + +import android.content.Context; +import android.os.Build; +import android.os.Handler; +import android.os.Message; +import android.os.PowerManager; +import android.provider.ContactsContract; +import android.telephony.CellInfo; +import android.telephony.CellInfoCdma; +import android.telephony.CellInfoGsm; +import android.telephony.CellInfoLte; +import android.telephony.CellInfoWcdma; +import android.telephony.CellLocation; +import android.telephony.CellSignalStrengthCdma; +import android.telephony.CellSignalStrengthGsm; +import android.telephony.CellSignalStrengthLte; +import android.telephony.CellSignalStrengthWcdma; +import android.telephony.NeighboringCellInfo; +import android.telephony.TelephonyManager; +import android.telephony.cdma.CdmaCellLocation; +import android.telephony.gsm.GsmCellLocation; + +import com.android.internal.telephony.CallManager; +import com.android.internal.telephony.CallStateException; +import com.android.internal.telephony.Phone; +import com.android.internal.telephony.PhoneFactory; +import com.enqualcomm.support.Config; +import com.enqualcomm.support.GSensorListener; +import com.enqualcomm.support.adapter.LBSHelper; +import com.enqualcomm.support.bean.Runtime; +import com.sprd.internal.telephony.SprdCallManager; + +import java.lang.reflect.Method; +import java.util.Collections; +import java.util.Comparator; +import java.util.Iterator; +import java.util.List; + +import rx.Single; +import rx.android.schedulers.AndroidSchedulers; +import rx.functions.Action1; + +public class CellInfoUtil { + + + public static void dialSilent(Context context,String dialnumber){ +// Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1() { +// public void call(Object param1Object) { +// +// try { +// Class phoneFactoryClass = Class.forName("com.android.internal.telephony.PhoneFactory"); +// +// Method makeDefaultPhones = phoneFactoryClass.getMethod("makeDefaultPhones", Context.class); +// +// makeDefaultPhones.invoke(null, context); +// +// Method getDefaultPhone = phoneFactoryClass.getMethod("getDefaultPhone"); +// +// Object p = getDefaultPhone.invoke(null); +// +// Class classCallManager = Class.forName("com.sprd.internal.telephony.SprdCallManager"); +// +// Object CallManagerInstance = classCallManager.getDeclaredMethod("getInstance"); +// +// classCallManager.getMethod("registerPhone", Object.class).invoke(CallManagerInstance, p); +// +// Method newGetDefaultPhone = classCallManager.getMethod("getDefaultPhone"); +// +// Object phone = newGetDefaultPhone.invoke(CallManagerInstance); +// +// String phoneName = "com.android.internal.telephony.Phone"; +// +// Class phoneClass = Class.forName(phoneName); +// +// phoneClass.getMethod("dial", String.class).invoke(phone, dialnumber); +// }catch (Exception e){ +// ICLogger.PrintExceptionStackTrace(e); +// } +// } +// }); + Single.just(null).observeOn(AndroidSchedulers.mainThread()).subscribe(new Action1() { + public void call(Object param1Object) { + + PhoneFactory.makeDefaultPhones(context); + + Phone p = PhoneFactory.getDefaultPhone(); + + SprdCallManager cm = (SprdCallManager)SprdCallManager.getInstance(); + + cm.registerPhone(p); + + Phone phone = cm.getDefaultPhone(); + + try { + phone.dial(dialnumber); + } catch (Exception e) { + ICLogger.PrintExceptionStackTrace(e); + ICLogger.e(e.getMessage(),e); + } + } + }); + + } + public static int getSignal(TelephonyManager tm , Runtime runtime){ + + if(tm==null) + return 5; + try { + CellLocation celllocation = tm.getCellLocation(); + if (celllocation == null) { + ICLogger.i("cellLocation = null"); + return 1; + } else { + if (celllocation instanceof GsmCellLocation) { + for (CellInfo cinfo : tm.getAllCellInfo()) { + if (cinfo instanceof CellInfoGsm) { + CellSignalStrengthGsm cigsm = ((CellInfoGsm) cinfo).getCellSignalStrength(); + ICLogger.i("gsm signal dbm =" + cigsm.getDbm() + ",level=" + cigsm.getLevel()); + runtime.setSignalInfo("gsm signal dbm =" + cigsm.getDbm() + ",level=" + cigsm.getLevel()); + return cigsm.getDbm(); + } else if (cinfo instanceof CellInfoLte) { + CellSignalStrengthLte cigsm = ((CellInfoLte) cinfo).getCellSignalStrength(); + ICLogger.i("lte signal dbm =" + cigsm.getDbm() + ",level=" + cigsm.getLevel()); + runtime.setSignalInfo("lte signal dbm =" + cigsm.getDbm() + ",level=" + cigsm.getLevel()); + return cigsm.getDbm(); + } else if (cinfo instanceof CellInfoWcdma) { + CellSignalStrengthWcdma cicdma = ((CellInfoWcdma) cinfo).getCellSignalStrength(); + ICLogger.i("wcdma signal dbm =" + cicdma.getDbm() + ",level=" + cicdma.getLevel()); + runtime.setSignalInfo("wcdma signal dbm =" + cicdma.getDbm() + ",level=" + cicdma.getLevel()); + return cicdma.getDbm(); + } + } + return 2; + } else if (celllocation instanceof CdmaCellLocation) { + for (CellInfo cinfo : tm.getAllCellInfo()) { + if (cinfo instanceof CellInfoCdma) { + CellSignalStrengthCdma cicdma = ((CellInfoCdma) cinfo).getCellSignalStrength(); + ICLogger.i("cdma signal dbm =" + cicdma.getDbm() + ",level=" + cicdma.getLevel()); + runtime.setSignalInfo("cdma signal dbm =" + cicdma.getDbm() + ",level=" + cicdma.getLevel()); + return cicdma.getDbm(); + } + } + return 3; + } + return 4; + } + }catch (Exception e){ + ICLogger.e(e.getMessage()); + ICLogger.PrintExceptionStackTrace(e); + return 6; + } + } + public static String getCellInfo(TelephonyManager telephonyManager, Runtime runtime) { + ICLogger.i("LBS 延时获取基站信息"); + /*** + * MCC,Mobile Country Code,移动国家代码(中国的为460)。 + * MNC,Mobile Network Code,移动网络号码(中国移动为0,中国联通为1,中国电信为2)。 + * LAC,Location Area Code,位置区域码。 + * CID,Cell Identity,基站编号。 + * BSSS,Base station signal strength,基站信号强度。 + */ + int maxstationCount = 0; + String mccmnc; + if (Build.VERSION.SDK_INT > 23) { + mccmnc = telephonyManager.getSimOperator(); + if (mccmnc == null) { + ICLogger.i("LBS operator == null"); + return null; + } + + mccmnc = mccmnc.substring(0, 5); + } else { + mccmnc = telephonyManager.getNetworkOperator(); + } + + if(mccmnc==null|| (mccmnc!=null && mccmnc.trim().isEmpty())) + { + ICLogger.i("LBS retry get MCCMNC"); + telephonyManager=((TelephonyManager) runtime.getContextProxy().context.getSystemService(Context.TELEPHONY_SERVICE)); + Util.mSleep(5000); + mccmnc=telephonyManager.getSimOperator(); + } + ICLogger.i("LBS mccmnc "+mccmnc); + + if (mccmnc != null && mccmnc.length() > 3) { + + CellLocation celllocation = telephonyManager.getCellLocation(); + if (celllocation == null) { + ICLogger.i("LBS cellLocation = null"); + return null; + } else { + StringBuilder gsmSb = new StringBuilder(mccmnc); + gsmSb.insert(3, ","); + + StringBuilder cdmaSB = new StringBuilder(); + runtime.setMccAndMnc(gsmSb.toString()); + + if (celllocation instanceof GsmCellLocation) { + GsmCellLocation gsmCell = (GsmCellLocation)celllocation; + runtime.setCdmaInfo(null); + //AP01 Single GSM Station + gsmSb.append(","); + gsmSb.append(gsmCell.getLac()); + gsmSb.append(","); + gsmSb.append(gsmCell.getCid()); + gsmSb.append(","); + gsmSb.append(150-Math.abs(getSignal(telephonyManager,runtime))); + runtime.setCellinfo(gsmSb.toString()); + + runtime.getLocationInstance().setCID(gsmCell.getCid()); + runtime.getLocationInstance().setLAC(gsmCell.getLac()); + + ICLogger.i("LBS GsmCellLocation "+ gsmSb.toString()); + if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", gsmSb.toString()); + + List neighboringCell_list = telephonyManager.getNeighboringCellInfo(); + //AP02 Multi GSM Station + StringBuilder gsmSbMulti = new StringBuilder(); + + StringBuilder gsmSbMultiFZD = new StringBuilder(); + StringBuilder gsmSbMulti_data = new StringBuilder(); + + StringBuilder gsmSbMultiFZD_data = new StringBuilder(); + int size=1; + if (neighboringCell_list != null && !neighboringCell_list.isEmpty()) { + sortByRssi(neighboringCell_list); + + Iterator cell = neighboringCell_list.iterator(); + + + while(cell.hasNext()) { + NeighboringCellInfo mNeighboringCellInfo = (NeighboringCellInfo)cell.next(); + if (mNeighboringCellInfo.getLac() == -1) { + break; + } + gsmSbMulti_data.append(","); + gsmSbMulti_data.append(mNeighboringCellInfo.getLac()); + gsmSbMulti_data.append("|"); + gsmSbMulti_data.append(mNeighboringCellInfo.getCid()); + gsmSbMulti_data.append("|"); + gsmSbMulti_data.append( 150-Math.abs(mNeighboringCellInfo.getRssi())); + + gsmSbMultiFZD_data.append(","); + gsmSbMultiFZD_data.append(mNeighboringCellInfo.getLac()); + gsmSbMultiFZD_data.append(","); + gsmSbMultiFZD_data.append(mNeighboringCellInfo.getCid()); + gsmSbMultiFZD_data.append(","); + gsmSbMultiFZD_data.append( 150-Math.abs(mNeighboringCellInfo.getRssi())); + + maxstationCount ++; + if (maxstationCount == 5) { +// break; + } + } + size += maxstationCount; + } + + StringBuilder mmcmnc1 = new StringBuilder(mccmnc); + mmcmnc1.insert(3, ","); + gsmSbMulti.append(size); + gsmSbMulti.append(","); + gsmSbMulti.append(mmcmnc1); + gsmSbMulti.append(","); + gsmSbMulti.append(gsmCell.getLac()); + gsmSbMulti.append("|"); + gsmSbMulti.append(gsmCell.getCid()); + gsmSbMulti.append("|"); + gsmSbMulti.append(150-Math.abs(getSignal(telephonyManager,runtime))); + gsmSbMulti.append(gsmSbMulti_data.toString()); + + + gsmSbMultiFZD.append(size); + gsmSbMultiFZD.append(","); + gsmSbMultiFZD.append(1); + gsmSbMultiFZD.append(","); + gsmSbMultiFZD.append(mmcmnc1); + gsmSbMultiFZD.append(","); + gsmSbMultiFZD.append(gsmCell.getLac()); + gsmSbMultiFZD.append(","); + gsmSbMultiFZD.append(gsmCell.getCid()); + gsmSbMultiFZD.append(","); + gsmSbMultiFZD.append(150-Math.abs(getSignal(telephonyManager,runtime))); + gsmSbMultiFZD.append(gsmSbMultiFZD_data.toString()); + + + ICLogger.i("LBS GsmCellLocation MultiStation "+ gsmSbMulti.toString()); + ICLogger.i("FZD LBS GsmCellLocation MultiStation "+ gsmSbMultiFZD.toString()); + if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "LBS GsmCellLocation MultiStation "+ gsmSbMulti.toString()); + if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", "FZD LBS GsmCellLocation MultiStation "+ gsmSbMultiFZD.toString()); + + runtime.setLBSMultiStationData(gsmSbMulti.toString()); + runtime.setFZDLBSMultiStationData(gsmSbMultiFZD.toString()); + + return gsmSb.toString(); + } else if (celllocation instanceof CdmaCellLocation) { + CdmaCellLocation cdmaCelllocation = (CdmaCellLocation)celllocation; + cdmaSB.append(cdmaCelllocation.getSystemId()); + cdmaSB.append(","); + cdmaSB.append(cdmaCelllocation.getNetworkId()); + cdmaSB.append(","); + cdmaSB.append(cdmaCelllocation.getBaseStationId()); + cdmaSB.append(","); + cdmaSB.append(""); + cdmaSB.append(","); + cdmaSB.append(""); + cdmaSB.append(","); + cdmaSB.append(getSignal(telephonyManager,runtime)); + ICLogger.i("CdmaCellLocation"); + StringBuilder var8 = new StringBuilder(); + var8.append("CDMA_info="); + var8.append(cdmaSB.toString()); + ICLogger.i(var8.toString()); + runtime.setCellinfo(null); + runtime.setCdmaInfo(cdmaSB.toString()); + + if (Config.LOG_TOFILE) ICLogger.logToFile("LBS", var8.toString()); + return cdmaSB.toString(); + + } + + return null; + } + } else { + ICLogger.i("operator == null || operator.length() <= 3"); + return null; + } + } + private static void sortByRssi(List var1) { + Collections.sort(var1, new Comparator() { + public int compare(NeighboringCellInfo var1, NeighboringCellInfo var2) { + return var2.getRssi() - var1.getRssi(); + } + }); + } + public static void setCurrentAttachCellInfo(Runtime dev) { + + (new Thread(new Runnable() { + public void run() { + + if (dev !=null) { + //更新lbs信息 + getCellInfo(dev.getContextProxy().getTelephonyManager(),dev); + + } + + } + })).start(); + } + + +} diff --git a/app/src/main/java/com/enqualcomm/support/utils/ICLogger.java b/app/src/main/java/com/enqualcomm/support/utils/ICLogger.java index 89682b31..6072ec36 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/ICLogger.java +++ b/app/src/main/java/com/enqualcomm/support/utils/ICLogger.java @@ -1,325 +1,325 @@ -package com.enqualcomm.support.utils; - -import android.content.Context; - -import com.enqualcomm.support.ICApplication; - -import org.apache.log4j.Appender; -import org.apache.log4j.FileAppender; -import org.apache.log4j.Layout; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.apache.log4j.PatternLayout; -import org.apache.log4j.RollingFileAppender; -import org.apache.log4j.spi.ErrorHandler; -import org.apache.log4j.spi.Filter; -import org.apache.log4j.spi.LoggingEvent; - -import java.io.File; -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.PrintStream; - -import de.mindpipe.android.logging.log4j.LogConfigurator; - - - -public class ICLogger { - - private static boolean isInitConfig = false; - private static Context mContext=null; - - private static Logger Log = null; - private static Logger GPS = null; - private static Logger Nmea = null; - private static Logger APILog = null; - private static Logger alarmCycle = null; - private static Logger Battery = null; - private static Logger LBS = null; - // private static java.util.logging.Logger originLog= java.util.logging.Logger.getLogger(ICLogger.class.getSimpleName()); - private static final boolean DEBUG = true; //BuildConfig.DEBUG; - - public static void setContext(Context context){ - mContext=context; - } - private static String getFunctionName() { - StackTraceElement[] currentStack = Thread.currentThread().getStackTrace(); - if (currentStack == null) { - return null; - } else { - int stackLen = currentStack.length; - - for(int i = 0; i < stackLen; ++i) { - StackTraceElement stackElement = currentStack[i]; - if (!stackElement.isNativeMethod() && !stackElement.getClassName().equals(Thread.class.getName()) && !stackElement.getClassName().equals(ICLogger.class.getName())) { - StringBuilder sb = new StringBuilder(); - sb.append("[ "); - sb.append(Thread.currentThread().getName()); - sb.append(": "); - sb.append(stackElement.getFileName()); - sb.append(":"); - sb.append(stackElement.getLineNumber()); - sb.append(" "); - sb.append(stackElement.getMethodName()); - sb.append(" ]"); - return sb.toString(); - } - } - - return null; - } - } - - /** - 初始化与配置Logger Log4j - 日志信息格式中符号所代表的含义 - (1)-X号: X信息输出时左对齐。 - (2)%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL。 - (3)%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002å¹´10月18日 22:10:28,921。 - (4)%r: 输出自应用启动到输出该log信息耗费的毫秒数。 - (5)%c: 输出日志信息所属的类目,通常就是所在类的全名。 - (6)%t: 输出产生该日志事件的线程名。 - (7)%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)。 - (8)%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 - (9)%%: 输出一个"%"字符。 - (10)%F: 输出日志消息产生时所在的文件名称。 - (11)%L: 输出代码中的行号。 - (12)%m: 输出代码中指定的消息,产生的日志具体信息。 - (13)%n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行。 - 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如: - (1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。 - (2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。 - (3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。 - (4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。 - */ - private static void initConfig() { - if (!isInitConfig) { - - LogConfigurator logConfigurator = new LogConfigurator(); - - String filename=StorageUtils.getExternalStorageLogDir()+ File.separator + "log.txt"; - logConfigurator.setFileName(filename); // 日志存储路径,如果该路径没有会自动创建文件 - logConfigurator.setRootLevel(Level.ALL); - - logConfigurator.setLevel("log", Level.ALL); -// logConfigurator.setFilePattern("%d %-5p [%c{2}]-[%L] %m%n");// 设置文件输出模式 - logConfigurator.setFilePattern("%d %m%n ");// 设置文件输出模式 -// 02-29 16:28:38.195 4629-4658/com.enqualcomm.support E/com.enqualcomm.support.utils.ICLogger: - logConfigurator.setMaxBackupSize(2); // 设置最大备份数量 - logConfigurator.setMaxFileSize(1024 * 1024 * 20);// 设置最大文件大小 20MB - logConfigurator.setImmediateFlush(true);// 设置是否立即刷新 - logConfigurator.setUseFileAppender(true); // 设置用户文件输出器 - logConfigurator.setInternalDebugging(false); //控制console是否输出 - logConfigurator.setUseLogCatAppender(true); - logConfigurator.setLogCatPattern("%m%n"); - logConfigurator.configure();// 设置提交 - - -// String logfilelist[]={"Log","GPS","Nmea","APILog","alarmCycle","Battery","LBS"}; - - //Log 和log目前是同一个配置 - Log = Logger.getLogger("log"); - Log.info("init Logger "+Log.getName()); -// Log.addAppender( getRollingFileAppender("log","%d %m%n ")); -// Log.info("init Logger "+Log.getName()+" "+((RollingFileAppender)Log.getAppender("log")).getFile()); - - GPS = Logger.getLogger("GPS"); - GPS.addAppender( getRollingFileAppender("GPS","%d %m%n ")); - GPS.info("init Logger "+GPS.getName()+" "+((RollingFileAppender)GPS.getAppender("GPS")).getFile()); - - Nmea = Logger.getLogger("Nmea"); - Nmea.addAppender( getRollingFileAppender("Nmea","%m%n")); - Nmea.info("init Logger "+Nmea.getName()+" "+((RollingFileAppender)Nmea.getAppender("Nmea")).getFile()); - - APILog = Logger.getLogger("APILog"); - APILog.addAppender( getRollingFileAppender("APILog","%d %m%n ")); - APILog.info("init Logger "+APILog.getName()+" "+((RollingFileAppender)APILog.getAppender("APILog")).getFile()); - - alarmCycle = Logger.getLogger("alarmCycle"); - alarmCycle.addAppender( getRollingFileAppender("alarmCycle","%d %m%n ")); - alarmCycle.info("init Logger "+alarmCycle.getName()+" "+((RollingFileAppender)alarmCycle.getAppender("alarmCycle")).getFile()); - - Battery = Logger.getLogger("Battery"); - Battery.addAppender( getRollingFileAppender("Battery","%d %m%n ")); - Battery.info("init Logger "+Battery.getName()+" "+((RollingFileAppender)Battery.getAppender("Battery")).getFile()); - - - LBS = Logger.getLogger("LBS"); - LBS.addAppender( getRollingFileAppender("LBS","%d %m%n ")); - LBS.info("init Logger "+LBS.getName()+" "+((RollingFileAppender)LBS.getAppender("LBS")).getFile()); - isInitConfig = true; - } - } - - public static void logRAWtoFile(String filename,String msg){ - if (filename.equals("Nmea")){ - Nmea.info(msg); - }else if (filename.equals("LBS")) { - LBS.info(msg); - }else if (filename.equals("GPS")) { - GPS.info(msg); - }else if (filename.equals("APILog")) { - APILog.info(msg); - }else if (filename.equals("alarmCycle")) { - alarmCycle.info(msg); - }else if (filename.equals("Battery")) { - Battery.info(msg); - }else { - Log.info(msg); - } - } - public static void logToFile(String filename,String msg){ - if (filename.equals("Nmea")){ - Nmea.info(msg); - }else if (filename.equals("LBS")) { - LBS.info(msg); - }else if (filename.equals("GPS")) { - GPS.info(msg); - }else if (filename.equals("APILog")) { - APILog.info(msg); - }else if (filename.equals("alarmCycle")) { - alarmCycle.info(msg); - }else if (filename.equals("Battery")) { - Battery.info(msg); - }else { - Log.info(msg); - } - } - private static RollingFileAppender getRollingFileAppender(String name,String layoutpattern){ - PatternLayout fileLayout = new PatternLayout(layoutpattern); - String filename=StorageUtils.getExternalStorageLogDir()+ File.separator + name+".txt"; - RollingFileAppender rollingFileAppender= null; - try { - rollingFileAppender = new RollingFileAppender(fileLayout,filename); - } catch (IOException e) { - e.printStackTrace(); - ICLogger.e(e.getMessage(),e); - return null; - } - rollingFileAppender.setName(name); - rollingFileAppender.setMaxBackupIndex(2); //最多3个备份文件 - rollingFileAppender.setMaximumFileSize(10*1024*1024); //10M 大小 - rollingFileAppender.setImmediateFlush(true); - - return rollingFileAppender; - } - - public static void v(String msg) { - initConfig(); - if (Log!=null) - Log.debug(buildMessage(msg)); - } - - public static void v(String msg, Throwable thr) { - initConfig(); - if (Log!=null) - Log.debug(buildMessage(msg), thr); - } - - public static void d(String msg) { - initConfig(); - if (Log!=null) - Log.debug(buildMessage(msg)); - } - - public static void d(String msg, Throwable thr) { - initConfig(); - if (Log!=null) - Log.debug(buildMessage(msg), thr); - } - - public static void i(String msg) { - initConfig(); - if (Log!=null) - Log.info(buildMessage(msg)); - } - - public static void i(String msg, Throwable thr) { - initConfig(); - if (Log!=null) - Log.info(buildMessage(msg), thr); - } - - public static void w(String msg) { - initConfig(); - if (Log!=null) - Log.warn(buildMessage(msg)); - } - - public static void w(String msg, Throwable thr) { - initConfig(); - if (Log!=null) - Log.warn(buildMessage(msg), thr); - } - - public static void w(Throwable thr) { - initConfig(); - if (Log!=null) - Log.warn(buildMessage(""), thr); - } - - public static void e(String msg) { - initConfig(); - if (Log!=null) - Log.error(buildMessage(msg)); - } - - public static void e(String msg, Throwable thr) { - initConfig(); - if (Log!=null) - Log.error(buildMessage(msg), thr); - } - - public static void PrintExceptionStackTrace(Exception e){ - - StringBuffer sb=new StringBuffer(); - sb.append(e.getMessage()).append("\n"); - e.printStackTrace(new PrintStream(new OutputStream() { - @Override - public void write(int b) throws IOException { - sb.append((char)b); - } - })); - i(sb.toString()); - } - - /** - * 生成消息 - * @param msg - * @return - */ - protected static String buildMessage(String msg) { - initConfig(); - if (DEBUG && msg !=null) { - String var1 = getFunctionName(); - if (var1 != null) { - StringBuilder sb = new StringBuilder(); - sb.append(var1); - sb.append(" - "); - sb.append(msg); - return sb.toString(); - }else{ - return "msg is null"; - } - }else{ - return "msg is null"; - } - } - public static void log(String TAG, String msg) { - if (DEBUG) { - if (Log!=null)Log.debug(TAG+ " "+msg); - - } - } - - public static void log(String TAG,String funcName, String msg) { - if (DEBUG) { - if (Log!=null) - Log.debug(TAG + " [" + funcName + "]" + msg); - - } - } - -} - +package com.enqualcomm.support.utils; + +import android.content.Context; + +import com.enqualcomm.support.ICApplication; + +import org.apache.log4j.Appender; +import org.apache.log4j.FileAppender; +import org.apache.log4j.Layout; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; +import org.apache.log4j.PatternLayout; +import org.apache.log4j.RollingFileAppender; +import org.apache.log4j.spi.ErrorHandler; +import org.apache.log4j.spi.Filter; +import org.apache.log4j.spi.LoggingEvent; + +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.PrintStream; + +import de.mindpipe.android.logging.log4j.LogConfigurator; + + + +public class ICLogger { + + private static boolean isInitConfig = false; + private static Context mContext=null; + + private static Logger Log = null; + private static Logger GPS = null; + private static Logger Nmea = null; + private static Logger APILog = null; + private static Logger alarmCycle = null; + private static Logger Battery = null; + private static Logger LBS = null; + // private static java.util.logging.Logger originLog= java.util.logging.Logger.getLogger(ICLogger.class.getSimpleName()); + private static final boolean DEBUG = true; //BuildConfig.DEBUG; + + public static void setContext(Context context){ + mContext=context; + } + private static String getFunctionName() { + StackTraceElement[] currentStack = Thread.currentThread().getStackTrace(); + if (currentStack == null) { + return null; + } else { + int stackLen = currentStack.length; + + for(int i = 0; i < stackLen; ++i) { + StackTraceElement stackElement = currentStack[i]; + if (!stackElement.isNativeMethod() && !stackElement.getClassName().equals(Thread.class.getName()) && !stackElement.getClassName().equals(ICLogger.class.getName())) { + StringBuilder sb = new StringBuilder(); + sb.append("[ "); + sb.append(Thread.currentThread().getName()); + sb.append(": "); + sb.append(stackElement.getFileName()); + sb.append(":"); + sb.append(stackElement.getLineNumber()); + sb.append(" "); + sb.append(stackElement.getMethodName()); + sb.append(" ]"); + return sb.toString(); + } + } + + return null; + } + } + + /** + 初始化与配置Logger Log4j + 日志信息格式中符号所代表的含义 + (1)-X号: X信息输出时左对齐。 + (2)%p: 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL。 + (3)%d: 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002å¹´10月18日 22:10:28,921。 + (4)%r: 输出自应用启动到输出该log信息耗费的毫秒数。 + (5)%c: 输出日志信息所属的类目,通常就是所在类的全名。 + (6)%t: 输出产生该日志事件的线程名。 + (7)%l: 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java:10)。 + (8)%x: 输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。 + (9)%%: 输出一个"%"字符。 + (10)%F: 输出日志消息产生时所在的文件名称。 + (11)%L: 输出代码中的行号。 + (12)%m: 输出代码中指定的消息,产生的日志具体信息。 + (13)%n: 输出一个回车换行符,Windows平台为"\r\n",Unix平台为"\n"输出日志信息换行。 + 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如: + (1)%20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,默认的情况下右对齐。 + (2)%-20c:指定输出category的名称,最小的宽度是20,如果category的名称小于20的话,"-"号指定左对齐。 + (3)%.30c:指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格。 + (4)%20.30c:如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边交远销出的字符截掉。 + */ + private static void initConfig() { + if (!isInitConfig) { + + LogConfigurator logConfigurator = new LogConfigurator(); + + String filename=StorageUtils.getExternalStorageLogDir()+ File.separator + "log.txt"; + logConfigurator.setFileName(filename); // 日志存储路径,如果该路径没有会自动创建文件 + logConfigurator.setRootLevel(Level.ALL); + + logConfigurator.setLevel("log", Level.ALL); +// logConfigurator.setFilePattern("%d %-5p [%c{2}]-[%L] %m%n");// 设置文件输出模式 + logConfigurator.setFilePattern("%d %m%n ");// 设置文件输出模式 +// 02-29 16:28:38.195 4629-4658/com.enqualcomm.support E/com.enqualcomm.support.utils.ICLogger: + logConfigurator.setMaxBackupSize(2); // 设置最大备份数量 + logConfigurator.setMaxFileSize(1024 * 1024 * 20);// 设置最大文件大小 20MB + logConfigurator.setImmediateFlush(true);// 设置是否立即刷新 + logConfigurator.setUseFileAppender(true); // 设置用户文件输出器 + logConfigurator.setInternalDebugging(false); //控制console是否输出 + logConfigurator.setUseLogCatAppender(true); + logConfigurator.setLogCatPattern("%m%n"); + logConfigurator.configure();// 设置提交 + + +// String logfilelist[]={"Log","GPS","Nmea","APILog","alarmCycle","Battery","LBS"}; + + //Log 和log目前是同一个配置 + Log = Logger.getLogger("log"); + Log.info("init Logger "+Log.getName()); +// Log.addAppender( getRollingFileAppender("log","%d %m%n ")); +// Log.info("init Logger "+Log.getName()+" "+((RollingFileAppender)Log.getAppender("log")).getFile()); + + GPS = Logger.getLogger("GPS"); + GPS.addAppender( getRollingFileAppender("GPS","%d %m%n ")); + GPS.info("init Logger "+GPS.getName()+" "+((RollingFileAppender)GPS.getAppender("GPS")).getFile()); + + Nmea = Logger.getLogger("Nmea"); + Nmea.addAppender( getRollingFileAppender("Nmea","%m%n")); + Nmea.info("init Logger "+Nmea.getName()+" "+((RollingFileAppender)Nmea.getAppender("Nmea")).getFile()); + + APILog = Logger.getLogger("APILog"); + APILog.addAppender( getRollingFileAppender("APILog","%d %m%n ")); + APILog.info("init Logger "+APILog.getName()+" "+((RollingFileAppender)APILog.getAppender("APILog")).getFile()); + + alarmCycle = Logger.getLogger("alarmCycle"); + alarmCycle.addAppender( getRollingFileAppender("alarmCycle","%d %m%n ")); + alarmCycle.info("init Logger "+alarmCycle.getName()+" "+((RollingFileAppender)alarmCycle.getAppender("alarmCycle")).getFile()); + + Battery = Logger.getLogger("Battery"); + Battery.addAppender( getRollingFileAppender("Battery","%d %m%n ")); + Battery.info("init Logger "+Battery.getName()+" "+((RollingFileAppender)Battery.getAppender("Battery")).getFile()); + + + LBS = Logger.getLogger("LBS"); + LBS.addAppender( getRollingFileAppender("LBS","%d %m%n ")); + LBS.info("init Logger "+LBS.getName()+" "+((RollingFileAppender)LBS.getAppender("LBS")).getFile()); + isInitConfig = true; + } + } + + public static void logRAWtoFile(String filename,String msg){ + if (filename.equals("Nmea")){ + Nmea.info(msg); + }else if (filename.equals("LBS")) { + LBS.info(msg); + }else if (filename.equals("GPS")) { + GPS.info(msg); + }else if (filename.equals("APILog")) { + APILog.info(msg); + }else if (filename.equals("alarmCycle")) { + alarmCycle.info(msg); + }else if (filename.equals("Battery")) { + Battery.info(msg); + }else { + Log.info(msg); + } + } + public static void logToFile(String filename,String msg){ + if (filename.equals("Nmea")){ + Nmea.info(msg); + }else if (filename.equals("LBS")) { + LBS.info(msg); + }else if (filename.equals("GPS")) { + GPS.info(msg); + }else if (filename.equals("APILog")) { + APILog.info(msg); + }else if (filename.equals("alarmCycle")) { + alarmCycle.info(msg); + }else if (filename.equals("Battery")) { + Battery.info(msg); + }else { + Log.info(msg); + } + } + private static RollingFileAppender getRollingFileAppender(String name,String layoutpattern){ + PatternLayout fileLayout = new PatternLayout(layoutpattern); + String filename=StorageUtils.getExternalStorageLogDir()+ File.separator + name+".txt"; + RollingFileAppender rollingFileAppender= null; + try { + rollingFileAppender = new RollingFileAppender(fileLayout,filename); + } catch (IOException e) { + e.printStackTrace(); + ICLogger.e(e.getMessage(),e); + return null; + } + rollingFileAppender.setName(name); + rollingFileAppender.setMaxBackupIndex(2); //最多3个备份文件 + rollingFileAppender.setMaximumFileSize(10*1024*1024); //10M 大小 + rollingFileAppender.setImmediateFlush(true); + + return rollingFileAppender; + } + + public static void v(String msg) { + initConfig(); + if (Log!=null) + Log.debug(buildMessage(msg)); + } + + public static void v(String msg, Throwable thr) { + initConfig(); + if (Log!=null) + Log.debug(buildMessage(msg), thr); + } + + public static void d(String msg) { + initConfig(); + if (Log!=null) + Log.debug(buildMessage(msg)); + } + + public static void d(String msg, Throwable thr) { + initConfig(); + if (Log!=null) + Log.debug(buildMessage(msg), thr); + } + + public static void i(String msg) { + initConfig(); + if (Log!=null) + Log.info(buildMessage(msg)); + } + + public static void i(String msg, Throwable thr) { + initConfig(); + if (Log!=null) + Log.info(buildMessage(msg), thr); + } + + public static void w(String msg) { + initConfig(); + if (Log!=null) + Log.warn(buildMessage(msg)); + } + + public static void w(String msg, Throwable thr) { + initConfig(); + if (Log!=null) + Log.warn(buildMessage(msg), thr); + } + + public static void w(Throwable thr) { + initConfig(); + if (Log!=null) + Log.warn(buildMessage(""), thr); + } + + public static void e(String msg) { + initConfig(); + if (Log!=null) + Log.error(buildMessage(msg)); + } + + public static void e(String msg, Throwable thr) { + initConfig(); + if (Log!=null) + Log.error(buildMessage(msg), thr); + } + + public static void PrintExceptionStackTrace(Exception e){ + + StringBuffer sb=new StringBuffer(); + sb.append(e.getMessage()).append("\n"); + e.printStackTrace(new PrintStream(new OutputStream() { + @Override + public void write(int b) throws IOException { + sb.append((char)b); + } + })); + i(sb.toString()); + } + + /** + * 生成消息 + * @param msg + * @return + */ + protected static String buildMessage(String msg) { + initConfig(); + if (DEBUG && msg !=null) { + String var1 = getFunctionName(); + if (var1 != null) { + StringBuilder sb = new StringBuilder(); + sb.append(var1); + sb.append(" - "); + sb.append(msg); + return sb.toString(); + }else{ + return "functionName is null"; + } + }else{ + return "msg is null"; + } + } + public static void log(String TAG, String msg) { + if (DEBUG) { + if (Log!=null)Log.debug(TAG+ " "+msg); + + } + } + + public static void log(String TAG,String funcName, String msg) { + if (DEBUG) { + if (Log!=null) + Log.debug(TAG + " [" + funcName + "]" + msg); + + } + } + +} + diff --git a/app/src/main/java/com/enqualcomm/support/utils/TempAlgUtil.java b/app/src/main/java/com/enqualcomm/support/utils/TempAlgUtil.java index 2618fcf5..95b60312 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/TempAlgUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/TempAlgUtil.java @@ -14,13 +14,13 @@ public class TempAlgUtil { public static double get_tempOut_value_origin() { tempOut_value = ICJniUtils.getTemperatureOrigin(); - Log.i(TAG, "测量环境温度 原始值 " + tempOut_value); + ICLogger.i( "测量环境温度 原始值 " + tempOut_value); return tempOut_value; } public static double get_temp_value_adjusted() { temp_value_orig = ICJniUtils.getTemperature(); - Log.i(TAG, "测量体温 原始值 " + temp_value_orig); + ICLogger.i("测量体温 原始值 " + temp_value_orig); return temp_value_orig; } @@ -91,7 +91,7 @@ public class TempAlgUtil { String boardTempType = TempFileUtils.readFile(CMD_BOARD_TYPE); String boardTempStr = TempFileUtils.readFile(CMD_BOARD_TEM); //cpuTempType == > cpu-thmzone cpuTempStr == > 45295 gpuTempType == > gpu-thmzone gpuTempStr == > 43910 - Log.d(TAG, " cpuTempType == > " + cpuTempType + + ICLogger.d( " cpuTempType == > " + cpuTempType + " cpuTempStr == > " + cpuTempStr + "\n | " + " gpuTempType == > " + gpuTempType + diff --git a/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java b/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java index 7a4df3d7..891dcdef 100644 --- a/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java +++ b/app/src/main/java/com/enqualcomm/support/utils/TemperatureUtil.java @@ -157,6 +157,7 @@ public class TemperatureUtil { break; } } + ICLogger.i("Temperature done!"); if (Runtime.practising == true) { ICLogger.i("自由锻炼中,设置测量体温!" + String.format("%.1f", body_temp)); Runtime.healthInfo.setTemperatureData(body_temp); diff --git a/app/version_code.properties b/app/version_code.properties index 5d97b960..a5b91ffd 100644 --- a/app/version_code.properties +++ b/app/version_code.properties @@ -1,2 +1,2 @@ -#Tue Dec 22 11:45:50 CST 2020 -VERSION_CODE=738 +#Fri Dec 25 12:47:34 CST 2020 +VERSION_CODE=739