diff --git a/src/webview/java/org/medicmobile/webapp/mobile/MedicAndroidJavascript.java b/src/webview/java/org/medicmobile/webapp/mobile/MedicAndroidJavascript.java index 8e25f967..68da437e 100644 --- a/src/webview/java/org/medicmobile/webapp/mobile/MedicAndroidJavascript.java +++ b/src/webview/java/org/medicmobile/webapp/mobile/MedicAndroidJavascript.java @@ -4,6 +4,7 @@ import android.app.ActivityManager; import android.app.ActivityManager.MemoryInfo; import android.app.DatePickerDialog; +import android.content.pm.PackageInfo; import android.net.ConnectivityManager; import android.net.NetworkCapabilities; import android.net.NetworkInfo; @@ -223,11 +224,15 @@ public String getDeviceInfo() { return jsonError("ConnectivityManager not set. Cannot retrieve network info."); } - String versionName = parent.getPackageManager() - .getPackageInfo(parent.getPackageName(), 0) - .versionName; + PackageInfo packageInfo = parent + .getPackageManager() + .getPackageInfo(parent.getPackageName(), 0); + long versionCode = Build.VERSION.SDK_INT < Build.VERSION_CODES.P ? (long)packageInfo.versionCode : packageInfo.getLongVersionCode(); + JSONObject appObject = new JSONObject(); - appObject.put("version", versionName); + appObject.put("version", packageInfo.versionName); + appObject.put("packageName", packageInfo.packageName); + appObject.put("versionCode", versionCode); String androidVersion = Build.VERSION.RELEASE; int osApiLevel = Build.VERSION.SDK_INT; diff --git a/src/xwalk/java/org/medicmobile/webapp/mobile/MedicAndroidJavascript.java b/src/xwalk/java/org/medicmobile/webapp/mobile/MedicAndroidJavascript.java index 3dc6e1f3..7d2ab686 100644 --- a/src/xwalk/java/org/medicmobile/webapp/mobile/MedicAndroidJavascript.java +++ b/src/xwalk/java/org/medicmobile/webapp/mobile/MedicAndroidJavascript.java @@ -3,6 +3,7 @@ import android.app.ActivityManager; import android.app.ActivityManager.MemoryInfo; import android.app.DatePickerDialog; +import android.content.pm.PackageInfo; import android.net.ConnectivityManager; import android.net.NetworkCapabilities; import android.net.NetworkInfo; @@ -235,11 +236,15 @@ public String getDeviceInfo() { return jsonError("ConnectivityManager not set. Cannot retrieve network info."); } - String versionName = parent.getPackageManager() - .getPackageInfo(parent.getPackageName(), 0) - .versionName; + PackageInfo packageInfo = parent + .getPackageManager() + .getPackageInfo(parent.getPackageName(), 0); + long versionCode = Build.VERSION.SDK_INT < Build.VERSION_CODES.P ? (long)packageInfo.versionCode : packageInfo.getLongVersionCode(); + JSONObject appObject = new JSONObject(); - appObject.put("version", versionName); + appObject.put("version", packageInfo.versionName); + appObject.put("packageName", packageInfo.packageName); + appObject.put("versionCode", versionCode); String androidVersion = Build.VERSION.RELEASE; int osApiLevel = Build.VERSION.SDK_INT;