Package com.lightstreamer.client.mpn
Class AbstractMpnDevice
java.lang.Object
com.lightstreamer.client.mpn.AbstractMpnDevice
- All Implemented Interfaces:
 MpnDeviceInterface
- Direct Known Subclasses:
 MpnDevice
Abstract class representing a device that supports Mobile Push Notifications (MPN).
It contains device details and the listener needed to monitor its status.
Note: this abstract class is public due to implementation side effects. It is not meant to be implemented by the user. See
It contains device details and the listener needed to monitor its status.
Note: this abstract class is public due to implementation side effects. It is not meant to be implemented by the user. See
MpnDevice for its concrete subclass.- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidaddListener(MpnDeviceListener listener) Adds a listener that will receive events from the MPN device object.
The same listener can be added to several different MPN device objects.The application ID of this MPN device, corresponding to the package name of the application.The server-side unique persistent ID of the device.
The ID is available only after the MPN device object has been successfully registered on the server.The device token of this MPN device.List containing theMpnDeviceListenerinstances that were added to this MPN device object.The previous device token of this MPN device.The status of the device.
The status can be:UNKNOWN: when the MPN device object has just been created or deleted.longThe server-side timestamp of the device status.booleanChecks whether the MPN device object is currently registered on the server or not.
This flag is switched to true by server sent registration events, and back to false in case of client disconnection or server sent suspension events.booleanChecks whether the MPN device object is currently suspended on the server or not.
An MPN device may be suspended if errors occur during push notification delivery.
This flag is switched to true by server sent suspension events, and back to false in case of client disconnection or server sent resume events.voidremoveListener(MpnDeviceListener listener) Removes a listener from the MPN device object so that it will not receive events anymore.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.lightstreamer.client.mpn.MpnDeviceInterface
getPlatform 
- 
Constructor Details
- 
AbstractMpnDevice
public AbstractMpnDevice() 
 - 
 - 
Method Details
- 
addListener
Adds a listener that will receive events from the MPN device object.
The same listener can be added to several different MPN device objects.- Specified by:
 addListenerin interfaceMpnDeviceInterface- Parameters:
 listener- An object that will receive the events as documented in theMpnDeviceListenerinterface.- See Also:
 - Lifecycle:
 - A listener can be added at any time. A call to add a listener already present will be ignored.
 
 - 
removeListener
Removes a listener from the MPN device object so that it will not receive events anymore.- Specified by:
 removeListenerin interfaceMpnDeviceInterface- Parameters:
 listener- The listener to be removed.- See Also:
 - Lifecycle:
 - A listener can be removed at any time.
 
 - 
getListeners
List containing theMpnDeviceListenerinstances that were added to this MPN device object.- Specified by:
 getListenersin interfaceMpnDeviceInterface- Returns:
 - a list containing the listeners that were added to this device.
 - See Also:
 
 - 
isRegistered
public boolean isRegistered()Checks whether the MPN device object is currently registered on the server or not.
This flag is switched to true by server sent registration events, and back to false in case of client disconnection or server sent suspension events.- Specified by:
 isRegisteredin interfaceMpnDeviceInterface- Returns:
 - true if the MPN device object is currently registered on the server.
 - See Also:
 - Lifecycle:
 - This method can be called at any time.
 
 - 
isSuspended
public boolean isSuspended()Checks whether the MPN device object is currently suspended on the server or not.
An MPN device may be suspended if errors occur during push notification delivery.
This flag is switched to true by server sent suspension events, and back to false in case of client disconnection or server sent resume events.- Specified by:
 isSuspendedin interfaceMpnDeviceInterface- Returns:
 - true if the MPN device object is currently suspended on the server.
 - See Also:
 - Lifecycle:
 - This method can be called at any time.
 
 - 
getStatus
The status of the device.
The status can be:UNKNOWN: when the MPN device object has just been created or deleted. In this statusisRegistered()andisSuspended()are both false.REGISTERED: when the MPN device object has been successfully registered on the server. In this statusisRegistered()is true andisSuspended()is false.SUSPENDED: when a server error occurred while sending push notifications to this MPN device and consequently it has been suspended. In this statusisRegistered()andisSuspended()are both true.
- Specified by:
 getStatusin interfaceMpnDeviceInterface- Returns:
 - the status of the device.
 - See Also:
 - Lifecycle:
 - This method can be called at any time.
 
 - 
getStatusTimestamp
public long getStatusTimestamp()The server-side timestamp of the device status.- Specified by:
 getStatusTimestampin interfaceMpnDeviceInterface- Returns:
 - The server-side timestamp of the device status, expressed as a Java time.
 - See Also:
 - Lifecycle:
 - This method can be called at any time.
 
 - 
getApplicationId
The application ID of this MPN device, corresponding to the package name of the application. In theMpnDeviceimplementation it is determined automatically from the Application Context during creation and is used by the server as part of the device identification.- Specified by:
 getApplicationIdin interfaceMpnDeviceInterface- Returns:
 - the MPN device application ID.
 - Lifecycle:
 - This method can be called at any time.
 
 - 
getDeviceToken
The device token of this MPN device. In theMpnDeviceimplementation it is passed during creation and is used by the server as part of the device identification.- Specified by:
 getDeviceTokenin interfaceMpnDeviceInterface- Returns:
 - the MPN device token.
 - Lifecycle:
 - This method can be called at any time.
 
 - 
getPreviousDeviceToken
The previous device token of this MPN device. In theMpnDeviceimplementation it is obtained automatically from the Shared Preferences storage during creation and is used by the server to restore MPN subscriptions associated with this previous token. May be null if no MPN device has been registered yet on the application.- Specified by:
 getPreviousDeviceTokenin interfaceMpnDeviceInterface- Returns:
 - the previous MPN device token, or null if no MPN device has been registered yet.
 - Lifecycle:
 - This method can be called at any time.
 
 - 
getDeviceId
The server-side unique persistent ID of the device.
The ID is available only after the MPN device object has been successfully registered on the server. I.e. when its status isREGISTEREDorSUSPENDED.
Note: a device token change, if the previous device token was correctly stored on the Shared Preferences storage, does not cause the device ID to change: the server moves previous MPN subscriptions from the previous token to the new one and the device ID remains unaltered.- Specified by:
 getDeviceIdin interfaceMpnDeviceInterface- Returns:
 - the MPN device ID.
 - Lifecycle:
 - This method can be called at any time.
 
 
 -