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 Classes
    Modifier and Type
    Class
    Description
    class 
    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

    Fields
    Modifier and Type
    Field
    Description
    final 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
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    int
     
    android.app.Notification
    getNotificationForPlayback(String notificationPlayback)
    Method which creates a notification based on the given string
    boolean
     
    boolean
     
    boolean
     
    boolean
     
    android.os.IBinder
    onBind(android.content.Intent intent)
    Return the communication channel to the service.
    void
    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 calling Context.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 displayed
    void
    updateNotificationAndLockScreen(String notificationText, String channelTitle, String imageUrl)
     
    void
    updateNotificationForPause(String notificationPlayback)
    Method which updates a notification based on the given string

    Methods 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • 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 returned IBinder 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 class android.app.Service
      Parameters:
      intent - The Intent that was used to bind to this service, as given to Context.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 class android.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 class android.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 calling Context.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 class android.app.Service
      Parameters:
      intent - The Intent supplied to Context.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 except Service.START_STICKY_COMPATIBILITY.
      flags - Additional data about this start request. Currently either 0, Service.START_FLAG_REDELIVERY, or Service.START_FLAG_RETRY.
      startId - A unique integer representing this specific request to start. Use with Service.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

      public void setCurrentChannelImageURl(String mCurrentChannelImageURl)
    • 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

      public void setCurrentDemoFile(String currentDemoFile)
    • getDelayTime

      public int getDelayTime()
    • startPlayback

      public 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 displayed
      Parameters:
      channelName - The channel name which will be used for the notification
    • getNotificationForPlayback

      public android.app.Notification getNotificationForPlayback(String notificationPlayback)
      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

      public void updateNotificationForPause(String notificationPlayback)
      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

      public void updateNotificationAndLockScreen(String notificationText, String channelTitle, String imageUrl)
    • 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

      public void setChanneltitle(String channelTitle)
    • setChannelKey

      public void setChannelKey(String channelKey)