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
This changelist introduces a stub implementation for
DreamOverlayService for test purposes. It also allows
DreamManager to set the DreamOverlay.
Bug: 204890435
Test: atest DreamOverlayTest
Change-Id: Ia59e70d08f76d5928e72e815c990195934292ad5
This changelist moves the binding logic to the
dream overlay service into the OverlayConnection
class within DreamService. This helps better
track the binding lifecycle.
Test: manual
Test: atest DreamOverlayTest
Bug: 205077932
Change-Id: I92959a9ecb53533d998abd711f960ef4fe0628d0
Previously, the DreamService would send the window
attributes to the DreamOverlayService. However, it is
possible that the Window isn't fully associated with
a token at this stage.
This change ensures the Window is only passed when
the token is ready, tracked by when the DecorView
is attached.
Bug: 204605351
Test: atest DreamOverlayTest
Change-Id: Ib1d25ba55edb648739aca22d861e9522102d0668
By default, all user interactions with a device control while the
device is locked will require authorization. Add a new field to the
Control class that allows the application that builds the control to
determine if the device requires authorization or not.
Fixes: 202978576
Test: atest ControlActionCoordinatorImplTest
ControlProviderServiceTest
Test: atest CtsControlsDeviceTestCases CtsControlBuilderTest CtsControlTemplateTest
Change-Id: I294662b88637e18bf620aff2eed4749ae304ebd4
This changelist introduces IDreamOverlay, an interface
for rendering an overlay on top of a Dream. IDreamOverlay
implementations can register with DreamManagerService to
be bound to by DreamService when dream commences. The
overlay will be passed the Dream Window information so
that it may render within this window space.
Bug: 201676854
Test: atest DreamOverlayTest
Change-Id: I382ba2acb4a6922f19250753f8f0afc4181a6454