Skip to content

Commit dc4ed5e

Browse files
[SDK-2158] Update Android SDK version (#32)
* Updated SplashActivity needs fixing * Fixed linking code * Updated version and removed unused imports * Updated more versions * Updates based on feedback
1 parent 5bc187f commit dc4ed5e

File tree

13 files changed

+105
-92
lines changed

13 files changed

+105
-92
lines changed

app/build.gradle

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ android {
3535
applicationId = "io.branch.branchster.amazon"
3636
}
3737
}
38+
39+
packagingOptions {
40+
exclude 'META-INF/com.android.tools/proguard/coroutines.pro'
41+
}
3842
}
3943

4044
repositories{
@@ -47,12 +51,12 @@ repositories{
4751
dependencies {
4852
implementation fileTree(include: ['*.jar'], dir: 'libs')
4953
implementation 'androidx.multidex:multidex:2.0.1'
50-
implementation ('io.branch.sdk.android:library:5.0.15')
54+
implementation ('io.branch.sdk.android:library:5.7.2')
5155
// api project(":BranchSDK-local")
5256
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
5357
implementation 'androidx.appcompat:appcompat:1.1.0'
5458
implementation 'androidx.leanback:leanback:1.0.0'
5559

56-
androidImplementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
60+
androidImplementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
5761
implementation 'com.facebook.android:facebook-android-sdk:4.42.0'
5862
}

app/src/android/AndroidManifest.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,17 @@
1111
android:largeHeap="true"
1212
android:banner="@drawable/ic_launcher_tv"
1313
>
14+
<activity
15+
android:name="io.branch.branchster.MonsterCreatorActivity"
16+
android:exported="false">
17+
</activity>
18+
<activity
19+
android:name="io.branch.branchster.MonsterViewerActivity"
20+
android:exported="false">
21+
</activity>
1422
<activity
1523
android:name="io.branch.branchster.SplashActivity"
24+
android:exported="true"
1625
android:label="@string/app_name"
1726
android:launchMode="singleTask"
1827
android:theme="@android:style/Theme.Light.NoTitleBar">

app/src/android/res/values/api_keys.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<!--<string name="branch_key_test">key_test_lkhEVOq9sPU9FXgbSAoQthfhqsd5EVaV</string>-->
1313

1414
<!-- Branchster app keys-->
15-
<string name="branch_key">key_live_hkDytPACtipny3N9XmnbZlapBDdj4WIL</string>
15+
<string name="branch_key">key_live_mbErCMtrzeheAWS0Xagg7hjbwDkaZ6SP</string>
1616
<string name="branch_key_test">key_test_jpAAsHxzDjint6I30mkBZjeewAki21R7</string>
1717

1818
<!--

app/src/main/AndroidManifest.xml

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,6 @@
2121
android:largeHeap="true"
2222
android:banner="@drawable/ic_launcher_tv">
2323

24-
<activity
25-
android:name="io.branch.branchster.TvActivity"
26-
android:label="@string/app_name"
27-
android:theme="@style/Theme.Leanback">
28-
29-
<intent-filter>
30-
<action android:name="android.intent.action.MAIN" />
31-
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
32-
</intent-filter>
33-
34-
</activity>
35-
3624
<activity
3725
android:name="io.branch.branchster.MonsterViewerActivity"
3826
android:launchMode="singleTask"

app/src/main/java/io/branch/branchster/BranchsterAndroidApplication.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
public class BranchsterAndroidApplication extends MultiDexApplication {
1414
public void onCreate() {
1515
super.onCreate();
16-
Branch branch = Branch.getAutoInstance(this);
1716
Branch.enableLogging();
17+
Branch.getAutoInstance(this);
1818
// Branch.setPlayStoreReferrerCheckTimeout(3000);
1919
// branch.setIdentity(UUID.randomUUID().toString());
2020
}

app/src/main/java/io/branch/branchster/MonsterCreatorActivity.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,6 @@ public void onClick(View v) {
116116
} else {
117117
prefs.setMonsterName(getString(R.string.monster_name));
118118
}
119-
// List this monster on google search
120-
prefs.getLatestMonsterObj().listOnGoogleSearch(MonsterCreatorActivity.this);
121119
Intent i = new Intent(getApplicationContext(), MonsterViewerActivity.class);
122120
i.putExtra(MonsterViewerActivity.MY_MONSTER_OBJ_KEY, prefs.getLatestMonsterObj());
123121
startActivity(i);

app/src/main/java/io/branch/branchster/MonsterViewerActivity.java

Lines changed: 24 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,6 @@
1414
import android.view.View.OnClickListener;
1515
import android.widget.TextView;
1616

17-
import org.json.JSONException;
18-
import org.json.JSONObject;
19-
2017
import java.util.Random;
2118

2219
import io.branch.branchster.fragment.InfoFragment;
@@ -25,14 +22,13 @@
2522
import io.branch.indexing.BranchUniversalObject;
2623
import io.branch.referral.Branch;
2724
import io.branch.referral.BranchError;
28-
import io.branch.referral.PrefHelper;
25+
import io.branch.referral.BranchLogger;
2926
import io.branch.referral.SharingHelper;
3027
import io.branch.referral.util.BRANCH_STANDARD_EVENT;
3128
import io.branch.referral.util.BranchEvent;
32-
import io.branch.referral.util.CommerceEvent;
29+
import io.branch.referral.util.ContentMetadata;
3330
import io.branch.referral.util.CurrencyType;
3431
import io.branch.referral.util.LinkProperties;
35-
import io.branch.referral.util.Product;
3632
import io.branch.referral.util.ProductCategory;
3733
import io.branch.referral.util.ShareSheetStyle;
3834

@@ -149,14 +145,12 @@ private void shareMyMonster() {
149145

150146
@Override
151147
public void onShareLinkDialogLaunched() {
152-
JSONObject jsonObject = new JSONObject();
153148
revenue = rnd.nextInt(4) + 1D;
154-
try {
155-
jsonObject.put("sku", monsterName);
156-
jsonObject.put("price", revenue);
157-
} catch (JSONException e) {
158-
}
159-
Branch.getInstance(getApplicationContext()).userCompletedAction("Add to Cart", jsonObject);
149+
BranchEvent event = new BranchEvent(BRANCH_STANDARD_EVENT.ADD_TO_CART);
150+
event.addCustomDataProperty("sku", monsterName);
151+
event.addCustomDataProperty("price", String.valueOf(revenue));
152+
event.logEvent(getApplicationContext());
153+
160154
}
161155

162156
@Override
@@ -169,19 +163,22 @@ public void onLinkShareResponse(String sharedLink, String sharedChannel, BranchE
169163

170164
@Override
171165
public void onChannelSelected(String channelName) {
172-
Product branchster = new Product();
166+
ContentMetadata branchster = new ContentMetadata();
173167
branchster.setSku(monsterName);
174-
branchster.setPrice(revenue);
175-
branchster.setQuantity(1);
176-
branchster.setVariant("X-Tra Hairy");
177-
branchster.setBrand("Branch");
178-
branchster.setCategory(ProductCategory.ANIMALS_AND_PET_SUPPLIES);
179-
branchster.setName(monsterName);
180-
CommerceEvent commerceEvent = new CommerceEvent();
181-
commerceEvent.setRevenue(revenue);
182-
commerceEvent.setCurrencyType(CurrencyType.USD);
183-
commerceEvent.addProduct(branchster);
184-
Branch.getInstance().sendCommerceEvent(commerceEvent, null, null);
168+
branchster.setPrice(revenue, CurrencyType.USD);
169+
branchster.setQuantity(1.0);
170+
branchster.setProductVariant("X-Tra Hairy");
171+
branchster.setProductBrand("Branch");
172+
branchster.setProductCategory(ProductCategory.ANIMALS_AND_PET_SUPPLIES);
173+
branchster.setProductName(monsterName);
174+
175+
BranchUniversalObject buo = new BranchUniversalObject();
176+
buo.setTitle("product");
177+
buo.setContentMetadata(branchster);
178+
179+
BranchEvent event = new BranchEvent(BRANCH_STANDARD_EVENT.PURCHASE);
180+
event.addContentItems(buo);
181+
event.logEvent(getApplicationContext());
185182
}
186183
},
187184
new Branch.IChannelProperties() {
@@ -226,7 +223,7 @@ public void onFragmentInteraction() {
226223

227224
@Override public void onStart() {
228225
super.onStart();
229-
PrefHelper.Debug("MonsterViewerActivity.onStart");
226+
BranchLogger.d("MonsterViewerActivity.onStart");
230227
//For testing
231228
// Branch.getInstance().initSession(branchReferralInitListener, getIntent() != null ?
232229
// getIntent().getData() : null, this);
@@ -236,7 +233,7 @@ public void onFragmentInteraction() {
236233
protected void onNewIntent(Intent intent) {
237234
super.onNewIntent(intent);
238235
setIntent(intent);
239-
PrefHelper.Debug("MonsterViewerActivity.onNewIntent");
236+
BranchLogger.d("MonsterViewerActivity.onNewIntent");
240237
// For testing
241238
// Branch.getInstance().reInitSession(this, branchReferralInitListener);
242239
}

app/src/main/java/io/branch/branchster/SplashActivity.java

Lines changed: 53 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@
44
import android.content.Intent;
55
import android.os.Bundle;
66
import android.text.TextUtils;
7+
import android.util.Log;
78
import android.view.View;
89
import android.view.animation.Animation;
910
import android.view.animation.AnimationUtils;
1011
import android.webkit.WebView;
1112
import android.widget.ImageView;
1213

14+
import org.json.JSONObject;
15+
1316
import io.branch.branchster.util.MonsterPreferences;
1417
import io.branch.indexing.BranchUniversalObject;
1518
import io.branch.referral.Branch;
@@ -31,43 +34,42 @@ public class SplashActivity extends Activity {
3134

3235
@Override protected void onStart() {
3336
super.onStart();
34-
Branch.getInstance().initSession(branchReferralInitListener, this.getIntent().getData(), this);
35-
}
37+
Branch.sessionBuilder(this).withCallback(new Branch.BranchUniversalReferralInitListener() {
38+
@Override
39+
public void onInitFinished(BranchUniversalObject branchUniversalObject, LinkProperties linkProperties, BranchError branchError) {
40+
if (branchUniversalObject == null) {
41+
proceedToAppTransparent();
42+
} else if (linkProperties != null &&
43+
!TextUtils.isEmpty(linkProperties.getControlParams().get("$web_only"))
44+
&& !TextUtils.isEmpty(linkProperties.getControlParams().get("$3p"))) {
3645

37-
public Branch.BranchUniversalReferralInitListener branchReferralInitListener = new Branch.BranchUniversalReferralInitListener() {
38-
@Override public void onInitFinished(BranchUniversalObject branchUniversalObject,
39-
LinkProperties linkProperties, BranchError branchError) {
40-
//If not Launched by clicking Branch link
41-
if (branchUniversalObject == null) {
42-
proceedToAppTransparent();
43-
} else if (linkProperties != null &&
44-
!TextUtils.isEmpty(linkProperties.getControlParams().get("$web_only"))
45-
&& !TextUtils.isEmpty(linkProperties.getControlParams().get("$3p"))) {
46-
String webOnlyParam = linkProperties.getControlParams().get("$web_only");
47-
String is3pParam = linkProperties.getControlParams().get("$3p");
48-
if (!TextUtils.isEmpty(webOnlyParam) && !TextUtils.isEmpty(is3pParam)) {
49-
if (Boolean.parseBoolean(webOnlyParam)) {
50-
String url = linkProperties.getControlParams().get("$original_url");
51-
WebView webView = findViewById(R.id.web_only_view);
52-
webView.setVisibility(View.VISIBLE);
53-
webView.loadUrl(url);
46+
String webOnlyParam = linkProperties.getControlParams().get("$web_only");
47+
String is3pParam = linkProperties.getControlParams().get("$3p");
48+
if (!TextUtils.isEmpty(webOnlyParam) && !TextUtils.isEmpty(is3pParam)) {
49+
if (Boolean.parseBoolean(webOnlyParam)) {
50+
String url = linkProperties.getControlParams().get("$original_url");
51+
WebView webView = findViewById(R.id.web_only_view);
52+
webView.setVisibility(View.VISIBLE);
53+
webView.loadUrl(url);
54+
}
5455
}
5556
}
57+
/* In case the clicked link has $android_deeplink_path the Branch will launch the MonsterViewer automatically since AutoDeeplinking feature is enabled.
58+
* Launch Monster viewer activity if a link clicked without $android_deeplink_path
59+
*/
60+
else if (!branchUniversalObject.getContentMetadata().getCustomMetadata().containsKey("android_deeplink_path")) {
61+
MonsterPreferences prefs = MonsterPreferences.getInstance(getApplicationContext());
62+
prefs.saveMonster(branchUniversalObject);
63+
Intent intent = new Intent(SplashActivity.this, MonsterViewerActivity.class);
64+
intent.putExtra(MonsterViewerActivity.MY_MONSTER_OBJ_KEY, prefs.getLatestMonsterObj());
65+
startActivity(intent);
66+
finish();
67+
}
5668
}
57-
/* In case the clicked link has $android_deeplink_path the Branch will launch the MonsterViewer automatically since AutoDeeplinking feature is enabled.
58-
* Launch Monster viewer activity if a link clicked without $android_deeplink_path
59-
*/
60-
else if (!branchUniversalObject.getContentMetadata().getCustomMetadata().containsKey("$android_deeplink_path")) {
61-
MonsterPreferences prefs = MonsterPreferences.getInstance(getApplicationContext());
62-
prefs.saveMonster(branchUniversalObject);
63-
Intent intent = new Intent(SplashActivity.this, MonsterViewerActivity.class);
64-
intent.putExtra(MonsterViewerActivity.MY_MONSTER_OBJ_KEY, prefs.getLatestMonsterObj());
65-
startActivity(intent);
66-
finish();
67-
}
68-
}
69-
};
70-
69+
}).withData(this.getIntent().getData()).init();
70+
71+
}
72+
7173
private void proceedToAppTransparent() {
7274
Animation animSlideIn = AnimationUtils.loadAnimation(this, R.anim.push_down_in);
7375
animSlideIn.setDuration(ANIM_DURATION);
@@ -96,4 +98,22 @@ private void proceedToAppTransparent() {
9698
imgSplash2.setVisibility(View.VISIBLE);
9799
imgSplash2.startAnimation(animSlideIn);
98100
}
101+
102+
@Override
103+
public void onNewIntent(Intent intent) {
104+
super.onNewIntent(intent);
105+
this.setIntent(intent);
106+
if (intent != null && intent.hasExtra("branch_force_new_session") && intent.getBooleanExtra("branch_force_new_session",false)) {
107+
Branch.sessionBuilder(this).withCallback(new Branch.BranchReferralInitListener() {
108+
@Override
109+
public void onInitFinished(JSONObject referringParams, BranchError error) {
110+
if (error != null) {
111+
Log.e("BranchSDK_Tester", error.getMessage());
112+
} else if (referringParams != null) {
113+
Log.i("BranchSDK_Tester", referringParams.toString());
114+
}
115+
}
116+
}).reInit();
117+
}
118+
}
99119
}

app/src/main/java/io/branch/branchster/TvActivity.java

Lines changed: 0 additions & 3 deletions
This file was deleted.

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
buildscript {
44
repositories {
55
mavenLocal()
6-
jcenter()
6+
mavenCentral()
77
google()
88
}
99
dependencies {
10-
classpath 'com.android.tools.build:gradle:3.5.1'
10+
classpath 'com.android.tools.build:gradle:7.4.2'
1111

1212
// NOTE: Do not place your application dependencies here; they belong
1313
// in the individual module build.gradle files
@@ -17,7 +17,7 @@ buildscript {
1717
allprojects {
1818
repositories {
1919
mavenLocal()
20-
jcenter()
20+
mavenCentral()
2121
google()
2222
}
2323
}

0 commit comments

Comments
 (0)