Skip to content

Commit

Permalink
Added warm start test case logic + some bugfixes
Browse files Browse the repository at this point in the history
Added warm start test case logic + some bugfixes
  • Loading branch information
rob-gioia-branch committed Nov 1, 2024
1 parent 33979fd commit 93296e6
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 27 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,15 @@ public class LinkingValidatorDialog extends Dialog implements AdapterView.OnItem

private enum ROUTING_TYPE { CANONICAL_URL, DEEPLINK_PATH, CUSTOM }
private ROUTING_TYPE routingType;
private Button ctaButton;
private Spinner linkingValidatorDropdownMenu;
private TextView linkingValidatorText;
private EditText linkingValidatorEditText;
private LinearLayout customKVPField;
private LinearLayout linkingValidatorRowsLayout;
private final Button ctaButton;
private final Spinner linkingValidatorDropdownMenu;
private final TextView linkingValidatorText;
private final EditText linkingValidatorEditText;
private final LinearLayout customKVPField;
private final LinearLayout linkingValidatorRowsLayout;
private int step = 1;
private String routingKey = "";
private String routingValue = "";
private EditText customKeyEditText;
private EditText customValueEditText;
private Context context;
private LinkingValidatorDialogRowItem row1;
private LinkingValidatorDialogRowItem row2;
private LinkingValidatorDialogRowItem row3;
Expand All @@ -42,7 +39,6 @@ private enum ROUTING_TYPE { CANONICAL_URL, DEEPLINK_PATH, CUSTOM }

public LinkingValidatorDialog(final Context context) {
super(context);
this.context = context;
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.setContentView(R.layout.dialog_linking_validator);

Expand All @@ -59,10 +55,16 @@ public LinkingValidatorDialog(final Context context) {
ctaButton = findViewById(R.id.linkingValidatorButton);
ctaButton.setText(LinkingValidatorConstants.step1ButtonText);
ctaButton.setOnClickListener(view -> {
if(step == 1) {
LoadStep2Screen();
} else {
GenerateBranchLinks();
switch(step) {
case 1:
LoadStep2Screen();
break;
case 2:
GenerateBranchLinks();
break;
case 3:
CloseDialog();
break;
}
});

Expand Down Expand Up @@ -132,13 +134,15 @@ void LoadStep2Screen() {
}

void GenerateBranchLinks() {
step++;
linkingValidatorEditText.setVisibility(View.GONE);
customKVPField.setVisibility(View.GONE);
linkingValidatorText.setVisibility(View.GONE);
ctaButton.setText(LinkingValidatorConstants.step3ButtonText);
linkingValidatorRowsLayout.setVisibility(View.VISIBLE);

customKeyEditText = findViewById(R.id.keyEditText);
customValueEditText = findViewById(R.id.valueEditText);
EditText customKeyEditText = findViewById(R.id.keyEditText);
EditText customValueEditText = findViewById(R.id.valueEditText);

//if routing key is empty, it is a custom key outside of $canonical_url and $deeplink_path
if(routingKey.isEmpty()) {
Expand All @@ -153,4 +157,8 @@ void GenerateBranchLinks() {
row5.InitializeRow(LinkingValidatorConstants.linkingValidatorRow5Title, LinkingValidatorConstants.infoButton5Copy, LinkingValidatorConstants.debugButton5Copy, routingKey, routingValue, "warmStartUseCase", false, 4);
row6.InitializeRow(LinkingValidatorConstants.linkingValidatorRow6Title, LinkingValidatorConstants.infoButton6Copy, LinkingValidatorConstants.debugButton6Copy, routingKey, routingValue, "foregroundClickUseCase", false, 5);
}

private void CloseDialog() {
this.dismiss();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public void InitializeRow(String title, String infoText, String debugText, Strin
HandleDebugButtonClicked();
});

if(isSharableLink) {
if (isSharableLink) {
actionButton.setText("Share");

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

if(index == 4) {
//warm start use case

} else if(index == 5) {
if (index == 4) {
actionButton.setOnClickListener(view2 -> {
HandleWarmStartClick();
});
} else if (index == 5) {
actionButton.setOnClickListener(view2 -> {
HandleForegroundLinkClick();
});
Expand Down Expand Up @@ -131,13 +132,18 @@ private void HandleDebugButtonClicked() {
dialog.show();
}

private void HandleWarmStartClick() {
getActivity(context).moveTaskToBack(true);
HandleForegroundLinkClick();
}

private void HandleForegroundLinkClick() {
BranchUniversalObject buo = new BranchUniversalObject().setCanonicalIdentifier(canonicalIdentifier);
LinkProperties lp = new LinkProperties();
String branchLink = buo.getShortUrl(context, lp);
Intent intent = new Intent(getContext(), getActivity(context).getClass());
intent.putExtra("branch", branchLink);
intent.putExtra("branch_force_new_session",true);
intent.putExtra("branch_force_new_session", true);
getActivity(context).startActivity(intent);
}

Expand Down
8 changes: 3 additions & 5 deletions Branch-SDK/src/main/res/layout/dialog_linking_validator.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,11 @@
android:id="@+id/linkingValidatorDropdownMenu"
android:layout_width="351dp"
android:layout_height="50dp"
android:visibility="invisible"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@+id/linkingValidatorButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linkingValidatorText"
tools:visibility="invisible" />
app:layout_constraintTop_toBottomOf="@+id/linkingValidatorText" />

<TextView
android:id="@+id/linkingValidatorText"
Expand All @@ -62,7 +61,6 @@
android:gravity="center"
android:text="What key do you use for deep link routing?"
android:textSize="20sp"
android:visibility="invisible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linkingValidatorHeader" />
Expand Down Expand Up @@ -146,7 +144,7 @@
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:orientation="vertical"
android:visibility="visible"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@+id/linkingValidatorButton"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
Expand Down

0 comments on commit 93296e6

Please sign in to comment.