Add multi-display support
This change modifies and implements below methods to support
multi-display device implementations.
- getIGraphicBufferProducer() takes a target display identifier.
If a given identifier is not valid, this will return a null pointer.
- AutomotiveDisplayProxyService stores display tokens of each display.
- showWindow() is modified to set a layer stack properly for a target
display.
- getDisplayIdList() is newly implemented and returns stable IDs
of all available displays.
- getDisplayInfo() returns the description of a target display
that is identified by a given stable ID.
Bug: 141886260
Bug: 146567078
Test: VtsHalEvsV1_1TargetTest
Change-Id: Ia195a6c19416eb75bfe77da61d7a32030ec85967
Signed-off-by: Changyeon Jo <changyeon@google.com>
diff --git a/services/automotive/display/main_automotivedisplayproxy.cpp b/services/automotive/display/main_automotivedisplayproxy.cpp
index 626c185..59b584c 100644
--- a/services/automotive/display/main_automotivedisplayproxy.cpp
+++ b/services/automotive/display/main_automotivedisplayproxy.cpp
@@ -14,8 +14,6 @@
* limitations under the License.
*/
-#define LOG_TAG "AutomotiveDisplayService"
-
#include <unistd.h>
#include <hidl/HidlTransportSupport.h>
@@ -39,9 +37,10 @@
const static char kServiceName[] = "default";
int main() {
- ALOGI("Car Window Service is starting");
+ ALOGI("Automotive Display Proxy Service is starting");
- android::sp<IAutomotiveDisplayProxyService> service = new AutomotiveDisplayProxyService();
+ android::sp<IAutomotiveDisplayProxyService> service =
+ new AutomotiveDisplayProxyService();
configureRpcThreadpool(1, true /* callerWillJoin */);
@@ -56,7 +55,7 @@
}
// In normal operation, we don't expect the thread pool to exit
- ALOGE("Car Window Service is shutting down");
+ ALOGE("Automotive Window Service is shutting down");
return 1;
}