public Template onGetTemplate()

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();
    }