Merge "OMS: always update overlays.xml when overlay is removed" into qt-dev
am: ba20ba17e0
Change-Id: I247ddee6ed2cdfde739beb84ec4b91a656c8be8f
This commit is contained in:
@@ -163,6 +163,20 @@ public class InstallOverlayTests extends BaseHostJUnit4Test {
|
|||||||
assertTrue(overlayManagerContainsPackage(APP_OVERLAY_PACKAGE_NAME));
|
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() {
|
private void delay() {
|
||||||
try {
|
try {
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
|
|||||||
@@ -452,10 +452,7 @@ final class OverlayManagerServiceImpl {
|
|||||||
final OverlayInfo overlayInfo = mSettings.getOverlayInfo(packageName, userId);
|
final OverlayInfo overlayInfo = mSettings.getOverlayInfo(packageName, userId);
|
||||||
if (mSettings.remove(packageName, userId)) {
|
if (mSettings.remove(packageName, userId)) {
|
||||||
removeIdmapIfPossible(overlayInfo);
|
removeIdmapIfPossible(overlayInfo);
|
||||||
if (overlayInfo.isEnabled()) {
|
mListener.onOverlaysChanged(overlayInfo.targetPackageName, userId);
|
||||||
// Only trigger updates if the overlay was enabled.
|
|
||||||
mListener.onOverlaysChanged(overlayInfo.targetPackageName, userId);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} catch (OverlayManagerSettings.BadKeyException e) {
|
} catch (OverlayManagerSettings.BadKeyException e) {
|
||||||
Slog.e(TAG, "failed to remove overlay", e);
|
Slog.e(TAG, "failed to remove overlay", e);
|
||||||
|
|||||||
Reference in New Issue
Block a user