Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ba20ba17 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "OMS: always update overlays.xml when overlay is removed" into qt-dev

parents 970d0be2 44bdc880
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -163,6 +163,20 @@ public class InstallOverlayTests extends BaseHostJUnit4Test {
        assertTrue(overlayManagerContainsPackage(APP_OVERLAY_PACKAGE_NAME));
    }

    @Test
    public void changesPersistedWhenUninstallingDisabledOverlay() throws Exception {
        getDevice().enableAdbRoot();
        assertFalse(getDevice().executeShellCommand("cat /data/system/overlays.xml")
                .contains(APP_OVERLAY_PACKAGE_NAME));
        installPackage("OverlayHostTests_AppOverlayV1.apk");
        assertTrue(getDevice().executeShellCommand("cat /data/system/overlays.xml")
                .contains(APP_OVERLAY_PACKAGE_NAME));
        uninstallPackage(APP_OVERLAY_PACKAGE_NAME);
        delay();
        assertFalse(getDevice().executeShellCommand("cat /data/system/overlays.xml")
                .contains(APP_OVERLAY_PACKAGE_NAME));
    }

    private void delay() {
        try {
            Thread.sleep(1000);
+1 −4
Original line number Diff line number Diff line
@@ -452,11 +452,8 @@ final class OverlayManagerServiceImpl {
            final OverlayInfo overlayInfo = mSettings.getOverlayInfo(packageName, userId);
            if (mSettings.remove(packageName, userId)) {
                removeIdmapIfPossible(overlayInfo);
                if (overlayInfo.isEnabled()) {
                    // Only trigger updates if the overlay was enabled.
                mListener.onOverlaysChanged(overlayInfo.targetPackageName, userId);
            }
            }
        } catch (OverlayManagerSettings.BadKeyException e) {
            Slog.e(TAG, "failed to remove overlay", e);
        }