Class PlaybackService
java.lang.Object
android.content.Context
android.content.ContextWrapper
android.app.Service
com.exxothermic.audioeverywheresdk.business.services.PlaybackService
- All Implemented Interfaces:
android.content.ComponentCallbacks
,android.content.ComponentCallbacks2
public class PlaybackService
extends android.app.Service
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclass
Class that will encapsulate the local binder for this service.class
Callback class to handle Media session events Play/Pause, Next/Previous Required for Android 13+Nested classes/interfaces inherited from class android.content.Context
android.content.Context.BindServiceFlags
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal String
protected MessagingHelper
static final int
static final String
Fields inherited from class android.app.Service
START_CONTINUATION_MASK, START_FLAG_REDELIVERY, START_FLAG_RETRY, START_NOT_STICKY, START_REDELIVER_INTENT, START_STICKY, START_STICKY_COMPATIBILITY, STOP_FOREGROUND_DETACH, STOP_FOREGROUND_LEGACY, STOP_FOREGROUND_REMOVE
Fields inherited from class android.content.Context
ACCESSIBILITY_SERVICE, ACCOUNT_SERVICE, ACTIVITY_SERVICE, ALARM_SERVICE, APP_OPS_SERVICE, APP_SEARCH_SERVICE, APPWIDGET_SERVICE, AUDIO_SERVICE, BATTERY_SERVICE, BIND_ABOVE_CLIENT, BIND_ADJUST_WITH_ACTIVITY, BIND_ALLOW_ACTIVITY_STARTS, BIND_ALLOW_OOM_MANAGEMENT, BIND_AUTO_CREATE, BIND_DEBUG_UNBIND, BIND_EXTERNAL_SERVICE, BIND_EXTERNAL_SERVICE_LONG, BIND_IMPORTANT, BIND_INCLUDE_CAPABILITIES, BIND_NOT_FOREGROUND, BIND_NOT_PERCEPTIBLE, BIND_SHARED_ISOLATED_PROCESS, BIND_WAIVE_PRIORITY, BIOMETRIC_SERVICE, BLOB_STORE_SERVICE, BLUETOOTH_SERVICE, BUGREPORT_SERVICE, CAMERA_SERVICE, CAPTIONING_SERVICE, CARRIER_CONFIG_SERVICE, CLIPBOARD_SERVICE, COMPANION_DEVICE_SERVICE, CONNECTIVITY_DIAGNOSTICS_SERVICE, CONNECTIVITY_SERVICE, CONSUMER_IR_SERVICE, CONTEXT_IGNORE_SECURITY, CONTEXT_INCLUDE_CODE, CONTEXT_RESTRICTED, CREDENTIAL_SERVICE, CROSS_PROFILE_APPS_SERVICE, DEVICE_ID_DEFAULT, DEVICE_ID_INVALID, DEVICE_LOCK_SERVICE, DEVICE_POLICY_SERVICE, DISPLAY_HASH_SERVICE, DISPLAY_SERVICE, DOMAIN_VERIFICATION_SERVICE, DOWNLOAD_SERVICE, DROPBOX_SERVICE, EUICC_SERVICE, FILE_INTEGRITY_SERVICE, FINGERPRINT_SERVICE, GAME_SERVICE, GRAMMATICAL_INFLECTION_SERVICE, HARDWARE_PROPERTIES_SERVICE, HEALTHCONNECT_SERVICE, INPUT_METHOD_SERVICE, INPUT_SERVICE, IPSEC_SERVICE, JOB_SCHEDULER_SERVICE, KEYGUARD_SERVICE, LAUNCHER_APPS_SERVICE, LAYOUT_INFLATER_SERVICE, LOCALE_SERVICE, LOCATION_SERVICE, MEDIA_COMMUNICATION_SERVICE, MEDIA_METRICS_SERVICE, MEDIA_PROJECTION_SERVICE, MEDIA_ROUTER_SERVICE, MEDIA_SESSION_SERVICE, MIDI_SERVICE, MODE_APPEND, MODE_ENABLE_WRITE_AHEAD_LOGGING, MODE_MULTI_PROCESS, MODE_NO_LOCALIZED_COLLATORS, MODE_PRIVATE, MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE, NETWORK_STATS_SERVICE, NFC_SERVICE, NOTIFICATION_SERVICE, NSD_SERVICE, OVERLAY_SERVICE, PEOPLE_SERVICE, PERFORMANCE_HINT_SERVICE, POWER_SERVICE, PRINT_SERVICE, RECEIVER_EXPORTED, RECEIVER_NOT_EXPORTED, RECEIVER_VISIBLE_TO_INSTANT_APPS, RESTRICTIONS_SERVICE, ROLE_SERVICE, SEARCH_SERVICE, SENSOR_SERVICE, SHORTCUT_SERVICE, STATUS_BAR_SERVICE, STORAGE_SERVICE, STORAGE_STATS_SERVICE, SYSTEM_HEALTH_SERVICE, TELECOM_SERVICE, TELEPHONY_IMS_SERVICE, TELEPHONY_SERVICE, TELEPHONY_SUBSCRIPTION_SERVICE, TEXT_CLASSIFICATION_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, TV_INPUT_SERVICE, TV_INTERACTIVE_APP_SERVICE, UI_MODE_SERVICE, USAGE_STATS_SERVICE, USB_SERVICE, USER_SERVICE, VIBRATOR_MANAGER_SERVICE, VIBRATOR_SERVICE, VIRTUAL_DEVICE_SERVICE, VPN_MANAGEMENT_SERVICE, WALLPAPER_SERVICE, WIFI_AWARE_SERVICE, WIFI_P2P_SERVICE, WIFI_RTT_RANGING_SERVICE, WIFI_SERVICE, WINDOW_SERVICE
Fields inherited from interface android.content.ComponentCallbacks2
TRIM_MEMORY_BACKGROUND, TRIM_MEMORY_COMPLETE, TRIM_MEMORY_MODERATE, TRIM_MEMORY_RUNNING_CRITICAL, TRIM_MEMORY_RUNNING_LOW, TRIM_MEMORY_RUNNING_MODERATE, TRIM_MEMORY_UI_HIDDEN
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
android.app.Notification
getNotificationForPlayback
(String notificationPlayback) Method which creates a notification based on the given stringboolean
boolean
boolean
boolean
android.os.IBinder
onBind
(android.content.Intent intent) Return the communication channel to the service.void
onCreate()
Called by the system when the service is first created.void
Called by the system to notify a Service that it is no longer used and is being removed.int
onStartCommand
(android.content.Intent intent, int flags, int startId) Called by the system every time a client explicitly starts the service by callingContext.startService(android.content.Intent)
, providing the arguments it supplied and a unique integer token representing the start request.void
Method that receives the audio from the network.void
setChannelKey
(String channelKey) void
setChanneltitle
(String channelTitle) void
setCurrentChannelImageURl
(String mCurrentChannelImageURl) void
setCurrentDemoFile
(String currentDemoFile) void
setmInStereo
(boolean mInStereo) void
setmServiceIsOnDemoMode
(boolean mServiceIsOnDemoMode) void
setmUseLoudspeaker
(boolean mUseLoudspeaker) void
setRunning
(boolean running) void
setUpdatingChannels
(boolean updChannels) void
startPlayback
(String channelName) Method which starts the playback by requesting the audio focus, if granted the streamed audio packets will be processed and a notification with the channel name will be displayedvoid
updateNotificationAndLockScreen
(String notificationText, String channelTitle, String imageUrl) void
updateNotificationForPause
(String notificationPlayback) Method which updates a notification based on the given stringMethods inherited from class android.app.Service
attachBaseContext, dump, getApplication, getForegroundServiceType, onConfigurationChanged, onLowMemory, onRebind, onStart, onTaskRemoved, onTimeout, onTrimMemory, onUnbind, startForeground, startForeground, stopForeground, stopForeground, stopSelf, stopSelf, stopSelfResult
Methods inherited from class android.content.ContextWrapper
bindIsolatedService, bindService, bindService, bindService, bindService, bindServiceAsUser, bindServiceAsUser, checkCallingOrSelfPermission, checkCallingOrSelfUriPermission, checkCallingOrSelfUriPermissions, checkCallingPermission, checkCallingUriPermission, checkCallingUriPermissions, checkPermission, checkSelfPermission, checkUriPermission, checkUriPermission, checkUriPermissions, clearWallpaper, createAttributionContext, createConfigurationContext, createContext, createContextForSplit, createDeviceContext, createDeviceProtectedStorageContext, createDisplayContext, createPackageContext, createWindowContext, createWindowContext, databaseList, deleteDatabase, deleteFile, deleteSharedPreferences, enforceCallingOrSelfPermission, enforceCallingOrSelfUriPermission, enforceCallingPermission, enforceCallingUriPermission, enforcePermission, enforceUriPermission, enforceUriPermission, fileList, getApplicationContext, getApplicationInfo, getAssets, getAttributionSource, getAttributionTag, getBaseContext, getCacheDir, getClassLoader, getCodeCacheDir, getContentResolver, getDatabasePath, getDataDir, getDeviceId, getDir, getDisplay, getExternalCacheDir, getExternalCacheDirs, getExternalFilesDir, getExternalFilesDirs, getExternalMediaDirs, getFilesDir, getFileStreamPath, getMainExecutor, getMainLooper, getNoBackupFilesDir, getObbDir, getObbDirs, getOpPackageName, getPackageCodePath, getPackageManager, getPackageName, getPackageResourcePath, getParams, getResources, getSharedPreferences, getSystemService, getSystemServiceName, getTheme, getWallpaper, getWallpaperDesiredMinimumHeight, getWallpaperDesiredMinimumWidth, grantUriPermission, isDeviceProtectedStorage, isRestricted, isUiContext, moveDatabaseFrom, moveSharedPreferencesFrom, openFileInput, openFileOutput, openOrCreateDatabase, openOrCreateDatabase, peekWallpaper, registerComponentCallbacks, registerDeviceIdChangeListener, registerReceiver, registerReceiver, registerReceiver, registerReceiver, removeStickyBroadcast, removeStickyBroadcastAsUser, revokeSelfPermissionsOnKill, revokeUriPermission, revokeUriPermission, sendBroadcast, sendBroadcast, sendBroadcast, sendBroadcastAsUser, sendBroadcastAsUser, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcast, sendOrderedBroadcastAsUser, sendStickyBroadcast, sendStickyBroadcast, sendStickyBroadcastAsUser, sendStickyOrderedBroadcast, sendStickyOrderedBroadcastAsUser, setTheme, setWallpaper, setWallpaper, startActivities, startActivities, startActivity, startActivity, startForegroundService, startInstrumentation, startIntentSender, startIntentSender, startService, stopService, unbindService, unregisterComponentCallbacks, unregisterDeviceIdChangeListener, unregisterReceiver, updateServiceGroup
Methods inherited from class android.content.Context
bindIsolatedService, getColor, getColorStateList, getDrawable, getString, getString, getSystemService, getText, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, obtainStyledAttributes, revokeSelfPermissionOnKill, sendBroadcastWithMultiplePermissions
-
Field Details
-
mMessagingHelper
-
SERVICE_ID
public static final int SERVICE_ID- See Also:
-
LOG_TAG
- See Also:
-
WORKER_TAG
- See Also:
-
-
Constructor Details
-
PlaybackService
public PlaybackService()
-
-
Method Details
-
onBind
public android.os.IBinder onBind(android.content.Intent intent) Return the communication channel to the service. May return null if clients can not bind to the service. The returnedIBinder
is usually for a complex interface that has been described using aidl.Note that unlike other application components, calls on to the IBinder interface returned here may not happen on the main thread of the process. More information about the main thread can be found in Processes and Threads.
- Specified by:
onBind
in classandroid.app.Service
- Parameters:
intent
- The Intent that was used to bind to this service, as given toContext.bindService
. Note that any extras that were included with the Intent at that point will not be seen here.- Returns:
- Return an IBinder through which clients can call on to the service.
-
onCreate
public void onCreate()Called by the system when the service is first created. Do not call this method directly.- Overrides:
onCreate
in classandroid.app.Service
-
onDestroy
public void onDestroy()Called by the system to notify a Service that it is no longer used and is being removed. The service should clean up any resources it holds (threads, registered receivers, etc) at this point. Upon return, there will be no more calls in to this Service object and it is effectively dead. Do not call this method directly.- Overrides:
onDestroy
in classandroid.app.Service
-
onStartCommand
public int onStartCommand(android.content.Intent intent, int flags, int startId) Called by the system every time a client explicitly starts the service by callingContext.startService(android.content.Intent)
, providing the arguments it supplied and a unique integer token representing the start request. Do not call this method directly.- Overrides:
onStartCommand
in classandroid.app.Service
- Parameters:
intent
- The Intent supplied toContext.startService(android.content.Intent)
, as given. This may be null if the service is being restarted after its process has gone away, and it had previously returned anything exceptService.START_STICKY_COMPATIBILITY
.flags
- Additional data about this start request. Currently either 0,Service.START_FLAG_REDELIVERY
, orService.START_FLAG_RETRY
.startId
- A unique integer representing this specific request to start. Use withService.stopSelfResult(int)
.- Returns:
- The return value indicates what semantics the system should
use for the service's current started state. It may be one of the
constants associated with the
Service.START_CONTINUATION_MASK
bits. - See Also:
-
Service.stopSelfResult(int)
-
isUpdatingChannels
public boolean isUpdatingChannels() -
setUpdatingChannels
public void setUpdatingChannels(boolean updChannels) -
isRunning
public boolean isRunning() -
setRunning
public void setRunning(boolean running) -
setCurrentChannelImageURl
-
isInStereo
public boolean isInStereo() -
setmInStereo
public void setmInStereo(boolean mInStereo) -
ismUseLoudspeaker
public boolean ismUseLoudspeaker() -
setmUseLoudspeaker
public void setmUseLoudspeaker(boolean mUseLoudspeaker) -
setmServiceIsOnDemoMode
public void setmServiceIsOnDemoMode(boolean mServiceIsOnDemoMode) -
setCurrentDemoFile
-
getDelayTime
public int getDelayTime() -
startPlayback
Method which starts the playback by requesting the audio focus, if granted the streamed audio packets will be processed and a notification with the channel name will be displayed- Parameters:
channelName
- The channel name which will be used for the notification
-
getNotificationForPlayback
Method which creates a notification based on the given string- Parameters:
notificationPlayback
- The channel name which will be used as a text and a ticker- Returns:
- The playback notification
-
updateNotificationForPause
Method which updates a notification based on the given string- Parameters:
notificationPlayback
- The channel name which will be used as a text and a ticker Update notification
-
updateNotificationAndLockScreen
-
RecvAudio
public void RecvAudio()Method that receives the audio from the network. Also configures the AudioTrack to play the sound with the given format -
setChanneltitle
-
setChannelKey
-