Set default for controls as enabled.
From this CL onwards, the default for controls is enabled (still not a
Setting).
The controls section in power menu and the new layout will only be used
if there's at least one app that can provide controls.
Test: manual
Bug: 149992619
Change-Id: I4e78735d642d24fe0080a0f0f4cbc58ffa2d5a94
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index 4fba83a..5da02dc 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -92,6 +92,7 @@
import com.android.systemui.MultiListLayout.MultiListAdapter;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.colorextraction.SysuiColorExtractor;
+import com.android.systemui.controls.management.ControlsListingController;
import com.android.systemui.controls.ui.ControlsUiController;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
@@ -189,6 +190,8 @@
private ControlsUiController mControlsUiController;
private final IWindowManager mIWindowManager;
private final Executor mBackgroundExecutor;
+ private final ControlsListingController mControlsListingController;
+ private boolean mAnyControlsProviders = false;
/**
* @param context everything needs a context :(
@@ -208,7 +211,8 @@
IStatusBarService statusBarService,
NotificationShadeWindowController notificationShadeWindowController,
ControlsUiController controlsUiController, IWindowManager iWindowManager,
- @Background Executor backgroundExecutor) {
+ @Background Executor backgroundExecutor,
+ ControlsListingController controlsListingController) {
mContext = new ContextThemeWrapper(context, com.android.systemui.R.style.qs_theme);
mWindowManagerFuncs = windowManagerFuncs;
mAudioManager = audioManager;
@@ -232,6 +236,7 @@
mControlsUiController = controlsUiController;
mIWindowManager = iWindowManager;
mBackgroundExecutor = backgroundExecutor;
+ mControlsListingController = controlsListingController;
// receive broadcasts
IntentFilter filter = new IntentFilter();
@@ -268,6 +273,8 @@
}
}
});
+
+ mControlsListingController.addCallback(list -> mAnyControlsProviders = !list.isEmpty());
}
/**
@@ -1914,6 +1921,7 @@
private boolean shouldShowControls() {
return mKeyguardStateController.isUnlocked()
- && mControlsUiController.getAvailable();
+ && mControlsUiController.getAvailable()
+ && mAnyControlsProviders;
}
}