Merge "OMS: always update overlays.xml when overlay is removed" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ba20ba17e0
@@ -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);
|
||||
|
||||
@@ -452,10 +452,7 @@ 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);
|
||||
}
|
||||
mListener.onOverlaysChanged(overlayInfo.targetPackageName, userId);
|
||||
}
|
||||
} catch (OverlayManagerSettings.BadKeyException e) {
|
||||
Slog.e(TAG, "failed to remove overlay", e);
|
||||
|
||||
Reference in New Issue
Block a user