in car_app_library/showcase/common/src/main/java/androidx/car/app/sample/showcase/common/misc/CarHardwareInfoScreen.java [123:189]
public Template onGetTemplate() {
Pane.Builder paneBuilder = new Pane.Builder();
if (allInfoAvailable()) {
Row.Builder modelRowBuilder = new Row.Builder()
.setTitle("Model Information");
if (!mHasModelPermission) {
modelRowBuilder.addText("No Model Permission.");
} else {
StringBuilder info = new StringBuilder();
if (mModel.getManufacturer().getStatus() != CarValue.STATUS_SUCCESS) {
info.append("Manufacturer unavailable, ");
} else {
info.append(mModel.getManufacturer().getValue());
info.append(", ");
}
if (mModel.getName().getStatus() != CarValue.STATUS_SUCCESS) {
info.append("Model unavailable, ");
} else {
info.append(mModel.getName().getValue());
info.append(", ");
}
if (mModel.getYear().getStatus() != CarValue.STATUS_SUCCESS) {
info.append("Year unavailable");
} else {
info.append(mModel.getYear().getValue());
}
modelRowBuilder.addText(info);
}
paneBuilder.addRow(modelRowBuilder.build());
Row.Builder energyProfileRowBuilder = new Row.Builder()
.setTitle("Energy Profile");
if (!mHasEnergyProfilePermission) {
energyProfileRowBuilder.addText("No Energy Profile Permission.");
} else {
StringBuilder fuelInfo = new StringBuilder();
if (mEnergyProfile.getFuelTypes().getStatus() != CarValue.STATUS_SUCCESS) {
fuelInfo.append("Fuel Types: Unavailable.");
} else {
fuelInfo.append("Fuel Types: ");
for (int fuelType : mEnergyProfile.getFuelTypes().getValue()) {
fuelInfo.append(fuelTypeAsString(fuelType));
fuelInfo.append(" ");
}
}
energyProfileRowBuilder.addText(fuelInfo);
StringBuilder evInfo = new StringBuilder();
if (mEnergyProfile.getEvConnectorTypes().getStatus() != CarValue.STATUS_SUCCESS) {
evInfo.append(" EV Connector Types: Unavailable.");
} else {
evInfo.append("EV Connector Types: ");
for (int connectorType : mEnergyProfile.getEvConnectorTypes().getValue()) {
evInfo.append(evConnectorAsString(connectorType));
evInfo.append(" ");
}
}
energyProfileRowBuilder.addText(evInfo);
}
paneBuilder.addRow(energyProfileRowBuilder.build());
} else {
paneBuilder.setLoading(true);
}
return new PaneTemplate.Builder(paneBuilder.build())
.setHeaderAction(Action.BACK)
.setTitle("Car Hardware Information")
.build();
}