Skip to content

Commit 93296e6

Browse files
Added warm start test case logic + some bugfixes
Added warm start test case logic + some bugfixes
1 parent 33979fd commit 93296e6

File tree

3 files changed

+39
-27
lines changed

3 files changed

+39
-27
lines changed

Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidatorDialog.java

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,15 @@ public class LinkingValidatorDialog extends Dialog implements AdapterView.OnItem
2121

2222
private enum ROUTING_TYPE { CANONICAL_URL, DEEPLINK_PATH, CUSTOM }
2323
private ROUTING_TYPE routingType;
24-
private Button ctaButton;
25-
private Spinner linkingValidatorDropdownMenu;
26-
private TextView linkingValidatorText;
27-
private EditText linkingValidatorEditText;
28-
private LinearLayout customKVPField;
29-
private LinearLayout linkingValidatorRowsLayout;
24+
private final Button ctaButton;
25+
private final Spinner linkingValidatorDropdownMenu;
26+
private final TextView linkingValidatorText;
27+
private final EditText linkingValidatorEditText;
28+
private final LinearLayout customKVPField;
29+
private final LinearLayout linkingValidatorRowsLayout;
3030
private int step = 1;
3131
private String routingKey = "";
3232
private String routingValue = "";
33-
private EditText customKeyEditText;
34-
private EditText customValueEditText;
35-
private Context context;
3633
private LinkingValidatorDialogRowItem row1;
3734
private LinkingValidatorDialogRowItem row2;
3835
private LinkingValidatorDialogRowItem row3;
@@ -42,7 +39,6 @@ private enum ROUTING_TYPE { CANONICAL_URL, DEEPLINK_PATH, CUSTOM }
4239

