Such move will allow nested sessions. For example, WebView could create a
new session for the main page, then child sessions for IFRAMEs contained on it.
This CL changes the API and provides an initial implementation, although it's
not quite ready yet - it only allows 1 level of children (from the activity
session), but the full implementation is coming soom to a movie theather near
you...
Bug: 121033016
Bug: 117944706
Test: atest CtsContentCaptureServiceTestCases
Change-Id: I86156bb3b8a2c08cb00b9518599eb6d67fbf77c2
Report more information in onRecordingConfigChanged() callback and
AudioRecordingConfiguration:
- For client:
- Port ID (package private)
- Enabled effects
- Silenced by policy
- For stream:
- Active effects
- Active audio source
Bug: 111438757
Test: CTS tests for AudioRecordingConfiguration
Change-Id: I84952614ee5d9ede23afd5836c68da7a20e79a2e
The initial implementation was using a batch the events to optimize the
performance, but that can be optimize behind the scenes (i.e., we can still
send the batches in the binder, but deliver them one by one).
This change not only makes it easier for the service to use the API, but it
paves the way to implement multiple sessions (so we can buffer children events
while the parent session is not completely started yet).
Bug: 121033016
Bug: 117944706
Bug: 121051220
Test: atest CtsContentCaptureServiceTestCases
Change-Id: I713ceb998bd81733255fd3ef8d0b8d7a3fcac20c
This is just a refactoring for now, but it paves the way to support children
sessions.
Bug: 121042846
Bug: 117944706
Test: atest CtsContentCaptureServiceTestCases
Change-Id: I64bb5562dcfd4a9f0f69bb13009e4cf47a4f3b37
The state is only kept up-to-date for staged sessions. Clients are in
charge of checking whether the session has the isStaged bit set, before
considering reading the StagedSessionState associated to that session.
Test: retrieved mock staged session from a small app and verified state
is correctly set.
Bug: 118865310
Bug: 112669193
Bug: 120487127
Change-Id: I03590476dc353fee6d6edffb7ae579a9f9664664
Resolvable errors in the download step are present in a bit map and
returned to the calling app. The calling app can resolve all the
resolvable errors at one time.
Also pass cardId around for future use.
Bug: 68941776
Test: test on phone
Change-Id: I37a365bce2eb183161a2649ca8098504b6ed2370
add carrierid in subscritionInfo so that apps can get
subId, carrierid and other sim related info from a single call
Bug: 119676543
Test: gts SubscriptionInfoTest
Change-Id: Ia2d01ad6bd59565adbf989b4d95e7f64f3ee6d45
(cherry picked from commit 0034bb393c)
Merged-in: Ia2d01ad6bd59565adbf989b4d95e7f64f3ee6d45
1. decouple disconnectCause and preciseDisconnectCuase from
preciseCallState.
2. expose preciseCallState to SystemAPI and expose
onPreciseCallStateChanged to System API
3. remove/hide ImsReasonInfo from PreciseDisconnectCuase
4. expose DiconnectCuase and PreciseDisconnectCause to System API
5. new onDisconnectCauseChanged API on PhoneStateListener for CS call
and use ImsCallSessionListener for IMS call(imsreasonInfo)
6. add read_precise_phone_state to shell apk to enable GTS test
Bug: 119890559
Test: atest GtsGmscoreHostTestCases:TelephonyHostTest#testPhoneStateListener
Change-Id: If9256feff16b6bcaef1dfe194c2b0df2a48436b0
Initially, the ContentCaptureManager (in the app) was calling the
IContentCaptureManager (on system server) for everything, even to pass the
list of captured events, which caused 2 IPCs for each batch of events (i.e.,
from app to system_server, then from system_service to service).
This CL optimizes the workflow by getting rid of the "middle man" and sending
the events from the app to the service directly, which the system_server only
calling the service to notify when the view starts and finishes (and passing
the UID in the former so the servier can validate the sendEvents() calls).
Bug: 119220549
Test: atest CtsContentCaptureServiceTestCases
Change-Id: I6c08dccf755605320ac37cbc9424132e5455a594
The existing APIs were pretty limited by only accepting a "kind"
value, so improve them to accept an arbitrary size, and offer a way
to cancel requests when no longer needed.
The older APIs were a mix of both public and @UnsupportedAppUsage,
so mark them all both public and deprecated so we can clearly steer
developers towards better options. (The deprecated methods are
implemented using the new APIs internally for sanity.)
Use modern ImageDecode internally, which is more robust than
BitmapFactory. Add CTS to confirm that we generate thumbnails of
reasonable sizes.
Bug: 119887587
Test: atest android.media.cts.ThumbnailUtilsTest
Change-Id: I4ca35569ad5c661b327a0cb24a48ebc21f6087b7
This is needed by making the setup wizard use only system-api.
Test: Built, switched USB port state
Change-Id: I8e56859a5b36e7de91691522a34f7d6f62dcbb20
Fixes: 115301401
Smart screen brightness learns the user brightness preferences from
user interactions with the brightness slider, but doesn't take into
account the foreground app's package name or category.
This CL adds:
- A BrightnessCorrection class,
- A mapping of package names and categories to brightness corrections
in the BrightnessConfiguration,
- Tracking of the foreground app's package name and category in the
AutomaticBrightnessController,
- Brightness correction depending on the foreground app's package
name and category in the BrightnessMappingStrategy.
Test: manual - force turbo app to learn brightness preferences for
specific packages/categories and see that they are applied.
To make sure package/category switches are handled correctly,
you can actually hardcode corrections and simulate edge cases
such as rapid switches, multiple windows, etc.
Fixes: 111425369
Change-Id: Ic9516c75dbf63ea21f0ae780f9c35e8c85dbbe5b
We rename the old "String cardId" field to "String cardString". The new
int cardId refers to the publically exposed cardId.
Also deprecate the few-arg constructor. Its okay to use in existing
cases which don't care about the extra arguments (certain tests and
transient SubscriptionInfo objects which aren't really used) but should
not be used in general.
Bug: 80097562
Test: manual
Change-Id: I92264b95da64be77367e869f774bc65f8934fd32
Add a new config value for recording the component name of secondary
launcher.
This secondary launcher with corresponding launch mode set in
AndroidManifest could be used on secondary displays that support system
decorations.
OEMs can easily replace their own secondary launcher by overlay it.
Bug: 118206886
Bug: 111363427
Test: atest RootActivityContainerTests
Test: atest ActivityManagerMultiDisplayTests
Change-Id: Iceab096fd369127231f2085313ee617c7cdea226