Support hasNavigationBar per display(1/2)
This change is to support Auto case.
Auto may need to support displays without navigation bar by default,
because the display may be far away from driver.
Note: currently, hasNavigationBar is global since it's from config.
In future patches, it will also check hasSystemDecorations() on
secondary display.
TODO: We may find a way to make OEMs set hasNavigationBar() for each
display.
Fixes: 119584629
Test: atest WmTests
Test: atest InputMethodManagerServiceTests
Test: atest SystemUiTests
Change-Id: I427f8ad1f3da644a2bf79ee5b777830378515348
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index 308a000..6c4c3f1 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -294,9 +294,11 @@
void setNavBarVirtualKeyHapticFeedbackEnabled(boolean enabled);
/**
- * Device has a software navigation bar (separate from the status bar).
+ * Device has a software navigation bar (separate from the status bar) on specific display.
+ *
+ * @param displayId the id of display to check if there is a software navigation bar.
*/
- boolean hasNavigationBar();
+ boolean hasNavigationBar(int displayId);
/**
* Get the position of the nav bar