/** * Creates a NotificationAction control panel for the given objectPath <br> * The method should be used after establishment a session with a controllable device * * @param objectPath The object path to the created control panel * @return {@link ControlPanelCollection} * @throws ControlPanelException */ public ControlPanelCollection createNotificationAction(String objectPath) throws ControlPanelException { if (sessionId == null) { throw new ControlPanelException( "The session wasn't established, can't create a ControlPanelCollection"); } if (objectPath == null) { throw new ControlPanelException("Received an undefined objectPath"); } Log.i(TAG, "Creating a NotificationAction control panel, objectPath: '" + objectPath + "'"); String[] segments = CommunicationUtil.parseObjPath(objectPath); String unitId = segments[0]; String panelName = segments[1]; Unit unit = new Unit(this, unitId); ControlPanelCollection coll = unit.createControlPanelCollection(objectPath, panelName); coll.retrievePanels(); coll.handleNotificationAction(); return coll; } // addNotificationAction
/** * Cleans the {@link ControlPanelCollection} that was created following the invocation of the * createNotificationAction() method. <br> * It's important to call this method after the NotificationAction control panel has been * completed * * @param panelCollection The {@link ControlPanelCollection} to be cleaned out */ public void removeNotificationAction(ControlPanelCollection panelCollection) { panelCollection.getUnit().release(); } // removeNotificationAction