Пример #1
0
  /**
   * 请求车辆列表
   *
   * @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;
          }
        });
  }
Пример #2
0
  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();
    }
  }
Пример #3
0
  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();

  }