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