Added COLUMN_VIDEO_FORMAT to the Channels table to indicate typical
video format for programs from a given TV channel, which can later be
used to filter out channels. Also defined common video formats and
resolutions and a utility method to get the video resolution for a given
format.
Added COLUMN_VIDEO_WIDTH and COLUMN_VIDEO_HEIGHT to the Programs table
to indicate the actual video dimension for each individual TV program,
which can be shown as a part of program information by applications.
Bug: 15351111, 15456031
Change-Id: Id72e25de40f06a1b615620365e06cf11e4cd9f81
Require that method callers always provide relevant paths, instead of
relying on constructor. Move DisplayMetrics to be an overall parser
parameter, and move PARSE_TRUSTED_OVERLAY to flags.
Parse split APKs and apply deterministic ordering based on split
names. Assert consistent package name and version code across all
split APKs in a package, and enforce unique split names and required
base APK.
Collect certificates for split APKs, enforcing they're all signed
consistently. Better flow control and resource cleanup when
collecting certs. Refactor validation code so it's easier to reason
about. Cleaner maintenance of read buffer when draining stream
contents.
Change-Id: I8bc8c62095fbb933227b9e76ad8771f4b1246fe8
For logging purposes, a uint32_t was being converted into
a void pointer, which on certain systems would be a conversion
to a different size.
Change-Id: I90af69ab975d84c9c8cbb1cce94ff4e9cc6edcf2
Add a method for DeviceAdminReceivers of profile/device owners to
be notified that lock task mode has entered or exited for an app
they have whitelisted.
Change-Id: Id124287d41564bbfccdacccf1977b7acb3ddec3f
TelephonyRegistry: when default sub id is requested set isLegacyApp to
true so when ACTION_DEFAULT_SUBSCRIPTION_CHANGED is received the
TelephonyRegistry.Record.subId will be updated.
SubInfoRecord: Add SubInfoRecord toString for easier debugging
SubscriptionManager: Add putPHoneIdAndSubIdExtra(intent, phoneId, subId)
as this allows explicit setup of phoneId and subId and does not rely on
a phone's subId being set.
Bug: 15669560
Change-Id: I645ddb35b964b08dcb46f881c9d02b932d128950
If the caller is sharing uid, then the package from getPackage()
may not be the desired one. This also matches better with the
other device owner calls.
Change-Id: I14f2ec4bff0717273f626072dabad0d2c76068a5
This patch contains an implementation of drawTextOnPath for both
software and hardware Canvas using Minikin for text layout. One of the
steps for switching all remaining text operations to Minikin so the old
TextLayout and Skia fallback fonts mechanisms can be deleted.
Bug: 11750374 Resolve TODO items for Minikin
Change-Id: I06bfe74a101fa1dcdfc38f530f7194d71e522a85
- Fixed missing tag closure on the xml for storing Intent categories.
- Shortened timeout for flushing tasks to persistent storage from
one minute to ten seconds.
- Made persistency the default except for those tasks on the home
stack and those tasks that exclude themselves from the recent task
list.
- Fixed deletion of tasks after restoring. Tasks now survive a second
reboot, not just the first reboot.
- Fixed sort order so most recent tasks will be restored at front.
Fixes bug 15672002.
Change-Id: I16d87d58c6fd2e879cfd0c0b18b2694432a79b71
In order to support APK split features, the resource
table needs to support loading multiple resource
tables with the same package but potentially new set
of type IDs.
This adds some complexity as the type ID space changes
from dense and ordered to potentially sparse.
A ByteBucketArray is used to store the type IDs in
a memory efficient way that allows for fast retrieval.
In addition, the IDMAP format has changed. We no longer
need random access to the type data, since we store the
types differently. However, random access to entries of
a given type is still required.
Change-Id: If6f5be680b405b368941d9c1f2b5d2ddca964160
Introduces new ApplicationInfo fields to surface zero or more split
APKs for an application. Splice these APKs into both the class
loader and resource system. Cleaner building of these paths.
Run dexopt() on all split APKs found after a parse, and populate
into ApplicationInfo.
Change-Id: I4a376bf4492d84ea95aafa866e106ea43a43e492