Skip to content

Commit 861b763

Browse files
committed
Move FeedbackSender instantiation to getInstance()
1 parent 7307517 commit 861b763

File tree

3 files changed

+62
-2
lines changed

3 files changed

+62
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.google.firebase.appdistribution.impl;
2+
3+
import static androidx.test.espresso.Espresso.onView;
4+
import static androidx.test.espresso.matcher.ViewMatchers.withId;
5+
import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
6+
7+
import android.content.res.Resources;
8+
import androidx.test.core.app.ApplicationProvider;
9+
import androidx.test.espresso.action.ViewActions;
10+
import androidx.test.ext.junit.rules.ActivityScenarioRule;
11+
import androidx.test.runner.AndroidJUnit4;
12+
import com.google.firebase.FirebaseApp;
13+
import com.google.firebase.FirebaseOptions;
14+
import org.junit.Before;
15+
import org.junit.Rule;
16+
import org.junit.Test;
17+
import org.junit.runner.RunWith;
18+
19+
@RunWith(AndroidJUnit4.class)
20+
public class FeedbackActivityTest {
21+
private static final String TEST_API_KEY = "AIzaSyabcdefghijklmnopqrstuvwxyz1234567";
22+
private static final String TEST_APP_ID_1 = "1:123456789:android:abcdef";
23+
private static final String TEST_PROJECT_ID = "test-project-id";
24+
25+
@Rule
26+
public ActivityScenarioRule<FeedbackActivity> activityRule =
27+
new ActivityScenarioRule<>(FeedbackActivity.class);
28+
29+
@Before
30+
public void setup() {
31+
FirebaseApp.initializeApp(
32+
ApplicationProvider.getApplicationContext(),
33+
new FirebaseOptions.Builder()
34+
.setApplicationId(TEST_APP_ID_1)
35+
.setProjectId(TEST_PROJECT_ID)
36+
.setApiKey(TEST_API_KEY)
37+
.build());
38+
}
39+
40+
@Test
41+
public void testEvent() {
42+
// ActivityScenario<FeedbackActivity> scenario = activityRule.getScenario();
43+
onView(withId(getResourceId("feedbackText"))).perform(ViewActions.typeText("The feedback"));
44+
onView(withId(getResourceId("submitButton"))).perform(ViewActions.click());
45+
}
46+
47+
private static int getResourceId(String xmlResourceName) {
48+
Resources r = getInstrumentation().getTargetContext().getResources();
49+
return r.getIdentifier(
50+
xmlResourceName, "xml", getInstrumentation().getTargetContext().getPackageName());
51+
}
52+
}

firebase-appdistribution/src/main/java/com/google/firebase/appdistribution/impl/FeedbackActivity.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import android.widget.EditText;
2121
import android.widget.Toast;
2222
import androidx.appcompat.app.AppCompatActivity;
23-
import com.google.firebase.FirebaseApp;
2423

2524
/** Activity for tester to compose and submit feedback. */
2625
public class FeedbackActivity extends AppCompatActivity {
@@ -41,7 +40,7 @@ protected void onCreate(Bundle savedInstanceState) {
4140
super.onCreate(savedInstanceState);
4241
releaseName = getIntent().getStringExtra(RELEASE_NAME_EXTRA_KEY);
4342
screenshot = getIntent().getParcelableExtra(SCREENSHOT_EXTRA_KEY);
44-
feedbackSender = FirebaseApp.getInstance().get(FeedbackSender.class);
43+
feedbackSender = FeedbackSender.getInstance();
4544
setContentView(R.layout.activity_feedback);
4645
}
4746

firebase-appdistribution/src/main/java/com/google/firebase/appdistribution/impl/FeedbackSender.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@
1515
package com.google.firebase.appdistribution.impl;
1616

1717
import android.graphics.Bitmap;
18+
import androidx.annotation.NonNull;
1819
import com.google.android.gms.tasks.Task;
20+
import com.google.firebase.FirebaseApp;
21+
import com.google.firebase.appdistribution.FirebaseAppDistribution;
22+
import com.google.firebase.appdistribution.internal.FirebaseAppDistributionProxy;
1923

2024
/** Sends tester feedback to the Tester API. */
2125
class FeedbackSender {
@@ -26,6 +30,11 @@ class FeedbackSender {
2630
this.testerApiClient = testerApiClient;
2731
}
2832

33+
@NonNull
34+
static FeedbackSender getInstance() {
35+
return FirebaseApp.getInstance().get(FeedbackSender.class);
36+
}
37+
2938
/** Send feedback text and screenshot to the Tester API for the given release. */
3039
Task<Void> sendFeedback(String releaseName, String feedbackText, Bitmap screenshot) {
3140
return testerApiClient

0 commit comments

Comments
 (0)