Commit e1eda2a9 authored by Natalie Chouinard's avatar Natalie Chouinard Committed by Commit Bot

[Settings Refactor] Move Notification settings

Move Notification settings alongside Notification code.

Bug: 1047357
Change-Id: I973fa65703b5f0cc2efce0885e7cf93461d56a05
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2073340Reviewed-by: default avatarPeter Beverloo <peter@chromium.org>
Reviewed-by: default avatarMatthew Jones <mdjones@chromium.org>
Reviewed-by: default avatarFilip Gorski <fgorski@chromium.org>
Commit-Queue: Natalie Chouinard <chouinard@chromium.org>
Cr-Commit-Position: refs/heads/master@{#744736}
parent bf3bef61
...@@ -994,6 +994,7 @@ chrome_java_sources = [ ...@@ -994,6 +994,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/notifications/channels/SiteChannelsManager.java", "java/src/org/chromium/chrome/browser/notifications/channels/SiteChannelsManager.java",
"java/src/org/chromium/chrome/browser/notifications/scheduler/DisplayAgent.java", "java/src/org/chromium/chrome/browser/notifications/scheduler/DisplayAgent.java",
"java/src/org/chromium/chrome/browser/notifications/scheduler/NotificationSchedulerTask.java", "java/src/org/chromium/chrome/browser/notifications/scheduler/NotificationSchedulerTask.java",
"java/src/org/chromium/chrome/browser/notifications/settings/NotificationSettings.java",
"java/src/org/chromium/chrome/browser/ntp/FakeRecentlyClosedTabManager.java", "java/src/org/chromium/chrome/browser/ntp/FakeRecentlyClosedTabManager.java",
"java/src/org/chromium/chrome/browser/ntp/FakeboxDelegate.java", "java/src/org/chromium/chrome/browser/ntp/FakeboxDelegate.java",
"java/src/org/chromium/chrome/browser/ntp/ForeignSessionHelper.java", "java/src/org/chromium/chrome/browser/ntp/ForeignSessionHelper.java",
...@@ -1398,7 +1399,6 @@ chrome_java_sources = [ ...@@ -1398,7 +1399,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/settings/languages/LanguageListPreference.java", "java/src/org/chromium/chrome/browser/settings/languages/LanguageListPreference.java",
"java/src/org/chromium/chrome/browser/settings/languages/LanguageSettings.java", "java/src/org/chromium/chrome/browser/settings/languages/LanguageSettings.java",
"java/src/org/chromium/chrome/browser/settings/languages/LanguagesManager.java", "java/src/org/chromium/chrome/browser/settings/languages/LanguagesManager.java",
"java/src/org/chromium/chrome/browser/settings/notifications/NotificationsSettings.java",
"java/src/org/chromium/chrome/browser/settings/password/CallbackDelayer.java", "java/src/org/chromium/chrome/browser/settings/password/CallbackDelayer.java",
"java/src/org/chromium/chrome/browser/settings/password/DialogManager.java", "java/src/org/chromium/chrome/browser/settings/password/DialogManager.java",
"java/src/org/chromium/chrome/browser/settings/password/ExportErrorDialogFragment.java", "java/src/org/chromium/chrome/browser/settings/password/ExportErrorDialogFragment.java",
......
...@@ -254,6 +254,7 @@ chrome_test_java_sources = [ ...@@ -254,6 +254,7 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/notifications/channels/ChannelsInitializerTest.java", "javatests/src/org/chromium/chrome/browser/notifications/channels/ChannelsInitializerTest.java",
"javatests/src/org/chromium/chrome/browser/notifications/channels/ChannelsUpdaterTest.java", "javatests/src/org/chromium/chrome/browser/notifications/channels/ChannelsUpdaterTest.java",
"javatests/src/org/chromium/chrome/browser/notifications/channels/SiteChannelsManagerTest.java", "javatests/src/org/chromium/chrome/browser/notifications/channels/SiteChannelsManagerTest.java",
"javatests/src/org/chromium/chrome/browser/notifications/settings/NotificationSettingsTest.java",
"javatests/src/org/chromium/chrome/browser/ntp/IncognitoNewTabPageTest.java", "javatests/src/org/chromium/chrome/browser/ntp/IncognitoNewTabPageTest.java",
"javatests/src/org/chromium/chrome/browser/ntp/NewTabPageLoadTest.java", "javatests/src/org/chromium/chrome/browser/ntp/NewTabPageLoadTest.java",
"javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java", "javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java",
...@@ -417,7 +418,6 @@ chrome_test_java_sources = [ ...@@ -417,7 +418,6 @@ chrome_test_java_sources = [
"javatests/src/org/chromium/chrome/browser/settings/accessibility/AccessibilitySettingsTest.java", "javatests/src/org/chromium/chrome/browser/settings/accessibility/AccessibilitySettingsTest.java",
"javatests/src/org/chromium/chrome/browser/settings/homepage/HomepageSettingsFragmentTest.java", "javatests/src/org/chromium/chrome/browser/settings/homepage/HomepageSettingsFragmentTest.java",
"javatests/src/org/chromium/chrome/browser/settings/homepage/HomepageSettingsFragmentWithEditorTest.java", "javatests/src/org/chromium/chrome/browser/settings/homepage/HomepageSettingsFragmentWithEditorTest.java",
"javatests/src/org/chromium/chrome/browser/settings/notifications/NotificationsSettingsTest.java",
"javatests/src/org/chromium/chrome/browser/settings/password/PasswordSettingsTest.java", "javatests/src/org/chromium/chrome/browser/settings/password/PasswordSettingsTest.java",
"javatests/src/org/chromium/chrome/browser/settings/privacy/BrowsingDataBridgeTest.java", "javatests/src/org/chromium/chrome/browser/settings/privacy/BrowsingDataBridgeTest.java",
"javatests/src/org/chromium/chrome/browser/settings/privacy/BrowsingDataTest.java", "javatests/src/org/chromium/chrome/browser/settings/privacy/BrowsingDataTest.java",
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
android:order="7" android:order="7"
android:title="@string/autofill_addresses_settings_title"/> android:title="@string/autofill_addresses_settings_title"/>
<Preference <Preference
android:fragment="org.chromium.chrome.browser.settings.notifications.NotificationsSettings" android:fragment="org.chromium.chrome.browser.notifications.settings.NotificationSettings"
android:key="notifications" android:key="notifications"
android:order="8" android:order="8"
android:title="@string/prefs_notifications"/> android:title="@string/prefs_notifications"/>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.settings.notifications; package org.chromium.chrome.browser.notifications.settings;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
...@@ -27,7 +27,7 @@ import org.chromium.components.content_settings.ContentSettingsType; ...@@ -27,7 +27,7 @@ import org.chromium.components.content_settings.ContentSettingsType;
* notification channels at the top level and links to website specific notifications. This is only * notification channels at the top level and links to website specific notifications. This is only
* used on pre-O devices, devices on Android O+ will link to the Android notification settings. * used on pre-O devices, devices on Android O+ will link to the Android notification settings.
*/ */
public class NotificationsSettings extends PreferenceFragmentCompat { public class NotificationSettings extends PreferenceFragmentCompat {
// These are package-private to be used in tests. // These are package-private to be used in tests.
static final String PREF_FROM_WEBSITES = "from_websites"; static final String PREF_FROM_WEBSITES = "from_websites";
static final String PREF_SUGGESTIONS = "content_suggestions"; static final String PREF_SUGGESTIONS = "content_suggestions";
......
...@@ -25,8 +25,8 @@ import org.chromium.chrome.browser.notifications.NotificationMetadata; ...@@ -25,8 +25,8 @@ import org.chromium.chrome.browser.notifications.NotificationMetadata;
import org.chromium.chrome.browser.notifications.NotificationUmaTracker; import org.chromium.chrome.browser.notifications.NotificationUmaTracker;
import org.chromium.chrome.browser.notifications.PendingIntentProvider; import org.chromium.chrome.browser.notifications.PendingIntentProvider;
import org.chromium.chrome.browser.notifications.channels.ChannelDefinitions; import org.chromium.chrome.browser.notifications.channels.ChannelDefinitions;
import org.chromium.chrome.browser.notifications.settings.NotificationSettings;
import org.chromium.chrome.browser.settings.SettingsLauncher; import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.notifications.NotificationsSettings;
import org.chromium.content_public.browser.BrowserStartupController; import org.chromium.content_public.browser.BrowserStartupController;
import org.chromium.content_public.browser.BrowserStartupController.StartupCallback; import org.chromium.content_public.browser.BrowserStartupController.StartupCallback;
...@@ -83,7 +83,7 @@ public class PrefetchedPagesNotifier { ...@@ -83,7 +83,7 @@ public class PrefetchedPagesNotifier {
public void onReceive(final Context context, Intent intent) { public void onReceive(final Context context, Intent intent) {
recordNotificationActionWhenChromeLoadsNative(NOTIFICATION_ACTION_SETTINGS_CLICKED); recordNotificationActionWhenChromeLoadsNative(NOTIFICATION_ACTION_SETTINGS_CLICKED);
Intent settingsIntent = SettingsLauncher.getInstance().createIntentForSettingsPage( Intent settingsIntent = SettingsLauncher.getInstance().createIntentForSettingsPage(
context, NotificationsSettings.class.getName()); context, NotificationSettings.class.getName());
settingsIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); settingsIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
context.startActivity(settingsIntent); context.startActivity(settingsIntent);
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
package org.chromium.chrome.browser.settings.notifications; package org.chromium.chrome.browser.notifications.settings;
import android.os.Build; import android.os.Build;
import android.support.test.InstrumentationRegistry; import android.support.test.InstrumentationRegistry;
...@@ -38,10 +38,10 @@ import org.chromium.content_public.browser.test.util.CriteriaHelper; ...@@ -38,10 +38,10 @@ import org.chromium.content_public.browser.test.util.CriteriaHelper;
import org.chromium.content_public.browser.test.util.TestThreadUtils; import org.chromium.content_public.browser.test.util.TestThreadUtils;
/** /**
* Tests for the NotificationsSettings. * Tests for the NotificationSettings.
*/ */
@RunWith(ChromeJUnit4ClassRunner.class) @RunWith(ChromeJUnit4ClassRunner.class)
public class NotificationsSettingsTest { public class NotificationSettingsTest {
@Rule @Rule
public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule(); public final ChromeBrowserTestRule mBrowserTestRule = new ChromeBrowserTestRule();
private SettingsActivity mActivity; private SettingsActivity mActivity;
...@@ -52,8 +52,7 @@ public class NotificationsSettingsTest { ...@@ -52,8 +52,7 @@ public class NotificationsSettingsTest {
@Before @Before
public void setUp() { public void setUp() {
mActivity = SettingsActivityTest.startSettingsActivity( mActivity = SettingsActivityTest.startSettingsActivity(
InstrumentationRegistry.getInstrumentation(), InstrumentationRegistry.getInstrumentation(), NotificationSettings.class.getName());
NotificationsSettings.class.getName());
} }
// TODO(https://crbug.com/894334): Remove format suppression once formatting bug is fixed. // TODO(https://crbug.com/894334): Remove format suppression once formatting bug is fixed.
...@@ -69,7 +68,7 @@ public class NotificationsSettingsTest { ...@@ -69,7 +68,7 @@ public class NotificationsSettingsTest {
final PreferenceFragmentCompat fragment = final PreferenceFragmentCompat fragment =
(PreferenceFragmentCompat) mActivity.getMainFragment(); (PreferenceFragmentCompat) mActivity.getMainFragment();
final ChromeSwitchPreference toggle = (ChromeSwitchPreference) fragment.findPreference( final ChromeSwitchPreference toggle = (ChromeSwitchPreference) fragment.findPreference(
NotificationsSettings.PREF_SUGGESTIONS); NotificationSettings.PREF_SUGGESTIONS);
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
// Make sure the toggle reflects the state correctly. // Make sure the toggle reflects the state correctly.
...@@ -105,7 +104,7 @@ public class NotificationsSettingsTest { ...@@ -105,7 +104,7 @@ public class NotificationsSettingsTest {
PreferenceFragmentCompat fragment = (PreferenceFragmentCompat) mActivity.getMainFragment(); PreferenceFragmentCompat fragment = (PreferenceFragmentCompat) mActivity.getMainFragment();
ChromeSwitchPreference toggle = (ChromeSwitchPreference) fragment.findPreference( ChromeSwitchPreference toggle = (ChromeSwitchPreference) fragment.findPreference(
NotificationsSettings.PREF_SUGGESTIONS); NotificationSettings.PREF_SUGGESTIONS);
Assert.assertFalse(toggle.isEnabled()); Assert.assertFalse(toggle.isEnabled());
Assert.assertFalse(toggle.isChecked()); Assert.assertFalse(toggle.isChecked());
...@@ -126,7 +125,7 @@ public class NotificationsSettingsTest { ...@@ -126,7 +125,7 @@ public class NotificationsSettingsTest {
PreferenceFragmentCompat fragment = PreferenceFragmentCompat fragment =
(PreferenceFragmentCompat) mActivity.getMainFragment(); (PreferenceFragmentCompat) mActivity.getMainFragment();
Preference fromWebsites = Preference fromWebsites =
fragment.findPreference(NotificationsSettings.PREF_FROM_WEBSITES); fragment.findPreference(NotificationSettings.PREF_FROM_WEBSITES);
fromWebsites.performClick(); fromWebsites.performClick();
}); });
...@@ -157,7 +156,7 @@ public class NotificationsSettingsTest { ...@@ -157,7 +156,7 @@ public class NotificationsSettingsTest {
final PreferenceFragmentCompat fragment = final PreferenceFragmentCompat fragment =
(PreferenceFragmentCompat) mActivity.getMainFragment(); (PreferenceFragmentCompat) mActivity.getMainFragment();
final Preference fromWebsites = final Preference fromWebsites =
fragment.findPreference(NotificationsSettings.PREF_FROM_WEBSITES); fragment.findPreference(NotificationSettings.PREF_FROM_WEBSITES);
TestThreadUtils.runOnUiThreadBlocking(() -> { TestThreadUtils.runOnUiThreadBlocking(() -> {
WebsitePreferenceBridge.setCategoryEnabled(ContentSettingsType.NOTIFICATIONS, false); WebsitePreferenceBridge.setCategoryEnabled(ContentSettingsType.NOTIFICATIONS, false);
......
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