-[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":879,"versionName":"2106282242","enabled":true,"outputFile":"ICSer_V879_2106282242_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V879_2106282242_release.apk","properties":{}}]
\ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":880,"versionName":"2106291941","enabled":true,"outputFile":"ICSer_V880_2106291941_release.apk","fullName":"release","baseName":"release"},"path":"ICSer_V880_2106291941_release.apk","properties":{}}]
\ No newline at end of file
<action android:name="com.enqualcomm.support.OTHER_ALARM_START" />
<action android:name="com.ic.action.VIDEO_CALL" />
<action android:name="com.ic.fzd.action.WEATHER" />
+ <action android:name="com.ic.s123.action.WEATHER" />
<action android:name="com.ic.power.ACTION_ALARM_POWER_OFF" />
</intent-filter>
</service>
--- /dev/null
+
+package com.ic.s123;
+
+import com.ic.s123.S123WeatherInfo;
+
+interface IS123WeatherCallback {
+ void onWeatherLoaded(in List<S123WeatherInfo> resultList);
+}
\ No newline at end of file
--- /dev/null
+
+package com.ic.s123;
+
+import com.ic.s123.IS123WeatherCallback;
+
+interface IS123WeatherService {
+ void registerCallback(in IS123WeatherCallback callback);
+ void unRegisterCallback(in IS123WeatherCallback callback);
+ void getWeatherInfo();
+}
\ No newline at end of file
--- /dev/null
+
+package com.ic.s123;
+
+parcelable S123WeatherInfo;
\ No newline at end of file
import com.ic.jni.ICJniUtils;
import com.ic.protocols.protocolAPIHelper;
import com.ic.protocols.protocol_fzd;
+import com.ic.protocols.protocol_s123;
+import com.ic.s123.IS123WeatherCallback;
+import com.ic.s123.IS123WeatherService;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
String action = intent.getAction();
if ("com.ic.action.VIDEO_CALL".equals(action)) {
try {
- if(Config.protocol_no == Config.PROTOCOL_FZD) {
+ if (Config.protocol_no == Config.PROTOCOL_FZD) {
mFZDService.getBRId();
mFZDService.getContacts();
- }else{
+ } else {
//need user implement for other protocol
}
return mFZDService;
} else if ("com.ic.fzd.action.WEATHER".equals(action)) {
return mFZDWeatherService;
+ } else if ("com.ic.s123.action.WEATHER".equals(action)) {
+ //S123获取天气
+ return mS123WeatherService;
}
return this.mMessenger.getBinder();
}
this.connection.close();
}
+ private final IS123WeatherService.Stub mS123WeatherService = new IS123WeatherService.Stub() {
+ @Override
+ public void registerCallback(IS123WeatherCallback callback) {
+ runtime.registerS123WeatherCallback(callback);
+ }
+
+ @Override
+ public void unRegisterCallback(IS123WeatherCallback callback) {
+ runtime.registerS123WeatherCallback(null);
+ }
+
+ @Override
+ public void getWeatherInfo() {
+ //获取一下数据
+ getS123WeatherInfo();
+ }
+ };
+
+ private void getS123WeatherInfo() {
+ //获取天气信息
+ StringMessage wt = protocol_s123.APTQ(runtime);
+ connection.send(wt);
+ }
+
private final IFZDWeatherService.Stub mFZDWeatherService = new IFZDWeatherService.Stub() {
@Override
public void registerCallback(IFZDWeatherCallback callback) {
import com.enqualcomm.support.utils.ICLogger;
import com.enqualcomm.support.utils.LanguageUtils;
import com.ic.fzd.weather.IFZDWeatherCallback;
+import com.ic.s123.IS123WeatherCallback;
+import com.ic.s123.S123WeatherInfo;
import java.io.File;
+import java.util.List;
public class Runtime {
private boolean debugflag = false;
}
+ public IS123WeatherCallback mS123WeatherCallback = null;
+
+ public void registerS123WeatherCallback(IS123WeatherCallback callback) {
+ mS123WeatherCallback = callback;
+ }
+
+ public void updateS123Weather(List<S123WeatherInfo> S123WeatherInfo) {
+ if (mS123WeatherCallback != null) {
+ try {
+ mS123WeatherCallback.onWeatherLoaded(S123WeatherInfo);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+
public enum AlarmType {
ALARM_SOS, //sos
ALARM_LOWBATTERY, //低电
}
//Gator 使用
- public void setmccmnc(String mccmnc){
+ public void setmccmnc(String mccmnc) {
this.mccAndMnc = mccmnc;
}
+
//实际上是分别设置MCC和MNC
public void setMccAndMnc(String MccMnc) {
return mLBSMultiStationData;
}
- public String getGatorLBSData(){
+ public String getGatorLBSData() {
// String netstat="46 00 002482 0000DE127";
// MCC(%03d)+MNC(%03d)+LACID(%04X)+CELLID(%07X)+RX LEVEL(%02X),
StringBuilder sb = new StringBuilder();
- int mcc=0;
- int mnc=0;
+ int mcc = 0;
+ int mnc = 0;
try {
mcc = Integer.parseInt(gpsp.getMCC());
mnc = Integer.parseInt(gpsp.getMNC());
- }catch (Exception e){
- ICLogger.e(e.getMessage(),e);
+ } catch (Exception e) {
+ ICLogger.e(e.getMessage(), e);
}
- sb.append(String.format("%1$03d",mcc))
- .append(String.format("%1$03d",mnc))
- .append(String.format("%1$04X",gpsp.getLAC()))
- .append(String.format("%1$07X",gpsp.getGSMStationCID()))
- .append(String.format("%1$02X",gpsp.getRxlevel()));
+ sb.append(String.format("%1$03d", mcc))
+ .append(String.format("%1$03d", mnc))
+ .append(String.format("%1$04X", gpsp.getLAC()))
+ .append(String.format("%1$07X", gpsp.getGSMStationCID()))
+ .append(String.format("%1$02X", gpsp.getRxlevel()));
return sb.toString();
}
+
public String getLBSData() {
// 460,0,9520,3671 : LBS基站数据,MCC国家码,460为中国,0:MNC,0为移动,9520:LAC,十进制,3671,CID,十进制
import com.enqualcomm.support.utils.AESCipher;
import com.enqualcomm.support.utils.Connection;
import com.enqualcomm.support.utils.ICLogger;
-import com.enqualcomm.support.utils.TimeUtil;
import static com.enqualcomm.support.Config.PROTOCOL_ANAN;
}
public static int getDefaultServerPort() {
-
int ret = 8090;
switch (Config.protocol_no) {
case Config.PROTOCOL_JIAI:
ret = null;
break;
case Config.PROTOCOL_S123:
- ret = protocol_ic.APBR(runtime);
+ ret = protocol_s123.APBR(runtime);
break;
case Config.PROTOCOL_GATOR:
ret = null;
import com.enqualcomm.support.utils.Util;
import com.enqualcomm.support.utils.VibrateUtil;
import com.enqualcomm.support.utils.WakeLockUtil;
+import com.ic.s123.S123WeatherInfo;
import com.ic.view.msg.MsgMustReadDialog;
import java.io.File;
StringBuilder sb = new StringBuilder();
StringBuilder msg = new StringBuilder();
+ String City = Util.decodeUnicode2Utf8(cmdlist[22]);
+ List<S123WeatherInfo> weatherInfo = new ArrayList<>();
for (int i = 0; i < 3; i++) {
String DayTime = cmdlist[1 + i * 7] + " " + cmdlist[2 + i * 7];
String date = "20" + cmdlist[1 + i * 7].trim();
msg.append("," + temp_high);
msg.append("," + temp_low);
msg.append(";");
- }
- String City = Util.decodeUnicode2Utf8(cmdlist[22]);
+ //返回数据给UI
+ S123WeatherInfo itemFirst = new S123WeatherInfo(DayTime,
+ weather_name, weather_id, temp_current, temp_low, temp_high, City);
+ //封装数据
+ weatherInfo.add(itemFirst);
+ }
ICLogger.i(City + " \n" + sb.toString());
msg.insert(0, City + ";");
intent.putExtra(Constants.KEY_Weather, weatherstr);
ICLogger.i("send Broadcast " + Constants.ACTION_WEATHER_RECEIVED + "\n" + weatherstr + "\n");
CoreService.getInstance().sendBroadcast(intent);
-
+ mRuntime.updateS123Weather(weatherInfo);
} else {
ICLogger.i(" BPTQ Format error!");
}
*/
//在UI逻辑中,只要有处理就都是已经阅读。所以不存在取消阅读的说法。
- return genStringMessage(cmdMap.get(protocol_s123.CMD_TYPE.AP94), new StringBuffer(CMDHEADER).append(cmdMap.get(protocol_s123.CMD_TYPE.AP94))
- .append(CMDSPLIT).append(Runtime.PushtxtMsg_srv_index)
- .append(CMDSPLIT).append("1")
- .append(CMDEND).toString());
+ return genStringMessage(cmdMap.get(protocol_s123.CMD_TYPE.AP94),
+ new StringBuffer(CMDHEADER).append(cmdMap.get(protocol_s123.CMD_TYPE.AP94))
+ .append(CMDSPLIT).append(Runtime.PushtxtMsg_srv_index)
+ .append(CMDSPLIT).append("1")
+ .append(CMDEND).toString());
}
-
public static StringMessage APAT(String id, String cmd) {
- return genStringMessage("APAT", new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APAT))
- .append(CMDSPLIT).append(id)
- .append(CMDSPLIT).append(cmd)
- .append(CMDEND).toString());
+ return genStringMessage("APAT",
+ new StringBuffer(CMDHEADER).append(cmdMap.get(CMD_TYPE.APAT))
+ .append(CMDSPLIT).append(id)
+ .append(CMDSPLIT).append(cmd)
+ .append(CMDEND).toString());
}
/***
--- /dev/null
+package com.ic.s123;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public class S123WeatherInfo implements Parcelable {
+
+ private String time;
+
+ private String description;
+
+ private String weatherCode;
+
+ private String currentTemp;
+
+ private String highTemp;
+ private String lowTemp;
+ private String cityName;
+
+ protected S123WeatherInfo(Parcel in) {
+ time = in.readString();
+ description = in.readString();
+ weatherCode = in.readString();
+ currentTemp = in.readString();
+ highTemp = in.readString();
+ lowTemp = in.readString();
+ cityName = in.readString();
+ }
+
+ public S123WeatherInfo(String time,
+ String description,
+ String weatherCode,
+ String currentTemp,
+ String highTemp,
+ String lowTemp,
+ String cityName) {
+ this.time = time;
+ this.description = description;
+ this.weatherCode = weatherCode;
+ this.currentTemp = currentTemp;
+ this.highTemp = highTemp;
+ this.lowTemp = lowTemp;
+ this.cityName = cityName;
+ }
+
+ public S123WeatherInfo() {
+
+ }
+
+ public static final Creator<S123WeatherInfo> CREATOR = new Creator<S123WeatherInfo>() {
+ @Override
+ public S123WeatherInfo createFromParcel(Parcel in) {
+ return new S123WeatherInfo(in);
+ }
+
+ @Override
+ public S123WeatherInfo[] newArray(int size) {
+ return new S123WeatherInfo[size];
+ }
+ };
+
+ public String getTime() {
+ return time;
+ }
+
+ public void setTime(String time) {
+ this.time = time;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getWeatherCode() {
+ return weatherCode;
+ }
+
+ public void setWeatherCode(String weatherCode) {
+ this.weatherCode = weatherCode;
+ }
+
+ public String getCurrentTemp() {
+ return currentTemp;
+ }
+
+ public void setCurrentTemp(String currentTemp) {
+ this.currentTemp = currentTemp;
+ }
+
+ public String getHighTemp() {
+ return highTemp;
+ }
+
+ public void setHighTemp(String highTemp) {
+ this.highTemp = highTemp;
+ }
+
+ public String getLowTemp() {
+ return lowTemp;
+ }
+
+ public void setLowTemp(String lowTemp) {
+ this.lowTemp = lowTemp;
+ }
+
+ public String getCityName() {
+ return cityName;
+ }
+
+ public void setCityName(String cityName) {
+ this.cityName = cityName;
+ }
+
+ @Override
+ public int describeContents() {
+ return 0;
+ }
+
+ @Override
+ public void writeToParcel(Parcel dest, int flags) {
+ dest.writeString(time);
+ dest.writeString(description);
+ dest.writeString(weatherCode);
+ dest.writeString(currentTemp);
+ dest.writeString(highTemp);
+ dest.writeString(lowTemp);
+ dest.writeString(cityName);
+ }
+}
-#Mon Jun 28 22:42:14 CST 2021\r
+#Tue Jun 29 19:41:46 CST 2021\r
>>>>>>>=b405d1184f3616d4e894d199cee0eb91613a68db\r
-VERSION_CODE=879\r
-=\=\=\=\=\=\=\r
+VERSION_CODE=880\r
<<<<<<<=HEAD\r
+=\=\=\=\=\=\=\r