diff -Nru kodi-20.0+git20220519.0300-9cda64a5c1/BUILDDATE kodi-20.0+git20220521.0301-43b96fc298/BUILDDATE --- kodi-20.0+git20220519.0300-9cda64a5c1/BUILDDATE 2013-05-12 08:41:54.000000000 +0000 +++ kodi-20.0+git20220521.0301-43b96fc298/BUILDDATE 2013-05-12 08:41:54.000000000 +0000 @@ -1 +1 @@ -20220519 +20220521 diff -Nru kodi-20.0+git20220519.0300-9cda64a5c1/debian/changelog kodi-20.0+git20220521.0301-43b96fc298/debian/changelog --- kodi-20.0+git20220519.0300-9cda64a5c1/debian/changelog 2013-05-12 08:41:54.000000000 +0000 +++ kodi-20.0+git20220521.0301-43b96fc298/debian/changelog 2013-05-12 08:41:54.000000000 +0000 @@ -1,4 +1,4 @@ -kodi (6:20.0+git20220519.0300-9cda64a5c1-0~bionic) bionic; urgency=medium +kodi (6:20.0+git20220521.0301-43b96fc298-0~bionic) bionic; urgency=medium [ kodi ] * autogenerated dummy changelog diff -Nru kodi-20.0+git20220519.0300-9cda64a5c1/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION kodi-20.0+git20220521.0301-43b96fc298/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION --- kodi-20.0+git20220519.0300-9cda64a5c1/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION 2013-05-12 08:41:54.000000000 +0000 +++ kodi-20.0+git20220521.0301-43b96fc298/tools/depends/target/libandroidjni/LIBANDROIDJNI-VERSION 2013-05-12 08:41:54.000000000 +0000 @@ -1,6 +1,6 @@ LIBNAME=libandroidjni -VERSION=084f39b4f689a1dd63eee9fdddb2c5f58f85e33e +VERSION=e0b02a846ba68d856d47812bf606022207def9cb BASE_URL=https://github.com/xbmc/libandroidjni/archive ARCHIVE=$(VERSION).tar.gz -SHA512=1f43992a2107fae0fca52ca4a4ccc5b05e38acd857930597099bd4cc3738a6d4a89dc4c123ee3440c2211563dd2b09473f87ccd1c5d156f13f37add523262c3d +SHA512=851efa5fadd70c5d6388b593836f7312394b9aac3c929dafaff894938b7eb8a26d7b04887ef63c148ed03d1cb65751696e417b242dddd24e25cbdfde5de76b49 BYPRODUCT=libandroidjni.a diff -Nru kodi-20.0+git20220519.0300-9cda64a5c1/tools/Linux/kodi.metainfo.xml.in kodi-20.0+git20220521.0301-43b96fc298/tools/Linux/kodi.metainfo.xml.in --- kodi-20.0+git20220519.0300-9cda64a5c1/tools/Linux/kodi.metainfo.xml.in 2013-05-12 08:41:54.000000000 +0000 +++ kodi-20.0+git20220521.0301-43b96fc298/tools/Linux/kodi.metainfo.xml.in 2013-05-12 08:41:54.000000000 +0000 @@ -12,6 +12,8 @@ https://kodi.wiki/view/FAQs https://forum.kodi.tv/ https://kodi.weblate.cloud/ + https://github.com/xbmc/xbmc/blob/master/docs/CONTRIBUTING.md + https://github.com/xbmc/xbmc/

