Commit Graph

4310 Commits

Author SHA1 Message Date
Philip P. Moltmann
4e615e6986 Factor some RestrictedLockUtils out of SettingLib
Also make the new lib only use system-apis.

This allows mainline module to use the new
RestrictedLockUtilsSettingLib.

Unfortunately the whole RestrictedLockUtils would have caused to much
new system-api. Hence it was split into RestrictedLockUtils and
RestrictedLockUtilsInternal. This caused a lot of trivial code changes.

Bug: 110953302
Test: Built
Change-Id: I693b3bf56f3be71f0790776e3aad5694717786ef
2018-08-30 11:59:29 -07:00
Remi NGUYEN VAN
98424364ac Merge "Add global setting to use new DHCPv4 server" am: 64dda3cf18 am: 0f78680ce2
am: 83ac5c5034

Change-Id: I03f81651b096cbc39e383c353c6423cd577b5ddb
2018-08-28 23:58:09 -07:00
Remi NGUYEN VAN
83ac5c5034 Merge "Add global setting to use new DHCPv4 server" am: 64dda3cf18
am: 0f78680ce2

Change-Id: I1be5693bc3d674b794d8afa763cb27eef2070ec9
2018-08-28 23:48:48 -07:00
Remi NGUYEN VAN
0f78680ce2 Merge "Add global setting to use new DHCPv4 server"
am: 64dda3cf18

Change-Id: I3476e8e53247d086ca38e18c8713bb17396c6dfd
2018-08-28 23:40:02 -07:00
Remi NGUYEN VAN
64dda3cf18 Merge "Add global setting to use new DHCPv4 server" 2018-08-29 06:24:40 +00:00
Remi NGUYEN VAN
0597453f7c Add global setting to use new DHCPv4 server
The setting applies to the choice of DHCPv4 server for tethering.

Bug: b/109584964
Test: Still builds, SettingsBackupTest passes
Change-Id: Id9b5820883eaf3148f09ad948c34795b3619a30e
2018-08-28 17:47:04 +09:00
Makoto Onuki
96e06002ed Truncate(*1) it if WAL file is too big when opening DB
*1 -- not truncate(2) but "PRAGMA wal_checkpoint(TRUNCATE)"

Otherwise, depending on how an app operate on a DB, SQLite may not
have a chance to "shrink" the WAL file.

Fixes: 112777941
Bug: 111939259
Test: atest /android/master/frameworks/base/core/tests/coretests/src/android/database/sqlite/SQLiteCompatibilityWalFlagsTest.java
Test: Manual test with google dailer:
1. With normalized_spam.db-wal > 100MB and receive a phone call
-> WAL file gets truncated to 0 bytes.

2. Restart the dialer process and receive a phone call again
-> WAL file is already 0 bytes; won't be truncated.

3. Restart with the WAL file deleted
Same as #2. WAL file will be created before the added logic, but is 0 bytes,
so it won't be truncated.

4. Test with settings put global sqlite_compatibility_wal_flags truncate_size=1024
-> make sure the threshold is overridden

Change-Id: I2b193603e5dfa493ccccb8123db592f0e9c0e7ae
2018-08-24 15:07:21 -07:00
Tyler Gunn
5105ea7869 Merge "Update BlockedNumberContract to indicate why a call was blocked." am: a6d6bf816b am: 0413689b87
am: ab23ba4682

Change-Id: I12406b5fa4b970e5100703640a5244904f247796
2018-08-22 14:39:29 -07:00
Tyler Gunn
ab23ba4682 Merge "Update BlockedNumberContract to indicate why a call was blocked." am: a6d6bf816b
am: 0413689b87

Change-Id: I0c7fae67043d208003131047141bec08b74082dd
2018-08-22 14:29:56 -07:00
Tyler Gunn
0413689b87 Merge "Update BlockedNumberContract to indicate why a call was blocked."
am: a6d6bf816b

