From d979c1a15705da0a74bbd0d112b6340e2f634fbc Mon Sep 17 00:00:00 2001 From: Jose Luis Marti Date: Sat, 13 Jul 2024 11:05:00 +0200 Subject: [Android] Move MemoryInfo logic to MemUtils --- xbmc/platform/android/MemUtils.cpp | 27 ++++++++++++++++++--------- xbmc/platform/android/activity/XBMCApp.cpp | 24 ------------------------ xbmc/platform/android/activity/XBMCApp.h | 5 ----- 3 files changed, 18 insertions(+), 38 deletions(-) diff --git a/xbmc/platform/android/MemUtils.cpp b/xbmc/platform/android/MemUtils.cpp index d247e4699a..68f7f6402f 100644 --- a/xbmc/platform/android/MemUtils.cpp +++ b/xbmc/platform/android/MemUtils.cpp @@ -8,10 +8,11 @@ #include "utils/MemUtils.h" -#include "platform/android/activity/XBMCApp.h" - #include +#include +#include + namespace KODI { namespace MEMORY @@ -35,16 +36,24 @@ void GetMemoryStatus(MemoryStatus* buffer) if (!buffer) return; - long availMem = 0; - long totalMem = 0; + auto activityManager = std::make_unique( + CJNIContext::getSystemService(CJNIContext::ACTIVITY_SERVICE)); - if (CXBMCApp::Get().GetMemoryInfo(availMem, totalMem)) + if (activityManager) { + CJNIActivityManager::MemoryInfo info; + activityManager->getMemoryInfo(info); + if (xbmc_jnienv()->ExceptionCheck()) + { + xbmc_jnienv()->ExceptionClear(); + return; + } + *buffer = {}; - buffer->totalPhys = static_cast(totalMem); - buffer->availPhys = static_cast(availMem); + buffer->totalPhys = static_cast(info.totalMem()); + buffer->availPhys = static_cast(info.availMem()); } } -} -} +} // namespace MEMORY +} // namespace KODI diff --git a/xbmc/platform/android/activity/XBMCApp.cpp b/xbmc/platform/android/activity/XBMCApp.cpp index 5f4bb7865a..1169988f38 100644 --- a/xbmc/platform/android/activity/XBMCApp.cpp +++ b/xbmc/platform/android/activity/XBMCApp.cpp @@ -70,7 +70,6 @@ #include #include #include -#include #include #include #include @@ -262,8 +261,6 @@ void CXBMCApp::onStart() intentFilter.addAction(CJNIConnectivityManager::CONNECTIVITY_ACTION); registerReceiver(*this, intentFilter); m_mediaSession = std::make_unique(); - m_activityManager = - std::make_unique(getSystemService(CJNIContext::ACTIVITY_SERVICE)); m_inputHandler.setDPI(GetDPI()); runNativeOnUiThread(RegisterDisplayListenerCallback, nullptr); } @@ -1559,27 +1556,6 @@ bool CXBMCApp::WaitVSync(unsigned int milliSeconds) return m_vsyncEvent.Wait(std::chrono::milliseconds(milliSeconds)); } -bool CXBMCApp::GetMemoryInfo(long& availMem, long& totalMem) -{ - if (m_activityManager) - { - CJNIActivityManager::MemoryInfo info; - m_activityManager->getMemoryInfo(info); - if (xbmc_jnienv()->ExceptionCheck()) - { - xbmc_jnienv()->ExceptionClear(); - return false; - } - - availMem = info.availMem(); - totalMem = info.totalMem(); - - return true; - } - - return false; -} - void CXBMCApp::SetupEnv() { setenv("KODI_ANDROID_SYSTEM_LIBS", CJNISystem::getProperty("java.library.path").c_str(), 0); diff --git a/xbmc/platform/android/activity/XBMCApp.h b/xbmc/platform/android/activity/XBMCApp.h index ee62fc3f03..c7b4f9bcbc 100644 --- a/xbmc/platform/android/activity/XBMCApp.h +++ b/xbmc/platform/android/activity/XBMCApp.h @@ -40,7 +40,6 @@ class CVariant; class IInputDeviceCallbacks; class IInputDeviceEventHandler; class CVideoSyncAndroid; -class CJNIActivityManager; typedef struct _JNIEnv JNIEnv; @@ -217,8 +216,6 @@ public: bool getVideosurfaceInUse(); void setVideosurfaceInUse(bool videosurfaceInUse); - bool GetMemoryInfo(long& availMem, long& totalMem); - protected: // limit who can access Volume friend class CAESinkAUDIOTRACK; @@ -276,8 +273,6 @@ private: CEvent m_vsyncEvent; CEvent m_displayChangeEvent; - std::unique_ptr m_activityManager; - bool XBMC_DestroyDisplay(); bool XBMC_SetupDisplay(); -- cgit v1.2.3