Skip to content

Commit

Permalink
Remove feed video autoplay code
Browse files Browse the repository at this point in the history
Bug: b/286993848
Change-Id: I6cd0ce187245ca883e71437eebf6b04cee9421da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4610309
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Commit-Queue: Jian Li <jianli@chromium.org>
Reviewed-by: Matthew Jones <mdjones@chromium.org>
Reviewed-by: Dan H <harringtond@chromium.org>
Code-Coverage: Findit <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1159424}
  • Loading branch information
jianli-chromium authored and Chromium LUCI CQ committed Jun 18, 2023
1 parent 51aa4db commit 7541a08
Show file tree
Hide file tree
Showing 53 changed files with 43 additions and 796 deletions.
55 changes: 0 additions & 55 deletions chrome/android/expectations/lint-baseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4032,61 +4032,6 @@
column="54"/>
</issue>

<issue
id="WrongConstant"
message="Must be one of: VideoPreviewsType.NEVER, VideoPreviewsType.WIFI, VideoPreviewsType.WIFI_AND_MOBILE_DATA"
errorLine1=" mButtons = new ArrayList&lt;>(Collections.nCopies(VideoPreviewsType.NUM_ENTRIES, null));"
errorLine2=" ~~~~~~~~~~~">
<location
file="../../chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/settings/RadioButtonGroupVideoPreviewsPreference.java"
line="38"
column="74"/>
</issue>

<issue
id="WrongConstant"
message="Must be one of: VideoPreviewsType.NEVER, VideoPreviewsType.WIFI, VideoPreviewsType.WIFI_AND_MOBILE_DATA"
errorLine1=" assert VideoPreviewsType.NUM_ENTRIES == 3;"
errorLine2=" ~~~~~~~~~~~">
<location
file="../../chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/settings/RadioButtonGroupVideoPreviewsPreference.java"
line="49"
column="34"/>
</issue>

<issue
id="WrongConstant"
message="Must be one of: VideoPreviewsType.NEVER, VideoPreviewsType.WIFI, VideoPreviewsType.WIFI_AND_MOBILE_DATA"
errorLine1=" for (int i = 0; i &lt; VideoPreviewsType.NUM_ENTRIES; i++) {"
errorLine2=" ~~~~~~~~~~~">
<location
file="../../chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/settings/RadioButtonGroupVideoPreviewsPreference.java"
line="70"
column="47"/>
</issue>

<issue
id="WrongConstant"
message="Must be one of: VideoPreviewsType.NEVER, VideoPreviewsType.WIFI, VideoPreviewsType.WIFI_AND_MOBILE_DATA"
errorLine1=" &amp;&amp; mSetting &lt; VideoPreviewsType.NUM_ENTRIES : &quot;No matching setting found.&quot;;"
errorLine2=" ~~~~~~~~~~~">
<location
file="../../chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/settings/RadioButtonGroupVideoPreviewsPreference.java"
line="77"
column="49"/>
</issue>

<issue
id="WrongConstant"
message="Must be one of: VideoPreviewsType.NEVER, VideoPreviewsType.WIFI, VideoPreviewsType.WIFI_AND_MOBILE_DATA"
errorLine1=" &quot;FeedVideoPreviewsPreferenceUserActions&quot;, mSetting, VideoPreviewsType.NUM_ENTRIES);"
errorLine2=" ~~~~~~~~~~~">
<location
file="../../chrome/browser/feed/android/java/src/org/chromium/chrome/browser/feed/settings/RadioButtonGroupVideoPreviewsPreference.java"
line="80"
column="87"/>
</issue>

