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> sSessions = new HashMap<>(); public SplitCompatEngine() { @@ -46,72 +41,19 @@ class SplitCompatEngine implements InstallEngine { @Override public boolean isInstalled(String moduleName) { - Set 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 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 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 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; } --