Change-Id: I03fb1c62380f8ae6de250f5cf907d75c6dc5f863
2018-08-22 14:22:22 -07:00
Tyler Gunn
a6d6bf816b Merge "Update BlockedNumberContract to indicate why a call was blocked." 2018-08-22 20:12:04 +00:00
Tyler Gunn
2b1be6b7c0 Update BlockedNumberContract to indicate why a call was blocked.
Previously only returned true/false. Now returning a status code indicating
why the call was blocked.

Bug: 63966743
Test: Manual, updated unit tests
Change-Id: I65ea52944f592fa789a27c5965a9ebe5e36be221
2018-08-20 13:45:36 -07:00
CY Cheng
217e5f01ca resolve merge conflicts of e58c780571 to stage-aosp-master
am: 0f7856add6

Change-Id: I7b763616c1244d3f834e33c3d6e7126c0baa1b59
2018-08-16 16:41:38 -07:00
Lucas Dupin
c81702eb62 Reach gesture implementation
Add configurable doze gesture. OEMs should define the gesture type
on a device overlay.

Bug: 111414690
Test: look at logs in adb shell dumpsys activity service com.android.systemui
Test: manual with alternative sensor event
Change-Id: I048b99b53151427006e42eb6b4780a420020cd78
2018-08-16 11:59:29 -07:00
CY Cheng
0f7856add6 resolve merge conflicts of e58c780571 to stage-aosp-master
Bug: None
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I6d2feec990c23fb3536fc6b3e19c0b2696b81441
Merged-In: I9c920e31433c0ac23165f917d8dd2befaaa4938d
Merged-In: I8e6bb72ce7b8cecdb6bd01150b53f61f1515dbb1
Merged-In: Ic08cabc63daebc4001c8eda751857d11cb0e6352
2018-08-16 10:43:49 +00:00
Mathew Inwood
961ddb24fa Merge "Add @UnsupportedAppUsage annotations" am: b558baa4cc
am: 1b7a5028a0

Change-Id: I45db75d8ca19decae25cd99ddf842322c28d5b10
2018-08-16 03:15:34 -07:00
Treehugger Robot
e58c780571 Merge changes I7122ff52,I1140fa41,If359662a
* changes:
  Fix Power menu background vanish
  Add separated emergency option on power menu
  Add emergency dialer option on power menu
2018-08-16 03:10:54 +00:00
Mathew Inwood
1b7a5028a0 Merge "Add @UnsupportedAppUsage annotations"
am: b558baa4cc

Change-Id: Id0ca3478dd2a29ded6ef0f8c8a9eabfe7a304449
2018-08-15 08:01:50 -07:00
Mathew Inwood
97157bfc5c Merge "Add @UnsupportedAppUsage annotations" 2018-08-15 11:44:29 +00:00
Andrew Lehmer
d42decc7af Merge "Double tap and lift should take to lock screen" 2018-08-13 15:54:27 +00:00
Wesley.CW Wang
74b9579088 Add emergency dialer option on power menu
Add a button on power menu to launch emergency dialer.
Add FASTER_EMERGENCY_PHONE_CALL_ENABLED to SettingsBackupTest blacklist.

Test: Manually
Bug: 80376488
Change-Id: If359662a4d60dbe0ded89c3afe35db91dca4c445
Merged-In: I9c920e31433c0ac23165f917d8dd2befaaa4938d
2018-08-13 11:58:23 +08:00
Lucas Dupin
4359b559f2 Double tap and lift should take to lock screen
The current ambient display design doesn't make sense when the
display is not 'always on', let's wake-up directly to the lock
screen instead.

Change-Id: I217720dcf01a507f43e9da6e1970b2246fb75211
Test: double tap from AOD or screen off
Test: lift from AOD or screen off
Test: receive pulsing notification, long press
Fixes: 73148491
Fixes: 111881300
Bug: 111414690
2018-08-10 14:05:02 -07:00
Zimuzo Ezeozue
88ee680e4c Merge "Unclone autofill service setting in managed profile" 2018-08-10 17:14:13 +00:00
Michal Karpinski
6166874b93 Merge "DO NOT MERGE Log various information about non-foreground activity starts" into pi-dev
am: dfba41947b

