Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
CXBMCApp Class Reference

#include <XBMCApp.h>

Inheritance diagram for CXBMCApp:
IActivityHandler CJNIMainActivity ANNOUNCEMENT::IAnnouncer

Public Member Functions

 CXBMCApp (ANativeActivity *nativeActivity)
 
virtual ~CXBMCApp ()
 
virtual void Announce (ANNOUNCEMENT::AnnouncementFlag flag, const char *sender, const char *message, const CVariant &data) override
 
virtual void onReceive (CJNIIntent intent) override
 
virtual void onNewIntent (CJNIIntent intent) override
 
virtual void onActivityResult (int requestCode, int resultCode, CJNIIntent resultData) override
 
virtual void onVolumeChanged (int volume) override
 
virtual void onAudioFocusChange (int focusChange)
 
virtual void doFrame (int64_t frameTimeNanos) override
 
virtual void onVisibleBehindCanceled () override
 
void onInputDeviceAdded (int deviceId) override
 
void onInputDeviceChanged (int deviceId) override
 
void onInputDeviceRemoved (int deviceId) override
 
void onDisplayAdded (int displayId) override
 
void onDisplayChanged (int displayId) override
 
void onDisplayRemoved (int displayId) override
 
jni::jhobject getDisplayListener ()
 
bool isValid ()
 
const ANativeActivity * getActivity () const
 
void onStart () override
 
void onResume () override
 
void onPause () override
 
void onStop () override
 
void onDestroy () override
 
void onSaveState (void **data, size_t *size) override
 
void onConfigurationChanged () override
 
void onLowMemory () override
 
void onCreateWindow (ANativeWindow *window) override
 
void onResizeWindow () override
 
void onDestroyWindow () override
 
void onGainFocus () override
 
void onLostFocus () override
 
void Initialize ()
 
void Deinitialize ()
 
void OnPlayBackStarted ()
 
void OnPlayBackPaused ()
 
void OnPlayBackStopped ()
 
void UpdateSessionMetadata ()
 
void UpdateSessionState ()
 
void ProcessSlow ()
 
bool getVideosurfaceInUse ()
 
void setVideosurfaceInUse (bool videosurfaceInUse)
 
void surfaceChanged (CJNISurfaceHolder holder, int format, int width, int height) override
 
void surfaceCreated (CJNISurfaceHolder holder) override
 
void surfaceDestroyed (CJNISurfaceHolder holder) override
 
- Public Member Functions inherited from CJNIMainActivity
 CJNIMainActivity (const ANativeActivity *nativeActivity)
 
 ~CJNIMainActivity ()
 
CJNIRect getDisplayRect ()
 
- Public Member Functions inherited from ANNOUNCEMENT::IAnnouncer
 IAnnouncer ()=default
 
virtual ~IAnnouncer ()=default
 

Static Public Member Functions

static CXBMCAppget ()
 
static ANativeWindowGetNativeWindow (int timeout)
 
static int SetBuffersGeometry (int width, int height, int format)
 
static int android_printf (const char *format,...)
 
static int GetBatteryLevel ()
 
static bool EnableWakeLock (bool on)
 
static bool HasFocus ()
 
static bool IsHeadsetPlugged ()
 
static bool IsHDMIPlugged ()
 
static bool StartActivity (const std::string &package, const std::string &intent=std::string(), const std::string &dataType=std::string(), const std::string &dataURI=std::string())
 
static std::vector< androidPackageGetApplications ()
 
static bool GetExternalStorage (std::string &path, const std::string &type="")
 If external storage is available, it returns the path for the external storage (for the specified type) More...
 
static bool GetStorageUsage (const std::string &path, std::string &usage)
 
static int GetMaxSystemVolume ()
 
static float GetSystemVolume ()
 
static void SetSystemVolume (float percent)
 
static void SetRefreshRate (float rate)
 
static void SetDisplayMode (int mode, float rate)
 
static int GetDPI ()
 
static CRect MapRenderToDroid (const CRect &srcRect)
 
static int WaitForActivityResult (const CJNIIntent &intent, int requestCode, CJNIIntent &result)
 
