From 675f363125e213a3e9d94257d03dc222052fb555 Mon Sep 17 00:00:00 2001 From: Manuel Trezza Date: Wed, 10 Jun 2020 21:01:10 +0200 Subject: [PATCH 1/4] added appBuild to installation properties --- parse/src/main/java/com/parse/ParseInstallation.java | 7 ++++++- parse/src/test/java/com/parse/ParseInstallationTest.java | 3 +++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/parse/src/main/java/com/parse/ParseInstallation.java b/parse/src/main/java/com/parse/ParseInstallation.java index 3842bc1ca..943e38786 100644 --- a/parse/src/main/java/com/parse/ParseInstallation.java +++ b/parse/src/main/java/com/parse/ParseInstallation.java @@ -41,9 +41,10 @@ public class ParseInstallation extends ParseObject { private static final String KEY_TIME_ZONE = "timeZone"; private static final String KEY_LOCALE = "localeIdentifier"; private static final String KEY_APP_VERSION = "appVersion"; + private static final String KEY_APP_BUILD = "appBuild"; private static final List READ_ONLY_FIELDS = Collections.unmodifiableList( Arrays.asList(KEY_DEVICE_TYPE, KEY_INSTALLATION_ID, KEY_DEVICE_TOKEN, KEY_PUSH_TYPE, - KEY_TIME_ZONE, KEY_LOCALE, KEY_APP_VERSION, KEY_APP_NAME, KEY_PARSE_VERSION, + KEY_TIME_ZONE, KEY_LOCALE, KEY_APP_VERSION, KEY_APP_BUILD, KEY_APP_NAME, KEY_PARSE_VERSION, KEY_APP_IDENTIFIER, KEY_OBJECT_ID)); public ParseInstallation() { @@ -210,6 +211,7 @@ private void updateVersionInfo() { PackageManager pm = context.getPackageManager(); PackageInfo pkgInfo = pm.getPackageInfo(packageName, 0); String appVersion = pkgInfo.versionName; + String appBuild = String.valueOf(pkgInfo.versionCode); String appName = pm.getApplicationLabel(pm.getApplicationInfo(packageName, 0)).toString(); if (packageName != null && !packageName.equals(get(KEY_APP_IDENTIFIER))) { @@ -221,6 +223,9 @@ private void updateVersionInfo() { if (appVersion != null && !appVersion.equals(get(KEY_APP_VERSION))) { performPut(KEY_APP_VERSION, appVersion); } + if (appBuild != null && !appVersion.equals(get(KEY_APP_BUILD))) { + performPut(KEY_APP_BUILD, appBuild); + } } catch (PackageManager.NameNotFoundException e) { PLog.w(TAG, "Cannot load package info; will not be saved to installation"); } diff --git a/parse/src/test/java/com/parse/ParseInstallationTest.java b/parse/src/test/java/com/parse/ParseInstallationTest.java index a543670d1..b6ca7ecac 100644 --- a/parse/src/test/java/com/parse/ParseInstallationTest.java +++ b/parse/src/test/java/com/parse/ParseInstallationTest.java @@ -48,6 +48,7 @@ public class ParseInstallationTest extends ResetPluginsParseTest { private static final String KEY_TIME_ZONE = "timeZone"; private static final String KEY_LOCALE_IDENTIFIER = "localeIdentifier"; private static final String KEY_APP_VERSION = "appVersion"; + private static final String KEY_APP_BUILD = "appBuild"; private Locale defaultLocale; @@ -290,10 +291,12 @@ public void testUpdateBeforeSave() throws Exception { PackageManager pm = context.getPackageManager(); PackageInfo pkgInfo = pm.getPackageInfo(packageName, 0); String appVersion = pkgInfo.versionName; + String appBuild = String.valueOf(pkgInfo.versionCode); String appName = pm.getApplicationLabel(pm.getApplicationInfo(packageName, 0)).toString(); assertEquals(packageName, installation.getString(KEY_APP_IDENTIFIER)); assertEquals(appName, installation.getString(KEY_APP_NAME)); assertEquals(appVersion, installation.getString(KEY_APP_VERSION)); + assertEquals(appBuild, installation.getString(KEY_APP_BUILD)); // Make sure we update device info assertEquals("android", installation.getString(KEY_DEVICE_TYPE)); From c196b6299ca8c4515b02198d56491f3a24040ce0 Mon Sep 17 00:00:00 2001 From: Manuel Trezza Date: Wed, 10 Jun 2020 21:06:27 +0200 Subject: [PATCH 2/4] changing appVersion to contain app build instead of version name --- parse/src/main/java/com/parse/ParseInstallation.java | 9 ++------- parse/src/test/java/com/parse/ParseInstallationTest.java | 5 +---- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/parse/src/main/java/com/parse/ParseInstallation.java b/parse/src/main/java/com/parse/ParseInstallation.java index 943e38786..1e3aaa6d0 100644 --- a/parse/src/main/java/com/parse/ParseInstallation.java +++ b/parse/src/main/java/com/parse/ParseInstallation.java @@ -41,10 +41,9 @@ public class ParseInstallation extends ParseObject { private static final String KEY_TIME_ZONE = "timeZone"; private static final String KEY_LOCALE = "localeIdentifier"; private static final String KEY_APP_VERSION = "appVersion"; - private static final String KEY_APP_BUILD = "appBuild"; private static final List READ_ONLY_FIELDS = Collections.unmodifiableList( Arrays.asList(KEY_DEVICE_TYPE, KEY_INSTALLATION_ID, KEY_DEVICE_TOKEN, KEY_PUSH_TYPE, - KEY_TIME_ZONE, KEY_LOCALE, KEY_APP_VERSION, KEY_APP_BUILD, KEY_APP_NAME, KEY_PARSE_VERSION, + KEY_TIME_ZONE, KEY_LOCALE, KEY_APP_VERSION, KEY_APP_NAME, KEY_PARSE_VERSION, KEY_APP_IDENTIFIER, KEY_OBJECT_ID)); public ParseInstallation() { @@ -210,8 +209,7 @@ private void updateVersionInfo() { String packageName = context.getPackageName(); PackageManager pm = context.getPackageManager(); PackageInfo pkgInfo = pm.getPackageInfo(packageName, 0); - String appVersion = pkgInfo.versionName; - String appBuild = String.valueOf(pkgInfo.versionCode); + String appVersion = String.valueOf(pkgInfo.versionCode); String appName = pm.getApplicationLabel(pm.getApplicationInfo(packageName, 0)).toString(); if (packageName != null && !packageName.equals(get(KEY_APP_IDENTIFIER))) { @@ -223,9 +221,6 @@ private void updateVersionInfo() { if (appVersion != null && !appVersion.equals(get(KEY_APP_VERSION))) { performPut(KEY_APP_VERSION, appVersion); } - if (appBuild != null && !appVersion.equals(get(KEY_APP_BUILD))) { - performPut(KEY_APP_BUILD, appBuild); - } } catch (PackageManager.NameNotFoundException e) { PLog.w(TAG, "Cannot load package info; will not be saved to installation"); } diff --git a/parse/src/test/java/com/parse/ParseInstallationTest.java b/parse/src/test/java/com/parse/ParseInstallationTest.java index b6ca7ecac..eb26997a0 100644 --- a/parse/src/test/java/com/parse/ParseInstallationTest.java +++ b/parse/src/test/java/com/parse/ParseInstallationTest.java @@ -48,7 +48,6 @@ public class ParseInstallationTest extends ResetPluginsParseTest { private static final String KEY_TIME_ZONE = "timeZone"; private static final String KEY_LOCALE_IDENTIFIER = "localeIdentifier"; private static final String KEY_APP_VERSION = "appVersion"; - private static final String KEY_APP_BUILD = "appBuild"; private Locale defaultLocale; @@ -290,13 +289,11 @@ public void testUpdateBeforeSave() throws Exception { String packageName = context.getPackageName(); PackageManager pm = context.getPackageManager(); PackageInfo pkgInfo = pm.getPackageInfo(packageName, 0); - String appVersion = pkgInfo.versionName; - String appBuild = String.valueOf(pkgInfo.versionCode); + String appVersion = String.valueOf(pkgInfo.versionCode); String appName = pm.getApplicationLabel(pm.getApplicationInfo(packageName, 0)).toString(); assertEquals(packageName, installation.getString(KEY_APP_IDENTIFIER)); assertEquals(appName, installation.getString(KEY_APP_NAME)); assertEquals(appVersion, installation.getString(KEY_APP_VERSION)); - assertEquals(appBuild, installation.getString(KEY_APP_BUILD)); // Make sure we update device info assertEquals("android", installation.getString(KEY_DEVICE_TYPE)); From 316aacbc769d513dd7b5efd44d435029702caaac Mon Sep 17 00:00:00 2001 From: Manuel Trezza Date: Wed, 10 Jun 2020 21:33:49 +0200 Subject: [PATCH 3/4] added change log breaking change entry --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c7f48490..594fd87c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ### master +> __BREAKING CHANGES__ +> - FIX: Corrected the `Installation` property `appVersion` to be the build version instead of the version name. This aligns the property with its equivalent in the Parse iOS SDK. See [#902](https://github.com/parse-community/parse-server/pull/902) for details. Thanks to [Manuel Trezza](https://github.com/mtrezza). + - Update OkHttp version to allow for future Android API 30 compilation - Compile with Android 29 - Update Facebook Login dependency to 6.1.0 From b38917a8c0bead17bdae7a597aeb11d75dc12459 Mon Sep 17 00:00:00 2001 From: Manuel Trezza Date: Wed, 10 Jun 2020 21:37:03 +0200 Subject: [PATCH 4/4] fixed wrong PR link in change log --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 594fd87c6..4ff764b7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ### master > __BREAKING CHANGES__ -> - FIX: Corrected the `Installation` property `appVersion` to be the build version instead of the version name. This aligns the property with its equivalent in the Parse iOS SDK. See [#902](https://github.com/parse-community/parse-server/pull/902) for details. Thanks to [Manuel Trezza](https://github.com/mtrezza). +> - FIX: Corrected the `Installation` property `appVersion` to be the build version instead of the version name. This aligns the property with its equivalent in the Parse iOS SDK. See [#902](https://github.com/parse-community/Parse-SDK-Android/pull/902) for details. Thanks to [Manuel Trezza](https://github.com/mtrezza). - Update OkHttp version to allow for future Android API 30 compilation - Compile with Android 29