jenkins-bot has submitted this change and it was merged.

Change subject: End link preview a/b test.
......................................................................


End link preview a/b test.

Change-Id: I0a61af33bca9a4149c468aee085d92b5b9ffe6a1
---
M app/src/main/java/org/wikipedia/WikipediaApp.java
M app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java
M app/src/main/java/org/wikipedia/page/PageActivity.java
D app/src/main/java/org/wikipedia/page/linkpreview/LinkPreviewDialogB.java
M app/src/main/java/org/wikipedia/settings/Prefs.java
D app/src/main/res/layout/dialog_link_preview_b.xml
M app/src/main/res/values/preference_keys.xml
M app/src/main/res/xml/developer_preferences.xml
8 files changed, 2 insertions(+), 397 deletions(-)

Approvals:
  Sniedzielski: Looks good to me, approved
  Mholloway: Looks good to me, but someone else must approve
  jenkins-bot: Verified



diff --git a/app/src/main/java/org/wikipedia/WikipediaApp.java 
b/app/src/main/java/org/wikipedia/WikipediaApp.java
index 20c6253..368bb37 100644
--- a/app/src/main/java/org/wikipedia/WikipediaApp.java
+++ b/app/src/main/java/org/wikipedia/WikipediaApp.java
@@ -429,21 +429,6 @@
         return enabled;
     }
 
