Create a namespace for runtime native properties, java language
properties will be added in a later CL.
Bug: 111397239
Bug: 120794191
Bug: 123524494
Test: adb shell device_config put runtime_native gctype CC,preverify
Test: verify the property is set correctly
Exempt-From-Owner-Approval: Previously approved
Change-Id: I84ec84f0befdbf778b9cef43991b63fbab3b0943
This reverts commit 0a20eda58d.
Reason for revert: Enabling feature by default. Global flag moved to OEM configurable overlay instead
Bug: 123408542
Test: unit tests
Test: Manually verify developer option is gone
Change-Id: I34bfedba786e53426a941ad12ea7c7b119987420
We here add an experiment flag to limit the number of smart actions
shown per notification (including turning all small actions off) from
the System UI.
Bug: 122506860
Test: atest SystemUITests
Test: call "adb shell settings put global
smart_replies_in_notifications_flags enabled=true,max_num_actions=X" for
different values of X and ensure the behaviour is correct.
Change-Id: I2759f4bc297386d20f3a6d1cb2975165e5c87c38
To adhere to new API guidelines we here update the
notification_assistant namespace in DeviceConfig.
Bug: 120792826
Test: make ExtServices
&& adb install -r $OUT/system/priv-app/ExtServices/ExtServices.apk
&& atest ExtServicesUnitTests
Change-Id: I85f714931c28c7a35c64b1394992afcd7aa68490
Add an API for Settings search to associate Uris to Keys,
to enable support for Slices in search.
We add a separate API rather than updating IndexableData because:
- Apps will need to support a method of collecting all slices for the
Slices API, and that method can be shared between the Slices API and
this one.
- To update search indexableresource, we would need to establish a
contract on how to declare a slice Uri in each xml. Even if we did that,
the providing app would need their own logic to parse the Xml for
the Slices api, so we can't save them work.
Bug: 62807132
Test: contract files
Change-Id: Ie8853ac57643231794afdbb2f7ce1cc0f77619a2
When an app takes a long time to handle broadcasts, we start deferring
further broadcasts to it to make sure that other broadcast traffic in
the system can continue to make progress. Global delivery order is
technically rearranged, but delivery order from the point of view of any
given app remains consistent with issuance order.
When alarm broadcasts are issued, we prioritize delivery of deferred
alarms to the alarm recipients (i.e. we suspend the deferral policy and
catch up as promptly as possible) in order to minimize wake time spent
waiting for the alarm broadcast to be delivered. Once an app with a
deferred broadcast backlog is no longer the target of an in-flight
alarm, we re-impose deferral policy on it.
This policy intentionally trades off increased broadcast delivery
latency to apps that take a "long" time to handle broadcasts, in
exchange for lowering delivery latency to all other apps in the system
that would previously have had to wait behind the slow app.
In addition, broadcast dispatch policy parameters can now be overlaid
via the usual global Settings mechanism. In particular, configuring the
"bcast_slow_time" parameter to a value in milliseconds higher than the
queue's broadcast timeout period will disable the new slow-receiver
policies.
Bug: 111404343
Test: device boots & runs
Test: tests/ActivityTests
Change-Id: I76ac79bdf41ca3cfcc48515bca779ea0f5744c0b
objects that are returned by the model
1. TemplateIntentFactory is the intent generator. It reads from the
templates that are returned from the model, and construct the
intents accordingly. If template is missing, we fallback to use
LegacyIntentFactory.
2. LegacyIntentFactory is the old(existing) intent generator.
3. Added a flag to allow us to switch between them.
Test: atest TemplateIntentFactoryTest.java
Test: atest LegacyIntentFactoryTest.java
Change-Id: I7bdcc73321f5a0160c5ff0edf1a2095119f4dcb1
Required for feature tuning and experiments
Also
- Updates Javadoc as per API review request
- Updates TextClassificationConstants test
Bug: 120794314
Bug: 118296637
Bug: 34780395
Test: atest core/tests/coretests/src/android/view/textclassifier/TextClassificationConstantsTest.java
Test: (MANUAL)
1. Install an app that handles Intent.ACTION_TRANSLATE
2. Run adb shell settings put global text_classifier_constants system_textclassifier_enabled=false,lang_id_threshold_override=0
3. Select foreign text
4. Observe that a "Translate" option is shown in the selection toolbar
1. Install an app that handles Intent.ACTION_TRANSLATE
2. Run adb shell settings put global text_classifier_constants system_textclassifier_enabled=false,lang_id_threshold_override=2
3. Select foreign text
4. Observe that a "Translate" option is not shown in the selection toolbar
Change-Id: I02b6ca48669e66a24150b04bba2ebfcf9ebe6bfd
With this CL, SHOW_IME_WITH_HARD_KEYBOARD will be shared within the
same profile group.
Since AccessibilityManagerService always reads
SHOW_IME_WITH_HARD_KEYBOARD from the profile parent user [1], in
practice sharing SHOW_IME_WITH_HARD_KEYBOARD within the same profile
group would be the easiest and safest way for now to avoid breaking
SHOW_IME_WITH_HARD_KEYBOARD.
Note that with my previous CL [2], InputMethodSettings already adjust
the target user ID by checking CLONE_TO_MANAGED_PROFILE when writing
secure settings. Hence no change in the InputMethodManagerService
side is necessary.
When work profile is not enabled, there should be no behavior change.
[1]: I530481e102ac376a4506b662862ee1ee74815b40
03a65b04d8
[2]: Ieefefb8630ddef3b247ebb865a604e5c72dfb49c
15be5e6f1c
Fix: 123379418
Test: manually verified as follows.
1. Build aosp_taimen-userdebug and flash it.
2. adb root
3. adb shell setprop persist.debug.per_profile_ime 1
4. Install Test DPC.
5. Enable managed profile with Test DPC.
6. Attach a Bluetooth hardware keyboard.
7. make -j EditTextVariations
8. adb install -r \
$ANDROID_TARGET_OUT_TESTCASES/EditTextVariations/EditTextVariations.apk
9. adb shell am start --user 10 -n \
com.android.inputmethod.tools.edittextvariations/.EditTextVariations
10. Focus in the top edit field on the EditTextVariations.
11. Tap the IME switcher icon on the navigation bar.
12. adb shell settings get secure --user 0 show_ime_with_hard_keyboard
-> 0
13. adb shell settings get secure --user 10 show_ime_with_hard_keyboard
-> 0
14. Toggle "Show virtual keyboard" button to enable it.
15. adb shell settings get secure --user 0 show_ime_with_hard_keyboard
-> 1
16. adb shell settings get secure --user 10 show_ime_with_hard_keyboard
-> 1
Change-Id: Iacb79b24d6bd97495ac81a58c1df651cf594a8c2
To help confirm that we're actually testing developer-visible
behaviors, we need to build against public APIs, since there have
been plenty of examples in this suite of "testing" hidden API
behaviors, which are then misleading to developers.
Bug: 120429729
Test: atest cts/tests/tests/provider/
Exempt-From-Owner-Approval: Trivial API annotations
Change-Id: I07fe33e54f611a6060217f0706fb99b809961f4d
Also expose some test-api's so that tests can set this device config.
Bug: 112390914
Test: Tried to trigger with option not set -> no notification
atest CtsPermissionTestCases:android.permission.cts.LocationAccessCheckTest
Change-Id: Id48771b62615c2083529a2481585fa8a6ada1e45
Add a privacy platform namespace and a flag to enable/disable to
Permissions Hub.
Bug: 122615235
Test: Manually set/unset flag, see/don't see Permissions Hub screens.
Change-Id: I82d49991fab880147db42cc156e8e417f5657a3c
This adds a field Settings.Global.BATTERY_CHARGING_STATE_UPDATE_DELAY
that overrides the value of battery_charged_delay_ms in
Settings.GLOBAL.BATTERY_STATS_CONSTANTS.
This new field can then be set for experimentation, and easily reset to
default by deleting, or setting it to a negative value.
Expose a method in BatteryManager to set a value for this new setting.
Bug: 111360323
Test: adb shell settings put global battery_charging_state_update_delay 999
adb shell dumpsys batterystats --settings # should see battery_charged_delay_ms=999
adb shell settings put global battery_charging_state_update_delay -1
adb shell dumpsys batterystats --settings # should see battery_charged_delay_ms=90000
Change-Id: Ic308af938836a1f9c235cec341808b6c6c28d22d
NFC Panel is the third Settings Panel, which hosts NFC related settings.
Currently the panel only holds the NFC slice, but is open to future
additions.
Test: atest SettingsPanelTest
Bug: 120142616
Change-Id: Ib9e36b6c645ecb8788c558f505197723836f4616
Best-practices mean that we should start using this path for remote
configuration, instead of Settings.Global values.
Bug: 112545973
Test: manual
Change-Id: Ic6f1e9eca28690a212baeb52bd119717c3f495a4