Krita Source Code Documentation
Loading...
Searching...
No Matches
KisAndroidUtils Namespace Reference

Functions

void clearJniException (const QString &location)
 
bool isInFullScreen ()
 
bool isLowMemoryKillReportSupported ()
 
bool looksLikeXiaomiDevice ()
 
void performInitialSetup ()
 
void setFullScreen (bool fullScreen)
 

Function Documentation

◆ clearJniException()

KRITAGLOBAL_EXPORT void KisAndroidUtils::clearJniException ( const QString & location)

Definition at line 62 of file KisAndroidUtils.cpp.

63{
64 QJniEnvironment env;
65 if (env->ExceptionCheck()) {
66 warnKrita << "JNI exception occurred" << location;
67 env->ExceptionDescribe();
68 env->ExceptionClear();
69 }
70}
#define warnKrita
Definition kis_debug.h:87

References warnKrita.

◆ isInFullScreen()

KRITAGLOBAL_EXPORT bool KisAndroidUtils::isInFullScreen ( )

Definition at line 72 of file KisAndroidUtils.cpp.

73{
74 QJniObject activity = QJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative",
75 "activity",
76 "()Landroid/app/Activity;");
77 KisAndroidUtils::clearJniException(QStringLiteral("getting activity in isInFullScreen"));
78 if (activity.isValid()) {
79 bool fullScreen = activity.callMethod<jboolean>("isInFullScreen", "()Z");
80 KisAndroidUtils::clearJniException(QStringLiteral("calling isInFullScreen"));
81 return fullScreen;
82 } else {
83 qWarning("isInFullScreen: activity not valid");
84 return false;
85 }
86}
void clearJniException(const QString &location)

References clearJniException().

◆ isLowMemoryKillReportSupported()

KRITAGLOBAL_EXPORT bool KisAndroidUtils::isLowMemoryKillReportSupported ( )

Definition at line 48 of file KisAndroidUtils.cpp.

49{
50 // The support is device-bound and will never change, so cache the JNI call.
51 static bool checked;
52 static bool result;
53 if (!checked) {
54 checked = true;
55 result = QJniObject::callStaticMethod<jboolean>("org/krita/android/MainActivity",
56 "isLowMemoryKillReportSupported",
57 "()Z");
58 }
59 return result;
60}

◆ looksLikeXiaomiDevice()

KRITAGLOBAL_EXPORT bool KisAndroidUtils::looksLikeXiaomiDevice ( )

Definition at line 35 of file KisAndroidUtils.cpp.

36{
37 // The device isn't going to change, so let's cache the slow JNI call.
38 static bool checked;
39 static bool result;
40 if (!checked) {
41 checked = true;
42 result =
43 QJniObject::callStaticMethod<jboolean>("org/krita/android/MainActivity", "looksLikeXiaomiDevice", "()Z");
44 }
45 return result;
46}

◆ performInitialSetup()

KRITAGLOBAL_EXPORT void KisAndroidUtils::performInitialSetup ( )

Definition at line 21 of file KisAndroidUtils.cpp.

22{
24
25 QJniObject activity = QJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative",
26 "activity",
27 "()Landroid/app/Activity;");
28 if (activity.isValid()) {
29 activity.callMethod<void>("copyAssets", "()V");
30 } else {
31 qWarning("performInitialSetup: activity not valid");
32 }
33}

References KisAndroidLogHandler::handler_init().

◆ setFullScreen()

KRITAGLOBAL_EXPORT void KisAndroidUtils::setFullScreen ( bool fullScreen)

Definition at line 88 of file KisAndroidUtils.cpp.

89{
90 QJniObject activity = QJniObject::callStaticObjectMethod("org/qtproject/qt5/android/QtNative",
91 "activity",
92 "()Landroid/app/Activity;");
93 KisAndroidUtils::clearJniException(QStringLiteral("getting activity in setFullScreen"));
94 if (activity.isValid()) {
95 activity.callMethod<void>("setFullScreenOnUiThread", "(Z)V", jboolean(fullScreen));
96 KisAndroidUtils::clearJniException(QStringLiteral("calling setFullScreenOnUiThread"));
97 } else {
98 qWarning("setFullScreen: activity not valid");
99 }
100}

References clearJniException().