static void RegisterInputDeviceCallbacks (IInputDeviceCallbacks *handler)
 
static void UnregisterInputDeviceCallbacks ()
 
static const CJNIViewInputDevice GetInputDevice (int deviceId)
 
static std::vector< int > GetInputDeviceIds ()
 
static void RegisterInputDeviceEventHandler (IInputDeviceEventHandler *handler)
 
static void UnregisterInputDeviceEventHandler ()
 
static bool onInputDeviceEvent (const AInputEvent *event)
 
static void InitFrameCallback (CVideoSyncAndroid *syncImpl)
 
static void DeinitFrameCallback ()
 
static bool WaitVSync (unsigned int milliSeconds)
 
static int64_t GetNextFrameTime ()
 
static float GetFrameLatencyMs ()
 
- Static Public Member Functions inherited from CJNIMainActivity
static CJNIMainActivityGetAppInstance ()
 
static void _onNewIntent (JNIEnv *env, jobject context, jobject intent)
 
static void _onActivityResult (JNIEnv *env, jobject context, jint requestCode, jint resultCode, jobject resultData)
 
static void _onVolumeChanged (JNIEnv *env, jobject context, jint volume)
 
static void _doFrame (JNIEnv *env, jobject context, jlong frameTimeNanos)
 
static void _onInputDeviceAdded (JNIEnv *env, jobject context, jint deviceId)
 
static void _onInputDeviceChanged (JNIEnv *env, jobject context, jint deviceId)
 
static void _onInputDeviceRemoved (JNIEnv *env, jobject context, jint deviceId)
 
static void _onVisibleBehindCanceled (JNIEnv *env, jobject context)
 
static void _callNative (JNIEnv *env, jobject context, jlong funcAddr, jlong variantAddr)
 
static void runNativeOnUiThread (void(*callback)(CVariant *), CVariant *variant)
 
static void registerMediaButtonEventReceiver ()
 
static void unregisterMediaButtonEventReceiver ()
 

Protected Member Functions

bool AcquireAudioFocus ()
 
bool ReleaseAudioFocus ()
 

Static Protected Member Functions

static int GetMaxSystemVolume (JNIEnv *env)
 
static void RequestVisibleBehind (bool requested)
 

Friends

class CAESinkAUDIOTRACK
 

Constructor & Destructor Documentation

◆ CXBMCApp()

CXBMCApp::CXBMCApp ( ANativeActivity *  nativeActivity)
explicit

◆ ~CXBMCApp()

CXBMCApp::~CXBMCApp ( )
virtual

Member Function Documentation

◆ AcquireAudioFocus()

bool CXBMCApp::AcquireAudioFocus ( )
protected

◆ android_printf()

int CXBMCApp::android_printf ( const char *  format,
  ... 
)
static

◆ Announce()

void CXBMCApp::Announce ( ANNOUNCEMENT::AnnouncementFlag  flag,
const char *  sender,
const char *  message,
const CVariant data 
)
overridevirtual

◆ DeinitFrameCallback()

void CXBMCApp::DeinitFrameCallback ( )
static

◆ Deinitialize()

void CXBMCApp::Deinitialize ( )

◆ doFrame()

void CXBMCApp::doFrame ( int64_t  frameTimeNanos)
overridevirtual

Implements CJNIMainActivity.

◆ EnableWakeLock()

bool CXBMCApp::EnableWakeLock ( bool  on)
static

◆ get()

static CXBMCApp * CXBMCApp::get ( )
inlinestatic

◆ getActivity()

const ANativeActivity * CXBMCApp::getActivity ( ) const
inline

◆ GetApplications()

std::vector< androidPackage > CXBMCApp::GetApplications ( )
static

◆ GetBatteryLevel()

int CXBMCApp::GetBatteryLevel ( )
static

◆ getDisplayListener()

jni::jhobject CXBMCApp::getDisplayListener ( )
inline

◆ GetDPI()

int CXBMCApp::GetDPI ( )
static

◆ GetExternalStorage()

bool CXBMCApp::GetExternalStorage ( std::string &  path,
const std::string &  type = "" 
)
static

