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:
Andreas Huber
2011-09-15 12:42:32 -07:00
parent 291c6d789d
commit c5a9766dc3
3 changed files with 19 additions and 3 deletions

View File

@@ -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();
}

View File

@@ -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) {

View File

@@ -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();