Change-Id: I18f630182b169c5ef48f8f084884894813c34f0f
2018-08-10 01:51:41 -07:00
Mathew Inwood
ba503117f4 Add @UnsupportedAppUsage annotations
For packages:
  android.providers.settings
  android.provider

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Change-Id: I993adf36dc31a5e224e88217c9e8dc140b6ba880
Merged-In: I3865ac184fcb6f52c6bfab9729611b065b27722e
2018-08-10 09:37:35 +01:00
Mathew Inwood
6750f2e118 Add @UnsupportedAppUsage annotations
For packages:
  android.providers.settings
  android.provider

This is an automatically generated CL. See go/UnsupportedAppUsage
for more details.

Exempted-From-Owner-Approval: Mechanical changes to the codebase
which have been approved by Android API council and announced on
android-eng@

Bug: 110868826
Test: m
Change-Id: I3865ac184fcb6f52c6bfab9729611b065b27722e
2018-08-10 09:29:25 +01:00
Jeff Sharkey
0ce83aeb2b Add "owner_package_name" column.
To support new storage features in Q, we need to start tracking the
"owner" of each inserted file.  This change introduces the schema
change to insert the column, including logic to derive values for
existing well-known package-specific paths.  Populate the column for
any newly inserted media based on the calling package.

Bug: 111893193
Test: adb shell am instrument -w com.android.providers.media.tests
Change-Id: Ibf5656423c22e7e540ab4a3a3efb99b8af944e16
2018-08-09 20:37:16 +00:00
Michal Karpinski
3eab951217 DO NOT MERGE Log various information about non-foreground activity starts
Logging activity starts to TRON, but only if the caller app
doesn't have any foreground activity present.

Example event:
08-03 15:21:30.813  1231  3220 I sysui_multi_action: [757,1513,758,4,805,1533306090812,1514,10147,1515,com.google.android.talk,1516,1018,1517,0,1518,1000,1519,1000,1520,0,1521,10147,1522,com.google.android.talk,1523,1018,1524,0,1525,pendingintent:u0a12:com.google.android.talk/com.google.android.apps.hangouts.phone.ConversationActivity,1526,com.google.android.talk/com.google.android.apps.hangouts.phone.BabelHomeActivity,1527,1,1528,com.google.android.apps.hangouts.phone.conversationlist,1540,1,1541,com.google.android.apps.hangouts.phone.BabelHomeActivity,1542,3146240,1543,{com.google.android.talk/com.google.android.apps.hangouts.phone.BabelHomeActivity},1544,com.google.android.talk/com.google.android.apps.hangouts.phone.BabelHomeActivity,1545,com.google.android.talk,1546,1,1547,0,1551,0,1552,0]

(cherry-picked from 201bc0c14e)

Bug: b/111866309
Context: go/activity-starts-logging-tron
Test: 1) enable logging with: adb shell settings put global activity_starts_logging_enabled 1
      2) open some activities and observe: adb logcat -b events | grep "sysui_multi_action: \[757,1513"
Test: atest FrameworksServicesTests:ActivityStarterTests

Change-Id: Ie7dee51c574e544d12e83d279afda46b336f2013
2018-08-09 15:18:07 +01:00
Michal Karpinski
201bc0c14e Log various information about non-foreground activity starts
Logging activity starts to TRON, but only if the caller app
doesn't have any foreground activity present.