<issue
id="WrongConstant"
message="Must be one of: FaviconLocality.LOCAL, FaviconLocality.FOREIGN"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import android.content.res.Resources;
import android.graphics.Canvas;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.SystemClock;
Expand Down Expand Up @@ -38,14 +37,12 @@
import org.chromium.chrome.browser.feed.sections.SectionHeaderView;
import org.chromium.chrome.browser.feed.sections.SectionHeaderViewBinder;
import org.chromium.chrome.browser.feed.sections.StickySectionHeaderView;
import org.chromium.chrome.browser.feed.settings.FeedAutoplaySettingsFragment;
import org.chromium.chrome.browser.feed.sort_ui.FeedOptionsCoordinator;
import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncher;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.ntp.NewTabPageLaunchOrigin;
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.chrome.browser.share.ShareDelegate;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.toolbar.top.Toolbar;
Expand All @@ -59,7 +56,6 @@
import org.chromium.chrome.browser.xsurface.feed.FeedSurfaceScope;
import org.chromium.chrome.browser.xsurface.feed.FeedUserInteractionReliabilityLogger;
import org.chromium.components.browser_ui.bottomsheet.BottomSheetController;
import org.chromium.components.browser_ui.settings.SettingsLauncher;
import org.chromium.components.browser_ui.styles.SemanticColorUtils;
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
import org.chromium.components.feature_engagement.EventConstants;
Expand All @@ -82,7 +78,7 @@
public class FeedSurfaceCoordinator
implements FeedSurfaceProvider, FeedBubbleDelegate, SwipeRefreshLayout.OnRefreshListener,
BackToTopBubbleScrollListener.ResultHandler, SurfaceCoordinator,
FeedAutoplaySettingsDelegate, HasContentListener, FeedContentFirstLoadWatcher {
HasContentListener, FeedContentFirstLoadWatcher {
private static final long DELAY_FEED_HEADER_IPH_MS = 50;

protected final Activity mActivity;
Expand Down Expand Up @@ -611,14 +607,6 @@ public boolean isPlaceholderShown() {
return mMediator.isPlaceholderShown();
}

/** Launches autoplay settings activity. */
@Override
public void launchAutoplaySettings() {
SettingsLauncher launcher = new SettingsLauncherImpl();
launcher.launchSettingsActivity(
mActivity, FeedAutoplaySettingsFragment.class, new Bundle());
}

/** @return whether this coordinator is currently active. */
@Override
public boolean isActive() {
Expand Down Expand Up @@ -807,9 +795,9 @@ void setupHeaders(boolean feedEnabled) {
*/
FeedStream createFeedStream(@StreamKind int kind, Stream.StreamsMediator streamsMediator) {
return new FeedStream(mActivity, mSnackbarManager, mBottomSheetController,
mIsPlaceholderShownInitially, mWindowAndroid, mShareSupplier, kind, this,
mActionDelegate, mHelpAndFeedbackLauncher, this /* FeedContentFirstLoadWatcher */,
streamsMediator, null);
mIsPlaceholderShownInitially, mWindowAndroid, mShareSupplier, kind, mActionDelegate,
mHelpAndFeedbackLauncher, this /* FeedContentFirstLoadWatcher */, streamsMediator,
null);
}

private void setHeaders(List<View> headerViews) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -940,19 +940,11 @@ private ModelList buildMenuItems() {
R.id.ntp_feed_header_menu_item_activity, iconId));
itemList.add(buildMenuListItem(R.string.ntp_manage_interests,
R.id.ntp_feed_header_menu_item_interest, iconId));
if (FeedServiceBridge.isAutoplayEnabled()) {
itemList.add(buildMenuListItem(R.string.ntp_manage_autoplay,
R.id.ntp_feed_header_menu_item_autoplay, iconId));
}
if (ChromeFeatureList.isEnabled(ChromeFeatureList.INTEREST_FEED_V2_HEARTS)) {
itemList.add(buildMenuListItem(R.string.ntp_manage_reactions,
R.id.ntp_feed_header_menu_item_reactions, iconId));
}
}
} else if (FeedServiceBridge.isAutoplayEnabled()) {
// Show manage autoplay if not signed in.
itemList.add(buildMenuListItem(
R.string.ntp_manage_autoplay, R.id.ntp_feed_header_menu_item_autoplay, iconId));
}
itemList.add(buildMenuListItem(
R.string.learn_more, R.id.ntp_feed_header_menu_item_learn, iconId));
Expand Down Expand Up @@ -1122,9 +1114,6 @@ public void onItemSelected(PropertyModel item) {
FeedServiceBridge.reportOtherUserAction(
feedType, FeedUserActionType.TAPPED_MANAGE_REACTIONS);
FeedUma.recordFeedControlsAction(FeedUma.CONTROLS_ACTION_CLICKED_MANAGE_INTERESTS);
} else if (itemId == R.id.ntp_feed_header_menu_item_autoplay) {
mCoordinator.launchAutoplaySettings();
FeedUma.recordFeedControlsAction(FeedUma.CONTROLS_ACTION_CLICKED_MANAGE_AUTOPLAY);
} else if (itemId == R.id.ntp_feed_header_menu_item_learn) {
mActionDelegate.openHelpPage();
FeedServiceBridge.reportOtherUserAction(feedType, FeedUserActionType.TAPPED_LEARN_MORE);
Expand Down
1 change: 0 additions & 1 deletion chrome/android/java/res/values/ids.xml
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,6 @@ found in the LICENSE file.
<item type="id" name="ntp_feed_header_menu_item_activity" />
<item type="id" name="ntp_feed_header_menu_item_interest" />
<item type="id" name="ntp_feed_header_menu_item_reactions" />
<item type="id" name="ntp_feed_header_menu_item_autoplay" />
<item type="id" name="ntp_feed_header_menu_item_learn" />
<item type="id" name="ntp_feed_header_menu_item_toggle_switch" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,15 @@
import org.chromium.chrome.R;
import org.chromium.chrome.browser.SnackbarActivity;
import org.chromium.chrome.browser.app.feed.followmanagement.FollowManagementActivity;
import org.chromium.chrome.browser.feed.FeedUma;
import org.chromium.chrome.browser.feed.StreamKind;
import org.chromium.chrome.browser.feed.feedmanagement.FeedManagementCoordinator;
import org.chromium.chrome.browser.feed.feedmanagement.FeedManagementMediator;
import org.chromium.chrome.browser.feed.settings.FeedAutoplaySettingsFragment;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.components.browser_ui.settings.SettingsLauncher;

/**
* Activity for managing feed and webfeed settings on the new tab page.
*/
public class FeedManagementActivity
extends SnackbarActivity implements FeedManagementMediator.FollowManagementLauncher,
FeedManagementMediator.AutoplayManagementLauncher {
extends SnackbarActivity implements FeedManagementMediator.FollowManagementLauncher {
private static final String TAG = "FeedMActivity";
public static final String INITIATING_STREAM_TYPE_EXTRA =
"feed_management_initiating_stream_type_extra";
Expand All @@ -41,7 +36,7 @@ public void onCreate(Bundle savedInstanceState) {
int streamKind = getIntent().getIntExtra(INITIATING_STREAM_TYPE_EXTRA, StreamKind.UNKNOWN);

FeedManagementCoordinator coordinator =
new FeedManagementCoordinator(this, this, this, streamKind);
new FeedManagementCoordinator(this, this, streamKind);
setContentView(coordinator.getView());

// Set up the toolbar and back button.
Expand Down Expand Up @@ -73,17 +68,4 @@ public void launchFollowManagement(Context context) {
Log.d(TAG, "Failed to launch activity " + e);
}
}
// AutoplayManagementLauncher method.
@Override
public void launchAutoplayManagement(Context context) {
try {
// Launch a new activity for the autoplay settings management page.
SettingsLauncher launcher = new SettingsLauncherImpl();
launcher.launchSettingsActivity(
context, FeedAutoplaySettingsFragment.class, new Bundle());
FeedUma.recordFeedControlsAction(FeedUma.CONTROLS_ACTION_CLICKED_MANAGE_AUTOPLAY);
} catch (Exception e) {
Log.d(TAG, "Failed to launch activity " + e);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
import org.chromium.base.supplier.Supplier;
import org.chromium.base.supplier.UnownedUserDataSupplier;
import org.chromium.chrome.browser.feed.FeedActionDelegate;
import org.chromium.chrome.browser.feed.FeedAutoplaySettingsDelegate;
import org.chromium.chrome.browser.feed.FeedContentFirstLoadWatcher;
import org.chromium.chrome.browser.feed.FeedListContentManager;
import org.chromium.chrome.browser.feed.FeedListContentManager.FeedContent;
Expand Down Expand Up @@ -81,9 +80,8 @@
* Sets up the Coordinator for Cormorant Creator surface. It is based on the doc at
* https://chromium.googlesource.com/chromium/src/+/HEAD/docs/ui/android/mvc_simple_list_tutorial.md
*/
public class CreatorCoordinator implements FeedAutoplaySettingsDelegate,
FeedContentFirstLoadWatcher,
View.OnLayoutChangeListener {
public class CreatorCoordinator
implements FeedContentFirstLoadWatcher, View.OnLayoutChangeListener {
private final ViewGroup mCreatorViewGroup;
private CreatorMediator mMediator;
private CreatorTabMediator mTabMediator;
Expand Down Expand Up @@ -250,8 +248,7 @@ private void initFeedStream(FeedActionDelegate feedActionDelegate,
mStream = new FeedStream(mActivity, mSnackbarManager, mBottomSheetController,
/* isPlaceholderShownInitially */ false, mWindowAndroid,
/* shareSupplier */ shareDelegateSupplier, StreamKind.SINGLE_WEB_FEED,
/* FeedAutoplaySettingsDelegate */ this, feedActionDelegate,
helpAndFeedbackLauncher,
feedActionDelegate, helpAndFeedbackLauncher,
/* FeedContentFirstLoadWatcher */ this,
/* streamsMediator */ new StreamsMediatorImpl(),
new SingleWebFeedParameters(
Expand Down Expand Up @@ -401,11 +398,6 @@ public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
});
}

/**
* Launches autoplay settings activity.
*/
@Override
public void launchAutoplaySettings() {}
@Override
public void nonNativeContentLoaded(@StreamKind int kind) {}

Expand Down
11 changes: 1 addition & 10 deletions chrome/browser/feed/android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ android_library("java") {
"java/src/org/chromium/chrome/browser/feed/BackToTopBubbleScrollListener.java",
"java/src/org/chromium/chrome/browser/feed/CardMenuBottomSheetContent.java",
"java/src/org/chromium/chrome/browser/feed/FeedActionDelegate.java",
"java/src/org/chromium/chrome/browser/feed/FeedAutoplaySettingsDelegate.java",
"java/src/org/chromium/chrome/browser/feed/FeedBubbleDelegate.java",
"java/src/org/chromium/chrome/browser/feed/FeedContentFirstLoadWatcher.java",
"java/src/org/chromium/chrome/browser/feed/FeedFeatures.java",
Expand Down Expand Up @@ -50,7 +49,6 @@ android_library("java") {
"java/src/org/chromium/chrome/browser/feed/SingleWebFeedParameters.java",
"java/src/org/chromium/chrome/browser/feed/SnapScrollHelper.java",
"java/src/org/chromium/chrome/browser/feed/Stream.java",
"java/src/org/chromium/chrome/browser/feed/VideoPreviewsType.java",
"java/src/org/chromium/chrome/browser/feed/componentinterfaces/SurfaceCoordinator.java",
"java/src/org/chromium/chrome/browser/feed/feedmanagement/FeedManagementCoordinator.java",
"java/src/org/chromium/chrome/browser/feed/feedmanagement/FeedManagementItemProperties.java",
Expand All @@ -72,8 +70,6 @@ android_library("java") {
"java/src/org/chromium/chrome/browser/feed/sections/SectionHeaderViewBinder.java",
"java/src/org/chromium/chrome/browser/feed/sections/StickySectionHeaderView.java",
"java/src/org/chromium/chrome/browser/feed/sections/ViewVisibility.java",
"java/src/org/chromium/chrome/browser/feed/settings/FeedAutoplaySettingsFragment.java",
"java/src/org/chromium/chrome/browser/feed/settings/RadioButtonGroupVideoPreviewsPreference.java",
"java/src/org/chromium/chrome/browser/feed/signinbottomsheet/SigninBottomSheetCoordinator.java",
"java/src/org/chromium/chrome/browser/feed/sort_ui/FeedOptionsCoordinator.java",
"java/src/org/chromium/chrome/browser/feed/sort_ui/FeedOptionsProperties.java",
Expand Down Expand Up @@ -199,7 +195,6 @@ android_resources("feed_java_resources") {
"java/res/layout/new_tab_page_section_tab.xml",
"java/res/layout/no_connection.xml",
"java/res/layout/no_content_v2.xml",
"java/res/layout/radio_button_group_video_previews_preference.xml",
"java/res/layout/web_feed_dialog.xml",
"java/res/layout/web_feed_main_menu_item.xml",
"java/res/values-night/colors.xml",
Expand All @@ -208,7 +203,6 @@ android_resources("feed_java_resources") {
"java/res/values/colors.xml",
"java/res/values/dimens.xml",
"java/res/values/styles.xml",
"java/res/xml/feed_autoplay_preferences.xml",
]
deps = [
"//chrome/browser/ui/android/strings:ui_strings_grd",
Expand All @@ -234,10 +228,7 @@ android_library("javatests") {
testonly = true
resources_package = "org.chromium.chrome.browser.feed.test"

sources = [
"java/src/org/chromium/chrome/browser/feed/FeedProcessScopeDependencyProviderNativeTest.java",
"java/src/org/chromium/chrome/browser/feed/settings/FeedAutoplaySettingsFragmentTest.java",
]
sources = [ "java/src/org/chromium/chrome/browser/feed/FeedProcessScopeDependencyProviderNativeTest.java" ]

deps = [
":feed_java_resources",
Expand Down
19 changes: 0 additions & 19 deletions chrome/browser/feed/android/feed_service_bridge.cc
Original file line number Diff line number Diff line change
Expand Up @@ -72,25 +72,10 @@ static void JNI_FeedServiceBridge_ReportOpenVisitComplete(JNIEnv* env,
api->ReportOpenVisitComplete(base::Milliseconds(visitTimeMs));
}

static int JNI_FeedServiceBridge_GetVideoPreviewsTypePreference(JNIEnv* env) {
PrefService* pref_service = ProfileManager::GetLastUsedProfile()->GetPrefs();
return pref_service->GetInteger(feed::prefs::kVideoPreviewsType);
}

static void JNI_FeedServiceBridge_SetVideoPreviewsTypePreference(JNIEnv* env,
jint setting) {
PrefService* pref_service = ProfileManager::GetLastUsedProfile()->GetPrefs();
pref_service->SetInteger(feed::prefs::kVideoPreviewsType, setting);
}

static jlong JNI_FeedServiceBridge_GetReliabilityLoggingId(JNIEnv* env) {
return FeedServiceBridge::GetReliabilityLoggingId();
}

static jboolean JNI_FeedServiceBridge_IsAutoplayEnabled(JNIEnv* env) {
return FeedServiceBridge::IsAutoplayEnabled();
}

static jlong JNI_FeedServiceBridge_AddUnreadContentObserver(
JNIEnv* env,
const base::android::JavaParamRef<jobject>& j_observer,
Expand Down Expand Up @@ -168,10 +153,6 @@ DisplayMetrics FeedServiceBridge::GetDisplayMetrics() {
return result;
}

bool FeedServiceBridge::IsAutoplayEnabled() {
return base::FeatureList::IsEnabled(kInterestFeedV2Autoplay);
}

TabGroupEnabledState FeedServiceBridge::GetTabGroupEnabledState() {
JNIEnv* env = base::android::AttachCurrentThread();
return static_cast<TabGroupEnabledState>(
Expand Down
1 change: 0 additions & 1 deletion chrome/browser/feed/android/feed_service_bridge.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ class FeedServiceBridge {
public:
static std::string GetLanguageTag();
static DisplayMetrics GetDisplayMetrics();
static bool IsAutoplayEnabled();
static TabGroupEnabledState GetTabGroupEnabledState();
static void ClearAll();
static bool IsEnabled();
Expand Down

0 comments on commit 7541a08

Please sign in to comment.