Commit 9ec8cfdb authored by Shakti Sahu's avatar Shakti Sahu Committed by Commit Bot

Download Home : Added feature flag

Added a feature flag "DownloadHomeV2" to enable or disable the new download home.

Bug: 850603
Change-Id: I3e429ab5a6e2afd0ddc36e6052b0ee2baae349d4
Reviewed-on: https://chromium-review.googlesource.com/1137841
Commit-Queue: Shakti Sahu <shaktisahu@chromium.org>
Reviewed-by: default avatarMin Qin <qinmin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575625}
parent f2f798ac
......@@ -203,6 +203,7 @@ public abstract class ChromeFeatureList {
public static final String DONT_PREFETCH_LIBRARIES = "DontPrefetchLibraries";
public static final String DOWNLOAD_HOME_SHOW_STORAGE_INFO = "DownloadHomeShowStorageInfo";
public static final String DOWNLOAD_PROGRESS_INFOBAR = "DownloadProgressInfoBar";
public static final String DOWNLOAD_HOME_V2 = "DownloadHomeV2";
public static final String DOWNLOADS_FOREGROUND = "DownloadsForeground";
public static final String DOWNLOADS_LOCATION_CHANGE = "DownloadsLocationChange";
public static final String EXPERIMENTAL_APP_BANNERS = "ExperimentalAppBanners";
......
......@@ -7,15 +7,13 @@ package org.chromium.chrome.browser.download.home;
import android.app.Activity;
import android.content.ComponentName;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.download.ui.DownloadManagerUi;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.snackbar.SnackbarManager;
/** A helper class to build and return an {@link DownloadManagerCoordinator}. */
public class DownloadManagerCoordinatorFactory {
// TODO(850603): Add feature flag to enable new downloads home.
private static boolean sEnableDownloadsHomeV2 = false;
/**
* Returns an instance of a {@link DownloadManagerCoordinator} to be used in the UI.
* @param activity The parent {@link Activity}.
......@@ -29,7 +27,7 @@ public class DownloadManagerCoordinatorFactory {
public static DownloadManagerCoordinator create(Activity activity, boolean isOffTheRecord,
SnackbarManager snackbarManager, ComponentName parentComponent,
boolean isSeparateActivity) {
if (sEnableDownloadsHomeV2) {
if (ChromeFeatureList.isEnabled(ChromeFeatureList.DOWNLOAD_HOME_V2)) {
return new DownloadManagerCoordinatorImpl(
Profile.getLastUsedProfile(), activity, isOffTheRecord, snackbarManager);
} else {
......
......@@ -125,6 +125,7 @@ public class DownloadActivityTest {
HashMap<String, Boolean> features = new HashMap<String, Boolean>();
features.put(ChromeFeatureList.DOWNLOADS_LOCATION_CHANGE, false);
features.put(ChromeFeatureList.DOWNLOAD_HOME_SHOW_STORAGE_INFO, false);
features.put(ChromeFeatureList.DOWNLOAD_HOME_V2, false);
ChromeFeatureList.setTestFeatures(features);
mStubbedProvider = new StubbedProvider();
......
......@@ -3532,6 +3532,11 @@ const FeatureEntry kFeatureEntries[] = {
FEATURE_VALUE_TYPE(chrome::android::kDownloadProgressInfoBar)},
#endif // defined(OS_ANDROID)
#if defined(OS_ANDROID)
{"download-home-v2", flag_descriptions::kDownloadHomeV2Name,
flag_descriptions::kDownloadHomeV2Description, kOsAndroid,
FEATURE_VALUE_TYPE(chrome::android::kDownloadHomeV2)},
#endif
{"enable-block-tab-unders", flag_descriptions::kBlockTabUndersName,
flag_descriptions::kBlockTabUndersDescription, kOsAll,
FEATURE_VALUE_TYPE(TabUnderNavigationThrottle::kBlockTabUnders)},
......
......@@ -97,6 +97,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kCustomFeedbackUi,
&kDontPrefetchLibraries,
&kDownloadProgressInfoBar,
&kDownloadHomeV2,
&kDownloadHomeShowStorageInfo,
&data_reduction_proxy::features::kDataReductionMainMenu,
&kExploreSites,
......@@ -270,6 +271,9 @@ const base::Feature kDownloadAutoResumptionThrottling{
const base::Feature kDownloadProgressInfoBar{"DownloadProgressInfoBar",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kDownloadHomeV2{"DownloadHomeV2",
base::FEATURE_DISABLED_BY_DEFAULT};
const base::Feature kDownloadHomeShowStorageInfo{
"DownloadHomeShowStorageInfo", base::FEATURE_DISABLED_BY_DEFAULT};
......
......@@ -44,6 +44,7 @@ extern const base::Feature kCustomFeedbackUi;
extern const base::Feature kDontPrefetchLibraries;
extern const base::Feature kDownloadAutoResumptionThrottling;
extern const base::Feature kDownloadProgressInfoBar;
extern const base::Feature kDownloadHomeV2;
extern const base::Feature kDownloadHomeShowStorageInfo;
extern const base::Feature kExploreSites;
extern const base::Feature kFullscreenActivity;
......
......@@ -2207,6 +2207,10 @@ const char kDownloadProgressInfoBarName[] = "Enable download progress infobar";
const char kDownloadProgressInfoBarDescription[] =
"Enables an infobar notifying users about status of current downloads.";
const char kDownloadHomeV2Name[] = "Enable download home v2";
const char kDownloadHomeV2Description[] =
"Enables the new UI for download home";
const char kEnableAndroidPayIntegrationV1Name[] = "Enable Android Pay v1";
const char kEnableAndroidPayIntegrationV1Description[] =
"Enable integration with Android Pay using the first version of the API";
......
......@@ -1346,6 +1346,9 @@ extern const char kDownloadsLocationChangeDescription[];
extern const char kDownloadProgressInfoBarName[];
extern const char kDownloadProgressInfoBarDescription[];
extern const char kDownloadHomeV2Name[];
extern const char kDownloadHomeV2Description[];
extern const char kEnableAndroidPayIntegrationV1Name[];
extern const char kEnableAndroidPayIntegrationV1Description[];
......
......@@ -27555,6 +27555,7 @@ from previous Chrome versions.
<int value="-1772172557" label="enable-osk-overscroll"/>
<int value="-1768672408" label="ChromeDuplex:disabled"/>
<int value="-1767470652" label="out-of-process-pdf"/>
<int value="-1758468685" label="DownloadHomeV2:disabled"/>
<int value="-1755301960" label="ClearOldBrowsingData:enabled"/>
<int value="-1751928267" label="disable-icon-ntp"/>
<int value="-1749176684" label="PauseBackgroundTabs:disabled"/>
......@@ -29133,6 +29134,7 @@ from previous Chrome versions.
<int value="1530177325" label="LanguagesPreference:disabled"/>
<int value="1534222388" label="EnableEphemeralFlashPermission:enabled"/>
<int value="1536921097" label="NavigationMojoResponse:disabled"/>
<int value="1538685213" label="DownloadHomeV2:enabled"/>
<int value="1538690515" label="OneGoogleBarOnLocalNtp:enabled"/>
<int value="1541723759" label="ServiceWorkerNavigationPreload:disabled"/>
<int value="1543027970" label="EnableDisplayZoomSetting:disabled"/>
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