Example event:
08-03 15:21:30.813  1231  3220 I sysui_multi_action: [757,1513,758,4,805,1533306090812,1514,10147,1515,com.google.android.talk,1516,1018,1517,0,1518,1000,1519,1000,1520,0,1521,10147,1522,com.google.android.talk,1523,1018,1524,0,1525,pendingintent:u0a12:com.google.android.talk/com.google.android.apps.hangouts.phone.ConversationActivity,1526,com.google.android.talk/com.google.android.apps.hangouts.phone.BabelHomeActivity,1527,1,1528,com.google.android.apps.hangouts.phone.conversationlist,1540,1,1541,com.google.android.apps.hangouts.phone.BabelHomeActivity,1542,3146240,1543,{com.google.android.talk/com.google.android.apps.hangouts.phone.BabelHomeActivity},1544,com.google.android.talk/com.google.android.apps.hangouts.phone.BabelHomeActivity,1545,com.google.android.talk,1546,1,1547,0,1551,0,1552,0]

Bug: b/111866309
Context: go/activity-starts-logging-tron
Test: 1) enable logging with: adb shell settings put global activity_starts_logging_enabled 1
      2) open some activities and observe: adb logcat -b events | grep "sysui_multi_action: \[757,1513"
Test: atest FrameworksServicesTests:ActivityStarterTests
Change-Id: Id63806a2d08a50f404268194a05c6e94bd7e9724
2018-08-08 14:55:05 +01:00
Makoto Onuki
c874f0ecf8 Merge "No longer keep track of contacts affinity (2/4)" 2018-08-06 16:07:07 +00:00
ykhung
61f5c2b81a Add @SystemApi annotation for Predictive Settings ringer gesture.
Fixes: 111573823
Test: manual test.

Change-Id: I469296c6283bb5e6fe9b8c0f6a1203e651cc33ee
2018-08-06 02:44:44 +00:00
Makoto Onuki
aa2dd62c06 No longer keep track of contacts affinity (2/4)
Test: atest android.provider.cts.contacts
Test: atest ContactsProviderTests ContactsProviderTests2
Change-Id: I10e66441a9766947c7c14ae25022deadac5a9c7c
Bug: 111210683
2018-08-02 23:11:39 +00:00
TreeHugger Robot
38663ab205 Merge "Add 2 Settings.Global keys for Settings ExternalProvider." 2018-08-01 18:12:10 +00:00
Zimuzo
9822ffc49e Unclone autofill service setting in managed profile
The autofill service setting was cloned from the personal
profile to the managed profile in ag/2126240 to fix a bug where the
Settings UI did not control the managed profile. That fix caused
unintended interactions between both profiles. The setting has
now been 'uncloned' and a separate UI control introduced for each
profile in ag/4666600.

BUG: 3803359
Test: Tested manually by setting up a work profile and verifying that
the setting can be changed independently.

Change-Id: I7b5cac69cb8b4b0782538cb86f818904d6ad238d
2018-08-01 18:14:10 +01:00
TreeHugger Robot
94efa9cb6f Merge "Settings: Add a setting to toggle wifi scan throttling" 2018-08-01 16:42:29 +00:00
Fan Zhang
f5d74c7665 Add 2 Settings.Global keys for Settings ExternalProvider.
Bug: 111941143
Test: rebuild
Change-Id: I8ee5b17601f85fc2ab9f7dea2824800405a188c5
2018-08-01 09:37:32 -07:00
Roshan Pius
adb9394832 Settings: Add a setting to toggle wifi scan throttling
Scan throttling affects apps which are used by testers for survey-like
application. Add a hidden setting which can be toggled via adb commands
to turn off all scan throttling.

Bug: 111763749
Test: Unit tests
Test: `adb shell settings put global wifi_scan_throttle_enabled 0` on
user build.
Change-Id: I6c9a468c573239914b88de0afcdd7e477429cb16
2018-08-01 07:55:46 -07:00
TreeHugger Robot
57fcafd02b Merge "Move some global settings to secure settings" 2018-07-31 17:13:27 +00:00
Beverly
91d0a63a58 Move some global settings to secure settings
The following Settings are being moved to Settings.Secure
from Settings.Global since they are settings that exist
per user
- CHARGING_SOUNDS_ENABLED
- CHARGING_VIBRATION_ENABLED
- ZEN_DURATION
- SHOW_ZEN_UPGRADE_NOTIFICATION
- SHOW_ZEN_SETTINGS_SUGGESTION
- ZEN_SETTINGS_UPDATE
- ZEN_SETTINGS_SUGGESTION_VIEWED
zen_duration used to be a global setting -> move it to
Settings.Secure since users can set different values

