Make GameSessionTrampolineActivity invisible

This change adds a new theme to prevent
GameSessionTrampolineActivity from displaying
any UI, which in turn delegates the
decision of whether or not to show things
like the system bars to the delegate
activity. This change also disables
transition animations for the trampoline
activity, to prevent them from causing
flickering.

Bug: 229757156
Test: manual testing using GMS dashboard
Change-Id: I82e0ede2e9f0b334fd01e958eab0736042119e84
This commit is contained in:
shannonchen
2022-04-18 20:34:03 +00:00
committed by Shannon Chen
parent 444880f046
commit 7b2c3db83a
3 changed files with 19 additions and 1 deletions

View File

@@ -60,6 +60,7 @@ public final class GameSessionTrampolineActivity extends Activity {
FUTURE_KEY);
future.completeExceptionally(e);
finish();
overridePendingTransition(0, 0);
}
}
@@ -74,5 +75,6 @@ public final class GameSessionTrampolineActivity extends Activity {
FUTURE_KEY);
future.complete(new GameSessionActivityResult(resultCode, data));
finish();
overridePendingTransition(0, 0);
}
}

View File

@@ -6790,7 +6790,7 @@
android:excludeFromRecents="true"
android:exported="true"
android:permission="android.permission.MANAGE_GAME_ACTIVITY"
android:theme="@style/Theme.Translucent.NoTitleBar">
android:theme="@style/Theme.GameSessionTrampoline">
</activity>
<receiver android:name="com.android.server.BootReceiver"

View File

@@ -894,6 +894,22 @@ please see themes_device_defaults.xml.
<!-- @hide Special theme for the default system Activity-based Alert dialogs. -->
<style name="Theme.Dialog.Confirmation" parent="Theme.DeviceDefault.Dialog.Alert.DayNight" />
<!-- @hide Theme for GameSessionTrampolineActivity that prevents showing UI and activity
transitions. -->
<style name="Theme.GameSessionTrampoline">
<item name="backgroundDimEnabled">false</item>
<item name="colorBackgroundCacheHint">@null</item>
<item name="navigationBarColor">@color/transparent</item>
<item name="statusBarColor">@color/transparent</item>
<item name="windowAnimationStyle">@null</item>
<item name="windowBackground">@null</item>
<item name="windowContentOverlay">@null</item>
<item name="windowDrawsSystemBarBackgrounds">true</item>
<item name="windowIsFloating">true</item>
<item name="windowIsTranslucent">true</item>
<item name="windowNoTitle">true</item>
</style>
<!-- Theme for a window that looks like a toast. -->
<style name="Theme.Toast" parent="Theme.DeviceDefault.Dialog">
<item name="windowBackground">?attr/toastFrameBackground</item>