Skip to content

Commit 40df7c8

Browse files
authored
refactor to not use static Contexts from RuntimeEnvironment (#2517)
* refactor to not use deprecated RuntimeEnvironment.application * refactor to not use RuntimeEnvironment.systemContext * fix compile errors missed in previous two commits
1 parent 593da89 commit 40df7c8

File tree

68 files changed

+241
-182
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+241
-182
lines changed

firebase-common/firebase-common.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ dependencies {
8282
testImplementation 'junit:junit:4.12'
8383
testImplementation "com.google.truth:truth:$googleTruthVersion"
8484
testImplementation 'org.mockito:mockito-core:2.25.0'
85+
testImplementation 'androidx.test:core:1.2.0'
8586

8687
annotationProcessor 'com.google.auto.value:auto-value:1.6.5'
8788

firebase-common/ktx/ktx.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,5 @@ dependencies {
4545
testImplementation "org.robolectric:robolectric:$robolectricVersion"
4646
testImplementation 'junit:junit:4.12'
4747
testImplementation "com.google.truth:truth:$googleTruthVersion"
48+
testImplementation 'androidx.test:core:1.2.0'
4849
}

firebase-common/ktx/src/test/kotlin/com/google/firebase/ktx/Tests.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@
1414

1515
package com.google.firebase.ktx
1616

17+
import androidx.test.core.app.ApplicationProvider
1718
import com.google.common.truth.Truth.assertThat
1819
import com.google.firebase.FirebaseApp
1920
import com.google.firebase.FirebaseOptions
2021
import com.google.firebase.platforminfo.UserAgentPublisher
2122
import org.junit.Test
2223
import org.junit.runner.RunWith
2324
import org.robolectric.RobolectricTestRunner
24-
import org.robolectric.RuntimeEnvironment
2525

2626
fun withApp(name: String, block: FirebaseApp.() -> Unit) {
27-
val app = Firebase.initialize(RuntimeEnvironment.application,
27+
val app = Firebase.initialize(ApplicationProvider.getApplicationContext(),
2828
FirebaseOptions.Builder()
2929
.setApplicationId("appId")
3030
.build(),
@@ -75,12 +75,12 @@ class KtxTests {
7575
@Test
7676
fun `Firebase#initialize(Context, FirebaseOptions) should initialize the app correctly`() {
7777
val options = FirebaseOptions.Builder().setApplicationId("appId").build()
78-
val app = Firebase.initialize(RuntimeEnvironment.application, options)
78+
val app = Firebase.initialize(ApplicationProvider.getApplicationContext(), options)
7979
try {
8080
assertThat(app).isNotNull()
8181
assertThat(app.name).isEqualTo(FirebaseApp.DEFAULT_APP_NAME)
8282
assertThat(app.options).isSameInstanceAs(options)
83-
assertThat(app.applicationContext).isSameInstanceAs(RuntimeEnvironment.application)
83+
assertThat(app.applicationContext).isSameInstanceAs(ApplicationProvider.getApplicationContext())
8484
} finally {
8585
app.delete()
8686
}
@@ -90,12 +90,12 @@ class KtxTests {
9090
fun `Firebase#initialize(Context, FirebaseOptions, String) should initialize the app correctly`() {
9191
val options = FirebaseOptions.Builder().setApplicationId("appId").build()
9292
val name = "appName"
93-
val app = Firebase.initialize(RuntimeEnvironment.application, options, name)
93+
val app = Firebase.initialize(ApplicationProvider.getApplicationContext(), options, name)
9494
try {
9595
assertThat(app).isNotNull()
9696
assertThat(app.name).isEqualTo(name)
9797
assertThat(app.options).isSameInstanceAs(options)
98-
assertThat(app.applicationContext).isSameInstanceAs(RuntimeEnvironment.application)
98+
assertThat(app.applicationContext).isSameInstanceAs(ApplicationProvider.getApplicationContext())
9999
} finally {
100100
app.delete()
101101
}

firebase-common/src/test/java/com/google/firebase/provider/FirebaseInitProviderNoIdsInResourcesTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
import android.content.Context;
2121
import android.content.pm.ProviderInfo;
22+
import androidx.test.core.app.ApplicationProvider;
2223
import com.google.firebase.FirebaseApp;
2324
import com.google.firebase.FirebaseOptions;
2425
import com.google.firebase.testing.FirebaseAppRule;
@@ -27,7 +28,6 @@
2728
import org.junit.Test;
2829
import org.junit.runner.RunWith;
2930
import org.robolectric.RobolectricTestRunner;
30-
import org.robolectric.RuntimeEnvironment;
3131

3232
/** Unit tests for {@link FirebaseInitProvider} without IDs from resources. */
3333
@RunWith(RobolectricTestRunner.class)
@@ -42,7 +42,7 @@ public class FirebaseInitProviderNoIdsInResourcesTest {
4242
@Before
4343
public void setUp() {
4444
firebaseInitProvider = new FirebaseInitProvider();
45-
targetContext = RuntimeEnvironment.application.getApplicationContext();
45+
targetContext = ApplicationProvider.getApplicationContext();
4646
}
4747

4848
@Rule public FirebaseAppRule firebaseAppRule = new FirebaseAppRule();

firebase-config/firebase-config.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ dependencies {
6868
testImplementation 'junit:junit:4.12'
6969
testImplementation "org.robolectric:robolectric:$robolectricVersion"
7070
testImplementation "org.skyscreamer:jsonassert:1.5.0"
71+
testImplementation 'androidx.test:core:1.2.0'
7172

7273
androidTestImplementation 'androidx.test:runner:1.2.0'
7374
androidTestImplementation 'org.mockito:mockito-core:2.25.0'

firebase-config/ktx/ktx.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,5 @@ dependencies {
5858
testImplementation 'junit:junit:4.12'
5959
testImplementation "com.google.truth:truth:$googleTruthVersion"
6060
testImplementation 'org.mockito:mockito-core:2.25.0'
61+
testImplementation 'androidx.test:core:1.2.0'
6162
}

firebase-config/ktx/src/test/kotlin/com/google/firebase/remoteconfig/ktx/RemoteConfigTests.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package com.google.firebase.remoteconfig.ktx
1616

17+
import androidx.test.core.app.ApplicationProvider
1718
import com.google.common.truth.Truth.assertThat
1819
import com.google.common.util.concurrent.MoreExecutors
1920
import com.google.firebase.FirebaseApp
@@ -37,7 +38,6 @@ import org.junit.runner.RunWith
3738
import org.mockito.Mockito.`when`
3839
import org.mockito.Mockito.mock
3940
import org.robolectric.RobolectricTestRunner
40-
import org.robolectric.RuntimeEnvironment
4141

4242
const val APP_ID = "1:14368190084:android:09cb977358c6f241"
4343
const val API_KEY = "AIzaSyabcdefghijklmnopqrstuvwxyz1234567"
@@ -61,7 +61,7 @@ abstract class BaseTestCase {
6161
@Before
6262
fun setUp() {
6363
Firebase.initialize(
64-
RuntimeEnvironment.application,
64+
ApplicationProvider.getApplicationContext(),
6565
FirebaseOptions.Builder()
6666
.setApplicationId(APP_ID)
6767
.setApiKey(API_KEY)
@@ -70,7 +70,7 @@ abstract class BaseTestCase {
7070
)
7171

7272
Firebase.initialize(
73-
RuntimeEnvironment.application,
73+
ApplicationProvider.getApplicationContext(),
7474
FirebaseOptions.Builder()
7575
.setApplicationId(APP_ID)
7676
.setApiKey(API_KEY)

firebase-config/src/test/java/com/google/firebase/remoteconfig/FirebaseRemoteConfigTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import android.content.Context;
4040
import android.content.res.Resources;
4141
import android.os.Bundle;
42+
import androidx.test.core.app.ApplicationProvider;
4243
import com.google.android.gms.shadows.common.internal.ShadowPreconditions;
4344
import com.google.android.gms.tasks.Task;
4445
import com.google.android.gms.tasks.TaskCompletionSource;
@@ -80,7 +81,6 @@
8081
import org.mockito.Mock;
8182
import org.mockito.MockitoAnnotations;
8283
import org.robolectric.RobolectricTestRunner;
83-
import org.robolectric.RuntimeEnvironment;
8484
import org.robolectric.annotation.Config;
8585
import org.skyscreamer.jsonassert.JSONAssert;
8686

@@ -167,7 +167,7 @@ public void setUp() throws Exception {
167167
MockitoAnnotations.initMocks(this);
168168

169169
Executor directExecutor = MoreExecutors.directExecutor();
170-
Context context = RuntimeEnvironment.application;
170+
Context context = ApplicationProvider.getApplicationContext();
171171
FirebaseApp firebaseApp = initializeFirebaseApp(context);
172172

173173
Personalization personalization = new Personalization(mockAnalyticsConnectorProvider);
@@ -1077,8 +1077,9 @@ private void loadInstanceIdAndToken() {
10771077
}
10781078

10791079
private static int getResourceId(String xmlResourceName) {
1080-
Resources r = RuntimeEnvironment.application.getResources();
1081-
return r.getIdentifier(xmlResourceName, "xml", RuntimeEnvironment.application.getPackageName());
1080+
Resources r = ApplicationProvider.getApplicationContext().getResources();
1081+
return r.getIdentifier(
1082+
xmlResourceName, "xml", ApplicationProvider.getApplicationContext().getPackageName());
10821083
}
10831084

10841085
private static ConfigContainer newDefaultsContainer(Map<String, String> configsMap)

firebase-config/src/test/java/com/google/firebase/remoteconfig/RemoteConfigComponentTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import static org.mockito.Mockito.when;
2727

2828
import android.content.Context;
29+
import androidx.test.core.app.ApplicationProvider;
2930
import com.google.android.gms.tasks.Tasks;
3031
import com.google.common.util.concurrent.MoreExecutors;
3132
import com.google.firebase.FirebaseApp;
@@ -46,7 +47,6 @@
4647
import org.mockito.Mock;
4748
import org.mockito.MockitoAnnotations;
4849
import org.robolectric.RobolectricTestRunner;
49-
import org.robolectric.RuntimeEnvironment;
5050
import org.robolectric.annotation.Config;
5151

5252
/**
@@ -81,7 +81,7 @@ public class RemoteConfigComponentTest {
8181
public void setUp() {
8282
MockitoAnnotations.initMocks(this);
8383

84-
context = RuntimeEnvironment.application;
84+
context = ApplicationProvider.getApplicationContext();
8585
directExecutor = MoreExecutors.newDirectExecutorService();
8686

8787
defaultApp = initializeFirebaseApp(context);

firebase-config/src/test/java/com/google/firebase/remoteconfig/internal/ConfigFetchHandlerTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353

5454
import android.content.Context;
5555
import androidx.annotation.Nullable;
56+
import androidx.test.core.app.ApplicationProvider;
5657
import com.google.android.gms.common.util.MockClock;
5758
import com.google.android.gms.tasks.Task;
5859
import com.google.android.gms.tasks.Tasks;
@@ -86,7 +87,6 @@
8687
import org.mockito.Mock;
8788
import org.mockito.MockitoAnnotations;
8889
import org.robolectric.RobolectricTestRunner;
89-
import org.robolectric.RuntimeEnvironment;
9090
import org.robolectric.annotation.Config;
9191
import org.skyscreamer.jsonassert.JSONAssert;
9292

@@ -135,7 +135,7 @@ public void setUp() throws Exception {
135135
MockitoAnnotations.initMocks(this);
136136

137137
directExecutor = MoreExecutors.directExecutor();
138-
context = RuntimeEnvironment.application.getApplicationContext();
138+
context = ApplicationProvider.getApplicationContext();
139139
mockClock = new MockClock(0L);
140140
metadataClient =
141141
new ConfigMetadataClient(context.getSharedPreferences("test_file", Context.MODE_PRIVATE));

firebase-config/src/test/java/com/google/firebase/remoteconfig/internal/ConfigFetchHttpClientTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import android.content.Context;
4141
import android.content.pm.PackageInfo;
4242
import android.os.Build;
43+
import androidx.test.core.app.ApplicationProvider;
4344
import com.google.android.gms.common.util.MockClock;
4445
import com.google.common.base.Charsets;
4546
import com.google.common.collect.ImmutableMap;
@@ -61,7 +62,6 @@
6162
import org.junit.Test;
6263
import org.junit.runner.RunWith;
6364
import org.robolectric.RobolectricTestRunner;
64-
import org.robolectric.RuntimeEnvironment;
6565
import org.robolectric.annotation.Config;
6666

6767
/**
@@ -95,7 +95,7 @@ public class ConfigFetchHttpClientTest {
9595
@Before
9696
public void setUp() throws Exception {
9797
initMocks(this);
98-
context = RuntimeEnvironment.application;
98+
context = ApplicationProvider.getApplicationContext();
9999
configFetchHttpClient =
100100
new ConfigFetchHttpClient(
101101
context,

firebase-config/src/test/java/com/google/firebase/remoteconfig/internal/ConfigMetadataClientTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import android.content.Context;
3030
import android.content.SharedPreferences;
31+
import androidx.test.core.app.ApplicationProvider;
3132
import com.google.common.base.Preconditions;
3233
import com.google.firebase.remoteconfig.FirebaseRemoteConfigInfo;
3334
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
@@ -38,7 +39,6 @@
3839
import org.junit.Test;
3940
import org.junit.runner.RunWith;
4041
import org.robolectric.RobolectricTestRunner;
41-
import org.robolectric.RuntimeEnvironment;
4242
import org.robolectric.annotation.Config;
4343

4444
/**
@@ -55,7 +55,8 @@ public class ConfigMetadataClientTest {
5555
@Before
5656
public void setUp() {
5757
SharedPreferences metadata =
58-
RuntimeEnvironment.application.getSharedPreferences("TEST_FILE_NAME", Context.MODE_PRIVATE);
58+
ApplicationProvider.getApplicationContext()
59+
.getSharedPreferences("TEST_FILE_NAME", Context.MODE_PRIVATE);
5960

6061
metadata.edit().clear().commit();
6162

firebase-config/src/test/java/com/google/firebase/remoteconfig/internal/ConfigStorageClientTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import static com.google.firebase.remoteconfig.testutil.Assert.assertThrows;
1919

2020
import android.content.Context;
21+
import androidx.test.core.app.ApplicationProvider;
2122
import com.google.android.gms.common.internal.Preconditions;
2223
import com.google.common.collect.ImmutableMap;
2324
import java.io.BufferedReader;
@@ -32,7 +33,6 @@
3233
import org.junit.Test;
3334
import org.junit.runner.RunWith;
3435
import org.robolectric.RobolectricTestRunner;
35-
import org.robolectric.RuntimeEnvironment;
3636
import org.robolectric.annotation.Config;
3737

3838
/**
@@ -52,7 +52,7 @@ public class ConfigStorageClientTest {
5252

5353
@Before
5454
public void setUp() throws Exception {
55-
context = RuntimeEnvironment.application.getApplicationContext();
55+
context = ApplicationProvider.getApplicationContext();
5656

5757
ConfigStorageClient.clearInstancesForTest();
5858
storageClient = ConfigStorageClient.getInstance(context, FILE_NAME);

firebase-database/ktx/ktx.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,5 @@ dependencies {
5858
testImplementation "org.robolectric:robolectric:$robolectricVersion"
5959
testImplementation 'junit:junit:4.12'
6060
testImplementation "com.google.truth:truth:$googleTruthVersion"
61+
testImplementation 'androidx.test:core:1.2.0'
6162
}

firebase-database/ktx/src/test/kotlin/com/google/firebase/database/ktx/DatabaseTests.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414

1515
package com.google.firebase.database.ktx
1616

17+
import androidx.test.core.app.ApplicationProvider
1718
import com.google.common.truth.Truth.assertThat
1819
import com.google.firebase.FirebaseApp
1920
import com.google.firebase.FirebaseOptions
@@ -31,7 +32,6 @@ import org.junit.Before
3132
import org.junit.Test
3233
import org.junit.runner.RunWith
3334
import org.robolectric.RobolectricTestRunner
34-
import org.robolectric.RuntimeEnvironment
3535

3636
const val APP_ID = "APP_ID"
3737
const val API_KEY = "API_KEY"
@@ -60,7 +60,7 @@ abstract class BaseTestCase {
6060
@Before
6161
fun setUp() {
6262
Firebase.initialize(
63-
RuntimeEnvironment.application,
63+
ApplicationProvider.getApplicationContext(),
6464
FirebaseOptions.Builder()
6565
.setApplicationId(APP_ID)
6666
.setApiKey(API_KEY)
@@ -70,7 +70,7 @@ abstract class BaseTestCase {
7070
)
7171

7272
Firebase.initialize(
73-
RuntimeEnvironment.application,
73+
ApplicationProvider.getApplicationContext(),
7474
FirebaseOptions.Builder()
7575
.setApplicationId(APP_ID)
7676
.setApiKey(API_KEY)

firebase-datatransport/firebase-datatransport.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,5 @@ dependencies {
5656
testImplementation "org.robolectric:robolectric:$robolectricVersion"
5757
testImplementation 'junit:junit:4.12'
5858
testImplementation "com.google.truth:truth:$googleTruthVersion"
59+
testImplementation 'androidx.test:core:1.2.0'
5960
}

firebase-datatransport/src/test/java/com/google/firebase/datatransport/TransportRegistrationTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,21 @@
1616

1717
import static com.google.common.truth.Truth.assertThat;
1818

19+
import androidx.test.core.app.ApplicationProvider;
1920
import androidx.test.runner.AndroidJUnit4;
2021
import com.google.android.datatransport.TransportFactory;
2122
import com.google.firebase.FirebaseApp;
2223
import com.google.firebase.FirebaseOptions;
2324
import java.util.function.Consumer;
2425
import org.junit.Test;
2526
import org.junit.runner.RunWith;
26-
import org.robolectric.RuntimeEnvironment;
2727

2828
@RunWith(AndroidJUnit4.class)
2929
public class TransportRegistrationTest {
3030
private static void withApp(Consumer<FirebaseApp> consumer) {
3131
FirebaseApp app =
3232
FirebaseApp.initializeApp(
33-
RuntimeEnvironment.application,
33+
ApplicationProvider.getApplicationContext(),
3434
new FirebaseOptions.Builder()
3535
.setApplicationId("appId")
3636
.setProjectId("123")

firebase-dynamic-links/ktx/ktx.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,5 @@ dependencies {
5555
testImplementation 'junit:junit:4.12'
5656
testImplementation "com.google.truth:truth:$googleTruthVersion"
5757
testImplementation 'org.mockito:mockito-core:2.25.0'
58+
testImplementation 'androidx.test:core:1.2.0'
5859
}

0 commit comments

Comments
 (0)