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

Commit dee5ec8d authored by Jared Duke's avatar Jared Duke
Browse files

Use RoSystemFeatures.hasFeatureLeanback in SystemServer

Re-route the FEATURE_LEANBACK check to use the build-time query
variant. This allows stripping of several system services when the
feature is marked unavailable.

A series of auto-generated follow-up changes will patch related
callsites more broadly.

Bug: 203143243
Test: m + presubmit
Flag: build.RELEASE_USE_SYSTEM_FEATURE_BUILD_FLAGS
Change-Id: I03fc14536a8ab19cef3079c5583c41d81f534632
parent 3a77e8b4
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -1546,8 +1546,7 @@ public final class SystemServer implements Dumpable {
        boolean isArc = context.getPackageManager().hasSystemFeature(
                "org.chromium.arc");

        boolean isTv = context.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_LEANBACK);
        boolean isTv = RoSystemFeatures.hasFeatureLeanback(context);

        boolean isAutomotive = RoSystemFeatures.hasFeatureAutomotive(context);

@@ -2655,15 +2654,13 @@ public final class SystemServer implements Dumpable {
                t.traceEnd();
            }

            if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_LIVE_TV)
                    || mPackageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK)) {
            if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_LIVE_TV) || isTv) {
                t.traceBegin("StartTvInteractiveAppManager");
                mSystemServiceManager.startService(TvInteractiveAppManagerService.class);
                t.traceEnd();
            }

            if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_LIVE_TV)
                    || mPackageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK)) {
            if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_LIVE_TV) || isTv) {
                t.traceBegin("StartTvInputManager");
                mSystemServiceManager.startService(TvInputManagerService.class);
                t.traceEnd();
@@ -2687,7 +2684,7 @@ public final class SystemServer implements Dumpable {
                t.traceEnd();
            }

            if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_LEANBACK)) {
            if (isTv) {
                t.traceBegin("StartTvRemoteService");
                mSystemServiceManager.startService(TvRemoteService.class);
                t.traceEnd();