From ccdd7cc21e2d7902c5df148bd653b163ab86e866 Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Wed, 22 Jun 2016 18:39:49 -0700 Subject: [PATCH 01/11] Removing Optimizely from gradle file --- WordPress/build.gradle | 5 ----- 1 file changed, 5 deletions(-) diff --git a/WordPress/build.gradle b/WordPress/build.gradle index 10ff9e196903..6955717e0ede 100644 --- a/WordPress/build.gradle +++ b/WordPress/build.gradle @@ -14,7 +14,6 @@ repositories { jcenter() maven { url 'http://wordpress-mobile.github.io/WordPress-Android' } maven { url 'https://maven.fabric.io/public' } - maven { url 'http://dl.bintray.com/optimizely/optimizely' } maven { url "https://jitpack.io" } } @@ -80,10 +79,6 @@ dependencies { transitive = true; } - compile('com.optimizely:optimizely:+@aar') { - transitive = true - } - // Provided by maven central compile ('org.wordpress:mediapicker:1.2.4') { exclude group:'com.android.support' From 6c4eb04fcfc992912bf78793e3ede141ec2dd4ac Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Wed, 22 Jun 2016 19:33:31 -0700 Subject: [PATCH 02/11] Removing all uses of Optimizely --- .../android/ui/ActivityLauncher.java | 6 +- .../android/ui/accounts/SignInFragment.java | 16 +---- .../android/ui/main/WPMainActivity.java | 16 ----- .../util/WPOptimizelyEventListener.java | 66 ------------------- 4 files changed, 3 insertions(+), 101 deletions(-) delete mode 100644 WordPress/src/main/java/org/wordpress/android/util/WPOptimizelyEventListener.java diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index 1e4a78be2b17..f4dda0c1b8f6 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -9,9 +9,6 @@ import android.text.TextUtils; import android.widget.Toast; -import com.optimizely.Optimizely; -import com.optimizely.Variable.LiveVariable; - import org.wordpress.android.R; import org.wordpress.android.WordPress; import org.wordpress.android.analytics.AnalyticsTracker; @@ -55,7 +52,6 @@ import java.security.GeneralSecurityException; public class ActivityLauncher { - private static LiveVariable isMagicLinkEnabledVariable = Optimizely.booleanForKey("isMagicLinkEnabled", false); private static final String ARG_DID_SLIDE_IN_FROM_RIGHT = "did_slide_in_from_right"; public static void showSitePickerForResult(Activity activity, int blogLocalTableId) { @@ -262,7 +258,7 @@ public static void newBlogForResult(Activity activity) { } public static void showSignInForResult(Activity activity) { - if (isMagicLinkEnabledVariable.get() && WPActivityUtils.isEmailClientAvailable(activity)) { + if (false && WPActivityUtils.isEmailClientAvailable(activity)) { Intent intent = new Intent(activity, MagicLinkSignInActivity.class); activity.startActivityForResult(intent, RequestCodes.ADD_ACCOUNT); } else { diff --git a/WordPress/src/main/java/org/wordpress/android/ui/accounts/SignInFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/accounts/SignInFragment.java index 59070847a906..47dd8d809a88 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/accounts/SignInFragment.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/accounts/SignInFragment.java @@ -29,8 +29,6 @@ import android.widget.TextView; import com.google.android.gms.auth.api.credentials.Credential; -import com.optimizely.Optimizely; -import com.optimizely.Variable.LiveVariable; import com.wordpress.rest.RestRequest; import org.json.JSONException; @@ -76,7 +74,6 @@ public class SignInFragment extends AbstractFragment implements TextWatcher { public static final String TAG = "sign_in_fragment_tag"; - private static LiveVariable isNotOnWordPressComVariable = Optimizely.booleanForKey("isNotOnWordPressCom", false); private static final String DOT_COM_BASE_URL = "https://wordpress.com"; private static final String FORGOT_PASSWORD_RELATIVE_URL = "/wp-login.php?action=lostpassword"; private static final int WPCOM_ERRONEOUS_LOGIN_THRESHOLD = 3; @@ -152,7 +149,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa mCreateAccountButton = (WPTextView) rootView.findViewById(R.id.nux_create_account_button); mCreateAccountButton.setOnClickListener(mCreateAccountListener); mAddSelfHostedButton = (WPTextView) rootView.findViewById(R.id.nux_add_selfhosted_button); - setDotComAddSelfHostedButtonText(); + mAddSelfHostedButton.setText(getString(R.string.nux_add_selfhosted_blog)); mAddSelfHostedButton.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -224,14 +221,6 @@ public void onResume() { } } - private void setDotComAddSelfHostedButtonText() { - if (isNotOnWordPressComVariable.get()) { - mAddSelfHostedButton.setText(R.string.not_on_wordpress_com); - } else { - mAddSelfHostedButton.setText(getString(R.string.nux_add_selfhosted_blog)); - } - } - /** * Hide toggle button "add self hosted / sign in with WordPress.com" and show self hosted URL * edit box @@ -256,7 +245,7 @@ protected void toggleSignInMode(){ protected void showDotComSignInForm(){ mUrlButtonLayout.setVisibility(View.GONE); - setDotComAddSelfHostedButtonText(); + mAddSelfHostedButton.setText(getString(R.string.nux_add_selfhosted_blog)); } protected void showSelfHostedSignInForm(){ @@ -538,7 +527,6 @@ public void onSuccess(final List> userBlogList) { } trackAnalyticsSignIn(); - Optimizely.trackEvent("Signed In"); // get reader tags so they're available as soon as the Reader is accessed - done for // both wp.com and self-hosted (self-hosted = "logged out" reader) - note that this diff --git a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java index c2cc395c2a83..2f51e032e75e 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/main/WPMainActivity.java @@ -15,11 +15,9 @@ import android.view.View; import android.widget.TextView; -import com.optimizely.Optimizely; import com.simperium.client.Bucket; import com.simperium.client.BucketObjectMissingException; -import org.wordpress.android.BuildConfig; import org.wordpress.android.GCMMessageService; import org.wordpress.android.GCMRegistrationIntentService; import org.wordpress.android.R; @@ -57,7 +55,6 @@ import org.wordpress.android.util.ProfilingUtils; import org.wordpress.android.util.StringUtils; import org.wordpress.android.util.ToastUtils; -import org.wordpress.android.util.WPOptimizelyEventListener; import org.wordpress.android.widgets.WPViewPager; import de.greenrobot.event.EventBus; @@ -188,7 +185,6 @@ public void onPageScrolled(int position, float positionOffset, int positionOffse if (savedInstanceState == null) { if (AccountHelper.isSignedIn()) { - startOptimizely(true); // open note detail if activity called from a push, otherwise return to the tab // that was showing last time boolean openedFromPush = (getIntent() != null && getIntent().getBooleanExtra(ARG_OPENED_FROM_PUSH, @@ -204,23 +200,11 @@ public void onPageScrolled(int position, float positionOffset, int positionOffse checkMagicLinkSignIn(); } } else { - startOptimizely(false); ActivityLauncher.showSignInForResult(this); } } } - private void startOptimizely(boolean isAsync) { - if (!BuildConfig.DEBUG) { - if (isAsync) { - Optimizely.startOptimizelyAsync(BuildConfig.OPTIMIZELY_TOKEN, getApplication(), new WPOptimizelyEventListener()); - } else { - Optimizely.addOptimizelyEventListener(new WPOptimizelyEventListener()); - Optimizely.startOptimizelyWithAPIToken(BuildConfig.OPTIMIZELY_TOKEN, getApplication()); - } - } - } - private void setTabLayoutElevation(float newElevation){ if (mTabLayout == null) return; diff --git a/WordPress/src/main/java/org/wordpress/android/util/WPOptimizelyEventListener.java b/WordPress/src/main/java/org/wordpress/android/util/WPOptimizelyEventListener.java deleted file mode 100644 index 1fb578e314de..000000000000 --- a/WordPress/src/main/java/org/wordpress/android/util/WPOptimizelyEventListener.java +++ /dev/null @@ -1,66 +0,0 @@ -package org.wordpress.android.util; - -import android.os.Bundle; - -import com.optimizely.Optimizely; -import com.optimizely.integration.OptimizelyEventListener; -import com.optimizely.integration.OptimizelyExperimentData; - -import org.wordpress.android.analytics.AnalyticsTracker; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -public class WPOptimizelyEventListener implements OptimizelyEventListener { - public static final String ABTEST_NAME = "abtest_name"; - public static final String ABTEST_VARIATION = "abtest_variation"; - - @Override - public void onOptimizelyStarted() { - - } - - @Override - public void onOptimizelyFailedToStart(String s) { - - } - - @Override - public void onOptimizelyExperimentVisited(OptimizelyExperimentData optimizelyExperimentData) { - - } - - @Override - public void onOptimizelyExperimentViewed(OptimizelyExperimentData optimizelyExperimentData) { - Map visitedExperiments = Optimizely.getVisitedExperiments(); - - for (String experimentId : visitedExperiments.keySet()) { - OptimizelyExperimentData experiment = visitedExperiments.get(experimentId); - HashMap abTestProperties = new HashMap<>(); - abTestProperties.put(ABTEST_NAME, experiment.experimentName); - abTestProperties.put(ABTEST_VARIATION, experiment.variationName); - AnalyticsTracker.track(AnalyticsTracker.Stat.ABTEST_START, abTestProperties); - } - } - - @Override - public void onOptimizelyEditorEnabled() { - - } - - @Override - public void onOptimizelyDataFileLoaded() { - - } - - @Override - public void onGoalTriggered(String s, List list) { - - } - - @Override - public void onMessage(String s, String s1, Bundle bundle) { - - } -} From 1a7e7a85f19bbe90a9bd8507ebcc04fe27efed51 Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Wed, 22 Jun 2016 19:40:52 -0700 Subject: [PATCH 03/11] Adding Magic Links A/B test boolean variable --- .../java/org/wordpress/android/ui/ActivityLauncher.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index f4dda0c1b8f6..fbae78bd0d06 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -9,6 +9,9 @@ import android.text.TextUtils; import android.widget.Toast; +import com.mixpanel.android.mpmetrics.MixpanelAPI; +import com.mixpanel.android.mpmetrics.Tweak; + import org.wordpress.android.R; import org.wordpress.android.WordPress; import org.wordpress.android.analytics.AnalyticsTracker; @@ -53,6 +56,7 @@ public class ActivityLauncher { private static final String ARG_DID_SLIDE_IN_FROM_RIGHT = "did_slide_in_from_right"; + private static Tweak showMagicLinkSignIn = MixpanelAPI.booleanTweak("Show Magic Link Sign In", false); public static void showSitePickerForResult(Activity activity, int blogLocalTableId) { Intent intent = new Intent(activity, SitePickerActivity.class); @@ -258,7 +262,7 @@ public static void newBlogForResult(Activity activity) { } public static void showSignInForResult(Activity activity) { - if (false && WPActivityUtils.isEmailClientAvailable(activity)) { + if (showMagicLinkSignIn.get() && WPActivityUtils.isEmailClientAvailable(activity)) { Intent intent = new Intent(activity, MagicLinkSignInActivity.class); activity.startActivityForResult(intent, RequestCodes.ADD_ACCOUNT); } else { From 6dc6d91c6497e5bbe1bef756d783406750350771 Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Fri, 24 Jun 2016 11:04:55 -0700 Subject: [PATCH 04/11] Removing magic link mixpanel boolean tweak (always showing regular sign in for right now) --- .../java/org/wordpress/android/ui/ActivityLauncher.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index fbae78bd0d06..ee32bb847bb8 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -56,7 +56,6 @@ public class ActivityLauncher { private static final String ARG_DID_SLIDE_IN_FROM_RIGHT = "did_slide_in_from_right"; - private static Tweak showMagicLinkSignIn = MixpanelAPI.booleanTweak("Show Magic Link Sign In", false); public static void showSitePickerForResult(Activity activity, int blogLocalTableId) { Intent intent = new Intent(activity, SitePickerActivity.class); @@ -262,7 +261,7 @@ public static void newBlogForResult(Activity activity) { } public static void showSignInForResult(Activity activity) { - if (showMagicLinkSignIn.get() && WPActivityUtils.isEmailClientAvailable(activity)) { + if (shouldShowMagicLinkSignIn(activity)) { Intent intent = new Intent(activity, MagicLinkSignInActivity.class); activity.startActivityForResult(intent, RequestCodes.ADD_ACCOUNT); } else { @@ -336,4 +335,9 @@ public static void slideOutToRight(Activity activity) { activity.overridePendingTransition(R.anim.do_nothing, R.anim.activity_slide_out_to_right); } } + + private static boolean shouldShowMagicLinkSignIn(Activity activity) { + boolean isInMagicLinkABTestGroup = false; + return isInMagicLinkABTestGroup && WPActivityUtils.isEmailClientAvailable(activity); + } } From 9942661361d926e63b09f6be5eb9b905c0e8df36 Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Fri, 24 Jun 2016 11:08:41 -0700 Subject: [PATCH 05/11] Removing imports for Mixpanel A/B testing --- .../main/java/org/wordpress/android/ui/ActivityLauncher.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index ee32bb847bb8..39f301ca1114 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -9,9 +9,6 @@ import android.text.TextUtils; import android.widget.Toast; -import com.mixpanel.android.mpmetrics.MixpanelAPI; -import com.mixpanel.android.mpmetrics.Tweak; - import org.wordpress.android.R; import org.wordpress.android.WordPress; import org.wordpress.android.analytics.AnalyticsTracker; From d5736aabc61eb8e6af3139d0de424e4625bb5a02 Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Mon, 1 Aug 2016 16:04:44 -0500 Subject: [PATCH 06/11] Adding logic to show magic links --- .../java/org/wordpress/android/ui/ActivityLauncher.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index 0960054dc478..958d235f60f7 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -9,6 +9,9 @@ import android.text.TextUtils; import android.widget.Toast; +import com.mixpanel.android.mpmetrics.MixpanelAPI; +import com.mixpanel.android.mpmetrics.Tweak; + import org.wordpress.android.R; import org.wordpress.android.WordPress; import org.wordpress.android.analytics.AnalyticsTracker; @@ -52,6 +55,7 @@ import java.security.GeneralSecurityException; public class ActivityLauncher { + private static Tweak showMagicLinksLogin = MixpanelAPI.booleanTweak("Show Magic Links", false); public static void showSitePickerForResult(Activity activity, int blogLocalTableId) { Intent intent = new Intent(activity, SitePickerActivity.class); @@ -257,7 +261,7 @@ public static void newBlogForResult(Activity activity) { } public static void showSignInForResult(Activity activity) { - if (shouldShowMagicLinkSignIn(activity)) { + if (showMagicLinksLogin.get() && WPActivityUtils.isEmailClientAvailable(activity)) { Intent intent = new Intent(activity, MagicLinkSignInActivity.class); activity.startActivityForResult(intent, RequestCodes.ADD_ACCOUNT); } else { From 7be64de58bb5bafae05828dba104fc6c56846758 Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Thu, 4 Aug 2016 18:37:29 -0500 Subject: [PATCH 07/11] Removing magic links login A/B test as we won't use it. --- .../main/java/org/wordpress/android/ui/ActivityLauncher.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index 958d235f60f7..a57af5892903 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -55,8 +55,6 @@ import java.security.GeneralSecurityException; public class ActivityLauncher { - private static Tweak showMagicLinksLogin = MixpanelAPI.booleanTweak("Show Magic Links", false); - public static void showSitePickerForResult(Activity activity, int blogLocalTableId) { Intent intent = new Intent(activity, SitePickerActivity.class); intent.putExtra(SitePickerActivity.KEY_LOCAL_ID, blogLocalTableId); @@ -261,7 +259,7 @@ public static void newBlogForResult(Activity activity) { } public static void showSignInForResult(Activity activity) { - if (showMagicLinksLogin.get() && WPActivityUtils.isEmailClientAvailable(activity)) { + if (WPActivityUtils.isEmailClientAvailable(activity)) { Intent intent = new Intent(activity, MagicLinkSignInActivity.class); activity.startActivityForResult(intent, RequestCodes.ADD_ACCOUNT); } else { From 60d0fc452825135d909803a068019c224b9ad89b Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Thu, 4 Aug 2016 18:43:43 -0500 Subject: [PATCH 08/11] Making sure always return false for now --- .../java/org/wordpress/android/ui/ActivityLauncher.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index a57af5892903..e937c3241fc8 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -259,7 +259,7 @@ public static void newBlogForResult(Activity activity) { } public static void showSignInForResult(Activity activity) { - if (WPActivityUtils.isEmailClientAvailable(activity)) { + if (shouldShowMagicLinksLogin(activity);) { Intent intent = new Intent(activity, MagicLinkSignInActivity.class); activity.startActivityForResult(intent, RequestCodes.ADD_ACCOUNT); } else { @@ -298,4 +298,10 @@ public static void addSelfHostedSiteForResult(Activity activity) { intent.putExtra(SignInActivity.EXTRA_START_FRAGMENT, SignInActivity.ADD_SELF_HOSTED_BLOG); activity.startActivityForResult(intent, RequestCodes.ADD_ACCOUNT); } + + public static boolean shouldShowMagicLinksLogin(Activity activity) { + boolean isMagicLinksEnabled = false; + + return isMagicLinksEnabled && WPActivityUtils.isEmailClientAvailable(activity); + } } From f8939561e39128f5ee0618adce8c289fe69f2b97 Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Fri, 5 Aug 2016 10:56:54 -0500 Subject: [PATCH 09/11] Removing extra semi-colon --- .../main/java/org/wordpress/android/ui/ActivityLauncher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index e937c3241fc8..0f32f57a8869 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -259,7 +259,7 @@ public static void newBlogForResult(Activity activity) { } public static void showSignInForResult(Activity activity) { - if (shouldShowMagicLinksLogin(activity);) { + if (shouldShowMagicLinksLogin(activity)) { Intent intent = new Intent(activity, MagicLinkSignInActivity.class); activity.startActivityForResult(intent, RequestCodes.ADD_ACCOUNT); } else { From 030390ac3da00c65878c669fd5a2d5e3b5765b1c Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Fri, 5 Aug 2016 12:10:02 -0500 Subject: [PATCH 10/11] Removing unused imports --- .../main/java/org/wordpress/android/ui/ActivityLauncher.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java index 0f32f57a8869..7ba24cb6a310 100644 --- a/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java +++ b/WordPress/src/main/java/org/wordpress/android/ui/ActivityLauncher.java @@ -9,9 +9,6 @@ import android.text.TextUtils; import android.widget.Toast; -import com.mixpanel.android.mpmetrics.MixpanelAPI; -import com.mixpanel.android.mpmetrics.Tweak; - import org.wordpress.android.R; import org.wordpress.android.WordPress; import org.wordpress.android.analytics.AnalyticsTracker; From 4a88ee7d345d2d38d429f7074fd749a4745f3bbb Mon Sep 17 00:00:00 2001 From: Will Kwon Date: Fri, 5 Aug 2016 12:10:19 -0500 Subject: [PATCH 11/11] Removing optimizely token key --- WordPress/gradle.properties-example | 1 - 1 file changed, 1 deletion(-) diff --git a/WordPress/gradle.properties-example b/WordPress/gradle.properties-example index 2809bda06e27..f80f9dec1738 100644 --- a/WordPress/gradle.properties-example +++ b/WordPress/gradle.properties-example @@ -4,7 +4,6 @@ wp.oauth.redirect_uri = http://android.wordpress.org/ wp.gcm.id = wordpress wp.db_secret = wordpress wp.mixpanel_token = wordpress -wp.optimizely_token = wordpress wp.simperium.app_secret = wordpress wp.simperium.app_name = wordpress wp.helpshift.api.key = wordpress