Fixes: 110926544
Test: make RunSettingsLibRoboTests -j40 ROBOTEST_FILTER=ZenDurationDialogTest
Test: manual upgrade
Change-Id: Ifa36affe3e52e67a54698a8cf2c3424343877179
2018-07-31 11:42:05 -04:00
Jeff Sharkey
30b77bce53 Rewrite MediaStore thumbnail internals.
Keeps existing public APIs intact, but rewrite the internal to pave
the way for storage changes coming in Q.  All thumbnail generation
and reading now happens in MediaProvider, since apps won't have
direct access to MiniThumbFile files in Q.

Instead, InternalThumbnails now uses openTypedAssetFileDescriptor()
to open the original Uri, but with an EXTRA_SIZE indicating that
it'd like a thumbnail of a specific size.  This uses best-practices
which allow apps obtaining a Uri permission grant to a specific
media Uri to request a thumbnail of that media without additional
permissions.  This also lets us use CancellationSignal to cancel
thumbnail requests that are no longer needed, and we start checking
this signal at each query() point internally.

Move internals to use ExecutorService pattern, which will let us
expand the thread pool in a future CL based on device capabilities.

Previous logic that asynchronously generated thumbnails after certain
actions is now replaced with simpler invalidation.  This paves the
way for us to move proactive thumbnail generation to be driven by an
idle maintenance service, to be better stewards of battery life.  We
continue to generate thumbnails on-demand when not yet cached.

ThumbnailUtils already handles extracting EXIF thumbnails, so we don't
need to duplicate that work locally.

Flag that enables dumping of all raw SQL for debugging purposes on
a per-process basis.

Bug: 111268862, 111890672
Test: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*
Change-Id: Ibcdbc564c8fee09ddd33ebccc470fa5cbdff97b4
2018-07-28 17:40:04 -06:00
Felipe Leme
68b2222546 Created new Settings preferences for internal autofill state.
Currently, these preferences can only be changed through 'cmd autofill', but
moving them to the Settings provider will let us manage them through the
Settings -> Developer Options screen:

- AUTOFILL_LOGGING_LEVEL
- AUTOFILL_MAX_PARTITIONS_SIZE
- AUTOFILL_MAX_VISIBLE_DATASETS

Test: manual verification
Test: atest CtsAutoFillServiceTestCases FrameworksCoreTests:SettingsBackupTest

Bug: 65700540

Change-Id: I6c864d032bc0b2c3b7c24f300af37883adbaf0d0
2018-07-26 09:18:47 -07:00
Kevin Chyn
aa580f4edc Add secure setting for using face on keyguard
Bug: 111321762

Test: builds
Change-Id: I5a2ec8d1d11be2085f2526c9b73a5206b668c8c8
2018-07-19 12:41:28 -07:00
Hui Yu
0ed84f1263 Better Handling of Battery Stats History Overflow
Previously battery history is kept in the in-memory mHistoryBuffer
with size of 512KB (96KB on low memory device). When the buffer is
close to full we drop certain types of history. When the buffer is
full the whole buffer is reset and we lost elder history. On a
device with long battery life this problem is more frequent.

This CL changes mHistoryBuffer to 128KB (64KB on low memory device).
When the buffer is full, it is saved to history file on file system.
By default we allow 32 history files (64 history files on low-memory
device) which gives us 4MB history (compare to 512KB today).

The MAX_HISTORY_BUFFER and MAX_HISTORY_FILES can be remote configured
through GServices or P/H.

In case of history exceeding 4MB, the oldest history file is deleted
and new history file is open.

This change increases battery history by using disk file and the
chance of losing history is greatly reduced.

