Files
cromite/build/patches/Use-dummy-DFM-installer.patch
2025-08-05 14:55:21 +02:00

226 lines
9.6 KiB
Diff

From: csagan5 <32685696+csagan5@users.noreply.github.com>
Date: Sun, 15 Dec 2019 19:40:37 +0100
Subject: Use dummy DFM installer
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
---
components/module_installer/android/BUILD.gn | 1 -
.../engine/SplitCompatEngine.java | 66 +------------------
.../engine/SplitCompatEngineFacade.java | 25 -------
.../module_installer/util/ModuleUtil.java | 1 -
.../util/SplitCompatInitializer.java | 6 --
5 files changed, 1 insertion(+), 98 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
@@ -21,7 +21,6 @@ android_library("module_installer_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",
]
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
@@ -10,10 +10,6 @@ import android.app.Activity;
import androidx.annotation.VisibleForTesting;
-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 org.chromium.build.annotations.NullMarked;
@@ -28,7 +24,6 @@ import java.util.Set;
@NullMarked
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,72 +41,19 @@ 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));
}
@Override
public void install(String moduleName, InstallListener listener) {
ThreadUtils.assertOnUiThread();
-
- List<InstallListener> listeners = sSessions.get(moduleName);
- if (listeners != null) {
- listeners.add(listener);
- return;
- }
-
- registerUpdateListener();
-
- listeners = new ArrayList<>();
- listeners.add(listener);
- sSessions.put(moduleName, listeners);
-
- SplitInstallRequest request = mFacade.createSplitInstallRequest(moduleName);
-
- mFacade.getSplitManager()
- .startInstall(request)
- .addOnFailureListener(
- ex -> {
- notifyListeners(moduleName, false);
- });
- }
-
- private SplitInstallStateUpdatedListener getStatusUpdateListener() {
- return state -> {
- assert !state.moduleNames().isEmpty();
-
- int status = state.status();
- List<String> modules = state.moduleNames();
-
- if (status == SplitInstallSessionStatus.INSTALLED) {
- mFacade.updateCrashKeys();
- }
-
- for (String moduleName : modules) {
- switch (status) {
- case SplitInstallSessionStatus.INSTALLED:
- notifyListeners(moduleName, true);
- break;
- case SplitInstallSessionStatus.FAILED:
- notifyListeners(moduleName, false);
- break;
- }
- }
- };
}
private void notifyListeners(String moduleName, boolean success) {
- List<InstallListener> listeners = sSessions.remove(moduleName);
- assumeNonNull(listeners);
- for (InstallListener listener : listeners) {
- notifyListener(listener, success);
- }
-
unregisterUpdateListener();
}
@@ -124,15 +66,9 @@ class SplitCompatEngine implements InstallEngine {
}
private void registerUpdateListener() {
- if (sSessions.size() == 0) {
- mFacade.getSplitManager().registerListener(mUpdateListener);
- }
}
private void unregisterUpdateListener() {
- 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,14 +6,8 @@ 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.splitinstall.SplitInstallManager;
-import com.google.android.play.core.splitinstall.SplitInstallManagerFactory;
-import com.google.android.play.core.splitinstall.SplitInstallRequest;
-
import org.chromium.base.ContextUtils;
import org.chromium.build.annotations.NullMarked;
-import org.chromium.components.module_installer.util.ModuleUtil;
/**
* PlayCore SplitCompatEngine Context. Class used to segregate external dependencies that cannot be
@@ -21,35 +15,16 @@ import org.chromium.components.module_installer.util.ModuleUtil;
*/
@NullMarked
class SplitCompatEngineFacade {
- private final SplitInstallManager mSplitManager;
-
public SplitCompatEngineFacade() {
- this(SplitInstallManagerFactory.create(ContextUtils.getApplicationContext()));
}
- public SplitCompatEngineFacade(SplitInstallManager manager) {
- mSplitManager = manager;
- }
-
- 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();
}
public void updateCrashKeys() {
- ModuleUtil.updateCrashKeys();
}
}
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
@@ -11,7 +11,6 @@ import org.chromium.build.annotations.NullMarked;
public class ModuleUtil {
/** Updates the CrashKey report containing modules currently present. */
public static void updateCrashKeys() {
- CrashKeyRecorder.updateCrashKeys();
}
/** Initializes the PlayCore SplitCompat framework. */
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;
}
--