Patches removed
This commit is contained in:
parent
837f9674ef
commit
69b68dc3d5
3 changed files with 0 additions and 1286 deletions
|
@ -1,117 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 15 Dec 2019 22:39:56 +0100
|
||||
Subject: Disable password reuse detection on android
|
||||
|
||||
---
|
||||
.../android/password_reuse_controller_android.cc | 12 ++++++++++++
|
||||
.../password_reuse_dialog_view_android.cc | 11 +++++++++--
|
||||
components/password_manager/core/browser/BUILD.gn | 6 +++---
|
||||
3 files changed, 24 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc b/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc
|
||||
--- a/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc
|
||||
+++ b/chrome/browser/safe_browsing/android/password_reuse_controller_android.cc
|
||||
@@ -17,17 +17,25 @@ PasswordReuseControllerAndroid::PasswordReuseControllerAndroid(
|
||||
ChromePasswordProtectionService* service,
|
||||
ReusedPasswordAccountType password_type,
|
||||
OnWarningDone done_callback)
|
||||
+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
|
||||
: service_(service),
|
||||
+#else
|
||||
+ :
|
||||
+#endif
|
||||
url_(web_contents->GetLastCommittedURL()),
|
||||
password_type_(password_type),
|
||||
window_android_(web_contents->GetTopLevelNativeWindow()),
|
||||
done_callback_(std::move(done_callback)) {
|
||||
modal_construction_start_time_ = base::TimeTicks::Now();
|
||||
+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
|
||||
service_->AddObserver(this);
|
||||
+#endif
|
||||
}
|
||||
|
||||
PasswordReuseControllerAndroid::~PasswordReuseControllerAndroid() {
|
||||
+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
|
||||
service_->RemoveObserver(this);
|
||||
+#endif
|
||||
dialog_view_.reset();
|
||||
LogModalWarningDialogLifetime(modal_construction_start_time_);
|
||||
}
|
||||
@@ -48,20 +56,24 @@ base::string16 PasswordReuseControllerAndroid::GetButtonText() const {
|
||||
return l10n_util::GetStringUTF16(IDS_CLOSE);
|
||||
}
|
||||
|
||||
+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
|
||||
base::string16 PasswordReuseControllerAndroid::GetWarningDetailText(
|
||||
std::vector<size_t>* placeholder_offsets) const {
|
||||
return service_->GetWarningDetailText(password_type_, placeholder_offsets);
|
||||
}
|
||||
+#endif
|
||||
|
||||
base::string16 PasswordReuseControllerAndroid::GetTitle() const {
|
||||
return l10n_util::GetStringUTF16(IDS_PAGE_INFO_CHANGE_PASSWORD_SUMMARY);
|
||||
}
|
||||
|
||||
+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
|
||||
const std::vector<base::string16>
|
||||
PasswordReuseControllerAndroid::GetPlaceholdersForSavedPasswordWarningText()
|
||||
const {
|
||||
return service_->GetPlaceholdersForSavedPasswordWarningText();
|
||||
}
|
||||
+#endif
|
||||
|
||||
void PasswordReuseControllerAndroid::OnGaiaPasswordChanged() {
|
||||
delete this;
|
||||
diff --git a/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc b/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc
|
||||
--- a/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc
|
||||
+++ b/chrome/browser/ui/android/safe_browsing/password_reuse_dialog_view_android.cc
|
||||
@@ -29,6 +29,7 @@ void PasswordReuseDialogViewAndroid::Show(ui::WindowAndroid* window_android) {
|
||||
java_object_.Reset(Java_SafeBrowsingPasswordReuseDialogBridge_create(
|
||||
env, window_android->GetJavaObject(), reinterpret_cast<intptr_t>(this)));
|
||||
|
||||
+#if defined(SYNC_PASSWORD_REUSE_WARNING_ENABLED)
|
||||
std::vector<size_t> placeholder_offsets;
|
||||
base::string16 warning_detail_text =
|
||||
controller_->GetWarningDetailText(&placeholder_offsets);
|
||||
@@ -50,14 +51,20 @@ void PasswordReuseDialogViewAndroid::Show(ui::WindowAndroid* window_android) {
|
||||
base::android::ToJavaIntArray(env, start_ranges, len);
|
||||
base::android::ScopedJavaLocalRef<jintArray> j_end_ranges =
|
||||
base::android::ToJavaIntArray(env, end_ranges, len);
|
||||
-
|
||||
+#else
|
||||
+ int start_ranges[0], end_ranges[0];
|
||||
+ base::android::ScopedJavaLocalRef<jintArray> j_start_ranges =
|
||||
+ base::android::ToJavaIntArray(env, start_ranges, 0);
|
||||
+ base::android::ScopedJavaLocalRef<jintArray> j_end_ranges =
|
||||
+ base::android::ToJavaIntArray(env, end_ranges, 0);
|
||||
Java_SafeBrowsingPasswordReuseDialogBridge_showDialog(
|
||||
env, java_object_,
|
||||
base::android::ConvertUTF16ToJavaString(env, controller_->GetTitle()),
|
||||
- base::android::ConvertUTF16ToJavaString(env, warning_detail_text),
|
||||
+ base::android::ConvertUTF16ToJavaString(env, controller_->GetTitle()),
|
||||
base::android::ConvertUTF16ToJavaString(env,
|
||||
controller_->GetButtonText()),
|
||||
j_start_ranges, j_end_ranges);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void PasswordReuseDialogViewAndroid::Close(
|
||||
diff --git a/components/password_manager/core/browser/BUILD.gn b/components/password_manager/core/browser/BUILD.gn
|
||||
--- a/components/password_manager/core/browser/BUILD.gn
|
||||
+++ b/components/password_manager/core/browser/BUILD.gn
|
||||
@@ -11,9 +11,9 @@ if (is_android) {
|
||||
|
||||
# TODO(crbug.com/1006430): Fix password reuse detection not fully functional on
|
||||
# Android.
|
||||
-password_reuse_detection_support = !is_ios
|
||||
-password_reuse_warning_support = !is_ios
|
||||
-password_on_focus_ping_support = !is_ios
|
||||
+password_reuse_detection_support = !is_ios && !is_android
|
||||
+password_reuse_warning_support = !is_ios && !is_android
|
||||
+password_on_focus_ping_support = !is_ios && !is_android
|
||||
|
||||
config("password_reuse_detection_config") {
|
||||
defines = []
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,649 +0,0 @@
|
|||
From: Wengling Chen <feiyu2817@gmail.com>
|
||||
Date: Sat, 2 Nov 2019 07:58:48 +0100
|
||||
Subject: Remove dependency on fido, iid, instantapps, location
|
||||
|
||||
---
|
||||
chrome/android/BUILD.gn | 5 -
|
||||
chrome/android/chrome_java_sources.gni | 3 -
|
||||
.../ExternalNavigationDelegateImpl.java | 8 +-
|
||||
.../instantapps/InstantAppsHandler.java | 56 ----------
|
||||
.../browser/webauth/AuthenticatorImpl.java | 29 +----
|
||||
.../gcm_driver/instance_id/android/BUILD.gn | 2 -
|
||||
.../instance_id/InstanceIDWithSubtype.java | 28 +----
|
||||
content/public/common/content_features.cc | 2 +-
|
||||
device/BUILD.gn | 1 -
|
||||
services/BUILD.gn | 3 -
|
||||
services/device/geolocation/BUILD.gn | 1 -
|
||||
.../geolocation/LocationProviderGmsCore.java | 102 +-----------------
|
||||
third_party/android_deps/BUILD.gn | 75 -------------
|
||||
13 files changed, 14 insertions(+), 301 deletions(-)
|
||||
|
||||
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn
|
||||
--- a/chrome/android/BUILD.gn
|
||||
+++ b/chrome/android/BUILD.gn
|
||||
@@ -282,8 +282,6 @@ android_library("chrome_java") {
|
||||
"$google_play_services_package:google_play_services_basement_java",
|
||||
"$google_play_services_package:google_play_services_cast_framework_java",
|
||||
"$google_play_services_package:google_play_services_cast_java",
|
||||
- "$google_play_services_package:google_play_services_fido_java",
|
||||
- "$google_play_services_package:google_play_services_iid_java",
|
||||
"$google_play_services_package:google_play_services_tasks_java",
|
||||
"//base:base_java",
|
||||
"//base:jni_java",
|
||||
@@ -774,7 +772,6 @@ junit_binary("chrome_junit_tests") {
|
||||
"$google_play_services_package:google_play_services_basement_java",
|
||||
"$google_play_services_package:google_play_services_cast_framework_java",
|
||||
"$google_play_services_package:google_play_services_cast_java",
|
||||
- "$google_play_services_package:google_play_services_fido_java",
|
||||
"//base:base_java",
|
||||
"//base:base_java_test_support",
|
||||
"//base:base_junit_test_support",
|
||||
@@ -992,8 +989,6 @@ android_library("chrome_test_java") {
|
||||
"$google_play_services_package:google_play_services_basement_java",
|
||||
"$google_play_services_package:google_play_services_cast_framework_java",
|
||||
"$google_play_services_package:google_play_services_cast_java",
|
||||
- "$google_play_services_package:google_play_services_fido_java",
|
||||
- "$google_play_services_package:google_play_services_iid_java",
|
||||
"$google_play_services_package:google_play_services_tasks_java",
|
||||
"//base:base_java",
|
||||
"//base:base_java_test_support",
|
||||
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
|
||||
--- a/chrome/android/chrome_java_sources.gni
|
||||
+++ b/chrome/android/chrome_java_sources.gni
|
||||
@@ -1685,9 +1685,6 @@ chrome_java_sources = [
|
||||
"java/src/org/chromium/chrome/browser/webapps/addtohomescreen/AddToHomescreenViewDelegate.java",
|
||||
"java/src/org/chromium/chrome/browser/webauth/AuthenticatorFactory.java",
|
||||
"java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java",
|
||||
- "java/src/org/chromium/chrome/browser/webauth/Fido2ApiHandler.java",
|
||||
- "java/src/org/chromium/chrome/browser/webauth/Fido2CredentialRequest.java",
|
||||
- "java/src/org/chromium/chrome/browser/webauth/Fido2Helper.java",
|
||||
"java/src/org/chromium/chrome/browser/webauth/HandlerResponseCallback.java",
|
||||
"java/src/org/chromium/chrome/browser/webauth/authenticator/CableAuthenticatorActivity.java",
|
||||
"java/src/org/chromium/chrome/browser/webshare/ShareServiceImplementationFactory.java",
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImpl.java
|
||||
@@ -216,12 +216,8 @@ public class ExternalNavigationDelegateImpl implements ExternalNavigationDelegat
|
||||
|
||||
@Override
|
||||
public void maybeAdjustInstantAppExtras(Intent intent, boolean isIntentToInstantApp) {
|
||||
- if (isIntentToInstantApp) {
|
||||
- intent.putExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER, true);
|
||||
- } else {
|
||||
- // Make sure this extra is not sent unless we've done the verification.
|
||||
- intent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
|
||||
- }
|
||||
+ // Always remove this extra
|
||||
+ intent.removeExtra(InstantAppsHandler.IS_GOOGLE_SEARCH_REFERRER);
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java
|
||||
@@ -40,31 +40,9 @@ public class InstantAppsHandler {
|
||||
// TODO(mariakhomenko): Use system once we roll to O SDK.
|
||||
private static final int FLAG_DO_NOT_LAUNCH = 0x00000200;
|
||||
|
||||
- // TODO(mariakhomenko): Depend directly on the constants once we roll to v8 libraries.
|
||||
- private static final String DO_NOT_LAUNCH_EXTRA =
|
||||
- "com.google.android.gms.instantapps.DO_NOT_LAUNCH_INSTANT_APP";
|
||||
-
|
||||
- protected static final String IS_REFERRER_TRUSTED_EXTRA =
|
||||
- "com.google.android.gms.instantapps.IS_REFERRER_TRUSTED";
|
||||
-
|
||||
- protected static final String IS_USER_CONFIRMED_LAUNCH_EXTRA =
|
||||
- "com.google.android.gms.instantapps.IS_USER_CONFIRMED_LAUNCH";
|
||||
-
|
||||
- protected static final String TRUSTED_REFERRER_PKG_EXTRA =
|
||||
- "com.google.android.gms.instantapps.TRUSTED_REFERRER_PKG";
|
||||
-
|
||||
public static final String IS_GOOGLE_SEARCH_REFERRER =
|
||||
"com.google.android.gms.instantapps.IS_GOOGLE_SEARCH_REFERRER";
|
||||
|
||||
- private static final String BROWSER_LAUNCH_REASON =
|
||||
- "com.google.android.gms.instantapps.BROWSER_LAUNCH_REASON";
|
||||
-
|
||||
- private static final String SUPERVISOR_PKG = "com.google.android.instantapps.supervisor";
|
||||
-
|
||||
- private static final String[] SUPERVISOR_START_ACTIONS = {
|
||||
- "com.google.android.instantapps.START", "com.google.android.instantapps.nmr1.INSTALL",
|
||||
- "com.google.android.instantapps.nmr1.VIEW"};
|
||||
-
|
||||
/** Finch experiment name. */
|
||||
private static final String INSTANT_APPS_EXPERIMENT_NAME = "InstantApps";
|
||||
|
||||
@@ -93,14 +71,6 @@ public class InstantAppsHandler {
|
||||
* @return Whether the given intent is going to open an Instant App.
|
||||
*/
|
||||
public static boolean isIntentToInstantApp(Intent intent) {
|
||||
- if (SUPERVISOR_PKG.equals(intent.getPackage())) return true;
|
||||
-
|
||||
- String intentAction = intent.getAction();
|
||||
- for (String action : SUPERVISOR_START_ACTIONS) {
|
||||
- if (action.equals(intentAction)) {
|
||||
- return true;
|
||||
- }
|
||||
- }
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -135,20 +105,6 @@ public class InstantAppsHandler {
|
||||
* @param intent The current intent.
|
||||
*/
|
||||
private void maybeRecordFallbackStats(Intent intent) {
|
||||
- Long startTime = IntentUtils.safeGetLongExtra(intent, INSTANT_APP_START_TIME_EXTRA, 0);
|
||||
- if (startTime > 0) {
|
||||
- RecordHistogram.recordTimesHistogram("Android.InstantApps.FallbackDuration",
|
||||
- SystemClock.elapsedRealtime() - startTime);
|
||||
- intent.removeExtra(INSTANT_APP_START_TIME_EXTRA);
|
||||
- }
|
||||
- int callSource = IntentUtils.safeGetIntExtra(intent, BROWSER_LAUNCH_REASON, 0);
|
||||
- if (callSource > 0 && callSource < SOURCE_BOUNDARY) {
|
||||
- RecordHistogram.recordEnumeratedHistogram(
|
||||
- "Android.InstantApps.CallSource", callSource, SOURCE_BOUNDARY);
|
||||
- intent.removeExtra(BROWSER_LAUNCH_REASON);
|
||||
- } else if (callSource >= SOURCE_BOUNDARY) {
|
||||
- Log.e(TAG, "Unexpected call source constant for Instant Apps: " + callSource);
|
||||
- }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -183,14 +139,6 @@ public class InstantAppsHandler {
|
||||
return false;
|
||||
}
|
||||
|
||||
- if (IntentUtils.safeGetBooleanExtra(intent, DO_NOT_LAUNCH_EXTRA, false)
|
||||
- || (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O
|
||||
- && (intent.getFlags() & FLAG_DO_NOT_LAUNCH) != 0)) {
|
||||
- maybeRecordFallbackStats(intent);
|
||||
- Log.i(TAG, "Not handling with Instant Apps (DO_NOT_LAUNCH_EXTRA)");
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
if (IntentUtils.safeGetBooleanExtra(
|
||||
intent, IntentHandler.EXTRA_OPEN_NEW_INCOGNITO_TAB, false)
|
||||
|| IntentUtils.safeHasExtra(intent, ShortcutHelper.EXTRA_SOURCE)
|
||||
@@ -215,7 +163,6 @@ public class InstantAppsHandler {
|
||||
}
|
||||
|
||||
Intent callbackIntent = new Intent(intent);
|
||||
- callbackIntent.putExtra(DO_NOT_LAUNCH_EXTRA, true);
|
||||
callbackIntent.putExtra(INSTANT_APP_START_TIME_EXTRA, startTime);
|
||||
|
||||
return tryLaunchingInstantApp(context, intent, isCustomTabsIntent, callbackIntent);
|
||||
@@ -318,12 +265,9 @@ public class InstantAppsHandler {
|
||||
Intent iaIntent = data.getIntent();
|
||||
if (data.getReferrer() != null) {
|
||||
iaIntent.putExtra(Intent.EXTRA_REFERRER, data.getReferrer());
|
||||
- iaIntent.putExtra(IS_REFERRER_TRUSTED_EXTRA, true);
|
||||
}
|
||||
|
||||
Context appContext = ContextUtils.getApplicationContext();
|
||||
- iaIntent.putExtra(TRUSTED_REFERRER_PKG_EXTRA, appContext.getPackageName());
|
||||
- iaIntent.putExtra(IS_USER_CONFIRMED_LAUNCH_EXTRA, true);
|
||||
|
||||
try {
|
||||
appContext.startActivity(iaIntent);
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java
|
||||
+++ b/chrome/android/java/src/org/chromium/chrome/browser/webauth/AuthenticatorImpl.java
|
||||
@@ -102,14 +102,7 @@ public class AuthenticatorImpl extends HandlerResponseCallback implements Authen
|
||||
|
||||
mMakeCredentialCallback = callback;
|
||||
Context context = ContextUtils.getApplicationContext();
|
||||
- if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
|
||||
- < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
|
||||
- onError(AuthenticatorStatus.NOT_IMPLEMENTED);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- mIsOperationPending = true;
|
||||
- Fido2ApiHandler.getInstance().makeCredential(options, mRenderFrameHost, mOrigin, this);
|
||||
+ onError(AuthenticatorStatus.NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -137,14 +130,7 @@ public class AuthenticatorImpl extends HandlerResponseCallback implements Authen
|
||||
mGetAssertionCallback = callback;
|
||||
Context context = ContextUtils.getApplicationContext();
|
||||
|
||||
- if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
|
||||
- < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
|
||||
- onError(AuthenticatorStatus.NOT_IMPLEMENTED);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- mIsOperationPending = true;
|
||||
- Fido2ApiHandler.getInstance().getAssertion(options, mRenderFrameHost, mOrigin, this);
|
||||
+ onError(AuthenticatorStatus.NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -177,15 +163,8 @@ public class AuthenticatorImpl extends HandlerResponseCallback implements Authen
|
||||
return;
|
||||
}
|
||||
|
||||
- if (PackageUtils.getPackageVersion(context, GMSCORE_PACKAGE_NAME)
|
||||
- < Fido2ApiHandler.GMSCORE_MIN_VERSION) {
|
||||
- callback.call(false);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- mIsUserVerifyingPlatformAuthenticatorAvailableCallbackQueue.add(callback);
|
||||
- Fido2ApiHandler.getInstance().isUserVerifyingPlatformAuthenticatorAvailable(
|
||||
- mRenderFrameHost, this);
|
||||
+ callback.call(false);
|
||||
+ return;
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/components/gcm_driver/instance_id/android/BUILD.gn b/components/gcm_driver/instance_id/android/BUILD.gn
|
||||
--- a/components/gcm_driver/instance_id/android/BUILD.gn
|
||||
+++ b/components/gcm_driver/instance_id/android/BUILD.gn
|
||||
@@ -15,7 +15,6 @@ generate_jni("test_support_jni_headers") {
|
||||
|
||||
android_library("instance_id_driver_java") {
|
||||
deps = [
|
||||
- "$google_play_services_package:google_play_services_iid_java",
|
||||
"//base:base_java",
|
||||
"//base:jni_java",
|
||||
"//components/gcm_driver/android:gcm_driver_java",
|
||||
@@ -34,7 +33,6 @@ android_library("instance_id_driver_java") {
|
||||
android_library("instance_id_driver_test_support_java") {
|
||||
deps = [
|
||||
":instance_id_driver_java",
|
||||
- "$google_play_services_package:google_play_services_iid_java",
|
||||
"//base:base_java",
|
||||
]
|
||||
|
||||
diff --git a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java
|
||||
--- a/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java
|
||||
+++ b/components/gcm_driver/instance_id/android/java/src/org/chromium/components/gcm_driver/instance_id/InstanceIDWithSubtype.java
|
||||
@@ -10,8 +10,6 @@ import android.text.TextUtils;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
-import com.google.android.gms.iid.InstanceID;
|
||||
-
|
||||
import org.chromium.base.ContextUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -26,8 +24,6 @@ public class InstanceIDWithSubtype {
|
||||
// Must match the private InstanceID.OPTION_SUBTYPE, which is guaranteed to not change.
|
||||
private static final String OPTION_SUBTYPE = "subtype";
|
||||
|
||||
- private final InstanceID mInstanceID;
|
||||
-
|
||||
/**
|
||||
* Cached instances. May be accessed from multiple threads; synchronize on sSubtypeInstancesLock
|
||||
*/
|
||||
@@ -39,10 +35,6 @@ public class InstanceIDWithSubtype {
|
||||
@VisibleForTesting
|
||||
protected static FakeFactory sFakeFactoryForTesting;
|
||||
|
||||
- protected InstanceIDWithSubtype(InstanceID instanceID) {
|
||||
- mInstanceID = instanceID;
|
||||
- }
|
||||
-
|
||||
/**
|
||||
* Returns an instance of this class. Unlike {@link InstanceID#getInstance(Context)}, it is not
|
||||
* a singleton, but instead a different instance will be returned for each {@code subtype}.
|
||||
@@ -58,11 +50,6 @@ public class InstanceIDWithSubtype {
|
||||
if (sFakeFactoryForTesting != null) {
|
||||
existing = sFakeFactoryForTesting.create(subtype);
|
||||
} else {
|
||||
- Bundle options = new Bundle();
|
||||
- options.putCharSequence(OPTION_SUBTYPE, subtype);
|
||||
- InstanceID instanceID =
|
||||
- InstanceID.getInstance(ContextUtils.getApplicationContext(), options);
|
||||
- existing = new InstanceIDWithSubtype(instanceID);
|
||||
}
|
||||
sSubtypeInstances.put(subtype, existing);
|
||||
}
|
||||
@@ -71,35 +58,30 @@ public class InstanceIDWithSubtype {
|
||||
}
|
||||
|
||||
public String getSubtype() {
|
||||
- return mInstanceID.getSubtype();
|
||||
+ return "";
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
- return mInstanceID.getId();
|
||||
+ return "";
|
||||
}
|
||||
|
||||
public long getCreationTime() {
|
||||
- return mInstanceID.getCreationTime();
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
public void deleteInstanceID() throws IOException {
|
||||
- synchronized (sSubtypeInstancesLock) {
|
||||
- sSubtypeInstances.remove(mInstanceID.getSubtype());
|
||||
- mInstanceID.deleteInstanceID();
|
||||
- }
|
||||
}
|
||||
|
||||
public void deleteToken(String authorizedEntity, String scope) throws IOException {
|
||||
- mInstanceID.deleteToken(authorizedEntity, scope);
|
||||
}
|
||||
|
||||
public String getToken(String authorizedEntity, String scope) throws IOException {
|
||||
- return mInstanceID.getToken(authorizedEntity, scope);
|
||||
+ return "";
|
||||
}
|
||||
|
||||
public String getToken(String authorizedEntity, String scope, Bundle extras)
|
||||
throws IOException {
|
||||
- return mInstanceID.getToken(authorizedEntity, scope, extras);
|
||||
+ return "";
|
||||
}
|
||||
|
||||
/** Fake subclasses can set {@link #sFakeFactoryForTesting} to an implementation of this. */
|
||||
diff --git a/content/public/common/content_features.cc b/content/public/common/content_features.cc
|
||||
--- a/content/public/common/content_features.cc
|
||||
+++ b/content/public/common/content_features.cc
|
||||
@@ -782,7 +782,7 @@ const base::Feature kWebContentsOcclusion {
|
||||
// Controls whether the WebAuthentication API is enabled:
|
||||
// https://w3c.github.io/webauthn
|
||||
const base::Feature kWebAuth{"WebAuthentication",
|
||||
- base::FEATURE_ENABLED_BY_DEFAULT};
|
||||
+ base::FEATURE_DISABLED_BY_DEFAULT};
|
||||
|
||||
// Controls whether CTAP2 devices can communicate via the WebAuthentication API
|
||||
// using pairingless BLE protocol.
|
||||
diff --git a/device/BUILD.gn b/device/BUILD.gn
|
||||
--- a/device/BUILD.gn
|
||||
+++ b/device/BUILD.gn
|
||||
@@ -423,7 +423,6 @@ if (is_android) {
|
||||
deps = [
|
||||
"$google_play_services_package:google_play_services_base_java",
|
||||
"$google_play_services_package:google_play_services_basement_java",
|
||||
- "$google_play_services_package:google_play_services_location_java",
|
||||
"//base:base_java",
|
||||
"//base:base_java_test_support",
|
||||
"//base:base_junit_test_support",
|
||||
diff --git a/services/BUILD.gn b/services/BUILD.gn
|
||||
--- a/services/BUILD.gn
|
||||
+++ b/services/BUILD.gn
|
||||
@@ -104,9 +104,6 @@ if (is_android) {
|
||||
"shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java",
|
||||
]
|
||||
deps = [
|
||||
- "$google_play_services_package:google_play_services_base_java",
|
||||
- "$google_play_services_package:google_play_services_basement_java",
|
||||
- "$google_play_services_package:google_play_services_location_java",
|
||||
"//base:base_java",
|
||||
"//base:base_java_test_support",
|
||||
"//base:base_junit_test_support",
|
||||
diff --git a/services/device/geolocation/BUILD.gn b/services/device/geolocation/BUILD.gn
|
||||
--- a/services/device/geolocation/BUILD.gn
|
||||
+++ b/services/device/geolocation/BUILD.gn
|
||||
@@ -157,7 +157,6 @@ if (is_android) {
|
||||
":geolocation_jni_headers",
|
||||
"$google_play_services_package:google_play_services_base_java",
|
||||
"$google_play_services_package:google_play_services_basement_java",
|
||||
- "$google_play_services_package:google_play_services_location_java",
|
||||
"//base:base_java",
|
||||
"//base:jni_java",
|
||||
"//components/location/android:location_java",
|
||||
diff --git a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderGmsCore.java b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderGmsCore.java
|
||||
--- a/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderGmsCore.java
|
||||
+++ b/services/device/geolocation/android/java/src/org/chromium/device/geolocation/LocationProviderGmsCore.java
|
||||
@@ -8,132 +8,40 @@ import android.content.Context;
|
||||
import android.location.Location;
|
||||
import android.os.Bundle;
|
||||
|
||||
-import com.google.android.gms.common.ConnectionResult;
|
||||
-import com.google.android.gms.common.api.GoogleApiClient;
|
||||
-import com.google.android.gms.common.api.GoogleApiClient.ConnectionCallbacks;
|
||||
-import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;
|
||||
-import com.google.android.gms.location.FusedLocationProviderApi;
|
||||
-import com.google.android.gms.location.LocationListener;
|
||||
-import com.google.android.gms.location.LocationRequest;
|
||||
-import com.google.android.gms.location.LocationServices;
|
||||
-
|
||||
import org.chromium.base.Log;
|
||||
import org.chromium.base.ThreadUtils;
|
||||
import org.chromium.components.location.LocationUtils;
|
||||
-import org.chromium.gms.ChromiumPlayServicesAvailability;
|
||||
|
||||
/**
|
||||
* This is a LocationProvider using Google Play Services.
|
||||
*
|
||||
* https://developers.google.com/android/reference/com/google/android/gms/location/package-summary
|
||||
*/
|
||||
-public class LocationProviderGmsCore implements ConnectionCallbacks, OnConnectionFailedListener,
|
||||
- LocationListener, LocationProvider {
|
||||
+public class LocationProviderGmsCore implements LocationProvider {
|
||||
private static final String TAG = "LocationProvider";
|
||||
|
||||
// Values for the LocationRequest's setInterval for normal and high accuracy, respectively.
|
||||
private static final long UPDATE_INTERVAL_MS = 1000;
|
||||
private static final long UPDATE_INTERVAL_FAST_MS = 500;
|
||||
|
||||
- private final GoogleApiClient mGoogleApiClient;
|
||||
- private FusedLocationProviderApi mLocationProviderApi = LocationServices.FusedLocationApi;
|
||||
-
|
||||
- private boolean mEnablehighAccuracy;
|
||||
- private LocationRequest mLocationRequest;
|
||||
-
|
||||
public static boolean isGooglePlayServicesAvailable(Context context) {
|
||||
- return ChromiumPlayServicesAvailability.isGooglePlayServicesAvailable(context);
|
||||
+ return false;
|
||||
}
|
||||
|
||||
LocationProviderGmsCore(Context context) {
|
||||
Log.i(TAG, "Google Play Services");
|
||||
- mGoogleApiClient = new GoogleApiClient.Builder(context)
|
||||
- .addApi(LocationServices.API)
|
||||
- .addConnectionCallbacks(this)
|
||||
- .addOnConnectionFailedListener(this)
|
||||
- .build();
|
||||
- assert mGoogleApiClient != null;
|
||||
- }
|
||||
-
|
||||
- LocationProviderGmsCore(GoogleApiClient client, FusedLocationProviderApi locationApi) {
|
||||
- mGoogleApiClient = client;
|
||||
- mLocationProviderApi = locationApi;
|
||||
- }
|
||||
-
|
||||
- // ConnectionCallbacks implementation
|
||||
- @Override
|
||||
- public void onConnected(Bundle connectionHint) {
|
||||
- ThreadUtils.assertOnUiThread();
|
||||
-
|
||||
- mLocationRequest = LocationRequest.create();
|
||||
- if (mEnablehighAccuracy) {
|
||||
- // With enableHighAccuracy, request a faster update interval and configure the provider
|
||||
- // for high accuracy mode.
|
||||
- mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY)
|
||||
- .setInterval(UPDATE_INTERVAL_FAST_MS);
|
||||
- } else {
|
||||
- // Use balanced mode by default. In this mode, the API will prefer the network provider
|
||||
- // but may use sensor data (for instance, GPS) if high accuracy is requested by another
|
||||
- // app.
|
||||
- //
|
||||
- // If location is configured for sensors-only then elevate the priority to ensure GPS
|
||||
- // and other sensors are used.
|
||||
- if (LocationUtils.getInstance().isSystemLocationSettingSensorsOnly()) {
|
||||
- mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
|
||||
- } else {
|
||||
- mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
|
||||
- }
|
||||
- mLocationRequest.setInterval(UPDATE_INTERVAL_MS);
|
||||
- }
|
||||
-
|
||||
- final Location location = mLocationProviderApi.getLastLocation(mGoogleApiClient);
|
||||
- if (location != null) {
|
||||
- LocationProviderAdapter.onNewLocationAvailable(location);
|
||||
- }
|
||||
-
|
||||
- try {
|
||||
- // Request updates on UI Thread replicating LocationProviderAndroid's behaviour.
|
||||
- mLocationProviderApi.requestLocationUpdates(
|
||||
- mGoogleApiClient, mLocationRequest, this, ThreadUtils.getUiThreadLooper());
|
||||
- } catch (IllegalStateException | SecurityException e) {
|
||||
- // IllegalStateException is thrown "If this method is executed in a thread that has not
|
||||
- // called Looper.prepare()". SecurityException is thrown if there is no permission, see
|
||||
- // https://crbug.com/731271.
|
||||
- Log.e(TAG, " mLocationProviderApi.requestLocationUpdates() " + e);
|
||||
- LocationProviderAdapter.newErrorAvailable(
|
||||
- "Failed to request location updates: " + e.toString());
|
||||
- assert false;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- @Override
|
||||
- public void onConnectionSuspended(int cause) {}
|
||||
-
|
||||
- // OnConnectionFailedListener implementation
|
||||
- @Override
|
||||
- public void onConnectionFailed(ConnectionResult result) {
|
||||
- LocationProviderAdapter.newErrorAvailable(
|
||||
- "Failed to connect to Google Play Services: " + result.toString());
|
||||
}
|
||||
|
||||
// LocationProvider implementation
|
||||
@Override
|
||||
public void start(boolean enableHighAccuracy) {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
- if (mGoogleApiClient.isConnected()) mGoogleApiClient.disconnect();
|
||||
-
|
||||
mEnablehighAccuracy = enableHighAccuracy;
|
||||
- mGoogleApiClient.connect(); // Should return via onConnected().
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
- if (!mGoogleApiClient.isConnected()) return;
|
||||
-
|
||||
- mLocationProviderApi.removeLocationUpdates(mGoogleApiClient, this);
|
||||
-
|
||||
- mGoogleApiClient.disconnect();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -142,10 +50,4 @@ public class LocationProviderGmsCore implements ConnectionCallbacks, OnConnectio
|
||||
if (mGoogleApiClient == null) return false;
|
||||
return mGoogleApiClient.isConnecting() || mGoogleApiClient.isConnected();
|
||||
}
|
||||
-
|
||||
- // LocationListener implementation
|
||||
- @Override
|
||||
- public void onLocationChanged(Location location) {
|
||||
- LocationProviderAdapter.onNewLocationAvailable(location);
|
||||
- }
|
||||
}
|
||||
diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn
|
||||
--- a/third_party/android_deps/BUILD.gn
|
||||
+++ b/third_party/android_deps/BUILD.gn
|
||||
@@ -49,7 +49,6 @@ java_group("robolectric_all_java") {
|
||||
":org_robolectric_shadowapi_java",
|
||||
":org_robolectric_shadows_framework_java",
|
||||
":org_robolectric_shadows_multidex_java",
|
||||
- ":org_robolectric_shadows_playservices_java",
|
||||
":org_robolectric_utils_java",
|
||||
":org_robolectric_utils_reflector_java",
|
||||
"//third_party/robolectric:android-all-10-robolectric-5803371_java",
|
||||
@@ -1211,20 +1210,6 @@ android_aar_prebuilt("google_play_services_cast_framework_java") {
|
||||
strip_resources = !is_java_debug
|
||||
}
|
||||
|
||||
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
|
||||
-android_aar_prebuilt("google_play_services_fido_java") {
|
||||
- aar_path = "libs/com_google_android_gms_play_services_fido/play-services-fido-18.1.0.aar"
|
||||
- info_path = "libs/com_google_android_gms_play_services_fido/com_google_android_gms_play_services_fido.info"
|
||||
- deps = [
|
||||
- ":google_play_services_base_java",
|
||||
- ":google_play_services_basement_java",
|
||||
- ":google_play_services_tasks_java",
|
||||
- ]
|
||||
-
|
||||
- # Removing drawables from GMS .aars as they are unused bloat.
|
||||
- strip_drawables = true
|
||||
-}
|
||||
-
|
||||
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
|
||||
android_aar_prebuilt("google_play_services_gcm_java") {
|
||||
aar_path = "libs/com_google_android_gms_play_services_gcm/play-services-gcm-17.0.0.aar"
|
||||
@@ -1243,52 +1228,6 @@ android_aar_prebuilt("google_play_services_gcm_java") {
|
||||
strip_drawables = true
|
||||
}
|
||||
|
||||
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
|
||||
-android_aar_prebuilt("google_play_services_iid_java") {
|
||||
- aar_path = "libs/com_google_android_gms_play_services_iid/play-services-iid-17.0.0.aar"
|
||||
- info_path = "libs/com_google_android_gms_play_services_iid/com_google_android_gms_play_services_iid.info"
|
||||
- deps = [
|
||||
- ":androidx_collection_collection_java",
|
||||
- ":androidx_core_core_java",
|
||||
- ":google_play_services_base_java",
|
||||
- ":google_play_services_basement_java",
|
||||
- ":google_play_services_stats_java",
|
||||
- ":google_play_services_tasks_java",
|
||||
- ]
|
||||
-
|
||||
- # Removing drawables from GMS .aars as they are unused bloat.
|
||||
- strip_drawables = true
|
||||
-}
|
||||
-
|
||||
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
|
||||
-android_aar_prebuilt("google_play_services_instantapps_java") {
|
||||
- aar_path = "libs/com_google_android_gms_play_services_instantapps/play-services-instantapps-17.0.0.aar"
|
||||
- info_path = "libs/com_google_android_gms_play_services_instantapps/com_google_android_gms_play_services_instantapps.info"
|
||||
- deps = [
|
||||
- ":google_play_services_base_java",
|
||||
- ":google_play_services_basement_java",
|
||||
- ":google_play_services_tasks_java",
|
||||
- ]
|
||||
-
|
||||
- # Removing drawables from GMS .aars as they are unused bloat.
|
||||
- strip_drawables = true
|
||||
-}
|
||||
-
|
||||
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
|
||||
-android_aar_prebuilt("google_play_services_location_java") {
|
||||
- aar_path = "libs/com_google_android_gms_play_services_location/play-services-location-17.0.0.aar"
|
||||
- info_path = "libs/com_google_android_gms_play_services_location/com_google_android_gms_play_services_location.info"
|
||||
- deps = [
|
||||
- ":google_play_services_base_java",
|
||||
- ":google_play_services_basement_java",
|
||||
- ":google_play_services_places_placereport_java",
|
||||
- ":google_play_services_tasks_java",
|
||||
- ]
|
||||
-
|
||||
- # Removing drawables from GMS .aars as they are unused bloat.
|
||||
- strip_drawables = true
|
||||
-}
|
||||
-
|
||||
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
|
||||
android_aar_prebuilt("google_play_services_tasks_java") {
|
||||
aar_path = "libs/com_google_android_gms_play_services_tasks/play-services-tasks-17.0.0.aar"
|
||||
@@ -1690,20 +1629,6 @@ java_prebuilt("org_robolectric_shadows_multidex_java") {
|
||||
bypass_platform_checks = true
|
||||
}
|
||||
|
||||
-# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
|
||||
-java_prebuilt("org_robolectric_shadows_playservices_java") {
|
||||
- jar_path =
|
||||
- "libs/org_robolectric_shadows_playservices/shadows-playservices-4.3.1.jar"
|
||||
- output_name = "org_robolectric_shadows_playservices"
|
||||
- enable_bytecode_checks = false
|
||||
- testonly = true
|
||||
- deps = [
|
||||
- ":com_google_guava_guava_java",
|
||||
- ":org_robolectric_annotations_java",
|
||||
- ]
|
||||
- bypass_platform_checks = true
|
||||
-}
|
||||
-
|
||||
# This is generated, do not edit. Update BuildConfigGenerator.groovy instead.
|
||||
java_prebuilt("org_robolectric_utils_java") {
|
||||
jar_path = "libs/org_robolectric_utils/utils-4.3.1.jar"
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,520 +0,0 @@
|
|||
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
||||
Date: Sun, 15 Dec 2019 19:40:37 +0100
|
||||
Subject: Use dummy DFM installer
|
||||
|
||||
---
|
||||
components/module_installer/android/BUILD.gn | 2 -
|
||||
.../module_installer/engine/FakeEngine.java | 16 +-----
|
||||
.../engine/SplitCompatEngine.java | 53 ++++---------------
|
||||
.../engine/SplitCompatEngineFacade.java | 28 +++-------
|
||||
.../module_installer/logger/Logger.java | 16 ++----
|
||||
.../logger/PlayCoreLogger.java | 36 ++-----------
|
||||
.../logger/SplitAvailabilityLogger.java | 28 ----------
|
||||
.../logger/SplitInstallStatusLogger.java | 30 +----------
|
||||
.../module_installer/util/ModuleUtil.java | 5 --
|
||||
.../util/SplitCompatInitializer.java | 6 ---
|
||||
10 files changed, 26 insertions(+), 194 deletions(-)
|
||||
|
||||
diff --git a/components/module_installer/android/BUILD.gn b/components/module_installer/android/BUILD.gn
|
||||
--- a/components/module_installer/android/BUILD.gn
|
||||
+++ b/components/module_installer/android/BUILD.gn
|
||||
@@ -20,13 +20,11 @@ android_library("module_installer_java") {
|
||||
"java/src/org/chromium/components/module_installer/logger/Logger.java",
|
||||
"java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java",
|
||||
"java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java",
|
||||
- "java/src/org/chromium/components/module_installer/logger/SplitInstallFailureLogger.java",
|
||||
"java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java",
|
||||
"java/src/org/chromium/components/module_installer/observer/ActivityObserver.java",
|
||||
"java/src/org/chromium/components/module_installer/observer/ActivityObserverFacade.java",
|
||||
"java/src/org/chromium/components/module_installer/observer/InstallerObserver.java",
|
||||
"java/src/org/chromium/components/module_installer/util/ActivityObserverUtil.java",
|
||||
- "java/src/org/chromium/components/module_installer/util/CrashKeyRecorder.java",
|
||||
"java/src/org/chromium/components/module_installer/util/ModuleUtil.java",
|
||||
"java/src/org/chromium/components/module_installer/util/SplitCompatInitializer.java",
|
||||
"java/src/org/chromium/components/module_installer/util/Timer.java",
|
||||
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/FakeEngine.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/FakeEngine.java
|
||||
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/FakeEngine.java
|
||||
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/FakeEngine.java
|
||||
@@ -7,9 +7,6 @@ package org.chromium.components.module_installer.engine;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
|
||||
-import com.google.android.play.core.splitcompat.SplitCompat;
|
||||
-import com.google.android.play.core.splitcompat.ingestion.Verifier;
|
||||
-
|
||||
import org.chromium.base.BuildInfo;
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.Log;
|
||||
@@ -129,18 +126,7 @@ class FakeEngine extends SplitCompatEngine {
|
||||
return false;
|
||||
}
|
||||
|
||||
- // Check that the module's signature matches Chrome's.
|
||||
- try {
|
||||
- Verifier verifier = new Verifier(context);
|
||||
- if (!verifier.verifySplits()) {
|
||||
- return false;
|
||||
- }
|
||||
- } catch (IOException | PackageManager.NameNotFoundException e) {
|
||||
- return false;
|
||||
- }
|
||||
-
|
||||
- // Tell SplitCompat to do a full emulation of the module.
|
||||
- return SplitCompat.fullInstall(context);
|
||||
+ return false;
|
||||
}
|
||||
|
||||
private File joinPaths(String... paths) {
|
||||
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java
|
||||
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java
|
||||
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngine.java
|
||||
@@ -8,11 +8,6 @@ import android.app.Activity;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
-import com.google.android.play.core.splitinstall.SplitInstallException;
|
||||
-import com.google.android.play.core.splitinstall.SplitInstallRequest;
|
||||
-import com.google.android.play.core.splitinstall.SplitInstallStateUpdatedListener;
|
||||
-import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus;
|
||||
-
|
||||
import org.chromium.base.ThreadUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -28,7 +23,6 @@ import java.util.Set;
|
||||
*/
|
||||
class SplitCompatEngine implements InstallEngine {
|
||||
private final SplitCompatEngineFacade mFacade;
|
||||
- private final SplitInstallStateUpdatedListener mUpdateListener = getStatusUpdateListener();
|
||||
private static final Map<String, List<InstallListener>> sSessions = new HashMap<>();
|
||||
|
||||
public SplitCompatEngine() {
|
||||
@@ -46,49 +40,20 @@ class SplitCompatEngine implements InstallEngine {
|
||||
|
||||
@Override
|
||||
public boolean isInstalled(String moduleName) {
|
||||
- Set<String> installedModules = mFacade.getSplitManager().getInstalledModules();
|
||||
- return installedModules.contains(moduleName);
|
||||
+ return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void installDeferred(String moduleName) {
|
||||
- mFacade.getSplitManager().deferredInstall(Collections.singletonList(moduleName));
|
||||
mFacade.getLogger().logRequestDeferredStart(moduleName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void install(String moduleName, InstallListener listener) {
|
||||
ThreadUtils.assertOnUiThread();
|
||||
-
|
||||
- if (sSessions.containsKey(moduleName)) {
|
||||
- sSessions.get(moduleName).add(listener);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- registerUpdateListener();
|
||||
-
|
||||
- sSessions.put(moduleName, new ArrayList<InstallListener>() {
|
||||
- { add(listener); }
|
||||
- });
|
||||
-
|
||||
- SplitInstallRequest request = mFacade.createSplitInstallRequest(moduleName);
|
||||
-
|
||||
- mFacade.getSplitManager().startInstall(request).addOnFailureListener(ex -> {
|
||||
- // TODO(fredmello): look into potential issues with mixing split error code
|
||||
- // with our logger codes - fix accordingly.
|
||||
- mFacade.getLogger().logRequestFailure(moduleName,
|
||||
- ex instanceof SplitInstallException
|
||||
- ? ((SplitInstallException) ex).getErrorCode()
|
||||
- : mFacade.getLogger().getUnknownRequestErrorCode());
|
||||
-
|
||||
- String message = String.format(Locale.US, "Request Exception: %s", ex.getMessage());
|
||||
- notifyListeners(moduleName, false);
|
||||
- });
|
||||
-
|
||||
- mFacade.getLogger().logRequestStart(moduleName);
|
||||
}
|
||||
|
||||
- private SplitInstallStateUpdatedListener getStatusUpdateListener() {
|
||||
+/* private SplitInstallStateUpdatedListener getStatusUpdateListener() {
|
||||
return state -> {
|
||||
if (state.moduleNames().size() != 1) {
|
||||
throw new UnsupportedOperationException("Only one module supported.");
|
||||
@@ -110,12 +75,12 @@ class SplitCompatEngine implements InstallEngine {
|
||||
|
||||
mFacade.getLogger().logStatus(moduleName, status);
|
||||
};
|
||||
- }
|
||||
+ }*/
|
||||
|
||||
private void notifyListeners(String moduleName, Boolean success) {
|
||||
- for (InstallListener listener : sSessions.get(moduleName)) {
|
||||
+/* for (InstallListener listener : sSessions.get(moduleName)) {
|
||||
notifyListener(listener, success);
|
||||
- }
|
||||
+ }*/
|
||||
|
||||
sSessions.remove(moduleName);
|
||||
unregisterUpdateListener();
|
||||
@@ -130,15 +95,15 @@ class SplitCompatEngine implements InstallEngine {
|
||||
}
|
||||
|
||||
private void registerUpdateListener() {
|
||||
- if (sSessions.size() == 0) {
|
||||
+/* if (sSessions.size() == 0) {
|
||||
mFacade.getSplitManager().registerListener(mUpdateListener);
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
private void unregisterUpdateListener() {
|
||||
- if (sSessions.size() == 0) {
|
||||
+/* if (sSessions.size() == 0) {
|
||||
mFacade.getSplitManager().unregisterListener(mUpdateListener);
|
||||
- }
|
||||
+ }*/
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java
|
||||
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java
|
||||
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/engine/SplitCompatEngineFacade.java
|
||||
@@ -6,31 +6,28 @@ package org.chromium.components.module_installer.engine;
|
||||
|
||||
import android.app.Activity;
|
||||
|
||||
-import com.google.android.play.core.splitcompat.SplitCompat;
|
||||
+/*import com.google.android.play.core.splitcompat.SplitCompat;
|
||||
import com.google.android.play.core.splitinstall.SplitInstallManager;
|
||||
import com.google.android.play.core.splitinstall.SplitInstallManagerFactory;
|
||||
-import com.google.android.play.core.splitinstall.SplitInstallRequest;
|
||||
+import com.google.android.play.core.splitinstall.SplitInstallRequest;*/
|
||||
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.components.module_installer.logger.Logger;
|
||||
import org.chromium.components.module_installer.logger.PlayCoreLogger;
|
||||
-import org.chromium.components.module_installer.util.ModuleUtil;
|
||||
+//import org.chromium.components.module_installer.util.ModuleUtil;
|
||||
|
||||
/**
|
||||
* PlayCore SplitCompatEngine Context. Class used to segregate external dependencies that
|
||||
* cannot be easily mocked and simplify the engine's design.
|
||||
*/
|
||||
class SplitCompatEngineFacade {
|
||||
- private final SplitInstallManager mSplitManager;
|
||||
private final Logger mLogger;
|
||||
|
||||
public SplitCompatEngineFacade() {
|
||||
- this(SplitInstallManagerFactory.create(ContextUtils.getApplicationContext()),
|
||||
- new PlayCoreLogger());
|
||||
+ this(new PlayCoreLogger());
|
||||
}
|
||||
|
||||
- public SplitCompatEngineFacade(SplitInstallManager manager, Logger umaLogger) {
|
||||
- mSplitManager = manager;
|
||||
+ public SplitCompatEngineFacade(Logger umaLogger) {
|
||||
mLogger = umaLogger;
|
||||
}
|
||||
|
||||
@@ -38,25 +35,14 @@ class SplitCompatEngineFacade {
|
||||
return mLogger;
|
||||
}
|
||||
|
||||
- public SplitInstallManager getSplitManager() {
|
||||
- return mSplitManager;
|
||||
- }
|
||||
-
|
||||
public void installActivity(Activity activity) {
|
||||
- // Note that SplitCompat (install) needs to be called on the Application Context prior
|
||||
- // to calling this method - this is guaranteed by the behavior of SplitCompatEngine.
|
||||
- SplitCompat.installActivity(activity);
|
||||
}
|
||||
|
||||
public void notifyObservers() {
|
||||
- ModuleUtil.notifyModuleInstalled();
|
||||
- }
|
||||
-
|
||||
- public SplitInstallRequest createSplitInstallRequest(String moduleName) {
|
||||
- return SplitInstallRequest.newBuilder().addModule(moduleName).build();
|
||||
+ //ModuleUtil.notifyModuleInstalled();
|
||||
}
|
||||
|
||||
public void updateCrashKeys() {
|
||||
- ModuleUtil.updateCrashKeys();
|
||||
+ //ModuleUtil.updateCrashKeys();
|
||||
}
|
||||
}
|
||||
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java
|
||||
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java
|
||||
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/Logger.java
|
||||
@@ -4,9 +4,6 @@
|
||||
|
||||
package org.chromium.components.module_installer.logger;
|
||||
|
||||
-import com.google.android.play.core.splitinstall.model.SplitInstallErrorCode;
|
||||
-import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus;
|
||||
-
|
||||
/**
|
||||
* Logger for SplitCompat Engine.
|
||||
*/
|
||||
@@ -17,7 +14,7 @@ public interface Logger {
|
||||
* @param moduleName The module name.
|
||||
* @param errorCode The error code.
|
||||
*/
|
||||
- void logRequestFailure(String moduleName, @SplitInstallErrorCode int errorCode);
|
||||
+ void logRequestFailure(String moduleName, int errorCode);
|
||||
|
||||
/**
|
||||
* Logs exceptions that happen during the installation process.
|
||||
@@ -25,7 +22,7 @@ public interface Logger {
|
||||
* @param moduleName The module name.
|
||||
* @param errorCode The error code.
|
||||
*/
|
||||
- void logStatusFailure(String moduleName, @SplitInstallErrorCode int errorCode);
|
||||
+ void logStatusFailure(String moduleName, int errorCode);
|
||||
|
||||
/**
|
||||
* Logs the status count and duration during a module installation process.
|
||||
@@ -33,7 +30,7 @@ public interface Logger {
|
||||
* @param moduleName The module name
|
||||
* @param status The status code
|
||||
*/
|
||||
- void logStatus(String moduleName, @SplitInstallSessionStatus int status);
|
||||
+ void logStatus(String moduleName, int status);
|
||||
|
||||
/**
|
||||
* Logs the request start time.
|
||||
@@ -48,11 +45,4 @@ public interface Logger {
|
||||
* @param moduleName The module name.
|
||||
*/
|
||||
void logRequestDeferredStart(String moduleName);
|
||||
-
|
||||
- /**
|
||||
- * Gets the error code for an unknown error thrown at module request time.
|
||||
- *
|
||||
- * @return The error code.
|
||||
- */
|
||||
- int getUnknownRequestErrorCode();
|
||||
}
|
||||
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java
|
||||
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java
|
||||
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/PlayCoreLogger.java
|
||||
@@ -4,56 +4,35 @@
|
||||
|
||||
package org.chromium.components.module_installer.logger;
|
||||
|
||||
-import com.google.android.play.core.splitinstall.model.SplitInstallErrorCode;
|
||||
-import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus;
|
||||
-
|
||||
/**
|
||||
* Concrete Logger for SplitCompat Installers (proxy to specific loggers).
|
||||
*/
|
||||
public class PlayCoreLogger implements Logger {
|
||||
- private final SplitInstallFailureLogger mFailureLogger;
|
||||
private final SplitInstallStatusLogger mStatusLogger;
|
||||
private final SplitAvailabilityLogger mAvailabilityLogger;
|
||||
|
||||
public PlayCoreLogger() {
|
||||
- this(new SplitInstallFailureLogger(), new SplitInstallStatusLogger(),
|
||||
+ this(new SplitInstallStatusLogger(),
|
||||
new SplitAvailabilityLogger());
|
||||
}
|
||||
|
||||
- public PlayCoreLogger(SplitInstallFailureLogger failureLogger,
|
||||
+ public PlayCoreLogger(
|
||||
SplitInstallStatusLogger statusLogger, SplitAvailabilityLogger availabilityLogger) {
|
||||
- mFailureLogger = failureLogger;
|
||||
mStatusLogger = statusLogger;
|
||||
mAvailabilityLogger = availabilityLogger;
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void logRequestFailure(String moduleName, @SplitInstallErrorCode int errorCode) {
|
||||
- mFailureLogger.logRequestFailure(moduleName, errorCode);
|
||||
+ public void logRequestFailure(String moduleName, int errorCode) {
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void logStatusFailure(String moduleName, @SplitInstallErrorCode int errorCode) {
|
||||
- mFailureLogger.logStatusFailure(moduleName, errorCode);
|
||||
+ public void logStatusFailure(String moduleName, int errorCode) {
|
||||
}
|
||||
|
||||
@Override
|
||||
- public void logStatus(String moduleName, @SplitInstallSessionStatus int status) {
|
||||
+ public void logStatus(String moduleName, int status) {
|
||||
mStatusLogger.logStatusChange(moduleName, status);
|
||||
-
|
||||
- if (status == SplitInstallSessionStatus.INSTALLED) {
|
||||
- mAvailabilityLogger.storeModuleInstalled(moduleName, status);
|
||||
- mAvailabilityLogger.logInstallTimes(moduleName);
|
||||
-
|
||||
- // Keep old behavior where we log a 'success' bit with all other failures.
|
||||
- mFailureLogger.logStatusSuccess(moduleName);
|
||||
- } else if (status == SplitInstallSessionStatus.CANCELED) {
|
||||
- // Keep old behavior where we log a 'canceled' bit with all other failures.
|
||||
- mFailureLogger.logStatusCanceled(moduleName);
|
||||
- } else if (status == SplitInstallSessionStatus.DOWNLOADED) {
|
||||
- // Keep old behavior where we log a 'no split compat' bit with all other failures.
|
||||
- mFailureLogger.logStatusNoSplitCompat(moduleName);
|
||||
- }
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -67,9 +46,4 @@ public class PlayCoreLogger implements Logger {
|
||||
mStatusLogger.logRequestDeferredStart(moduleName);
|
||||
mAvailabilityLogger.storeRequestDeferredStart(moduleName);
|
||||
}
|
||||
-
|
||||
- @Override
|
||||
- public int getUnknownRequestErrorCode() {
|
||||
- return SplitInstallFailureLogger.UNKNOWN_REQUEST_ERROR;
|
||||
- }
|
||||
}
|
||||
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java
|
||||
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java
|
||||
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitAvailabilityLogger.java
|
||||
@@ -9,10 +9,6 @@ import android.content.SharedPreferences;
|
||||
import android.os.SystemClock;
|
||||
import android.util.SparseLongArray;
|
||||
|
||||
-import com.google.android.play.core.splitinstall.SplitInstallManager;
|
||||
-import com.google.android.play.core.splitinstall.SplitInstallManagerFactory;
|
||||
-import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus;
|
||||
-
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.metrics.RecordHistogram;
|
||||
|
||||
@@ -52,21 +48,6 @@ public class SplitAvailabilityLogger {
|
||||
Set<String> requestedModules = new HashSet<>();
|
||||
requestedModules.addAll(prefs.getStringSet(ONDEMAND_REQ_PREV, new HashSet<>()));
|
||||
requestedModules.addAll(prefs.getStringSet(DEFERRED_REQ_PREV, new HashSet<>()));
|
||||
-
|
||||
- Context context = ContextUtils.getApplicationContext();
|
||||
- SplitInstallManager manager = SplitInstallManagerFactory.create(context);
|
||||
- Set<String> installedModules = manager.getInstalledModules();
|
||||
-
|
||||
- for (String name : requestedModules) {
|
||||
- recordAvailabilityStatus(
|
||||
- name, installedModules.contains(name) ? INSTALLED_REQUESTED : REQUESTED);
|
||||
- }
|
||||
-
|
||||
- for (String name : installedModules) {
|
||||
- if (!requestedModules.contains(name)) {
|
||||
- recordAvailabilityStatus(name, INSTALLED_UNREQUESTED);
|
||||
- }
|
||||
- }
|
||||
}
|
||||
|
||||
private static void recordAvailabilityStatus(String moduleName, int status) {
|
||||
@@ -80,14 +61,6 @@ public class SplitAvailabilityLogger {
|
||||
* @param moduleName The module name.
|
||||
*/
|
||||
public void logInstallTimes(String moduleName) {
|
||||
- recordInstallTime(moduleName, "", SplitInstallSessionStatus.UNKNOWN,
|
||||
- SplitInstallSessionStatus.INSTALLED);
|
||||
- recordInstallTime(moduleName, ".PendingDownload", SplitInstallSessionStatus.UNKNOWN,
|
||||
- SplitInstallSessionStatus.DOWNLOADING);
|
||||
- recordInstallTime(moduleName, ".Download", SplitInstallSessionStatus.DOWNLOADING,
|
||||
- SplitInstallSessionStatus.INSTALLING);
|
||||
- recordInstallTime(moduleName, ".Installing", SplitInstallSessionStatus.INSTALLING,
|
||||
- SplitInstallSessionStatus.INSTALLED);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -167,7 +140,6 @@ public class SplitAvailabilityLogger {
|
||||
|
||||
public InstallTimes(boolean isCached) {
|
||||
mIsCached = isCached;
|
||||
- mInstallTimes.put(SplitInstallSessionStatus.UNKNOWN, SystemClock.uptimeMillis());
|
||||
}
|
||||
}
|
||||
}
|
||||
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java
|
||||
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java
|
||||
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/logger/SplitInstallStatusLogger.java
|
||||
@@ -4,8 +4,6 @@
|
||||
|
||||
package org.chromium.components.module_installer.logger;
|
||||
|
||||
-import com.google.android.play.core.splitinstall.model.SplitInstallSessionStatus;
|
||||
-
|
||||
import org.chromium.base.metrics.RecordHistogram;
|
||||
|
||||
class SplitInstallStatusLogger {
|
||||
@@ -28,33 +26,7 @@ class SplitInstallStatusLogger {
|
||||
// Keep this one at the end and increment appropriately when adding new status.
|
||||
private static final int COUNT = 12;
|
||||
|
||||
- private int getHistogramCode(@SplitInstallSessionStatus int code) {
|
||||
- switch (code) {
|
||||
- case SplitInstallSessionStatus.PENDING:
|
||||
- return PENDING;
|
||||
- case SplitInstallSessionStatus.DOWNLOADING:
|
||||
- return DOWNLOADING;
|
||||
- case SplitInstallSessionStatus.DOWNLOADED:
|
||||
- return DOWNLOADED;
|
||||
- case SplitInstallSessionStatus.INSTALLING:
|
||||
- return INSTALLING;
|
||||
- case SplitInstallSessionStatus.INSTALLED:
|
||||
- return INSTALLED;
|
||||
- case SplitInstallSessionStatus.FAILED:
|
||||
- return FAILED;
|
||||
- case SplitInstallSessionStatus.CANCELING:
|
||||
- return CANCELING;
|
||||
- case SplitInstallSessionStatus.CANCELED:
|
||||
- return CANCELED;
|
||||
- case SplitInstallSessionStatus.REQUIRES_USER_CONFIRMATION:
|
||||
- return REQUIRES_USER_CONFIRMATION;
|
||||
- }
|
||||
-
|
||||
- return UNKNOWN_CODE;
|
||||
- }
|
||||
-
|
||||
- public void logStatusChange(String moduleName, @SplitInstallSessionStatus int status) {
|
||||
- recordInstallStatus(moduleName, getHistogramCode(status));
|
||||
+ public void logStatusChange(String moduleName, int status) {
|
||||
}
|
||||
|
||||
public void logRequestStart(String moduleName) {
|
||||
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java
|
||||
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java
|
||||
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/util/ModuleUtil.java
|
||||
@@ -27,11 +27,6 @@ public class ModuleUtil {
|
||||
* Updates the CrashKey report containing modules currently present.
|
||||
*/
|
||||
public static void updateCrashKeys() {
|
||||
- if (!BundleUtils.isBundle()) return;
|
||||
-
|
||||
- try (Timer timer = new Timer()) {
|
||||
- CrashKeyRecorder.updateCrashKeys();
|
||||
- }
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/components/module_installer/android/java/src/org/chromium/components/module_installer/util/SplitCompatInitializer.java b/components/module_installer/android/java/src/org/chromium/components/module_installer/util/SplitCompatInitializer.java
|
||||
--- a/components/module_installer/android/java/src/org/chromium/components/module_installer/util/SplitCompatInitializer.java
|
||||
+++ b/components/module_installer/android/java/src/org/chromium/components/module_installer/util/SplitCompatInitializer.java
|
||||
@@ -4,8 +4,6 @@
|
||||
|
||||
package org.chromium.components.module_installer.util;
|
||||
|
||||
-import com.google.android.play.core.splitcompat.SplitCompat;
|
||||
-
|
||||
import org.chromium.base.ContextUtils;
|
||||
import org.chromium.base.StrictModeContext;
|
||||
import org.chromium.base.ThreadUtils;
|
||||
@@ -23,10 +21,6 @@ class SplitCompatInitializer {
|
||||
return;
|
||||
}
|
||||
|
||||
- // SplitCompat.install may copy modules into Chrome's internal folder or clean them up.
|
||||
- try (StrictModeContext ignored = StrictModeContext.allowDiskWrites()) {
|
||||
- SplitCompat.install(ContextUtils.getApplicationContext());
|
||||
- }
|
||||
sIsInitialized = true;
|
||||
}
|
||||
|
||||
--
|
||||
2.17.1
|
||||
|
Loading…
Add table
Reference in a new issue