Skip to content

Commit 8d104e5

Browse files
authored
Fix inappmessaging-display sdk size issues. (#635)
* Increase the size of the table to accommodate inappmessaging-display. * Fix tests.
1 parent 2a79f02 commit 8d104e5

File tree

4 files changed

+51
-18
lines changed

4 files changed

+51
-18
lines changed

buildSrc/src/main/groovy/com/google/firebase/gradle/plugins/measurement/apksize/ApkSizeTableBuilder.groovy

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ class ApkSizeTableBuilder {
2929
throw new IllegalStateException("No sizes added")
3030
}
3131

32-
def table = "|------------------ APK Sizes ------------------|\n"
33-
table += "|-- project --|-- build type --|-- size in bytes --|\n"
32+
def table = "|-------------------- APK Sizes ------------------|\n"
33+
table += "|--- project ---|-- build type --|-- size in bytes --|\n"
3434

3535
table += sdkSizes.collect {
36-
sprintf("|%-19s|%-19s|%-21s|", it.get(0), it.get(1), it.get(2))
36+
sprintf("|%-21s|%-19s|%-21s|", it.get(0), it.get(1), it.get(2))
3737
}.join("\n")
3838

3939
return table

buildSrc/src/test/groovy/com/google/firebase/gradle/plugins/measurement/apksize/ApkSizeTableBuilderTest.groovy

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ import org.junit.runners.JUnit4
2525
public class ApkSizeTableBuilderTest {
2626

2727
private static final String HEADER =
28-
"|------------------ APK Sizes ------------------|\n" +
29-
"|-- project --|-- build type --|-- size in bytes --|\n"
28+
"|-------------------- APK Sizes ------------------|\n" +
29+
"|--- project ---|-- build type --|-- size in bytes --|\n"
3030

3131
@Test(expected = IllegalStateException.class)
3232
public void toTableString_throwsWhenZeroAdded() {
@@ -37,7 +37,7 @@ public class ApkSizeTableBuilderTest {
3737
@Test
3838
public void toTableString_withOneMeasurement() {
3939
def expected = HEADER +
40-
"|firebase foo |debug |255000 |"
40+
"|firebase foo |debug |255000 |"
4141

4242
def builder = new ApkSizeTableBuilder()
4343
builder.addApkSize("firebase foo", "debug", 255000)
@@ -48,9 +48,9 @@ public class ApkSizeTableBuilderTest {
4848
@Test
4949
public void toTableString_withThreeMeasurements() {
5050
def expected = HEADER +
51-
"|firebase foo |debug |255000 |\n" +
52-
"|google loo |release |4000 |\n" +
53-
"|Appy Snap App |Snappy |781000 |"
51+
"|firebase foo |debug |255000 |\n" +
52+
"|google loo |release |4000 |\n" +
53+
"|Appy Snap App |Snappy |781000 |"
5454

5555
def builder = new ApkSizeTableBuilder()
5656
builder.addApkSize("firebase foo", "debug", 255000)

tools/measurement/apksize/src/inappmessagingdisplay/inappmessaging-display.gradle

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,7 @@ android {
3030
}
3131
dependencies {
3232
inappmessagingdisplayImplementation project(":firebase-inappmessaging-display")
33+
inappmessagingdisplayImplementation ("com.google.firebase:firebase-inappmessaging:17.0.3") {
34+
exclude group: "com.google.firebase", module: "firebase-common"
35+
}
3336
}

tools/measurement/apksize/src/inappmessagingdisplay/java/com.google.apksize/InAppMessagingDisplay.java

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,25 +14,55 @@
1414

1515
package com.google.apksize;
1616

17+
import android.app.Activity;
1718
import android.content.Context;
18-
import com.google.firebase.inappmessaging.FirebaseInAppMessagingClickListener;
19-
import com.google.firebase.inappmessaging.model.Action;
20-
import com.google.firebase.inappmessaging.model.CampaignMetadata;
19+
import com.google.android.gms.tasks.Task;
20+
import com.google.android.gms.tasks.TaskCompletionSource;
21+
import com.google.firebase.inappmessaging.FirebaseInAppMessagingDisplayCallbacks;
22+
import com.google.firebase.inappmessaging.display.FirebaseInAppMessagingDisplay;
2123
import com.google.firebase.inappmessaging.model.InAppMessage;
2224

2325
public class InAppMessagingDisplay implements SampleCode {
26+
private static final String SAMPLE_TEXT = "My sample text";
27+
private static final String ACTION_URL = "https://www.example.com";
28+
private static final String CAMPAIGN_ID = "my_campaign";
29+
private static final String TITLE = "Title";
2430

25-
public class MyClickListener implements FirebaseInAppMessagingClickListener {
31+
public static class DisplayCallback implements FirebaseInAppMessagingDisplayCallbacks {
2632
@Override
27-
public void messageClicked(InAppMessage inAppMessage, Action action) {
28-
String url = action.getActionUrl();
29-
CampaignMetadata metadata = inAppMessage.getCampaignMetadata();
33+
public Task<Void> impressionDetected() {
34+
return new TaskCompletionSource<Void>().getTask();
35+
}
36+
37+
@Override
38+
public Task<Void> messageDismissed(InAppMessagingDismissType dismissType) {
39+
return new TaskCompletionSource<Void>().getTask();
40+
}
41+
42+
@Override
43+
public Task<Void> messageClicked() {
44+
return new TaskCompletionSource<Void>().getTask();
45+
}
46+
47+
@Override
48+
public Task<Void> displayErrorEncountered(InAppMessagingErrorReason InAppMessagingErrorReason) {
49+
return new TaskCompletionSource<Void>().getTask();
3050
}
3151
}
3252

3353
@Override
3454
public void runSample(Context context) {
35-
MyClickListener listener = new MyClickListener();
36-
FirebaseInAppMessaging.getInstance().addClickListener(listener);
55+
InAppMessage message =
56+
InAppMessage.builder()
57+
.setBody(InAppMessage.Text.builder().setText(SAMPLE_TEXT).build())
58+
.setAction(InAppMessage.Action.builder().setActionUrl(ACTION_URL).build())
59+
.setCampaignId(CAMPAIGN_ID)
60+
.setTitle(InAppMessage.Text.builder().setText(TITLE).build())
61+
.build();
62+
63+
// NOTE: Context is *not guaranteed* to be an Activity. This is **fine** in this case because we
64+
// only want to compile the APK to measure it size, and it will not be run.
65+
FirebaseInAppMessagingDisplay.getInstance()
66+
.testMessage((Activity) context, message, new DisplayCallback());
3767
}
3868
}

0 commit comments

Comments
 (0)