If external storage is available, it returns the path for the external storage (for the specified type)

Parameters
pathwill contain the path of the external storage (for the specified type)
typeoptional type. Possible values are "", "files", "music", "videos", "pictures", "photos, "downloads"
Returns
true if external storage is available and a valid path has been stored in the path parameter

◆ GetFrameLatencyMs()

float CXBMCApp::GetFrameLatencyMs ( )
static

◆ GetInputDevice()

const CJNIViewInputDevice CXBMCApp::GetInputDevice ( int  deviceId)
static

◆ GetInputDeviceIds()

std::vector< int > CXBMCApp::GetInputDeviceIds ( )
static

◆ GetMaxSystemVolume() [1/2]

int CXBMCApp::GetMaxSystemVolume ( )
static

◆ GetMaxSystemVolume() [2/2]

int CXBMCApp::GetMaxSystemVolume ( JNIEnv env)
staticprotected

◆ GetNativeWindow()

ANativeWindow * CXBMCApp::GetNativeWindow ( int  timeout)
static

◆ GetNextFrameTime()

int64_t CXBMCApp::GetNextFrameTime ( )
static

◆ GetStorageUsage()

bool CXBMCApp::GetStorageUsage ( const std::string &  path,
std::string &  usage 
)
static

◆ GetSystemVolume()

float CXBMCApp::GetSystemVolume ( )
static

◆ getVideosurfaceInUse()

bool CXBMCApp::getVideosurfaceInUse ( )

◆ HasFocus()

static bool CXBMCApp::HasFocus ( )
inlinestatic

◆ InitFrameCallback()

void CXBMCApp::InitFrameCallback ( CVideoSyncAndroid syncImpl)
static

◆ Initialize()

void CXBMCApp::Initialize ( void  )

◆ IsHDMIPlugged()

bool CXBMCApp::IsHDMIPlugged ( )
static

◆ IsHeadsetPlugged()

bool CXBMCApp::IsHeadsetPlugged ( )
static

◆ isValid()

bool CXBMCApp::isValid ( )
inline

◆ MapRenderToDroid()

CRect CXBMCApp::MapRenderToDroid ( const CRect srcRect)
static

◆ onActivityResult()

void CXBMCApp::onActivityResult ( int  requestCode,
int  resultCode,
CJNIIntent  resultData 
)
overridevirtual

Implements CJNIMainActivity.

◆ onAudioFocusChange()

void CXBMCApp::onAudioFocusChange ( int  focusChange)
virtual

◆ onConfigurationChanged()

void CXBMCApp::onConfigurationChanged ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onCreateWindow()

void CXBMCApp::onCreateWindow ( ANativeWindow window)
overridevirtual

Reimplemented from IActivityHandler.

◆ onDestroy()

void CXBMCApp::onDestroy ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onDestroyWindow()

void CXBMCApp::onDestroyWindow ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onDisplayAdded()

void CXBMCApp::onDisplayAdded ( int  displayId)
overridevirtual

Implements CJNIMainActivity.

◆ onDisplayChanged()

void CXBMCApp::onDisplayChanged ( int  displayId)
overridevirtual

Implements CJNIMainActivity.

◆ onDisplayRemoved()

void CXBMCApp::onDisplayRemoved ( int  displayId)
overridevirtual

Implements CJNIMainActivity.

◆ onGainFocus()

void CXBMCApp::onGainFocus ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onInputDeviceAdded()

void CXBMCApp::onInputDeviceAdded ( int  deviceId)
override

◆ onInputDeviceChanged()

void CXBMCApp::onInputDeviceChanged ( int  deviceId)
override

◆ onInputDeviceEvent()

bool CXBMCApp::onInputDeviceEvent ( const AInputEvent *  event)
static

◆ onInputDeviceRemoved()

void CXBMCApp::onInputDeviceRemoved ( int  deviceId)
override

◆ onLostFocus()

void CXBMCApp::onLostFocus ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onLowMemory()

void CXBMCApp::onLowMemory ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onNewIntent()

