Skip to content

Commit b2aa153

Browse files
authored
Merge pull request #2751 from wmathurin/unexpected_logout
Re-register all users for push notifications with new keys when upgrading to Mobile SDK 13
2 parents e435f54 + 0b03084 commit b2aa153

2 files changed

Lines changed: 24 additions & 2 deletions

File tree

libs/SalesforceSDK/src/com/salesforce/androidsdk/app/SalesforceSDKUpgradeManager.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,9 @@ else if (installedVersion.isGreaterThanOrEqualTo(new SdkVersion(9, 2, 0, false))
127127
if (installedVersion.isLessThan(new SdkVersion(12, 0, 0, false))) {
128128
updateFromBefore12_0_0();
129129
}
130+
if (installedVersion.isLessThan(new SdkVersion(13, 0, 2, false))) {
131+
updateFromBefore13_0_2();
132+
}
130133
if (installedVersion.isLessThan(new SdkVersion(15, 0, 0, false))) {
131134
migrateAccountType();
132135
}
@@ -306,6 +309,10 @@ private void updateFromBefore12_0_0() {
306309
PushMessaging.setReRegistrationRequested(true);
307310
}
308311

312+
private void updateFromBefore13_0_2() {
313+
// Re-register all users for push notifications with new keys once push is setup
314+
PushMessaging.setReRegistrationRequested(true);
315+
}
309316

310317
/*
311318
* Migrate any accounts with account_type "com.salesforce.androidsdk" to a unique value.

libs/test/SalesforceSDKTest/src/com/salesforce/androidsdk/app/SalesforceSDKUpgradeManagerTest.kt

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,24 @@ class SalesforceSDKUpgradeManagerTest {
174174
}
175175

176176
@Test
177-
fun testUpgradeAfter12() {
177+
fun testUpgradeFromBefore1302() {
178+
// Set version to a version before 13.0.2
179+
setVersion("12.2.0")
180+
181+
// Create public key for push notifications
182+
KeyStoreWrapper.getInstance().getRSAPublicString(PushService.pushNotificationKeyName)
183+
184+
// Upgrade to latest
185+
upgradeMgr.upgrade()
186+
187+
// Make sure re-registration is requested
188+
Assert.assertTrue(PushMessaging.reRegistrationRequested)
189+
}
190+
191+
@Test
192+
fun testUpgradeAfter1302() {
178193
// Set version to 12.0.0
179-
setVersion("12.0.0")
194+
setVersion("13.0.2")
180195

181196
// Create public key for push notifications
182197
KeyStoreWrapper.getInstance().getRSAPublicString(PushService.pushNotificationKeyName)

0 commit comments

Comments
 (0)