From e47a1e0bf2560bc5b76027276f038c17b5918391 Mon Sep 17 00:00:00 2001 From: Akinwale Ariwodola Date: Fri, 23 Aug 2019 14:39:08 +0100 Subject: [PATCH 1/2] add screen class override for setCurrentScreen --- src/main/java/io/lbry/browser/Utils.java | 10 ++++++++++ .../io/lbry/browser/reactmodules/FirebaseModule.java | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/lbry/browser/Utils.java b/src/main/java/io/lbry/browser/Utils.java index f7b9f2f4..e86f078f 100644 --- a/src/main/java/io/lbry/browser/Utils.java +++ b/src/main/java/io/lbry/browser/Utils.java @@ -412,4 +412,14 @@ public final class Utils { } return new SecretKeySpec(rsaDecrypt(Base64.decode(base64Key, Base64.DEFAULT), keyStore), "AES"); } + + public static String capitalizeAndStrip(String text) { + String[] parts = text.split(" "); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < parts.length; i++) { + sb.append(parts[i].substring(0, 1).toUpperCase()).append(parts[i].substring(1)); + } + + return sb.toString(); + } } diff --git a/src/main/java/io/lbry/browser/reactmodules/FirebaseModule.java b/src/main/java/io/lbry/browser/reactmodules/FirebaseModule.java index ae467244..a48bb996 100644 --- a/src/main/java/io/lbry/browser/reactmodules/FirebaseModule.java +++ b/src/main/java/io/lbry/browser/reactmodules/FirebaseModule.java @@ -12,6 +12,7 @@ import com.google.firebase.analytics.FirebaseAnalytics; import io.lbry.browser.BuildConfig; import io.lbry.browser.MainActivity; +import io.lbry.browser.Utils; import java.util.HashMap; import java.util.Map; @@ -38,7 +39,7 @@ public class FirebaseModule extends ReactContextBaseJavaModule { @ReactMethod public void setCurrentScreen(String name) { if (firebaseAnalytics != null) { - firebaseAnalytics.setCurrentScreen(MainActivity.getActivity(), name, null); + firebaseAnalytics.setCurrentScreen(MainActivity.getActivity(), name, Utils.capitalizeAndStrip(name)); } } From 660adb4a6fe6b388e1084ec5e055e9a6973c4f9b Mon Sep 17 00:00:00 2001 From: Akinwale Ariwodola Date: Sun, 25 Aug 2019 16:36:25 +0100 Subject: [PATCH 2/2] setCurrentScreen tweaks --- app | 2 +- .../lbry/browser/reactmodules/FirebaseModule.java | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app b/app index 430fc1a6..68d99ac6 160000 --- a/app +++ b/app @@ -1 +1 @@ -Subproject commit 430fc1a66106efc99513eeae8043910bc40c0b82 +Subproject commit 68d99ac639b908f6011325140c3a37428d039ad9 diff --git a/src/main/java/io/lbry/browser/reactmodules/FirebaseModule.java b/src/main/java/io/lbry/browser/reactmodules/FirebaseModule.java index a48bb996..38839a45 100644 --- a/src/main/java/io/lbry/browser/reactmodules/FirebaseModule.java +++ b/src/main/java/io/lbry/browser/reactmodules/FirebaseModule.java @@ -1,9 +1,11 @@ package io.lbry.browser.reactmodules; +import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.widget.Toast; +import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContextBaseJavaModule; import com.facebook.react.bridge.ReactMethod; @@ -37,10 +39,16 @@ public class FirebaseModule extends ReactContextBaseJavaModule { } @ReactMethod - public void setCurrentScreen(String name) { - if (firebaseAnalytics != null) { - firebaseAnalytics.setCurrentScreen(MainActivity.getActivity(), name, Utils.capitalizeAndStrip(name)); + public void setCurrentScreen(String name, final Promise promise) { + final Activity activity = getCurrentActivity(); + if (activity != null && firebaseAnalytics != null) { + activity.runOnUiThread(new Runnable() { + public void run() { + firebaseAnalytics.setCurrentScreen(activity, name, Utils.capitalizeAndStrip(name)); + } + }); } + promise.resolve(true); } @ReactMethod