Class AntPlusGenericRemoteControlPcc
java.lang.Object
com.dsi.ant.plugins.antplus.pccbase.AntPluginPcc
com.dsi.ant.plugins.antplus.pccbase.AntPlusCommonPcc
com.dsi.ant.plugins.antplus.pcc.controls.pccbase.AntPlusBaseRemoteControlPcc
com.dsi.ant.plugins.antplus.pcc.controls.AntPlusGenericRemoteControlPcc
Enables communication between a client and the RemoteControl plugin service.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Receiver for the GenericCommandFinished event, which is: Receives the result of a sent generic command.class
Defines the keys and values used to communicate between the PCC and plugin.Nested classes/interfaces inherited from class com.dsi.ant.plugins.antplus.pcc.controls.pccbase.AntPlusBaseRemoteControlPcc
AntPlusBaseRemoteControlPcc.ControlDeviceCapabilities, AntPlusBaseRemoteControlPcc.IControlDeviceAvailabilityReceiver, AntPlusBaseRemoteControlPcc.IRemoteControlAsyncScanResultReceiver, AntPlusBaseRemoteControlPcc.RemoteControlAsyncScanController<T extends AntPlusBaseRemoteControlPcc>, AntPlusBaseRemoteControlPcc.RemoteControlAsyncScanResultDeviceInfo
Nested classes/interfaces inherited from class com.dsi.ant.plugins.antplus.pccbase.AntPlusCommonPcc
AntPlusCommonPcc.CommonDataPage, AntPlusCommonPcc.IBatteryStatusReceiver, AntPlusCommonPcc.IManufacturerIdentificationReceiver, AntPlusCommonPcc.IManufacturerSpecificDataReceiver, AntPlusCommonPcc.IProductInformationReceiver, AntPlusCommonPcc.IRequestFinishedReceiver, AntPlusCommonPcc.IRssiReceiver
Nested classes/interfaces inherited from class com.dsi.ant.plugins.antplus.pccbase.AntPluginPcc
AntPluginPcc.IDeviceStateChangeReceiver, AntPluginPcc.IPluginAccessResultReceiver<T extends AntPluginPcc>, AntPluginPcc.RequestAccessResultHandler<T extends AntPluginPcc>, AntPluginPcc.RequestAccessResultHandler_AsyncSearchByDevNumber<T extends AntPluginPcc>, AntPluginPcc.RequestAccessResultHandler_UI<T extends AntPluginPcc>, AntPluginPcc.StandardReleaseHandle<T extends AntPluginPcc>
-
Field Summary
Fields inherited from class com.dsi.ant.plugins.antplus.pccbase.AntPlusCommonPcc
mRequestFinishedReceiver
Fields inherited from class com.dsi.ant.plugins.antplus.pccbase.AntPluginPcc
mReleaseHandle, mStateChangeReceiver, PATH_ANTPLUS_PLUGINS_PKG, reportedServiceVersion, supportsRssiEvent
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
protected void
handlePluginEvent
(android.os.Message eventMsg) requestAccessByDeviceNumber
(EnumSet<ControlsMode> requestModes, android.content.Context bindToContext, int antDeviceNumber, int searchProximityThreshold, AntPluginPcc.IPluginAccessResultReceiver<AntPlusGenericRemoteControlPcc> resultReceiver, AntPluginPcc.IDeviceStateChangeReceiver stateReceiver) Sends a request to the plugin to access a device and receive a live PCC instance.void
RequestGenericCommand
(AntPlusGenericRemoteControlPcc.IGenericCommandFinishedReceiver genericCommandFinishedReceiver, GenericCommandNumber commandNumber) Commands sent by a remote control to initiate an action on a generic controllable device.void
RequestGenericCommandSequence
(byte[] rawCommandBytes) Burst commands sent by a remote control to initiate an action on a generic controllable device.requestRemoteControlAsyncScanController
(EnumSet<ControlsMode> requestModes, android.content.Context bindToContext, int searchProximityThreshold, AntPlusBaseRemoteControlPcc.IRemoteControlAsyncScanResultReceiver scanResultReceiver) Sends a request to the plugin to start an asynchronous search for available devices.Methods inherited from class com.dsi.ant.plugins.antplus.pcc.controls.pccbase.AntPlusBaseRemoteControlPcc
getRequiredServiceVersionForBind, getServiceBindIntent, requestAccessRemoteControl_Helper, requestAccessRemoteControl_Helper, subscribeControlDeviceAvailabilityEvent
Methods inherited from class com.dsi.ant.plugins.antplus.pccbase.AntPlusCommonPcc
requestCommonDataPage, requestManufacturerSpecificDataPage, sendManufacturerSpecificDataPage, sendRequestCommand, sendRequestCommand, sendRequestCommand, sendRequestCommand, subscribeBatteryStatusEvent, subscribeManufacturerIdentificationEvent, subscribeManufacturerSpecificDataEvent, subscribeProductInformationEvent, subscribeRssiEvent, supportsRssi
Methods inherited from class com.dsi.ant.plugins.antplus.pccbase.AntPluginPcc
bindAndRequest, closePluginConnection, createCmdMsg, getAntDeviceNumber, getCurrentDeviceState, getDeviceName, getInstalledPluginsVersionNumber, getInstalledPluginsVersionString, getMissingDependencyName, getMissingDependencyPackageName, handleNonCmdPluginMessage, isUserPreferredDeviceForPlugin, isUserRecognizedDevice, releaseAccess, requestAccess_Helper_AsyncScanController, requestAccess_Helper_AsyncSearchByDevNumber, requestAccess_Helper_Main, requestAccess_Helper_SearchActivity, requestAccess_Helper_SubMain, requestAsyncScan_Helper_SubMain, sendPluginCommand, sendPluginCommand, startPluginManagerActivity, subscribeToEvent, unsubscribeFromEvent
-
Method Details
-
requestRemoteControlAsyncScanController
public static AntPlusBaseRemoteControlPcc.RemoteControlAsyncScanController<AntPlusGenericRemoteControlPcc> requestRemoteControlAsyncScanController(EnumSet<ControlsMode> requestModes, android.content.Context bindToContext, int searchProximityThreshold, AntPlusBaseRemoteControlPcc.IRemoteControlAsyncScanResultReceiver scanResultReceiver) Sends a request to the plugin to start an asynchronous search for available devices. Using the returned AudioRemoteAsyncScanner you can view available devices (including devices already connected to the plugin by other applications), receive user saved info and preferences for available devices, and eventually request access to a device you desire to connect to.
Note: The scan is started automatically, and must be stopped by your application to avoid resource leaks. (See the controller documentation for more details:AntPlusBaseRemoteControlPcc.RemoteControlAsyncScanController
.- Parameters:
requestModes
- The modes that found devices must be capable of in order to be used.bindToContext
- The context to which the plugin will be bound. Used for plugin lifecycle management.searchProximityThreshold
- This value represents the signal strength 'proximity' requirement on finding matches during searching, if a device does not meet the requirements it will not show up in the search at all. The value is a generic signal strength rating from 1-10 where 1 is the strongest (ie: closest) and 10 is the lowest(ie: farthest away). 0 = don't use proximity search.scanResultReceiver
- The receiver to receive the info for available devices and status of the scan.- Returns:
- The controller object for the asynchronous controller. Note: The scan is started automatically,
and must be stopped by your application to avoid resource leaks.
(See the controller documentation for more details:
AntPlusBaseRemoteControlPcc.RemoteControlAsyncScanController
.
-
requestAccessByDeviceNumber
public static PccReleaseHandle<AntPlusGenericRemoteControlPcc> requestAccessByDeviceNumber(EnumSet<ControlsMode> requestModes, android.content.Context bindToContext, int antDeviceNumber, int searchProximityThreshold, AntPluginPcc.IPluginAccessResultReceiver<AntPlusGenericRemoteControlPcc> resultReceiver, AntPluginPcc.IDeviceStateChangeReceiver stateReceiver) Sends a request to the plugin to access a device and receive a live PCC instance. If the minimum version of the desired plugin is installed, this will start an asynchronous search for a device to connect to and return the result on the provided result receiver.
The plugin will attempt to connect to a device with the provided deviceNumber and return a result when the device is connected or the search fails. The search will timeout after 10s, if you wish to keep searching you can call this method again.
Note: If you set deviceNumber to 0 it will connect to the first available/found device.- Parameters:
requestModes
- A set containing the desiredControlsMode
that must match the capabilities of found devices in order to connect.bindToContext
- The context to which the plugin will be bound. Used for plugin lifecycle management.antDeviceNumber
- DeviceNumber to attempt to connect to. A deviceNumber of 0 indicates a desire to connect to first available device.searchProximityThreshold
- This value represents the signal strength 'proximity' requirement on finding matches during searching, if a device does not meet the requirements it will not show up in the search at all. The value is a generic signal strength threshold from 1-10 where 1 is the strongest (ie: closest) and 10 is the lowest(ie: farthest away). 0 = don't use proximity search.resultReceiver
- The receiver to receive the results of the request. Possible returns include:stateReceiver
- The receiver to receive the state updates of the accessed device, assuming the request is successful. This receiver will receive notifications of all state changes to the device that occur subsequent to the initial state returned in the result receiver.- Returns:
- A release handle for the device. This can be used to guarantee the device is properly shutdown and cleaned up, even before the device is actually received through the result receiver.
-
getPluginPrintableName
- Specified by:
getPluginPrintableName
in classAntPluginPcc
-
handlePluginEvent
protected void handlePluginEvent(android.os.Message eventMsg) - Overrides:
handlePluginEvent
in classAntPlusBaseRemoteControlPcc
-
RequestGenericCommand
public void RequestGenericCommand(AntPlusGenericRemoteControlPcc.IGenericCommandFinishedReceiver genericCommandFinishedReceiver, GenericCommandNumber commandNumber) Commands sent by a remote control to initiate an action on a generic controllable device.- Parameters:
genericCommandFinishedReceiver
- command result receivercommandNumber
- the command number
-
RequestGenericCommandSequence
public void RequestGenericCommandSequence(byte[] rawCommandBytes) Burst commands sent by a remote control to initiate an action on a generic controllable device.- Parameters:
rawCommandBytes
- The raw byte contents of a list of generic commands.
-