aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Luis Marti <joseluis.marti@gmail.com>2024-07-13 11:05:00 +0200
committerJose Luis Marti <joseluis.marti@gmail.com>2024-07-14 00:22:29 +0200
commitd979c1a15705da0a74bbd0d112b6340e2f634fbc (patch)
tree0a58d8ad5dc53b802b6ac0237a11a3de65db60d4
parent97a3e66f90a9204bbf78fbf5df0cc596ca55bac8 (diff)
[Android] Move MemoryInfo logic to MemUtils
-rw-r--r--xbmc/platform/android/MemUtils.cpp27
-rw-r--r--xbmc/platform/android/activity/XBMCApp.cpp24
-rw-r--r--xbmc/platform/android/activity/XBMCApp.h5
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();