With this change, the GameServiceProviderInstanceImpl no longer
automatically creates a game session every time a new game task is
started. Instead, the GameServiceProviderInstanceImpl calls the new
GameService#onGameStarted method with details about the game task that
just started.
The GameService can implement onGameStarted with appropriate logic to
determine whether a game session should be created. If the service
determines that a session should be created, then the GameService can
call GameService#createGameSession.
After calling onGameStarted, the GameServiceProviderInstanceImpl will
maintain a GameSessionRecord in the NO_GAME_SESSION_REQUESTED state.
Only games with a record in this state will have a session created in
response to createGameSession being called. When createGameSession
is called for a record in this state, the record will transition to the
GAME_SESSION_REQUESTED state. Once the game session is finally created
and attached to the record, it will switch to the GAME_SESSION_ATTACHED
state.
Test: Manual e2e testing and unit tests
Bug: 207035150
Bug: 202414447
Bug: 202417255
CTS-Coverage-Bug: 206128693
Change-Id: I799f8410da6936ab242fa925d77b0276875cc20f
Change-Id: Id6da59fd3a5951ba5f032c825d1f1f28d3320965
Details for the design are in go/android-active-unlock-t and
go/android-active-unlock-t-api. This change
defines the API without implementing its use.
Test: non-functional API change. Existing regression tests check for regressions.
Test: manually verified smart lock still revokes trust when bluetooth
device disconnected
Bug: 213631675
Bug: 213631677
Bug: 213631672
Bug: 213911325
CTS-Coverage-Bug: 213944235
Change-Id: I206f3e5c5c456a7433be325ea0186b79319d3a66
Allow a boolean in the intent extra when connecting to
DreamOverlayService to indicate whether complications should be rendered
on the overlay.
Test: atest DreamOverlayServiceTest
Bug: 211519550
Change-Id: I09eb8e55e0f7d494184938c217d1291000259692
Since its beginning [1], VoiceInteractionService has been using
android.inputmethodservice.SoftInputWindow to host its UI, which is
understandable given the successful history of InputMethodService.
Fast forward 7 years, InputMethodService still keeps evolving.
Features like stylus support and in-proc navigation bar buttons are on
its radar. It's getting more and more likely that SoftInputWindow
needs to be updated to support new IME features.
In order to avoid accidental behavior changes in
VoiceInteractionService, and also to keep SoftInputWindow simple and
maintainable, this CL creates a copy of SoftInputWindow as
VoiceInteractionWindow so that each service can maintain its own
Window class. Hopefully this is beneficial for both the IME team and
VoiceInteraction team.
This is a mechanical refactoring CL. Hence there should be no
observable behavior change.
[1]: Ie2b85b3020ef1206d3f44b335b128d064e8f9935
e6e6b086d6b641de79246413f6d885e1f7d06386
Bug: 192412909
Test: presubmit
Change-Id: I0054dd1bdcc93af499832de00c76b4578f48e627
- Define GameSession & GameSessionService Game Service provider SPIs.
- Implement support for binding to GameSessionService, creating
GameSessions, and destroying GameSessions.
- Refactor Game Service provider selection into
GameServiceProviderSelectorImpl. Parse and validate the
declared GameSessionService associated with the GameService.
Test: atest FramworksMockingServicesTests and manual e2e
Bug: 204504879
Bug: 202414447
Bug: 202417255
CTS-Coverage-Bug: 206128693
Change-Id: I301579d5c7426a55c442b7ae04aacbedf293a4d6
The initial selection toolbar render service part architecture. The
implementation will be done in the follow up changes.
Bug: 190030331
Bug: 205822301
Test: manual. Call API and can bind service successfully.
Ignore-AOSP-First: new feature for T.
Change-Id: I3a5d3802c2afca432f137742cfd6a1e0045ed975
Previously, DreamService would exit when any
MotionEvent was detected. This led to dreams
ending while the user's finger was still on
the screen.
This change adjusts the exit action to be on
ACTION_UP to correspond with the finger lifting
off the screen, matching user expectation.
Bug: verified non-interactive dream exits on
lifting finger.
Test: 210919013
Change-Id: I767cdb179f99073c1fffc66fe492bdcbbae599c2
Migrate the following unsafe parcel APIs in framework-minus-apex:
* Parcel.readSerializable()
* Parcel.readArrayList()
* Parcel.readList()
* Parcel.readParcelable()
* Parcel.readParcelableList()
* Parcel.readSparseArray()
This CL was generated by applying lint fixes that infer the expected
type from the caller code and provide that as the type parameter
(ag/16365240).
A few observations:
* In some classes we couldn't migrate because the class also belonged to
another build module whose min SDK wasn't current (as is the case for
framework-minus-apex), hence I suppressed the lint check
(since I'll eventually submit the lint check to the tree).
* In some cases, I needed to do the cast in
https://stackoverflow.com/a/1080525/5765705 to make the compiler happy
since there isn't another way of providing a class of type
Class<MyClassWithGenerics<T>>.
* In the readSerializable() case, the new API also requires the class
loader, that was inferred to by InferredClass.class.getClassLoader().
* Note that automatic formatting and import rely on running hooked up
to the IDE, which wasn't the case here.
Bug: 195622897
Test: TH passes
Change-Id: I11a27b9bdab7959ee86e90aa1e1cbebd7aaf883c
Add the new case that we will also set AssistStructure to null.
Bug: 193512972
Test: build and manual
Change-Id: I431ba7d89787ec0b23cf8d1968dd23ac9178a59e
This change defines a basic GameService SPI and hooks into the GameManagerService in order to drive the start/stop APIs.
Test: atest FramworksMockingServicesTests:GameServiceManagerTests and
manaul e2e testing
Bug: 204504879
Bug: 202414447
Bug: 202417255
CTS-Coverage-Bug: 206128693
Change-Id: Ibda56cb0c023a307f83eae4091c5f63b02be339f