Bug: 67297625
Test: adb shell dumpsys batterystats --history
Change-Id: Id9aafea761649d7323b97d1e44135f7880a95414
2018-07-13 17:31:19 -07:00
Julia Reynolds
b992c34510 Merge "Add notification settings to backup&restore" 2018-07-13 14:17:07 +00:00
Julia Reynolds
afc94d724c Add notification settings to backup&restore
Change-Id: I421c7487955ee339f88e3957c973375d0f87e2ff
Fixes: 35655737
Test: presubmit unit tests
2018-07-12 12:41:34 -04:00
Jeff Sharkey
5aae0c9df7 Utility methods useful for working with files.
Part of getting DocumentsUI ready for building against public API.

Test: builds
Bug: 110959821
Change-Id: I7cc0acd5ac3bcc89790cb49f34291ae523e44019
2018-07-11 14:41:24 -06:00
Olivier Gaillard
d2af61a1e8 Merge "Add experiment flag to control binder call stats." 2018-07-09 19:09:47 +00:00
Lucas Dupin
4b4c530ced Revert "Add theme mode design let user can choose theme self"
The CL was intended only for P as a temporary solution.
This reverts commit f0800fa3bd.

Test: switch wallpapers, observe theme
Bug: 110758454
Change-Id: If10e4d87b6ddac10063b2671abd99e0baccdf92e
2018-07-04 11:22:18 -07:00
Olivier Gaillard
1d7f615eec Add experiment flag to control binder call stats.
For instance, to enabled detailed tracking locally.
adb shell settings put global binder_calls_stats detailed_tracking=true

Also adds the ability to turn off data collection completely and
changing the sampling interval. Uploading data through westworld can
re-use the same flag once implemented.

Test: Unit tested

Change-Id: I808c9902b8124ab643d9b197703d537da040ae3e
2018-07-04 13:36:46 +01:00
Yohei Yukawa
1893bd162a Stop restoring spell checker settings
This CL logically reverts the following CL (and some subsequent
changes) to stop restoring spell checker related secure settings.

 * Ib8382f0296f0726b64494d3b1fd8237e13adb540
   06cbaddb87

Reason for revert:
Although we believe it would be great if we can seamlessly migrate to
a new phone with keeping spell checker related settings, there still
remain several tricky scenarios.

 * We are not ready to distinguish whether a certain spell checker
   related setting was explicitly set by the user or programmatically
   set by some components in the previoud device.  This includes the
   case where TextServicesManagerService (TSMS) itself automatically
   updates those settings e.g. by selecting a default spell checker
   service from the pre-installed ones.  We are not sure if trying to
   migrate such an auto-selected setting to a new device actually
   makes sense, especially if it happens without any user
   confirmation.

 * We have a strict rule about what spell checker service can be
   selected automatically, and the rule has been that only
   pre-installed spell checker services can be automatically selected
   by the system, unless some system components that have
   WRITE_SECURE_SETTINGS permission overrides it. Mechanically
   selecting a spell checker service just because it was enabled in
   the previous device may not fit this model well.

 * Unlike IMEs, currently the Android OS allows only one spell checker
   service to be enabled.  This means that if the new device doesn't
   have the corresponding spell checker service, the user will lose
   spell checking functionality even if the device pre-installs
   functional spell checker service.  This problem is hard to notice
   because unlike IMEs spell checker service does not have its own UI.

 * Also unlike IMEs, spell checker related secure settings are still
   hidden and not published as public APIs.  Those settings do not
   have no official compatibility story across devices yet.

 * It is also possible that the default spell checker service in the
   previous device is not published to all the devices thus there is
   no way for the the new device to install it.

This CL therefore excludes spell checker related settings from
backup/restore, as a short-term answer to above scenarios until we
come up with better ideas to deal nicely with them.

Bug: 110367605
Test: atest FrameworksCoreTests:android.provider.SettingsBackupTest
Test: atest FrameworksCoreTests:android.provider.SettingsValidatorsTest
Change-Id: I8e4a0d4b3b758a84d5a075fa52851b1e8dd707eb
2018-07-02 11:31:42 -07:00