Commit ce73a63f authored by peconn's avatar peconn Committed by Commit bot

Moved Field Trial related code to CardsFieldTrial.

BUG=622975

Review-Url: https://codereview.chromium.org/2323703003
Cr-Commit-Position: refs/heads/master@{#417325}
parent 709cafa5
......@@ -91,10 +91,6 @@ public class NewTabPage
static final int ID_OPEN_IN_INCOGNITO_TAB = 2;
static final int ID_REMOVE = 3;
// The name of the trial for obtaining variation parameters for the ntp snippets feature. Also
// defined in ntp_snippets_constants.cc.
public static final String FIELD_TRIAL_NAME = "NTPSnippets";
// UMA enum constants. CTA means the "click-to-action" icon.
private static final String LOGO_SHOWN_UMA_NAME = "NewTabPage.LogoShown";
private static final int STATIC_LOGO_SHOWN = 0;
......
......@@ -12,7 +12,7 @@ import android.view.View;
import android.widget.LinearLayout;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ntp.cards.CardsFieldTrial;
import org.chromium.chrome.browser.ntp.cards.CardsVariationParameters;
import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView;
/**
......@@ -73,7 +73,7 @@ public class NewTabPageLayout extends LinearLayout {
res.getDimensionPixelSize(R.dimen.snippets_padding_and_peeking_card_height);
mTabStripHeight = res.getDimensionPixelSize(R.dimen.tab_strip_height);
mFieldTrialLayoutAdjustment = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
CardsFieldTrial.getFirstCardOffsetDp(), res.getDisplayMetrics());
CardsVariationParameters.getFirstCardOffsetDp(), res.getDisplayMetrics());
}
@Override
......
......@@ -8,19 +8,23 @@ import android.text.TextUtils;
import org.chromium.base.CommandLine;
import org.chromium.base.Log;
import org.chromium.chrome.browser.ntp.NewTabPage;
import org.chromium.components.variations.VariationsAssociatedData;
/**
* Provides easy access to data for field trials to do with the Cards UI.
*/
public final class CardsFieldTrial {
private static final String TAG = "CardFinchExperiments";
public final class CardsVariationParameters {
// Tags are limited to 20 characters.
private static final String TAG = "CardsVariationParams";
// TODO(peconn): Move NewTabPage.FIELD_TRIAL_NAME and all uses into this class.
private static final String FIRST_CARD_OFFSET = "first_card_offset";
// Also defined in ntp_snippets_constants.cc
private static final String FIELD_TRIAL_NAME = "NTPSnippets";
private CardsFieldTrial() {
private static final String PARAM_FIRST_CARD_OFFSET = "first_card_offset";
private static final String PARAM_FAVICON_SERVICE_NAME = "favicons_fetch_from_service";
private static final String PARAM_DISABLED_VALUE = "off";
private CardsVariationParameters() {
}
/**
......@@ -28,11 +32,12 @@ public final class CardsFieldTrial {
* with a command line flag). It will return 0 if there is no such field trial.
*/
public static int getFirstCardOffsetDp() {
String value = CommandLine.getInstance().getSwitchValue(FIRST_CARD_OFFSET);
String value = CommandLine.getInstance().getSwitchValue(PARAM_FIRST_CARD_OFFSET);
if (TextUtils.isEmpty(value)) {
value = VariationsAssociatedData.getVariationParamValue(NewTabPage.FIELD_TRIAL_NAME,
FIRST_CARD_OFFSET);
// TODO(jkrcal): Get parameter by feature name, not field trial name.
value = VariationsAssociatedData.getVariationParamValue(FIELD_TRIAL_NAME,
PARAM_FIRST_CARD_OFFSET);
}
if (!TextUtils.isEmpty(value)) {
......@@ -45,4 +50,9 @@ public final class CardsFieldTrial {
return 0;
}
public static boolean isFaviconServiceEnabled() {
return !PARAM_DISABLED_VALUE.equals(VariationsAssociatedData.getVariationParamValue(
FIELD_TRIAL_NAME, PARAM_FAVICON_SERVICE_NAME));
}
}
......@@ -241,7 +241,7 @@ public class NewTabPageRecyclerView extends RecyclerView {
}
// If we have the card offset field trial enabled, don't peek at all.
if (CardsFieldTrial.getFirstCardOffsetDp() != 0) {
if (CardsVariationParameters.getFirstCardOffsetDp() != 0) {
peekingCard.updatePeek(0, /* shouldAnimate */ false);
return;
}
......
......@@ -33,16 +33,15 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback;
import org.chromium.chrome.browser.favicon.FaviconHelper.IconAvailabilityCallback;
import org.chromium.chrome.browser.ntp.DisplayStyleObserver;
import org.chromium.chrome.browser.ntp.NewTabPage;
import org.chromium.chrome.browser.ntp.NewTabPageUma;
import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
import org.chromium.chrome.browser.ntp.UiConfig;
import org.chromium.chrome.browser.ntp.cards.CardViewHolder;
import org.chromium.chrome.browser.ntp.cards.CardsVariationParameters;
import org.chromium.chrome.browser.ntp.cards.DisplayStyleObserverAdapter;
import org.chromium.chrome.browser.ntp.cards.ImpressionTracker;
import org.chromium.chrome.browser.ntp.cards.NewTabPageRecyclerView;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
import org.chromium.components.variations.VariationsAssociatedData;
import org.chromium.ui.WindowOpenDisposition;
import java.net.URI;
......@@ -59,10 +58,6 @@ public class SnippetArticleViewHolder extends CardViewHolder implements Impressi
private static final String FAVICON_SERVICE_FORMAT =
"https://s2.googleusercontent.com/s2/favicons?domain=%s&src=chrome_newtab_mobile&sz=%d&alt=404";
// The variation parameter to fetch the value from the favicon service.
private static final String PARAMETER_FAVICON_SERVICE_NAME = "favicons_fetch_from_service";
private static final String PARAMETER_DISABLED_VALUE = "off";
// ContextMenu item ids. These must be unique.
private static final int ID_OPEN_IN_NEW_WINDOW = 0;
private static final int ID_OPEN_IN_NEW_TAB = 1;
......@@ -179,9 +174,7 @@ public class SnippetArticleViewHolder extends CardViewHolder implements Impressi
}
});
mUseFaviconService =
!PARAMETER_DISABLED_VALUE.equals(VariationsAssociatedData.getVariationParamValue(
NewTabPage.FIELD_TRIAL_NAME, PARAMETER_FAVICON_SERVICE_NAME));
mUseFaviconService = CardsVariationParameters.isFaviconServiceEnabled();
}
@Override
......
......@@ -548,7 +548,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/ntp/cards/AboveTheFoldItem.java",
"java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java",
"java/src/org/chromium/chrome/browser/ntp/cards/CardViewHolder.java",
"java/src/org/chromium/chrome/browser/ntp/cards/CardsFieldTrial.java",
"java/src/org/chromium/chrome/browser/ntp/cards/CardsVariationParameters.java",
"java/src/org/chromium/chrome/browser/ntp/cards/DisplayStyleObserverAdapter.java",
"java/src/org/chromium/chrome/browser/ntp/cards/ImpressionTracker.java",
"java/src/org/chromium/chrome/browser/ntp/cards/ItemGroup.java",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment