Properly connect to surface flinger in our shell tools
Also raise the layer to INT_MAX to float in front of the toolbar. Change-Id: I045a1c83924e6655f1734d15f2504b90312eec64
This commit is contained in:
@@ -569,12 +569,16 @@ int main(int argc, char **argv) {
|
||||
CHECK(control->isValid());
|
||||
|
||||
SurfaceComposerClient::openGlobalTransaction();
|
||||
CHECK_EQ(control->setLayer(30000), (status_t)OK);
|
||||
CHECK_EQ(control->setLayer(INT_MAX), (status_t)OK);
|
||||
CHECK_EQ(control->show(), (status_t)OK);
|
||||
SurfaceComposerClient::closeGlobalTransaction();
|
||||
|
||||
surface = control->getSurface();
|
||||
CHECK(surface != NULL);
|
||||
|
||||
CHECK_EQ((status_t)OK,
|
||||
native_window_api_connect(
|
||||
surface.get(), NATIVE_WINDOW_API_MEDIA));
|
||||
}
|
||||
|
||||
sp<Controller> controller =
|
||||
@@ -589,6 +593,10 @@ int main(int argc, char **argv) {
|
||||
looper->unregisterHandler(controller->id());
|
||||
|
||||
if (!decodeAudio && useSurface) {
|
||||
CHECK_EQ((status_t)OK,
|
||||
native_window_api_disconnect(
|
||||
surface.get(), NATIVE_WINDOW_API_MEDIA));
|
||||
|
||||
composerClient->dispose();
|
||||
}
|
||||
|
||||
|
||||
@@ -874,7 +874,7 @@ int main(int argc, char **argv) {
|
||||
CHECK(control->isValid());
|
||||
|
||||
SurfaceComposerClient::openGlobalTransaction();
|
||||
CHECK_EQ(control->setLayer(30000), (status_t)OK);
|
||||
CHECK_EQ(control->setLayer(INT_MAX), (status_t)OK);
|
||||
CHECK_EQ(control->show(), (status_t)OK);
|
||||
SurfaceComposerClient::closeGlobalTransaction();
|
||||
|
||||
@@ -886,6 +886,10 @@ int main(int argc, char **argv) {
|
||||
sp<SurfaceTexture> texture = new SurfaceTexture(0 /* tex */);
|
||||
gSurface = new SurfaceTextureClient(texture);
|
||||
}
|
||||
|
||||
CHECK_EQ((status_t)OK,
|
||||
native_window_api_connect(
|
||||
gSurface.get(), NATIVE_WINDOW_API_MEDIA));
|
||||
}
|
||||
|
||||
DataSource::RegisterDefaultSniffers();
|
||||
@@ -1077,6 +1081,10 @@ int main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
if ((useSurfaceAlloc || useSurfaceTexAlloc) && !audioOnly) {
|
||||
CHECK_EQ((status_t)OK,
|
||||
native_window_api_disconnect(
|
||||
gSurface.get(), NATIVE_WINDOW_API_MEDIA));
|
||||
|
||||
gSurface.clear();
|
||||
|
||||
if (useSurfaceAlloc) {
|
||||
|
||||
@@ -323,7 +323,7 @@ int main(int argc, char **argv) {
|
||||
CHECK(control->isValid());
|
||||
|
||||
SurfaceComposerClient::openGlobalTransaction();
|
||||
CHECK_EQ(control->setLayer(30000), (status_t)OK);
|
||||
CHECK_EQ(control->setLayer(INT_MAX), (status_t)OK);
|
||||
CHECK_EQ(control->show(), (status_t)OK);
|
||||
SurfaceComposerClient::closeGlobalTransaction();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user