Commit 1884f5b9 authored by Katie Dektar's avatar Katie Dektar Committed by Commit Bot

Revert "[Android] Move NfcSystemLevelSetting and modularize NFC code"

This reverts commit 0db01e1d.

Reason for revert: Appears to cause a compile failure and closed the tree

Original change's description:
> [Android] Move NfcSystemLevelSetting and modularize NFC code
> 
> NfcSystemLevelSetting is not a shared class used by multiple Settings
> screens, so move it out of the  org.chromium.chrome.browser.settings
> package to org.chromium.chrome.browser.nfc instead.
> 
> Since the classes in org.chromium.chrome.browser.nfc are fairly trivial
> to modularize, organize and build to a separate target in
> //chrome/browser/nfc as part of go/chrome-hoa efforts.
> 
> Bug: 1052056
> Change-Id: Ia402340b05596ad880f16aef9521003658c1e2a5
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2032785
> Commit-Queue: Natalie Chouinard <chouinard@chromium.org>
> Reviewed-by: Colin Blundell <blundell@chromium.org>
> Reviewed-by: Theresa  <twellington@chromium.org>
> Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
> Reviewed-by: Patrick Noland <pnoland@chromium.org>
> Reviewed-by: Peter Wen <wnwen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#741173}

TBR=yfriedman@chromium.org,wnwen@chromium.org,engedy@chromium.org,blundell@chromium.org,twellington@chromium.org,pnoland@chromium.org,chouinard@chromium.org

