Provide API to inform available networks
Bug: 117982838
Test: make and unit test
Merged-In: I9de1f767560551914de80031c1675d7e03b09775
Change-Id: I9de1f767560551914de80031c1675d7e03b09775
If set, PackageManager will query apexservice and ask for activated
packages.
Test: wrote a small app to test the new query.
Bug: 117589375
Merged-In: I498bd97896f3eab65c88e9684874a30713be585e
Change-Id: I498bd97896f3eab65c88e9684874a30713be585e
The existing appendWhere() methods aren't very friendly for
developers, since they require manual tracking of state to decide if
subsequent standalone chunks should be prefixed with "AND".
While it's tempting to offer direct argument binding on the builder
class, we can't really deliver on that API in a secure way, so instead
add separate bindSelection() method which explicitly burns arguments
into a standalone selection string, which can then be appended to
the builder.
This was the last piece of new functionality being used by
SQLiteStatementBuilder, so we can delete that class and migrate
users back to SQLiteQueryBuilder.
Bug: 111268862
Test: atest frameworks/base/core/tests/coretests/src/android/database/DatabaseUtilsTest.java
Test: atest frameworks/base/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Merged-In: I418f24338c90bae8a9dad473fa76329cea00a8c5
Change-Id: I418f24338c90bae8a9dad473fa76329cea00a8c5
It's wasteful to convert them to String when SQLite already knows
how to bind specific data types, including funky types like byte[].
Also promote to public API, since they're generally useful.
Bug: 111085900
Test: atest packages/providers/DownloadProvider/tests/
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Merged-In: I5b418bca1204773fd2795156a2f47906ca1e1a6b
Change-Id: I5b418bca1204773fd2795156a2f47906ca1e1a6b
We've encountered subtle bugs in how apps are using this public
API, so revert it back to exactly what shipped in the last
release, and move functionality to new SQLiteStatementBuilder
class, since we already have several customers using it.
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Bug: 111486645
Merged-In: Ief059e987f2421e19f6f57a94320c313946a26d7
Change-Id: Ief059e987f2421e19f6f57a94320c313946a26d7
When users are building queries, they often need to append several
standalone SQL clauses, and it's tedious to track their first clause
so they can manually append " AND " to each subsequent clause.
So add new appendWherePhrase() API which appends a standalone phrase
which is AND'ed together with any existing WHERE query.
Also fix bug in update() which would turn null values into the
string literal "null" instead of passing them through as SQL NULL.
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Bug: 111085900
Merged-In: Ia280dd864895654239503e080eaef925f5620d37
Change-Id: Ia280dd864895654239503e080eaef925f5620d37
Developers often accept selection clauses from untrusted code, and
SQLiteQueryBuilder already supports a "strict" mode to help catch
SQL injection attacks. This change extends the builder to support
update() and delete() calls, so that we can help secure those
selection clauses too.
Extend it to support selection arguments being provided when
appending appendWhere() clauses, meaning developers no longer need
to manually track their local selection arguments along with
remote arguments.
Extend it to support newer ContentProvider.query() variant that
accepts "Bundle queryArgs", and have all query() callers flow
through that common code path. (This paves the way for a future
CL that will offer to gracefully extract non-WHERE clauses that
callers have tried smashing into their selections.)
Updates ContentValues to internally use more efficient ArrayMap.
Bug: 111268862
Test: atest frameworks/base/core/tests/utiltests/src/com/android/internal/util/ArrayUtilsTest.java
Test: atest cts/tests/tests/database/src/android/database/sqlite/cts/SQLiteQueryBuilderTest.java
Merged-In: I60b6f69045766bb28d2f21a32c120ec8c383b917
Change-Id: I60b6f69045766bb28d2f21a32c120ec8c383b917
Add the PhoneNumberRange and NumberVerificationCallback classes. Add a
method in TelephonyManager to activate the API, but it does nothing for
now.
Bug: 119675160
Test: todo
Change-Id: I3ccd62b47f02a3aa324b675fdb16c8e7a1e9feec
To align with using carrier id instead of mccmnc and mvno for APN
settings, add new public api setCarrierId and getCarrierId
Bug: 115709816
Test: run telephony unit test
Change-Id: Ia716a02dfa88996cb0539e34b411aab371ef8aa7
Merged-in: Ia716a02dfa88996cb0539e34b411aab371ef8aa7
Provide API to switch preferred data between default subscription
and opportunistic subscription.
Bug: 118491136
Test: make and called the APIs using setting app
Merged-In: Ic4f7a0aac6f7e1234c30aaee2fed177dbd5e53cd
Change-Id: Ic4f7a0aac6f7e1234c30aaee2fed177dbd5e53cd
API stubs generation implicitly made any types used by an API also part
of that API. This has caused DeviceIdAttestationException and
ImsFeature.Capabilities to become implicit APIs, so they are added to
the API files.
After this, using non-API types in APIs will become an error to prevent
implicit APIs occuring in the future.
Bug: 119556446
Test: METALAVA_PREPEND_ARGS="--error ReferencesHidden" make
Exempt-From-Owner-Approval: Identical CL has been approved on other branch
Change-Id: I5fe4f20502b8d4e287b28e9f07139456d4191e22
Merged-In: I5fe4f20502b8d4e287b28e9f07139456d4191e22
(cherry picked from commit 8f91e5fde8)
Add new key to hide Preset APN setting details. When the key is set to
true, Preset APN is still shown and selectable in APN list, however,
user cannot enter APN editor view. It means details of Preset APN will
be hidden from user.
Test: manual - check Preset APN setting details are hidden
Bug: 115453290
Change-Id: I8a5c6f92f876d349b304acf89b4ffab86ff3f24b
New method has been requested by Setup Wizard.
Test: CTS: run cts-dev -m CtsUtilTestCases -t android.util.cts.TimeUtilsTest
Bug: 116544863
Merged-In: I31a9e3d07d5c3fbc8ba1d9c9b398cb2661aa71f9
Change-Id: I31a9e3d07d5c3fbc8ba1d9c9b398cb2661aa71f9
(cherry picked from commit f9bb2d8f02)
IApnSourceService#getApns now takes a subId argument, and can be
implemented by extending ApnService.
Bug: 113075153
Test: unit tests and manual
Change-Id: I0202c1f0529ecef558f06a9f8a90a3906912f2f0
Merged-In: I9cfcf977c20f33abd2d773393780f9e54d75fe21
To allow vendor code to construct LinkAddress, which is
one of the parameter in the system API DataCallResponse.
Test: Build
Bug: 73659459
Merged-In: I3e203781d3a03285fa0e047cc8837ccb4a09016a
Change-Id: I3e203781d3a03285fa0e047cc8837ccb4a09016a
Adds a hook to AppComponentFactory to allow control over the
instantiation of the main app class loader. LoadedApk creates
the default class loader and uses it to load the base APK. If
AppComponentFactory is declared in the manifest, its new method
instantiateClassLoader is called and its result becomes the
class loader used by LoadedApk to instantiate other classes
declared in the manifest. By default this is simply the class
loader created by LoadedApk.
Second method provides AppComponentFactory with a copy of
ApplicationInfo. The factory otherwise cannot locate any of the
app's resources, including its APK or the data folder.
Bug: 111342996
Test: atest CtsClassLoaderFactoryPathClassLoaderTestCases
Test: atest CtsClassLoaderFactoryInMemoryDexClassLoaderTestCases
Merged-In: Id21d9afaf00b9cb64a107bc9893b952407cff0b5
Change-Id: Id21d9afaf00b9cb64a107bc9893b952407cff0b5
(cherry picked from commit fd6dcc21d9)
Add asynchronous calls to request CellInfo updates.
-Add a request for CellInfo
-Add a request for CellInfo that allows system apps
such as the LocationProvider to bill the work to
the app that initiated the location fix.
-Update the behavioral language for getAllCellInfo
to indicate that depending on the API level of the
caller, this API will only provide cached info, which
means that apps can always request an update without
possibly triggering a call to the modem. This also
means that the binder will not block due to modem
delay.
Bug: 37100068
Bug: 63737292
Bug: 26569588
Test: manual (via SL4A)
Change-Id: I25cbc3cecd5d396fc3baa21457c05cd6e273c9c3
Support an Executor so that PhoneStateListener
can invoke callbacks not only on a user's preferred
Looper but also on a preferred Handler or in another
thread management scheme.
PhoneStateListener uses an odd pattern for its API,
so to support the historical use cases of having the
internal callback instance be instantiated during
object construction, the Executor needs to be passed
in to the PhoneStateListener during construction. This
also permits the listen() method in TelephonyManager to
avoid odd situations of having a version with an
Executor be passed in when requesting to stop listening
for events.
Bug: 118350385
Test: atest PhoneStateListenerTest
atest PhoneStateListenerExecutorTest
Change-Id: I8eeb2e156f6d67d192d17586e6aa5579ff6d675d
This CL includes a number of cleanups related to unsupported app usage
tags.
TelecomManager#EXTRA_IS_HANDOVER - public APIS exist for this usecase;
updated docs and limit to P with maxtarget sdk.
TelecomManager#getSimCallManager(int userId) - marked as max target P;
there is a public API available which can be used to accomplish the same
thing. Nobody should be calling this.
TelecomManager#getCallCapablePhoneAccounts(boolean) - marked as max
target P; callers should use the version without the boolean parameter.
Deprecate CAPABILITY_CAN_UPGRADE_TO_VIDEO; its redundant.
New public API:
Promote TelecomManager#getSystemDialerPackage() to public API; its a
benign API and doesn't expose anything which can't be inferred other ways.
New system APIs:
TelecomManager#getCurrentTtyMode() - used by settings app.
TelecomManager#setDefaultDialer() - used by useful for settings app.
TelecomManager#TTY_MODE* constants - used by getCurrentTtyMode API.
Test: Compile / run unit tests
Bug: 119305590
Change-Id: I67d6213e6c689fb545fc9ceae4a359831f97c32f