We have an Android device that in addition to a built-in display supports external USB displays, so user can attach a USB touch screen.
When that happens we need to move app UI to that newly attached display.
According to the docs there is a way of doing it by starting the activity via an Intent
and specifying target display ID:
startActivity(
Intent(),
ActivityOptions.makeBasic()
.setLaunchDisplayId(displayId)
.toBundle()
)
finish()
And it works indeed. But the downside, unlike a config change, the ViewModel
is lost, which breaks user flow.
Is there a way (maybe to craft such an Intent
) so that it restarted the Activity
, but kept the ViewModel
, similarly how system does it for a system config change?