Change-Id: I4b89ae8773c38139c28ea7e1557217fc7abb98a6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1052056
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2055589Reviewed-by: default avatarKatie Dektar <katie@chromium.org>
Commit-Queue: Katie Dektar <katie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#741192}
parent e91a4707
......@@ -430,13 +430,12 @@ Still reading?
<ignore regexp="android_webview/test/shell/res/raw/resource_file.html"/>
<ignore regexp="android_webview/test/shell/res/raw/resource_icon.png"/>
<ignore regexp="android_webview/tools/automated_ui_tests/java/res/layout/"/>
<!-- TODO(crbug.com/1017190): Remove the following 5 suppressions once we lint entire app rather
<!-- TODO(crbug.com/1017190): Remove the following 4 suppressions once we lint entire app rather
than each individual target -->
<ignore regexp="components/browser_ui/strings/android/browser_ui_strings_grd"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd"/>
<ignore regexp="The resource `R.drawable.*_expand_.*` appears to be unused"/>
<ignore regexp="The resource `R.drawable.ic_more_vert_24dp_on_dark_bg` appears to be unused"/>
<ignore regexp="The resource `R.layout.permission_dialog` appears to be unused"/>
<!-- 1 resource used by android tv to generate resources.zip file -->
<ignore regexp="chromecast/internal/shell/browser/android/java/res/drawable-hdpi/ic_settings_cast.png"/>
<!-- 1 string used by Android's policies system, pulled from app directly -->
......
......@@ -144,7 +144,6 @@ android_resources("chrome_app_java_resources") {
":ui_locale_string_resources",
"//chrome/android/webapk/libs/common:splash_resources",
"//chrome/app:java_strings_grd",
"//chrome/browser/nfc/android:java_resources",
"//chrome/browser/settings:java_resources",
"//chrome/browser/ui/android/appmenu:java_resources",
"//chrome/browser/ui/android/strings:ui_strings_grd",
......@@ -258,7 +257,6 @@ android_library("chrome_java") {
"//chrome/browser/geolocation/android:java",
"//chrome/browser/image_editor/public:java",
"//chrome/browser/image_fetcher:java",
"//chrome/browser/nfc/android:java",
"//chrome/browser/notifications/chime/android:java",
"//chrome/browser/preferences:java",
"//chrome/browser/profile_card/android:java",
......@@ -775,7 +773,6 @@ android_library("chrome_test_java") {
"//chrome/browser/android/metrics:ukm_javatests",
"//chrome/browser/download/android:java",
"//chrome/browser/flags:java",
"//chrome/browser/nfc/android:java",
"//chrome/browser/preferences:java",
"//chrome/browser/settings:java",
"//chrome/browser/thumbnail:java",
......@@ -2784,6 +2781,7 @@ generate_jni("chrome_jni_headers") {
"java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfInfoBar.java",
"java/src/org/chromium/chrome/browser/send_tab_to_self/SendTabToSelfModelObserverBridge.java",
"java/src/org/chromium/chrome/browser/send_tab_to_self/TargetDeviceInfo.java",
"java/src/org/chromium/chrome/browser/settings/NfcSystemLevelSetting.java",
"java/src/org/chromium/chrome/browser/settings/about/AboutSettingsBridge.java",
"java/src/org/chromium/chrome/browser/settings/password/PasswordEditingBridge.java",
"java/src/org/chromium/chrome/browser/settings/password/PasswordUIView.java",
......
include_rules = [
"+chrome/browser/flags",
"+chrome/browser/nfc/android",
"+chrome/browser/notifications",
"+chrome/browser/preferences/android/java",
"+chrome/browser/settings/android",
......
......@@ -953,6 +953,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/net/nqe/NetworkQualityObserver.java",
"java/src/org/chromium/chrome/browser/net/nqe/NetworkQualityProvider.java",
"java/src/org/chromium/chrome/browser/net/spdyproxy/DataReductionProxySettings.java",
"java/src/org/chromium/chrome/browser/nfc/NfcSystemLevelPrompt.java",
"java/src/org/chromium/chrome/browser/night_mode/GlobalNightModeStateController.java",
"java/src/org/chromium/chrome/browser/night_mode/GlobalNightModeStateProviderHolder.java",
"java/src/org/chromium/chrome/browser/night_mode/NightModeMetrics.java",
......@@ -1383,6 +1384,7 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/settings/HyperlinkPreference.java",
"java/src/org/chromium/chrome/browser/settings/LearnMorePreference.java",
"java/src/org/chromium/chrome/browser/settings/MainSettings.java",
"java/src/org/chromium/chrome/browser/settings/NfcSystemLevelSetting.java",
"java/src/org/chromium/chrome/browser/settings/SettingsActivity.java",
"java/src/org/chromium/chrome/browser/settings/SettingsLauncher.java",
"java/src/org/chromium/chrome/browser/settings/about/AboutChromePreferenceOSVersion.java",
......
......@@ -17,6 +17,8 @@ import android.widget.TextView;
import androidx.annotation.VisibleForTesting;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.modaldialog.DialogDismissalCause;
......@@ -42,12 +44,12 @@ public class NfcSystemLevelPrompt implements ModalDialogProperties.Controller {
* @param callback The callback to be called when dialog is closed.
*/
public void show(WindowAndroid window, Runnable callback) {
ModalDialogManager modalDialogManager = window.getModalDialogManager();
if (modalDialogManager == null) {
ChromeActivity chromeActivity = (ChromeActivity) window.getActivity().get();
if (chromeActivity == null) {
PostTask.postTask(UiThreadTaskTraits.DEFAULT, () -> callback.run());
return;
}
show(window, modalDialogManager, callback);
show(window, chromeActivity.getModalDialogManager(), callback);
}
@VisibleForTesting
......
......@@ -19,7 +19,7 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.browserservices.Origin;
import org.chromium.chrome.browser.browserservices.permissiondelegation.TrustedWebActivityPermissionManager;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.nfc.NfcSystemLevelSetting;
import org.chromium.chrome.browser.settings.NfcSystemLevelSetting;
import org.chromium.chrome.browser.settings.website.ContentSettingValues;
import org.chromium.chrome.browser.settings.website.ContentSettingsResources;
import org.chromium.chrome.browser.settings.website.WebsitePreferenceBridge;
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.nfc;
package org.chromium.chrome.browser.settings;
import android.Manifest;
import android.content.Context;
......@@ -18,6 +18,7 @@ import org.chromium.base.ContextUtils;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.NativeMethods;
import org.chromium.base.task.PostTask;
import org.chromium.chrome.browser.nfc.NfcSystemLevelPrompt;
import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.content_public.browser.WebContents;
import org.chromium.ui.base.WindowAndroid;
......
......@@ -9,7 +9,7 @@ import android.content.Context;
import android.content.Intent;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.nfc.NfcSystemLevelSetting;
import org.chromium.chrome.browser.settings.NfcSystemLevelSetting;
/**
* A class for dealing with the NFC category.
......
......@@ -31,13 +31,13 @@ import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.browserservices.Origin;
import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.infobar.InfoBarContainer;
import org.chromium.chrome.browser.nfc.NfcSystemLevelSetting;
import org.chromium.chrome.browser.notifications.channels.ChannelDefinitions;
import org.chromium.chrome.browser.notifications.channels.SiteChannelsManager;
import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.preferences.PrefServiceBridge;
import org.chromium.chrome.browser.settings.ChromeBaseCheckBoxPreference;
import org.chromium.chrome.browser.settings.ChromeSwitchPreference;
import org.chromium.chrome.browser.settings.NfcSystemLevelSetting;
import org.chromium.chrome.browser.settings.SettingsActivity;
import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.test.ChromeActivityTestRule;
......
......@@ -2570,6 +2570,9 @@ jumbo_static_library("browser") {
"android/navigation_predictor/navigation_predictor_bridge.cc",
"android/net/nqe/network_quality_provider.cc",
"android/net/nqe/network_quality_provider.h",
"android/nfc_system_level_setting.h",
"android/nfc_system_level_setting_impl.cc",
"android/nfc_system_level_setting_impl.h",
"android/ntp/get_remote_suggestions_scheduler.cc",
"android/ntp/get_remote_suggestions_scheduler.h",
"android/ntp/most_visited_sites_bridge.cc",
......@@ -2971,7 +2974,6 @@ jumbo_static_library("browser") {
"//chrome/android/modules/extra_icu/provider:native",
"//chrome/browser/android/thin_webview/internal",
"//chrome/browser/android/webapk:proto",
"//chrome/browser/nfc/android:native",
"//chrome/browser/notifications/chime/android",
"//chrome/browser/notifications/scheduler/public",
"//chrome/browser/offline_pages/prefetch/notifications",
......
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/nfc/android/mock_nfc_system_level_setting.h"
#include "chrome/browser/android/mock_nfc_system_level_setting.h"
namespace {
......
......@@ -2,11 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_NFC_ANDROID_MOCK_NFC_SYSTEM_LEVEL_SETTING_H_
#define CHROME_BROWSER_NFC_ANDROID_MOCK_NFC_SYSTEM_LEVEL_SETTING_H_
#ifndef CHROME_BROWSER_ANDROID_MOCK_NFC_SYSTEM_LEVEL_SETTING_H_
#define CHROME_BROWSER_ANDROID_MOCK_NFC_SYSTEM_LEVEL_SETTING_H_
#include "base/macros.h"
#include "chrome/browser/nfc/android/nfc_system_level_setting.h"
#include "chrome/browser/android/nfc_system_level_setting.h"
// Mock implementation of NfcSystemLevelSetting for unit tests.
class MockNfcSystemLevelSetting : public NfcSystemLevelSetting {
......@@ -29,4 +29,4 @@ class MockNfcSystemLevelSetting : public NfcSystemLevelSetting {
DISALLOW_COPY_AND_ASSIGN(MockNfcSystemLevelSetting);
};
#endif // CHROME_BROWSER_NFC_ANDROID_MOCK_NFC_SYSTEM_LEVEL_SETTING_H_
#endif // CHROME_BROWSER_ANDROID_MOCK_NFC_SYSTEM_LEVEL_SETTING_H_
......@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_NFC_ANDROID_NFC_SYSTEM_LEVEL_SETTING_H_
#define CHROME_BROWSER_NFC_ANDROID_NFC_SYSTEM_LEVEL_SETTING_H_
#ifndef CHROME_BROWSER_ANDROID_NFC_SYSTEM_LEVEL_SETTING_H_
#define CHROME_BROWSER_ANDROID_NFC_SYSTEM_LEVEL_SETTING_H_
#include "base/callback.h"
#include "base/macros.h"
......@@ -41,4 +41,4 @@ class NfcSystemLevelSetting {
base::OnceClosure prompt_completed_callback) = 0;
};
#endif // CHROME_BROWSER_NFC_ANDROID_NFC_SYSTEM_LEVEL_SETTING_H_
#endif // CHROME_BROWSER_ANDROID_NFC_SYSTEM_LEVEL_SETTING_H_
......@@ -2,10 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/nfc/android/nfc_system_level_setting_impl.h"
#include "chrome/browser/android/nfc_system_level_setting_impl.h"
#include "base/android/jni_android.h"
#include "chrome/browser/nfc/android/jni_headers/NfcSystemLevelSetting_jni.h"
#include "chrome/android/chrome_jni_headers/NfcSystemLevelSetting_jni.h"
#include "content/public/browser/web_contents.h"
NfcSystemLevelSettingImpl::NfcSystemLevelSettingImpl() {}
......
......@@ -2,15 +2,15 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_NFC_ANDROID_NFC_SYSTEM_LEVEL_SETTING_IMPL_H_
#define CHROME_BROWSER_NFC_ANDROID_NFC_SYSTEM_LEVEL_SETTING_IMPL_H_
#ifndef CHROME_BROWSER_ANDROID_NFC_SYSTEM_LEVEL_SETTING_IMPL_H_
#define CHROME_BROWSER_ANDROID_NFC_SYSTEM_LEVEL_SETTING_IMPL_H_
#include <memory>
#include "base/android/jni_weak_ref.h"
#include "base/android/scoped_java_ref.h"
#include "base/macros.h"
#include "chrome/browser/nfc/android/nfc_system_level_setting.h"
#include "chrome/browser/android/nfc_system_level_setting.h"
class NfcSystemLevelSettingImpl : public NfcSystemLevelSetting {
public:
......@@ -28,4 +28,4 @@ class NfcSystemLevelSettingImpl : public NfcSystemLevelSetting {
DISALLOW_COPY_AND_ASSIGN(NfcSystemLevelSettingImpl);
};
#endif // CHROME_BROWSER_NFC_ANDROID_NFC_SYSTEM_LEVEL_SETTING_IMPL_H_
#endif // CHROME_BROWSER_ANDROID_NFC_SYSTEM_LEVEL_SETTING_IMPL_H_
# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/config/android/rules.gni")
android_library("java") {
sources = [
"java/src/org/chromium/chrome/browser/nfc/NfcSystemLevelPrompt.java",
"java/src/org/chromium/chrome/browser/nfc/NfcSystemLevelSetting.java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
deps = [
":java_resources",
"//base:base_java",
"//base:jni_java",
"//content/public/android:content_java",
"//third_party/android_deps:android_support_v7_appcompat_java",
"//ui/android:ui_full_java",
# TODO(crbug.com/1017190): Remove the following 2 deps once we stop linting individual targets.
"//components/browser_ui/modaldialog/android:java",
"//third_party/android_deps:com_android_support_design_java",
]
}
generate_jni("jni_headers") {
sources =
[ "java/src/org/chromium/chrome/browser/nfc/NfcSystemLevelSetting.java" ]
}
android_resources("java_resources") {
deps = [
"//chrome/browser/ui/android/strings:ui_strings_grd",
"//components/browser_ui/modaldialog/android:java_resources",
"//components/browser_ui/strings/android:browser_ui_strings_grd",
]
resource_dirs = [ "java/res" ]
custom_package = "org.chromium.chrome.browser.nfc"
}
source_set("native") {
sources = [
"nfc_system_level_setting.h",
"nfc_system_level_setting_impl.cc",
"nfc_system_level_setting_impl.h",
]
deps = [
":jni_headers",
"//base",
"//content/public/browser",
]
}
source_set("test_support") {
testonly = true
sources = [
"mock_nfc_system_level_setting.cc",
"mock_nfc_system_level_setting.h",
]
}
noparent = True
include_rules = [
"+base",
"+content/public/android/java/src/org/chromium/content_public",
"+content/public/browser",
"+ui/android",
]
......@@ -6,8 +6,8 @@
#include "base/android/jni_android.h"
#include "base/bind.h"
#include "chrome/browser/android/nfc_system_level_setting_impl.h"
#include "chrome/browser/android/tab_android.h"
#include "chrome/browser/nfc/android/nfc_system_level_setting_impl.h"
#include "components/permissions/permission_request_id.h"
#include "content/public/browser/web_contents.h"
......
......@@ -5,7 +5,7 @@
#ifndef CHROME_BROWSER_NFC_NFC_PERMISSION_CONTEXT_ANDROID_H_
#define CHROME_BROWSER_NFC_NFC_PERMISSION_CONTEXT_ANDROID_H_
#include "chrome/browser/nfc/android/nfc_system_level_setting.h"
#include "chrome/browser/android/nfc_system_level_setting.h"
#include "chrome/browser/nfc/nfc_permission_context.h"
namespace permissions {
......
......@@ -16,7 +16,7 @@
#include "content/public/test/test_utils.h"
#if defined(OS_ANDROID)
#include "chrome/browser/nfc/android/mock_nfc_system_level_setting.h"
#include "chrome/browser/android/mock_nfc_system_level_setting.h"
#include "chrome/browser/nfc/nfc_permission_context_android.h"
#endif
......
......@@ -3064,6 +3064,8 @@ test("unit_tests") {
"../browser/android/customtabs/detached_resource_request_unittest.cc",
"../browser/android/favicon_helper_unittest.cc",
"../browser/android/metrics/background_task_memory_metrics_emitter_unittest.cc",
"../browser/android/mock_nfc_system_level_setting.cc",
"../browser/android/mock_nfc_system_level_setting.h",
"../browser/android/oom_intervention/near_oom_monitor_unittest.cc",
"../browser/android/oom_intervention/oom_intervention_decider_unittest.cc",
"../browser/android/password_edit_delegate_settings_impl_unittest.cc",
......@@ -3878,7 +3880,6 @@ test("unit_tests") {
"//chrome/android:native_j_unittests_jni_headers",
"//chrome/android:native_java_unittests_java",
"//chrome/android/features/media_router:java",
"//chrome/browser/nfc/android:test_support",
"//chrome/browser/thumbnail:unit_tests",
"//chrome/browser/updates:unit_tests",
"//chrome/services/media_gallery_util:unit_tests",
......
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