4340
public LinkingValidatorDialog(final Context context) {
4441
super(context);
45-
this.context = context;
4642
requestWindowFeature(Window.FEATURE_NO_TITLE);
4743
this.setContentView(R.layout.dialog_linking_validator);
4844

@@ -59,10 +55,16 @@ public LinkingValidatorDialog(final Context context) {
5955
ctaButton = findViewById(R.id.linkingValidatorButton);
6056
ctaButton.setText(LinkingValidatorConstants.step1ButtonText);
6157
ctaButton.setOnClickListener(view -> {
62-
if(step == 1) {
63-
LoadStep2Screen();
64-
} else {
65-
GenerateBranchLinks();
58+
switch(step) {
59+
case 1:
60+
LoadStep2Screen();
61+
break;
62+
case 2:
63+
GenerateBranchLinks();
64+
break;
65+
case 3:
66+
CloseDialog();
67+
break;
6668
}
6769
});
6870

@@ -132,13 +134,15 @@ void LoadStep2Screen() {
132134
}
133135

134136
void GenerateBranchLinks() {
137+
step++;
135138
linkingValidatorEditText.setVisibility(View.GONE);
139+
customKVPField.setVisibility(View.GONE);
136140
linkingValidatorText.setVisibility(View.GONE);
137141
ctaButton.setText(LinkingValidatorConstants.step3ButtonText);
138142
linkingValidatorRowsLayout.setVisibility(View.VISIBLE);
139143

140-
customKeyEditText = findViewById(R.id.keyEditText);
141-
customValueEditText = findViewById(R.id.valueEditText);
144+
EditText customKeyEditText = findViewById(R.id.keyEditText);
145+
EditText customValueEditText = findViewById(R.id.valueEditText);
142146

143147
//if routing key is empty, it is a custom key outside of $canonical_url and $deeplink_path
144148
if(routingKey.isEmpty()) {
@@ -153,4 +157,8 @@ void GenerateBranchLinks() {
153157
row5.InitializeRow(LinkingValidatorConstants.linkingValidatorRow5Title, LinkingValidatorConstants.infoButton5Copy, LinkingValidatorConstants.debugButton5Copy, routingKey, routingValue, "warmStartUseCase", false, 4);
154158
row6.InitializeRow(LinkingValidatorConstants.linkingValidatorRow6Title, LinkingValidatorConstants.infoButton6Copy, LinkingValidatorConstants.debugButton6Copy, routingKey, routingValue, "foregroundClickUseCase", false, 5);
155159
}
160+
161+
private void CloseDialog() {
162+
this.dismiss();
163+
}
156164
}

Branch-SDK/src/main/java/io/branch/referral/validators/LinkingValidatorDialogRowItem.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ public void InitializeRow(String title, String infoText, String debugText, Strin
7676
HandleDebugButtonClicked();
7777
});
7878

79-
if(isSharableLink) {
79+
if (isSharableLink) {
8080
actionButton.setText("Share");
8181

8282
actionButton.setOnClickListener(view2 -> {
@@ -85,10 +85,11 @@ public void InitializeRow(String title, String infoText, String debugText, Strin
8585
} else {
8686
actionButton.setText("Test");
8787

88-
if(index == 4) {
89-
//warm start use case
90-
91-
} else if(index == 5) {
88+
if (index == 4) {
89+
actionButton.setOnClickListener(view2 -> {
90+
HandleWarmStartClick();
91+
});
92+
} else if (index == 5) {
9293
actionButton.setOnClickListener(view2 -> {
9394
HandleForegroundLinkClick();
9495
});
@@ -131,13 +132,18 @@ private void HandleDebugButtonClicked() {
131132
dialog.show();
132133
}
133134

135+
private void HandleWarmStartClick() {
136+
getActivity(context).moveTaskToBack(true);
137+
HandleForegroundLinkClick();
138+
}
139+
134140
private void HandleForegroundLinkClick() {
135141
BranchUniversalObject buo = new BranchUniversalObject().setCanonicalIdentifier(canonicalIdentifier);
136142
LinkProperties lp = new LinkProperties();
137143
String branchLink = buo.getShortUrl(context, lp);
138144
Intent intent = new Intent(getContext(), getActivity(context).getClass());
139145
intent.putExtra("branch", branchLink);
140-
intent.putExtra("branch_force_new_session",true);
146+
intent.putExtra("branch_force_new_session", true);
141147
getActivity(context).startActivity(intent);
142148
}
143149

Branch-SDK/src/main/res/layout/dialog_linking_validator.xml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,11 @@
4747
android:id="@+id/linkingValidatorDropdownMenu"
4848
android:layout_width="351dp"
4949
android:layout_height="50dp"
50-
android:visibility="invisible"
50+
android:visibility="visible"
5151
app:layout_constraintBottom_toTopOf="@+id/linkingValidatorButton"
5252
app:layout_constraintEnd_toEndOf="parent"
5353
app:layout_constraintStart_toStartOf="parent"
54-
app:layout_constraintTop_toBottomOf="@+id/linkingValidatorText"
55-
tools:visibility="invisible" />
54+
app:layout_constraintTop_toBottomOf="@+id/linkingValidatorText" />
5655

5756
<TextView
5857
android:id="@+id/linkingValidatorText"
@@ -62,7 +61,6 @@
6261
android:gravity="center"
6362
android:text="What key do you use for deep link routing?"
6463
android:textSize="20sp"
65-
android:visibility="invisible"
6664
app:layout_constraintEnd_toEndOf="parent"
6765
app:layout_constraintStart_toStartOf="parent"
6866
app:layout_constraintTop_toBottomOf="@+id/linkingValidatorHeader" />
@@ -146,7 +144,7 @@
146144
android:layout_marginStart="20dp"
147145
android:layout_marginEnd="20dp"
148146
android:orientation="vertical"
149-
android:visibility="visible"
147+
android:visibility="gone"
150148
app:layout_constraintBottom_toTopOf="@+id/linkingValidatorButton"
151149
app:layout_constraintEnd_toEndOf="parent"
152150
app:layout_constraintStart_toStartOf="parent"

0 commit comments

Comments
 (0)