-    public int getLinkPreviewVersion() {
-        int version;
-        if (Prefs.hasLinkPreviewVersion()) {
-            version = Prefs.getLinkPreviewVersion();
-        } else {
-            version = new Random().nextInt(2);
-            Prefs.setLinkPreviewVersion(version);
-        }
-        return version;
-    }
-
-    public boolean isLinkPreviewExperimental() {
-        return getLinkPreviewVersion() != 0;
-    }
-
     /**
      * Gets the currently-selected theme for the app.
      * @return Theme that is currently selected, which is the actual theme ID 
that can
diff --git a/app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java 
b/app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java
index 4ffdd07..9b69a19 100644
--- a/app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java
+++ b/app/src/main/java/org/wikipedia/analytics/LinkPreviewFunnel.java
@@ -10,7 +10,6 @@
     private static final String SCHEMA_NAME = "MobileWikiAppLinkPreview";
     private static final int REV_ID = 14095177;
     private static final int PROD_LINK_PREVIEW_VERSION = 3;
-    private static final int PROD_LINK_PREVIEW_VERSION_B = 4;
 
     public LinkPreviewFunnel(WikipediaApp app) {
         super(app, SCHEMA_NAME, REV_ID, app.isProdRelease() ? 
Funnel.SAMPLE_LOG_100 : Funnel.SAMPLE_LOG_ALL);
@@ -18,7 +17,7 @@
 
     @Override
     protected JSONObject preprocessData(@NonNull JSONObject eventData) {
-        preprocessData(eventData, "version", 
WikipediaApp.getInstance().isLinkPreviewExperimental() ? 
PROD_LINK_PREVIEW_VERSION_B : PROD_LINK_PREVIEW_VERSION);
+        preprocessData(eventData, "version", PROD_LINK_PREVIEW_VERSION);
         return super.preprocessData(eventData);
     }
 
diff --git a/app/src/main/java/org/wikipedia/page/PageActivity.java 
b/app/src/main/java/org/wikipedia/page/PageActivity.java
index e116c13..1c94691 100644
--- a/app/src/main/java/org/wikipedia/page/PageActivity.java
+++ b/app/src/main/java/org/wikipedia/page/PageActivity.java
@@ -16,7 +16,6 @@
 import org.wikipedia.login.LoginActivity;
 import org.wikipedia.page.gallery.GalleryActivity;
 import org.wikipedia.page.linkpreview.LinkPreviewDialog;
-import org.wikipedia.page.linkpreview.LinkPreviewDialogB;
 import org.wikipedia.page.snippet.CompatActionMode;
 import org.wikipedia.random.RandomHandler;
 import org.wikipedia.recurring.RecurringTasksExecutor;
@@ -690,9 +689,7 @@
 
     public void showLinkPreview(PageTitle title, int entrySource) {
         if 
(getSupportFragmentManager().findFragmentByTag(LINK_PREVIEW_FRAGMENT_TAG) == 
null) {
-            DialogFragment linkPreview = app.isLinkPreviewExperimental()
-                    ? LinkPreviewDialogB.newInstance(title, entrySource)
-                    : LinkPreviewDialog.newInstance(title, entrySource);
+            DialogFragment linkPreview = LinkPreviewDialog.newInstance(title, 
entrySource);
             linkPreview.show(getSupportFragmentManager(), 
LINK_PREVIEW_FRAGMENT_TAG);
         }
     }
diff --git 
a/app/src/main/java/org/wikipedia/page/linkpreview/LinkPreviewDialogB.java 
b/app/src/main/java/org/wikipedia/page/linkpreview/LinkPreviewDialogB.java
deleted file mode 100644
index 7cb0247..0000000
--- a/app/src/main/java/org/wikipedia/page/linkpreview/LinkPreviewDialogB.java
+++ /dev/null
@@ -1,265 +0,0 @@
-package org.wikipedia.page.linkpreview;
-
-import org.wikipedia.history.HistoryEntry;
-import org.wikipedia.R;
-import org.wikipedia.WikipediaApp;
-import org.wikipedia.analytics.LinkPreviewFunnel;
-import org.wikipedia.page.Page;
-import org.wikipedia.page.PageActivity;
-import org.wikipedia.page.PageCache;
-import org.wikipedia.page.PageTitle;
-import org.wikipedia.savedpages.LoadSavedPageTask;
-import org.wikipedia.server.PageServiceFactory;
-import org.wikipedia.server.PageSummary;
-import org.wikipedia.util.ApiUtil;
-import org.wikipedia.util.FeedbackUtil;
-import org.wikipedia.util.ResourceUtil;
-
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.text.method.ScrollingMovementMethod;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.ProgressBar;
-import android.widget.TextView;
-
-import com.squareup.picasso.Picasso;
-
-import retrofit.RetrofitError;
-import retrofit.client.Response;
-
-import static org.wikipedia.util.L10nUtil.getStringForArticleLanguage;
-import static org.wikipedia.util.L10nUtil.setConditionalLayoutDirection;
-
-public class LinkPreviewDialogB extends SwipeableBottomDialog implements 
DialogInterface.OnDismissListener {
-    private static final String TAG = "LinkPreviewDialog";
-
-    private boolean navigateSuccess;
-
-    private ProgressBar progressBar;
-    private TextView extractText;
-    private ImageView leadImage;
-
-    private PageTitle pageTitle;
-    private int entrySource;
-
-    private LinkPreviewFunnel funnel;
-    private LinkPreviewContents contents;
-    private OnNavigateListener onNavigateListener;
-
-    private View.OnClickListener goToPageListener = new View.OnClickListener() 
{
-        @Override
-        public void onClick(View v) {
-            goToLinkedPage();
-        }
-    };
-
-    public static LinkPreviewDialogB newInstance(PageTitle title, int 
entrySource) {
-        LinkPreviewDialogB dialog = new LinkPreviewDialogB();
-        Bundle args = new Bundle();
-        args.putParcelable("title", title);
-        args.putInt("entrySource", entrySource);
-        dialog.setArguments(args);
-        return dialog;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setStyle(STYLE_NO_TITLE, R.style.LinkPreviewDialog);
-        setContentPeekHeight((int) 
getResources().getDimension(R.dimen.linkPreviewPeekHeight));
-    }
-
-    @Override
-    protected View inflateDialogView(LayoutInflater inflater, ViewGroup 
container) {
-        WikipediaApp app = WikipediaApp.getInstance();
-        pageTitle = getArguments().getParcelable("title");
-        entrySource = getArguments().getInt("entrySource");
-
-        View rootView = inflater.inflate(R.layout.dialog_link_preview_b, 
container);
-        progressBar = (ProgressBar) 
rootView.findViewById(R.id.link_preview_progress);
-        leadImage = (ImageView) 
rootView.findViewById(R.id.link_preview_lead_image);
-
-        View overlayRootView = addOverlay(inflater, 
R.layout.dialog_link_preview_overlay);
-        Button goButton = (Button) 
overlayRootView.findViewById(R.id.link_preview_go_button);
-        goButton.setOnClickListener(goToPageListener);
-        goButton.setText(getStringForArticleLanguage(pageTitle, 
R.string.button_continue_to_article));
-
-        TextView titleText = (TextView) 
rootView.findViewById(R.id.link_preview_title);
-        titleText.setOnClickListener(goToPageListener);
-        titleText.setText(pageTitle.getDisplayText());
-        setConditionalLayoutDirection(rootView, 
pageTitle.getSite().getLanguageCode());
-        if (!ApiUtil.hasKitKat()) {
-            // for oldish devices, reset line spacing to 1, since it truncates 
the descenders.
-            titleText.setLineSpacing(0, 1.0f);
-        }
-
-        onNavigateListener = new DefaultOnNavigateListener();
-        extractText = (TextView) 
rootView.findViewById(R.id.link_preview_extract);
-        extractText.setMovementMethod(new ScrollingMovementMethod());
-
-        // show the progress bar while we load content...
-        progressBar.setVisibility(View.VISIBLE);
-
-        // and kick off the task to load all the things...
-        loadContent();
-
-        funnel = new LinkPreviewFunnel(app);
-        funnel.logLinkClick();
-
-        return rootView;
-    }
-
-    public interface OnNavigateListener {
-        void onNavigate(PageTitle title);
-    }
-
-    public void goToLinkedPage() {
-        navigateSuccess = true;
-        funnel.logNavigate();
-        if (getDialog() != null) {
-            getDialog().dismiss();
-        }
-        if (onNavigateListener != null) {
-            onNavigateListener.onNavigate(pageTitle);
-        }
-    }
-
-    @Override
-    public void onDismiss(DialogInterface dialogInterface) {
-        super.onDismiss(dialogInterface);
-        if (!navigateSuccess) {
-            funnel.logCancel();
-        }
-    }
-
-    private void loadContent() {
-        PageServiceFactory.create(pageTitle.getSite()).pageSummary(
-                pageTitle.getPrefixedText(),
-                linkPreviewOnLoadCallback);
-    }
-
-    private void loadContentFromCache() {
-        Log.v(TAG, "Loading link preview from cache");
-        if (!isAdded()) {
-            return;
-        }
-        getApplication().getPageCache()
-                .get(pageTitle, 0, new PageCache.CacheGetListener() {
-                    @Override
-                    public void onGetComplete(Page page, int sequence) {
-                        if (page != null) {
-                            displayPreviewFromCachedPage(page);
-                        } else {
-                            loadContentFromSavedPage();
-                        }
-                    }
-
-                    @Override
-                    public void onGetError(Throwable e, int sequence) {
-                        Log.e(TAG, "Failed to get page from cache.", e);
-                        loadContentFromSavedPage();
-                    }
-                });
-    }
-
-    private void loadContentFromSavedPage() {
-        Log.v(TAG, "Loading link preview from Saved Pages");
-        if (!isAdded()) {
-            return;
-        }
-        new LoadSavedPageTask(pageTitle) {
-            @Override
-            public void onFinish(Page page) {
-                displayPreviewFromCachedPage(page);
-            }
-
-            @Override
-            public void onCatch(Throwable caught) {
-                progressBar.setVisibility(View.GONE);
-                FeedbackUtil.showMessage(getActivity(), 
R.string.error_network_error);
-                dismiss();
-            }
-        }.execute();
-    }
-
-    private void displayPreviewFromCachedPage(Page page) {
-        if (!isAdded()) {
-            Log.d(TAG, "Detached from activity, so stopping update.");
-            return;
-        }
-        progressBar.setVisibility(View.GONE);
-        contents = new LinkPreviewContents(page);
-        layoutPreview();
-    }
-
-    private PageSummary.Callback linkPreviewOnLoadCallback = new 
PageSummary.Callback() {
-        @Override
-        public void success(PageSummary pageSummary, Response response) {
-            if (!isAdded()) {
-                return;
-            }
-            Log.v(TAG, response.getUrl());
-            if (!pageSummary.hasError()) {
-                progressBar.setVisibility(View.GONE);
-                contents = new LinkPreviewContents(pageSummary, 
pageTitle.getSite());
-                layoutPreview();
-            } else {
-                pageSummary.logError("Page summary request failed");
-                loadContentFromCache();
-            }
-        }
-
-        @Override
-        public void failure(RetrofitError error) {
-            if (!isAdded()) {
-                return;
-            }
-            Log.e(TAG, "Link preview fetch error: " + error);
-        }
-    };
-
-    private PageActivity getPageActivity() {
-        return (PageActivity) getActivity();
-    }
-
-    private WikipediaApp getApplication() {
-        return WikipediaApp.getInstance();
-    }
-
-    private class DefaultOnNavigateListener implements OnNavigateListener {
-        @Override
-        public void onNavigate(PageTitle title) {
-            HistoryEntry newEntry = new HistoryEntry(title, entrySource);
-            getPageActivity().displayNewPage(title, newEntry);
-        }
-    }
-
-    private void layoutPreview() {
-        if (!TextUtils.isEmpty(contents.getExtract())) {
-            extractText.setText(contents.getExtract());
-        }
-        int placeholderResId = ResourceUtil.getThemedAttributeId(getContext(), 
R.attr.lead_image_drawable);
-        if (shouldDownloadLeadImage()) {
-            Picasso.with(getActivity())
-                    .load(contents.getTitle().getThumbUrl())
-                    .placeholder(placeholderResId)
-                    .error(placeholderResId)
-                    .into(leadImage);
-        } else {
-            Picasso.with(getActivity())
-                    .load(placeholderResId)
-                    .into(leadImage);
-        }
-    }
-
-    private boolean shouldDownloadLeadImage() {
-        return !TextUtils.isEmpty(contents.getTitle().getThumbUrl())
-                && WikipediaApp.getInstance().isImageDownloadEnabled();
-    }
-}
diff --git a/app/src/main/java/org/wikipedia/settings/Prefs.java 
b/app/src/main/java/org/wikipedia/settings/Prefs.java
index 37b64a3..b584604 100644
--- a/app/src/main/java/org/wikipedia/settings/Prefs.java
+++ b/app/src/main/java/org/wikipedia/settings/Prefs.java
@@ -333,18 +333,6 @@
         return 
contains(R.string.preference_key_feature_select_text_and_share_tutorials_enabled);
     }
 
-    public static int getLinkPreviewVersion() {
-        return getInt(R.string.preference_key_link_preview_version, 0);
-    }
-
-    public static void setLinkPreviewVersion(int version) {
-        setInt(R.string.preference_key_link_preview_version, version);
-    }
-
-    public static boolean hasLinkPreviewVersion() {
-        return contains(R.string.preference_key_link_preview_version);
-    }
-
     public static boolean isTocTutorialEnabled() {
         return getBoolean(R.string.preference_key_toc_tutorial_enabled, true);
     }
diff --git a/app/src/main/res/layout/dialog_link_preview_b.xml 
b/app/src/main/res/layout/dialog_link_preview_b.xml
deleted file mode 100644
index 46678b7..0000000
--- a/app/src/main/res/layout/dialog_link_preview_b.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android";
-    xmlns:tools="http://schemas.android.com/tools";
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical">
-
-        <View
-            android:layout_width="match_parent"
-            android:layout_height="8dp"
-            android:background="@drawable/link_preview_top_shadow"/>
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="match_parent"
-            android:minHeight="@dimen/linkPreviewPeekHeight"
-            android:orientation="vertical"
-            android:background="?attr/link_preview_background_color"
-            android:animateLayoutChanges="true">
-
-            <TextView
-                android:id="@+id/link_preview_title"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:gravity="center_vertical"
-                style="@style/RtlAwareTextView"
-                android:background="?attr/selectableItemBackground"
-                android:textColor="?attr/link_color"
-                android:paddingTop="16dp"
-                android:paddingLeft="16dp"
-                android:paddingRight="16dp"
-                android:paddingBottom="16dp"
-                android:textSize="22sp"
-                android:fontFamily="serif"
-                android:lineSpacingMultiplier="0.9"
-                android:maxLines="2"
-                android:ellipsize="end"
-                tools:text="Lorem ipsum" />
-
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="0.5dp"
-                android:background="@color/gray_highlight"/>
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content">
-                <TextView
-                    android:id="@+id/link_preview_extract"
-                    android:layout_width="0dp"
-                    android:layout_height="180dp"
-                    android:layout_weight="1"
-                    style="@style/RtlAwareTextView"
-                    android:paddingTop="8dp"
-                    android:paddingLeft="16dp"
-                    android:paddingRight="16dp"
-                    android:textSize="16sp"
-                    android:lineSpacingMultiplier="1.3"
-                    android:textColor="?attr/link_preview_text_color"
-                    android:textIsSelectable="true"
-                    android:maxLines="7"
-                    android:ellipsize="end"
-                    tools:text="Lorem ipsum"/>
-                <ImageView
-                    android:id="@+id/link_preview_lead_image"
-                    android:layout_width="160dp"
-                    android:layout_height="match_parent"
-                    android:src="?attr/lead_image_drawable"
-                    android:contentDescription="@null"
-                    android:scaleType="centerCrop"/>
-            </LinearLayout>
-
-            <View
-                android:id="@+id/link_preview_bottom_padding"
-                android:layout_width="match_parent"
-                android:layout_height="70dp"/>
-        </LinearLayout>
-
-    </LinearLayout>
-
-    <ProgressBar
-        android:id="@+id/link_preview_progress"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center"/>
-
-</FrameLayout>
diff --git a/app/src/main/res/values/preference_keys.xml 
b/app/src/main/res/values/preference_keys.xml
index 9c0c67c..19c6c75 100644
--- a/app/src/main/res/values/preference_keys.xml
+++ b/app/src/main/res/values/preference_keys.xml
@@ -32,7 +32,6 @@
     <string name="preference_key_last_run_time_format">%s-lastrun</string>
     <string name="preference_key_tabs">tabs</string>
     <string name="preference_key_show_link_previews">showLinkPreviews</string>
-    <string 
name="preference_key_link_preview_version">linkPreviewVersion</string>
     <string name="preference_key_session_data">session_data</string>
     <string name="preference_key_session_timeout">session_timeout</string>
     <string name="preference_key_remote_log">remoteLog</string>
diff --git a/app/src/main/res/xml/developer_preferences.xml 
b/app/src/main/res/xml/developer_preferences.xml
index 4417c61..54a7748 100644
--- a/app/src/main/res/xml/developer_preferences.xml
+++ b/app/src/main/res/xml/developer_preferences.xml
@@ -7,12 +7,6 @@
             
android:key="@string/preference_key_feature_select_text_and_share_tutorials_enabled"
             
android:title="@string/preference_key_feature_select_text_and_share_tutorials_enabled"
 />
 
-        <!--suppress AndroidUnknownAttribute -->
-        <org.wikipedia.settings.IntPreference
-            style="@style/IntPreference"
-            android:key="@string/preference_key_link_preview_version"
-            android:title="@string/preference_key_link_preview_version" />
-
     </PreferenceCategory>
 
     <PreferenceCategory 
android:title="@string/preferences_developer_restbase_heading">

-- 
To view, visit https://gerrit.wikimedia.org/r/256345
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I0a61af33bca9a4149c468aee085d92b5b9ffe6a1
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <dbr...@wikimedia.org>
Gerrit-Reviewer: BearND <bsitzm...@wikimedia.org>
Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org>
Gerrit-Reviewer: Dbrant <dbr...@wikimedia.org>
Gerrit-Reviewer: Mholloway <mhollo...@wikimedia.org>
Gerrit-Reviewer: Niedzielski <sniedziel...@wikimedia.org>
Gerrit-Reviewer: Sniedzielski <sniedziel...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to