MCPcopy Create free account
hub / github.com/KDAB/GammaRay / getPackageMetaData

Function getPackageMetaData

core/probesettings.cpp:209–227  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

207
208#ifdef QT_ANDROIDEXTRAS_LIB
209static QVariant getPackageMetaData(const QString &key, const QVariant &defaultValue)
210{
211 auto pm = QtAndroid::androidContext().callObjectMethod("getPackageManager", "()Landroid/content/pm/PackageManager;");
212 auto packageName = QtAndroid::androidContext().callObjectMethod("getPackageName", "()Ljava/lang/String;");
213 auto GET_META_DATA = QAndroidJniObject::getStaticField<jint>("android/content/pm/PackageManager", "GET_META_DATA");
214 auto appInfo = pm.callObjectMethod("getApplicationInfo", "(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;", packageName.object(), GET_META_DATA);
215 auto metaData = appInfo.getObjectField("metaData", "Landroid/os/Bundle;");
216 if (!metaData.isValid()) {
217 return defaultValue;
218 }
219
220 // TODO handle different type cases based on defaultValue.type()
221 auto value = metaData.callObjectMethod("getString", "(Ljava/lang/String;)Ljava/lang/String;", QAndroidJniObject::fromString(key).object());
222 if (value.isValid()) {
223 return value.toString();
224 }
225
226 return defaultValue;
227}
228#endif
229
230QVariant ProbeSettings::value(const QString &key, const QVariant &defaultValue)

Callers 1

valueMethod · 0.85

Calls 2

objectMethod · 0.45
isValidMethod · 0.45

Tested by

no test coverage detected