Use new OverlayManager categories

Using this, we split overlays based on their category, so that
cutout emulation and theme overlays no longer clash in their
respective settings.

Bug: 72436677
Test: make ROBOTEST_FILTER=EmulateDisplayCutoutPreferenceControllerTest RunSettingsRoboTests
Change-Id: I23f22113351b3948beb9e3a1fb969700852539cc
This commit is contained in:
Adrian Roos
2018-01-24 16:36:38 +01:00
parent 1bbe424e6e
commit 807cf8d2c5
8 changed files with 188 additions and 137 deletions

View File

@@ -16,18 +16,19 @@ package android.content.om;
import android.os.IBinder;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public interface IOverlayManager {
public OverlayInfo getOverlayInfo(String packageName, int userId);
OverlayInfo getOverlayInfo(String packageName, int userId);
public java.util.List getOverlayInfosForTarget(java.lang.String targetPackageName, int userId);
List getOverlayInfosForTarget(String targetPackageName, int userId);
public boolean setEnabled(java.lang.String packageName, boolean enable, int userId);
boolean setEnabled(String packageName, boolean enabled, int userId);
public static class Stub {
boolean setEnabledExclusiveInCategory(String packageName, int userId);
class Stub {
public static IOverlayManager asInterface(IBinder b) {
return null;
}

View File

@@ -15,14 +15,18 @@
package android.content.om;
import android.annotation.NonNull;
import android.annotation.Nullable;
public class OverlayInfo {
public final String packageName;
public final String category;
public OverlayInfo(@NonNull String packageName, @NonNull String targetPackageName,
@NonNull String baseCodePath, int state, int userId) {
@Nullable String category, @NonNull String baseCodePath, int state, int userId) {
this.packageName = packageName;
this.category = category;
}
public boolean isEnabled() {