/** * Method returns the state source(s) result(s) (contains state value(s)) of the input batteryState. * * @param batteryState The BatteryState. * @return state source(s) result(s) of the input state. */ private List<RdfNodeObject> batteryStateSources(final BatteryState batteryState) { final List<RdfNodeObject> stateSources = new ArrayList<>(); final String batteryStateVal = batteryState.getValue().toString(); stateSources.add(new RdfNodeObject(new ArrayList<String>() {{add(batteryStateVal);}}, false)); final String batteryLevelVal = "\"" + String.valueOf(batteryState.getLevel()) + "\"^^NS:Percent"; stateSources.add(new RdfNodeObject(new ArrayList<String>() {{add(batteryLevelVal);}}, true)); return stateSources; }
@Override protected void updateDynamicComponents() { try { batteryLevelBar.setValue((int) getProviderService().getBatteryState().getLevel()); batteryLevelBar.setString("Battery Level = " + batteryLevelBar.getValue() + "%"); switch (getProviderService().getBatteryState().getValue()) { case OK: stateColorPanel.setBackground(Color.GREEN.darker()); break; case CRITICAL: stateColorPanel.setBackground(Color.ORANGE.darker()); break; case INSUFFICIENT: stateColorPanel.setBackground(Color.RED.darker()); break; case UNKNOWN: stateColorPanel.setBackground(Color.GRAY); break; default: break; } stateLabel.setText(getProviderService().getBatteryState().getValue().name()); } catch (CouldNotPerformException ex) { ExceptionPrinter.printHistory(ex, logger); } } }
@Override protected void applyDataUpdate(BatteryData.Builder internalBuilder, ServiceType serviceType) { switch (serviceType) { case BATTERY_STATE_SERVICE: if (!internalBuilder.getBatteryState().hasValue() || internalBuilder.getBatteryState().getValue() == BatteryState.State.UNKNOWN) { if (internalBuilder.getBatteryState().getLevel() <= 5) { internalBuilder.getBatteryStateBuilder().setValue(BatteryState.State.INSUFFICIENT); } else if (internalBuilder.getBatteryState().getLevel() <= 15) { internalBuilder.getBatteryStateBuilder().setValue(BatteryState.State.CRITICAL); } else { internalBuilder.getBatteryStateBuilder().setValue(BatteryState.State.OK); } } break; } } }
/** * Get the battery level between 0 and 100. * * @param batteryState the state * @return the current battery level */ public static Double transform(BatteryState batteryState) { return batteryState.getLevel(); } }