diff options
-rw-r--r-- | xbmc/platform/android/MemUtils.cpp | 27 | ||||
-rw-r--r-- | xbmc/platform/android/activity/XBMCApp.cpp | 24 | ||||
-rw-r--r-- | 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 <stdlib.h> +#include <androidjni/ActivityManager.h> +#include <androidjni/Context.h> + 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<CJNIActivityManager>( + 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<unsigned long>(totalMem); - buffer->availPhys = static_cast<unsigned long>(availMem); + buffer->totalPhys = static_cast<unsigned long>(info.totalMem()); + buffer->availPhys = static_cast<unsigned long>(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 <android/log.h> #include <android/native_window.h> #include <android/native_window_jni.h> -#include <androidjni/ActivityManager.h> #include <androidjni/ApplicationInfo.h> #include <androidjni/BitmapFactory.h> #include <androidjni/BroadcastReceiver.h> @@ -262,8 +261,6 @@ void CXBMCApp::onStart() intentFilter.addAction(CJNIConnectivityManager::CONNECTIVITY_ACTION); registerReceiver(*this, intentFilter); m_mediaSession = std::make_unique<CJNIXBMCMediaSession>(); - m_activityManager = - std::make_unique<CJNIActivityManager>(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<CJNIActivityManager> m_activityManager; - bool XBMC_DestroyDisplay(); bool XBMC_SetupDisplay(); |