Skip to content

Commit cab309e

Browse files
authored
Fix Fiam crash at AbtIntegrationHelper (#4913)
Crash Fix: NullPointerException at AbtIntegrationHelper.setExperimentActive
1 parent 9a9a02b commit cab309e

File tree

6 files changed

+12
-6
lines changed

6 files changed

+12
-6
lines changed

firebase-inappmessaging-display/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
# Unreleased
2+
* [fixed] Fixed nullpointer crash when using experiments
3+
([GitHub Issue #4214](//github.com/firebase/firebase-android-sdk/issues/4716))
24

35
# 20.3.1
46
* [fixed] Fixed nullpointer crash

firebase-inappmessaging/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
# Unreleased
2+
* [fixed] Fixed nullpointer crash when using experiments
3+
([GitHub Issue #4214](//github.com/firebase/firebase-android-sdk/issues/4716))
24

35
# 20.3.1
46
* [fixed] Fixed nullpointer crash

firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/FirebaseInAppMessagingRegistrar.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,8 @@ private FirebaseInAppMessaging providesFirebaseInAppMessaging(ComponentContainer
119119
new AbtIntegrationHelper(
120120
container
121121
.get(AbtComponent.class)
122-
.get(FirebaseABTesting.OriginService.INAPP_MESSAGING)))
122+
.get(FirebaseABTesting.OriginService.INAPP_MESSAGING),
123+
container.get(blockingExecutor)))
123124
.apiClientModule(
124125
new ApiClientModule(firebaseApp, firebaseInstallations, universalComponent.clock()))
125126
.grpcClientModule(new GrpcClientModule(firebaseApp))

firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/internal/AbtIntegrationHelper.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@
3232
@FirebaseAppScope
3333
public class AbtIntegrationHelper {
3434
private final FirebaseABTesting abTesting;
35-
36-
@Inject @Blocking @VisibleForTesting Executor executor;
35+
@VisibleForTesting Executor executor;
3736

3837
@Inject
39-
public AbtIntegrationHelper(FirebaseABTesting abTesting) {
38+
public AbtIntegrationHelper(FirebaseABTesting abTesting, @Blocking Executor blockingExecutor) {
4039
this.abTesting = abTesting;
40+
this.executor = blockingExecutor;
4141
}
4242

4343
/**

firebase-inappmessaging/src/main/java/com/google/firebase/inappmessaging/internal/injection/components/UniversalComponent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@
7272
ExecutorsModule.class
7373
})
7474
public interface UniversalComponent {
75-
ProviderInstaller probiderInstaller();
75+
ProviderInstaller providerInstaller();
7676

7777
Channel gRPCChannel();
7878

firebase-inappmessaging/src/test/java/com/google/firebase/inappmessaging/internal/AbtIntegrationHelperTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static org.mockito.Mockito.verifyZeroInteractions;
1919

2020
import com.google.firebase.abt.FirebaseABTesting;
21+
import com.google.firebase.concurrent.TestOnlyExecutors;
2122
import com.google.firebase.inappmessaging.MessagesProto;
2223
import com.google.internal.firebase.inappmessaging.v1.CampaignProto;
2324
import com.google.internal.firebase.inappmessaging.v1.sdkserving.FetchEligibleCampaignsResponse;
@@ -66,7 +67,7 @@ public class AbtIntegrationHelperTest {
6667
@Before
6768
public void setUp() {
6869
MockitoAnnotations.initMocks(this);
69-
abtIntegrationHelper = new AbtIntegrationHelper(abTesting);
70+
abtIntegrationHelper = new AbtIntegrationHelper(abTesting, TestOnlyExecutors.blocking());
7071
// make executor immediately execute
7172
abtIntegrationHelper.executor = Runnable::run;
7273
}

0 commit comments

Comments
 (0)