private void parseDeviceInfo()

in java/remoteprovisioning/DeviceInfo.java [54:111]


  private void parseDeviceInfo(CBORObject deviceInfo) throws CborException {
    if (deviceInfo.getType() != CBORType.Array) {
      throw new CborException(
        "DeviceInfo type wrong", CBORType.Array, deviceInfo.getType(), CborException.TYPE_MISMATCH);
    }
    if (deviceInfo.size() != DEVICE_INFO_NUM_ENTRIES) {
      throw new CborException(
        "DeviceInfo has incorrect number of entries.",
        DEVICE_INFO_NUM_ENTRIES, deviceInfo.size(), CborException.INCORRECT_LENGTH);
    }
    if (deviceInfo.get(DEVICE_INFO_VERIFIED).getType() != CBORType.Map) {
      throw new CborException(
        "DeviceInfoVerified type wrong",
        CBORType.Map, deviceInfo.get(DEVICE_INFO_VERIFIED).getType(), CborException.TYPE_MISMATCH);
    }
    if (deviceInfo.get(DEVICE_INFO_UNVERIFIED).getType() != CBORType.Map) {
      throw new CborException(
        "DeviceInfoUnverified type wrong",
        CBORType.Map,
        deviceInfo.get(DEVICE_INFO_UNVERIFIED).getType(),
        CborException.TYPE_MISMATCH);
    }
    CBORObject devInfoVerified = deviceInfo.get(DEVICE_INFO_VERIFIED);
    mBrand = Optional.ofNullable(devInfoVerified.get("brand")).map(x -> x.AsString()).orElse("");
    mManufacturer =
        Optional.ofNullable(devInfoVerified.get("manufacturer")).map(x -> x.AsString()).orElse("");
    mProduct =
        Optional.ofNullable(devInfoVerified.get("product")).map(x -> x.AsString()).orElse("");
    mModel = Optional.ofNullable(devInfoVerified.get("model")).map(x -> x.AsString()).orElse("");
    mBoard = Optional.ofNullable(devInfoVerified.get("board")).map(x -> x.AsString()).orElse("");
    mDevice = Optional.ofNullable(devInfoVerified.get("device")).map(x -> x.AsString()).orElse("");
    mVbState =
        Optional.ofNullable(devInfoVerified.get("vb_state")).map(x -> x.AsString()).orElse("");
    mBootloaderState =
        Optional.ofNullable(
            devInfoVerified.get("bootloader_state")).map(x -> x.AsString()).orElse("");
    mVbmetaDigest =
        Optional.ofNullable(devInfoVerified.get("vbmeta_digest")).map(x -> x.AsString()).orElse("");
    mOsVersion =
        Optional.ofNullable(devInfoVerified.get("os_version")).map(x -> x.AsString()).orElse("");
    mSystemPatchLevel =
        Optional.ofNullable(
            devInfoVerified.get("system_patch_level")).map(x -> x.AsInt32()).orElse(-1);
    mBootPatchLevel =
        Optional.ofNullable(
            devInfoVerified.get("boot_patch_level")).map(x -> x.AsInt32()).orElse(-1);
    mVendorPatchLevel =
        Optional.ofNullable(
            devInfoVerified.get("vendor_patch_level")).map(x -> x.AsInt32()).orElse(-1);
    mVersion =
        Optional.ofNullable(devInfoVerified.get("version")).map(x -> x.AsInt32()).orElse(-1);
    mSecurityLevel =
        Optional.ofNullable(
            devInfoVerified.get("security_level")).map(x -> x.AsString()).orElse("");
    CBORObject devInfoUnverified = deviceInfo.get(DEVICE_INFO_UNVERIFIED);
    mFingerprint =
        Optional.ofNullable(devInfoUnverified.get("fingerprint")).map(x -> x.AsString()).orElse("");
  }