/** * 请求车辆列表 * * @param userName */ public synchronized void queryVehicleList(Context context) { if (!isLogin) { return; } final String userName = PreferenceUtil.getString(this, BaseActivity.SETTING_INFOS, BaseActivity.NAME); final boolean oilPriceSaved = !TextUtils.isEmpty( PreferenceUtil.getString( this, BaseActivity.SETTING_INFOS, BaseActivity.EXTRA_DEFAULT_OIL_PRICE)); QueryVehicleListRequest request = new QueryVehicleListRequest(); request.setApiParams(userName); request.doRequest( context, new AsyncJsonBaseResponseParseHandler<VehicleListResponse>() { @Override public void onParseSuccess(VehicleListResponse result, String originResult) { super.onParseSuccess(result, originResult); if (!oilPriceSaved) { PreferenceUtil.putString( getApplicationContext(), BaseActivity.SETTING_INFOS, BaseActivity.EXTRA_DEFAUL_TOIL_KIND, result.getDefaultOilKind()); PreferenceUtil.putString( getApplicationContext(), BaseActivity.SETTING_INFOS, BaseActivity.EXTRA_DEFAULT_OIL_PRICE, result.getDefaultOilPrice()); } List<VehicleInfo> vehicleList = result.getVehicleList(); if (vehicleList == null || vehicleList.isEmpty()) { // 原来的连接该停掉 stopScanOBD(); } else { setDefaultVehicleBindOBDs(vehicleList); } } @Override public Class<VehicleListResponse> getTypeClass() { return VehicleListResponse.class; } }); }
public synchronized void setDefaultVehicleBindOBDs(List<VehicleInfo> data) { initDefaultVehicleList(); sVehicleList.clear(); sVehicleList.addAll(data); // 更新本地车辆数据库 VehicleManager manager = new VehicleManager(); String userNo = PreferenceUtil.getString(mInstance, BaseActivity.SETTING_INFOS, BaseActivity.NAME); manager.updateAllVehicle(userNo, data); List<OBDBindInfo> newObdData = new ArrayList<OBDBindInfo>(); MainActivity.defaultBrandAndModle = ""; PreferenceUtil.remove(this, BaseActivity.SETTING_INFOS, BaseActivity.BRAND); PreferenceUtil.remove(this, BaseActivity.SETTING_INFOS, BaseActivity.MODEL); PreferenceUtil.remove(this, BaseActivity.SETTING_INFOS, BaseActivity.VEHICLENUM); PreferenceUtil.remove(this, BaseActivity.SETTING_INFOS, BaseActivity.VEHICLE_MODE_ID); if (data == null || data.isEmpty()) { stopScanOBD(); sObdLists.clear(); return; } for (VehicleInfo vehicle : data) { if ("YES".equals(vehicle.getIsDefault())) { String vehiBrand = vehicle.getVehicleBrand(); String vehiModel = vehicle.getVehicleModel(); String vehiNo = vehicle.getVehicleNo(); String vehiModelId = vehicle.getVehicleModelId(); if (TextUtils.isEmpty(vehiBrand)) { vehiBrand = ""; } else { PreferenceUtil.putString(this, BaseActivity.SETTING_INFOS, BaseActivity.BRAND, vehiBrand); } if (TextUtils.isEmpty(vehiModel)) { vehiModel = ""; } else { PreferenceUtil.putString(this, BaseActivity.SETTING_INFOS, BaseActivity.MODEL, vehiModel); } if (!TextUtils.isEmpty(vehiNo)) { PreferenceUtil.putString( this, BaseActivity.SETTING_INFOS, BaseActivity.VEHICLENUM, vehiNo); } if (!TextUtils.isEmpty(vehiModelId)) { PreferenceUtil.putString( this, BaseActivity.SETTING_INFOS, BaseActivity.VEHICLE_MODE_ID, vehiModelId); } MainActivity.defaultBrandAndModle = vehiBrand + " " + vehiModel; if (TextUtils.isEmpty(vehicle.getObdSN())) { stopScanOBD(); continue; } } String obdAddress = vehicle.getObdSN(); if (TextUtils.isEmpty(obdAddress)) { continue; } OBDBindInfo obd = new OBDBindInfo(); obd.setVehicleInfo(vehicle); obd.setObdSN(obdAddress); obd.setIsDefault(vehicle.getIsDefault()); TongGouApplication.showLog(obdAddress + " " + vehicle.getVehicleNo()); newObdData.add(obd); } if (TongGouApplication.connetedOBD && sObdLists.containsAll(newObdData) && newObdData.containsAll(sObdLists)) { TongGouApplication.showLog( "obdLists.containsAll(newObdData) && newObdData.containsAll(obdLists)"); } else { sObdLists.clear(); sObdLists.addAll(newObdData); doScanOBDAndPulling(); } }
public void saveSomeInformation( Context context, LoginResponse loginResponse, SharedPreferences sharedPreferences, String userID, String userPassword) { if (!TextUtils.isEmpty(userID)) { PreferenceUtil.putString(context, BaseActivity.SETTING_INFOS, BaseActivity.NAME, userID); } if (!TextUtils.isEmpty(userPassword)) { PreferenceUtil.putString( context, BaseActivity.SETTING_INFOS, BaseActivity.PASSWORD, userPassword); } // if(imageVersion!=null&&!"".equals(imageVersion)){ // sharedPreferences.edit() // .putString(BaseActivity.SCREEN, imageVersion).commit(); // } // sharedPreferences.edit().putBoolean(BaseActivity.LOGINED, // true).commit(); // obdLists = loginParser.getLoginResponse().getObdList(); // mLoginHandler.sendEmptyMessage(0); setLogin(true); AppConfig appConfig = loginResponse.getAppConfig(); if (appConfig != null) { String obdReadInterval = appConfig.getObdReadInterval(); if (obdReadInterval != null && !"".equals(obdReadInterval)) { sharedPreferences .edit() .putString(BaseActivity.APPCONFIG_OBD_READ_INTERVAL, obdReadInterval) .commit(); } String serverReadInterval = appConfig.getServerReadInterval(); if (serverReadInterval != null && !"".equals(serverReadInterval)) { sharedPreferences .edit() .putString(BaseActivity.APPCONFIG_SERVER_READ_INTERVAL, serverReadInterval) .commit(); } String mileageInformInterval = appConfig.getMileageInformInterval(); if (mileageInformInterval != null && !"".equals(mileageInformInterval)) { sharedPreferences .edit() .putString(BaseActivity.APPCONFIG_MILEAGE_INFORM_INTERVAL, mileageInformInterval) .commit(); } String appVehicleErrorCodeWarnIntervals = appConfig.getAppVehicleErrorCodeWarnIntervals(); if (appVehicleErrorCodeWarnIntervals != null && !"".equals(appVehicleErrorCodeWarnIntervals)) { sharedPreferences .edit() .putString( BaseActivity.APPCONFIG_ERROR_ALERT_INTERVAL, appVehicleErrorCodeWarnIntervals) .commit(); } String remainOilMassWarn = appConfig.getRemainOilMassWarn(); if (remainOilMassWarn != null && !"".equals(remainOilMassWarn)) { // sharedPreferences.edit().putString(BaseActivity.APPCONFIG_OIL_ALERT_INTERVAL, // remainOilMassWarn).commit(); if (remainOilMassWarn.indexOf("_") != -1) { try { TongGouService.interOne = Integer.parseInt(remainOilMassWarn.substring(0, remainOilMassWarn.indexOf("_"))); TongGouService.interTwo = Integer.parseInt(remainOilMassWarn.substring(remainOilMassWarn.indexOf("_") + 1)); } catch (NumberFormatException er) { } } } } List<OBDBindInfo> obdList = loginResponse.getObdList(); List<VehicleInfo> vehicleList = new ArrayList<VehicleInfo>(); for (OBDBindInfo obd : obdList) { VehicleInfo vehicleInfo = obd.getVehicleInfo(); if (vehicleInfo != null) { vehicleInfo.setObdSN(obd.getObdSN()); vehicleList.add(vehicleInfo); } } PreferenceUtil.remove(this, BaseActivity.SETTING_INFOS, BaseActivity.BRAND); PreferenceUtil.remove(this, BaseActivity.SETTING_INFOS, BaseActivity.MODEL); PreferenceUtil.remove(this, BaseActivity.SETTING_INFOS, BaseActivity.VEHICLENUM); PreferenceUtil.remove(this, BaseActivity.SETTING_INFOS, BaseActivity.VEHICLE_MODE_ID); if (vehicleList.isEmpty()) { queryVehicleList(context); } else { setDefaultVehicleBindOBDs(vehicleList); } // doScanOBDAndPulling(); }