Kodi allows users to play and view videos, music, podcasts, and other digital media files from local storage, network storage diff -Nru kodi-20.0+git20220519.0300-9cda64a5c1/VERSION kodi-20.0+git20220521.0301-43b96fc298/VERSION --- kodi-20.0+git20220519.0300-9cda64a5c1/VERSION 2013-05-12 08:41:54.000000000 +0000 +++ kodi-20.0+git20220521.0301-43b96fc298/VERSION 2013-05-12 08:41:54.000000000 +0000 @@ -1 +1 @@ -9cda64a5c1 +43b96fc298 diff -Nru kodi-20.0+git20220519.0300-9cda64a5c1/xbmc/platform/android/filesystem/AndroidAppFile.cpp kodi-20.0+git20220521.0301-43b96fc298/xbmc/platform/android/filesystem/AndroidAppFile.cpp --- kodi-20.0+git20220519.0300-9cda64a5c1/xbmc/platform/android/filesystem/AndroidAppFile.cpp 2013-05-12 08:41:54.000000000 +0000 +++ kodi-20.0+git20220521.0301-43b96fc298/xbmc/platform/android/filesystem/AndroidAppFile.cpp 2013-05-12 08:41:54.000000000 +0000 @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -74,6 +75,23 @@ return false; } +namespace +{ + +CJNIBitmap GetBitmapFromDrawable(CJNIDrawable& drawable) +{ + CJNIBitmap bmp = CJNIBitmap::createBitmap(drawable.getIntrinsicWidth(), + drawable.getIntrinsicHeight(), CJNIBitmap::ARGB_8888); + CJNICanvas canvas(bmp); + + drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); + drawable.draw(canvas); + + return bmp; +} + +} // namespace + unsigned int CFileAndroidApp::ReadIcon(unsigned char** lpBuf, unsigned int* width, unsigned int* height) { JNIEnv* env = xbmc_jnienv(); @@ -82,6 +100,9 @@ CJNIBitmap bmp; jclass cBmpDrw = env->FindClass("android/graphics/drawable/BitmapDrawable"); + jclass cAidDrw = CJNIBase::GetSDKVersion() >= 26 + ? env->FindClass("android/graphics/drawable/AdaptiveIconDrawable") + : nullptr; if (CJNIBuild::SDK_INT >= 15 && m_icon) { @@ -103,6 +124,10 @@ if (resbmp) bmp = resbmp.getBitmap(); } + else if (cAidDrw && env->IsInstanceOf(drw.get_raw(), cAidDrw)) + { + bmp = GetBitmapFromDrawable(drw); + } } } } @@ -122,6 +147,10 @@ if (resbmp) bmp = resbmp.getBitmap(); } + else if (cAidDrw && env->IsInstanceOf(drw.get_raw(), cAidDrw)) + { + bmp = GetBitmapFromDrawable(drw); + } } } if (!bmp) diff -Nru kodi-20.0+git20220519.0300-9cda64a5c1/xbmc/windowing/android/WinSystemAndroidGLESContext.cpp kodi-20.0+git20220521.0301-43b96fc298/xbmc/windowing/android/WinSystemAndroidGLESContext.cpp --- kodi-20.0+git20220519.0300-9cda64a5c1/xbmc/windowing/android/WinSystemAndroidGLESContext.cpp 2013-05-12 08:41:54.000000000 +0000 +++ kodi-20.0+git20220521.0301-43b96fc298/xbmc/windowing/android/WinSystemAndroidGLESContext.cpp 2013-05-12 08:41:54.000000000 +0000 @@ -132,12 +132,15 @@ if (IsHdmiModeTriggered()) SetHdmiState(true); - // Ignore EGL_BAD_SURFACE: It seems to happen during/after mode changes, but - // we can't actually do anything about it - if (rendered && !m_pGLContext.TrySwapBuffers()) - CEGLUtils::Log(LOGERROR, "eglSwapBuffers failed"); - - CXBMCApp::Get().WaitVSync(1000); + if (rendered) + { + // Ignore EGL_BAD_SURFACE: It seems to happen during/after mode changes, but + // we can't actually do anything about it + if (m_pGLContext.TrySwapBuffers()) + CXBMCApp::Get().WaitVSync(1000); + else + CEGLUtils::Log(LOGERROR, "eglSwapBuffers failed"); + } } float CWinSystemAndroidGLESContext::GetFrameLatencyAdjustment()