Stadia apk Findings 4.6: Gyro Controls

Stadia Controller and App

Over the last couple months, we at StadiaDosage have been doing our own Stadia apk findings for the Stadia Android app to discover potential upcoming features in the app.

In an attempt to be responsible human beings, we’d like to note that everything on this list should be taken with a grain of salt as it is subject to a lot of speculation/interpretation and may reflect behind the scenes features or features that never end up getting released. In addition, this list certainly does not represent everything Google is working on for the app. We don’t have access to Google’s private repositories where most development is surely taking place.

Because of the use of flutter/dart these apk breakdowns are a little more complicated than most (involving lots of shell commands and string processing). So, you should consider these particularly imprecise.

Have you noticed a new Stadia app release? Contact us!

With all those caveats said, here we go!

Stadia 4.6 (March 7, 2022)

There is lot new in this Stadia apk finding! A lot of which appears to be further development of our previously found features.

First off. Something completely new. It looks like you’ll soon be able to use your phones accelerometer to control games by moving your phone around. This obviously makes a lot of sense for racing games and we can imagine a few other great use cases. New strings related to this:

  • useMotionSensorsWithTouchGamepad
  • DeviceMotionConfig
  • sensorToGamepadFieldConfigs
  • DeviceMotionConfig_
  • DeviceMotionConfig_
  • DeviceMotionConfig_GamepadField

Possibly also related to these motion controls are the following strings:

  • set:exponentialTransformationParameters
  • verticalValueToButtonMap
  • horizontalValueToButtonMap

It also appears there will be some per-game customizability to both the new motion controls as well as touch controls:

  • game_specific_devicemotion_configs.dart
  • game_specific_configs.dart

Next up there are quite a few strings referring to “enterprise” gamepads and game restrictions.

  • enterpriseLayoutConfig
  • enterpriseDeviceMotionConfig
  • useEnterpriseCustomTouchGamepad
  • allowedEnterpriseGameIds
  • allowedEnterpriseGameIdsFlag

I can imagine a whole bunch of different things that “enterprise” might imply in these strings. However, without too much speculation, the most telling of the above strings to me appears to be the middle string which again hints at touch gamepad customization functionality.

The configurability of touch controls also appears to be the theme of these two strings:

  • TouchGamepadLayoutConfig_DpadConfig_
  • touchVelocityToRightAxesConfig

There are additionally a complete new set of .svgs and .pngs for the V2 touchpad in tow.

Next: it looks like the Stadia captures area at the bottom of the app is getting a few tweaks. There already appears to be a “see all” button here; so, I’m not really sure what new functionality/design we might see here.

  • CapturesCarouselSeeAllCardViewModel
  • CapturesCarouselSeeAllCardComponent
  • CapturesCarouselSeeAllCardViewModelBuilder
  • createCapturesCarouselSeeAllCardBloc
  • capturesCarouselSeeAllCardBloc

There are also some new strings around spectating/spectators (that may build on the broadcaster/spectator capability we previously found in older .apks). We now see the following additional new strings:

  • spectatorChangedNotification
  • GroupSpectatorStatus
  • returnGroupSpectatorStatus
  • TextchatSpectatorStatusChanged

Does that latter string mean spectators could potentially text chat with players? Your guess is as good as mine!

Next. There are a bunch of new strings around Audio streaming stats:

  • StreamingMetrics_
  • StreamingMetrics.ClientSessionAudioSinkStats
  • StreamingMetrics_
  • clientAudioDecodeStats
  • clientAudioJitterBufferStats
  • clientAudioSinkStats

These are likely backend features used to help improve the overall quality of the streams on the service.

Finally, for completion, there are quite a few new strings related focus traversal and scribble based text input in the Flutter layers. These are likely coming in via updates to the Flutter framework. There are also some new strings around resubscribeTimer functionality that I suspect is related to stream stability / connectivity. They’ve updated to libcronet (chrome) to version 100. A “layout-television” folder also appears for the first time in this version of the app – suggesting they could unify the Android TV version with the phone app at some point – though, for now, there are only survey related layouts included.

See all of our Stadia apk findings articles here.


Jack Deslippe

Jack Deslippe is an HPC professional with a PhD in Physics from the University of California, Berkeley. As a hobby, he is passionate about consumer technology and Cloud Gaming in particular. He volunteers as an editor for Cloud Dosage in his spare time. See the games Jack is Playing at ExoPhase. Like his content? You can follow Jack on Threads: @jackdeslippe and Buy Jack a Beer.

Leave a Reply