void CXBMCApp::onNewIntent ( CJNIIntent  intent)
overridevirtual

Implements CJNIMainActivity.

◆ onPause()

void CXBMCApp::onPause ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ OnPlayBackPaused()

void CXBMCApp::OnPlayBackPaused ( )

◆ OnPlayBackStarted()

void CXBMCApp::OnPlayBackStarted ( )

◆ OnPlayBackStopped()

void CXBMCApp::OnPlayBackStopped ( )

◆ onReceive()

void CXBMCApp::onReceive ( CJNIIntent  intent)
overridevirtual

◆ onResizeWindow()

void CXBMCApp::onResizeWindow ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onResume()

void CXBMCApp::onResume ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onSaveState()

void CXBMCApp::onSaveState ( void **  data,
size_t *  size 
)
overridevirtual

Reimplemented from IActivityHandler.

◆ onStart()

void CXBMCApp::onStart ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onStop()

void CXBMCApp::onStop ( )
overridevirtual

Reimplemented from IActivityHandler.

◆ onVisibleBehindCanceled()

void CXBMCApp::onVisibleBehindCanceled ( )
overridevirtual

Implements CJNIMainActivity.

◆ onVolumeChanged()

void CXBMCApp::onVolumeChanged ( int  volume)
overridevirtual

Implements CJNIMainActivity.

◆ ProcessSlow()

void CXBMCApp::ProcessSlow ( )

◆ RegisterInputDeviceCallbacks()

void CXBMCApp::RegisterInputDeviceCallbacks ( IInputDeviceCallbacks handler)
static

◆ RegisterInputDeviceEventHandler()

void CXBMCApp::RegisterInputDeviceEventHandler ( IInputDeviceEventHandler handler)
static

◆ ReleaseAudioFocus()

bool CXBMCApp::ReleaseAudioFocus ( )
protected

◆ RequestVisibleBehind()

void CXBMCApp::RequestVisibleBehind ( bool  requested)
staticprotected

◆ SetBuffersGeometry()

int CXBMCApp::SetBuffersGeometry ( int  width,
int  height,
int  format 
)
static

◆ SetDisplayMode()

void CXBMCApp::SetDisplayMode ( int  mode,
float  rate 
)
static

◆ SetRefreshRate()

void CXBMCApp::SetRefreshRate ( float  rate)
static

◆ SetSystemVolume()

void CXBMCApp::SetSystemVolume ( float  percent)
static

◆ setVideosurfaceInUse()

void CXBMCApp::setVideosurfaceInUse ( bool  videosurfaceInUse)

◆ StartActivity()

bool CXBMCApp::StartActivity ( const std::string &  package,
const std::string &  intent = std::string(),
const std::string &  dataType = std::string(),
const std::string &  dataURI = std::string() 
)
static

◆ surfaceChanged()

void CXBMCApp::surfaceChanged ( CJNISurfaceHolder  holder,
int  format,
int  width,
int  height 
)
override

◆ surfaceCreated()

void CXBMCApp::surfaceCreated ( CJNISurfaceHolder  holder)
override

◆ surfaceDestroyed()

void CXBMCApp::surfaceDestroyed ( CJNISurfaceHolder  holder)
override

◆ UnregisterInputDeviceCallbacks()

void CXBMCApp::UnregisterInputDeviceCallbacks ( )
static

◆ UnregisterInputDeviceEventHandler()

void CXBMCApp::UnregisterInputDeviceEventHandler ( )
static

◆ UpdateSessionMetadata()

void CXBMCApp::UpdateSessionMetadata ( )

◆ UpdateSessionState()

void CXBMCApp::UpdateSessionState ( )

◆ WaitForActivityResult()

int CXBMCApp::WaitForActivityResult ( const CJNIIntent &  intent,
int  requestCode,
CJNIIntent &  result 
)
static

◆ WaitVSync()

bool CXBMCApp::WaitVSync ( unsigned int  milliSeconds)
static

Friends And Related Function Documentation

◆ CAESinkAUDIOTRACK

friend class CAESinkAUDIOTRACK
friend

The documentation for this class was generated from the following files: