Commit Graph

74674 Commits

Author SHA1 Message Date
Nate Fischer
cf08be26fa Merge "WebView: switch to OMR1 FactoryProvider" into oc-mr1-dev am: 417944624b
am: c5731e7c85

Change-Id: If5b5fb05f3d22bd3fa9be32aea7336099184f489
2017-08-14 21:53:19 +00:00
TreeHugger Robot
b0a22a168c Merge "Enable Smart Select Animation by default" 2017-08-14 21:44:44 +00:00
Nate Fischer
c5731e7c85 Merge "WebView: switch to OMR1 FactoryProvider" into oc-mr1-dev
am: 417944624b

Change-Id: I8f00790c93646767aead0b3393bae569d82271b4
2017-08-14 21:30:40 +00:00
Fyodor Kupolov
0aef1c98c9 Merge "Log timings for shutdown stages" into oc-mr1-dev am: fe97799d5d
am: 34cac26ea4

Change-Id: Ifedc47b10e7542a0f28bbee1ac00490513cc0e5f
2017-08-14 21:25:01 +00:00
TreeHugger Robot
417944624b Merge "WebView: switch to OMR1 FactoryProvider" into oc-mr1-dev 2017-08-14 21:17:46 +00:00
Fyodor Kupolov
31fe1bd711 Merge "Make SQLiteDirectCursorDriver @TestApi" into oc-mr1-dev am: 9b9d310a6d
am: 400fed43a5

Change-Id: I00d7c075f3ec1568e3979429ae25d04e9f121ff8
2017-08-14 21:16:10 +00:00
Fyodor Kupolov
34cac26ea4 Merge "Log timings for shutdown stages" into oc-mr1-dev
am: fe97799d5d

Change-Id: Iee66b180ecec69872ac2e96bb943e9d02afc33df
2017-08-14 21:10:59 +00:00
Fyodor Kupolov
400fed43a5 Merge "Make SQLiteDirectCursorDriver @TestApi" into oc-mr1-dev
am: 9b9d310a6d

Change-Id: I69fb3bafc5a77d188e58b11878290da59840b9d5
2017-08-14 21:00:34 +00:00
Fyodor Kupolov
fe97799d5d Merge "Log timings for shutdown stages" into oc-mr1-dev 2017-08-14 20:55:13 +00:00
TreeHugger Robot
9b9d310a6d Merge "Make SQLiteDirectCursorDriver @TestApi" into oc-mr1-dev 2017-08-14 20:52:26 +00:00
Chet Haase
f5a87f7058 Merge "Document existing immutable behavior of ArrayAdapter" 2017-08-14 20:16:48 +00:00
TreeHugger Robot
4abbe93dce Merge "Fix parsing enum types in incident report tool as well as adding some additional loggings" 2017-08-14 20:07:22 +00:00
TreeHugger Robot
9b739de45c Merge "Don't run Smart Select Animation on multiple lines" 2017-08-14 19:32:46 +00:00
Nate Fischer
7b00b32216 WebView: switch to OMR1 FactoryProvider
We now fetch the *ForOMR1 class instead of *ForO, which enables
OMR1-specific code in the WebView APK.

Bug: 63687088
Test: N/A
Change-Id: Ia36a00cd26aff8b87d7aeae859c72cb2fb364d2c
2017-08-14 18:43:28 +00:00
Fyodor Kupolov
6e3461b67c Log timings for shutdown stages
Renamed BootTimingsTraceLog to TimingsTraceLog. It is now used for
 boot and shutdown logging.

Added measurements for main stages of shutdown in the system server:
ShutdownTiming: SendShutdownBroadcast took to complete: 734ms
ShutdownTiming: ShutdownActivityManager took to complete: 203ms
ShutdownTiming: ShutdownPackageManager took to complete: 17ms
ShutdownTiming: ShutdownBt took to complete: 533ms
ShutdownTiming: ShutdownRadio took to complete: 534ms
ShutdownTiming: ShutdownNfc took to complete: 1536ms
ShutdownTiming: ShutdownRadios took to complete: 1538ms
ShutdownTiming: ShutdownStorageManager took to complete: 906ms
ShutdownTiming: SystemServerShutdown took to complete: 3918ms

Bug: 64569080
Test: shutdown/reboot and check logs
Change-Id: I636c045852cd1ed6be1c58af6608f70e95756389
2017-08-14 11:23:29 -07:00
Petar Šegina
e2f826387e Enable Smart Select Animation by default
Test: manual - build and verify the Smart Select Animation works in the
single-line case

Change-Id: Ic6e657c6ee06852644b02f14b9547a2b8bcf9860
2017-08-14 18:55:43 +01:00
Petar Šegina
855396d37a Don't run Smart Select Animation on multiple lines
This behavior is currently broken due to the format of the rectangles
returned by Layout::getSelection. Let's disable the animation in
multiline scenarios until this behavior is fixed.

Test: manual - enable Smart Select flag and test over single and
multiple lines
Change-Id: Id0c49a0d69a8f2bdb449cfc8f0ed43e529f41cc1
2017-08-14 18:55:12 +01:00
Guliz Tuncay
db18b5520f Merge "Multi-user aware TSMS" 2017-08-14 17:52:48 +00:00
Jeremy Joslin
ea58747371 Merge "Add permission checks to getActiveScorerPackage()." into oc-mr1-dev am: 66042e0caf
am: e5cdc925dd

Change-Id: I673af2506d51945dc02f484efe98facfbe99b943
2017-08-14 17:11:10 +00:00
Jeremy Joslin
e5cdc925dd Merge "Add permission checks to getActiveScorerPackage()." into oc-mr1-dev
am: 66042e0caf

Change-Id: I8a090f5dfbdc6d47de9838d8c8bf48f95d831531
2017-08-14 16:59:06 +00:00
TreeHugger Robot
66042e0caf Merge "Add permission checks to getActiveScorerPackage()." into oc-mr1-dev 2017-08-14 16:50:50 +00:00
Michal Karpinski
10a23a69bb Add extra about SDK version that system restore happened from to ACTION_SETTING_RESTORED intent am: 6135a26551
am: 1a7a743fea

Change-Id: If9b944d16dfc297f8cd0a3eded191170fd278b90
2017-08-14 13:28:57 +00:00
Michal Karpinski
1a7a743fea Add extra about SDK version that system restore happened from to ACTION_SETTING_RESTORED intent
am: 6135a26551

Change-Id: I25663df1efd88216b0bdbe22cc53aaaaf0d3dd75
2017-08-14 13:21:18 +00:00
Petar Šegina
e390cd0457 Merge "Add animation for Semantic Lift" 2017-08-14 11:47:34 +00:00
Michal Karpinski
6135a26551 Add extra about SDK version that system restore happened from
to ACTION_SETTING_RESTORED intent

Test: manual (system restore from N-MR1 and O)
Bug: 64232609
Change-Id: I142df7acb11309bc4f5f185e45a1f91f86d0334a
2017-08-14 11:22:15 +01:00
Jeff Sharkey
b358b9f673 Merge "Remove a bunch of deprecated @SystemApi." into oc-mr1-dev am: c2e09129e0
am: b2a9f55488

Change-Id: Ib7e00ad3b02bf62fad1cc32c9e6002b2b7a45369
2017-08-12 03:38:00 +00:00
Jeff Sharkey
b2a9f55488 Merge "Remove a bunch of deprecated @SystemApi." into oc-mr1-dev
am: c2e09129e0

Change-Id: I26089a2aef16845f2e2935e95810457e287bd0e1
2017-08-12 03:25:49 +00:00
Jeff Sharkey
c2e09129e0 Merge "Remove a bunch of deprecated @SystemApi." into oc-mr1-dev 2017-08-12 03:21:01 +00:00
Jeff Sharkey
f4b07b9ba4 Merge "Rename API to match StorageStats." into oc-mr1-dev am: 74f7a1425f
am: 6099e1c142

Change-Id: I8241dc312a087cb84e5d51fd6db5aeced5e87a2c
2017-08-12 01:15:43 +00:00
Jeff Sharkey
6099e1c142 Merge "Rename API to match StorageStats." into oc-mr1-dev
am: 74f7a1425f

Change-Id: I87815da4f2f96c476fcdfdb3361d0f43b895e909
2017-08-12 00:45:19 +00:00
Shuzhen Wang
2899ed6fda Merge "Camera2: Legacy: Add onRequestQueueEmpty callback" into oc-mr1-dev am: 4dde010145
am: 7ff3038385

Change-Id: I58077003219ed03ba08e5aab1475f2d46219825f
2017-08-12 00:29:10 +00:00
Yi Jin
f32af48069 Fix parsing enum types in incident report tool as well as adding
some additional loggings

Test: manually flashed to device and test calling IncidentManager.java
functions
Change-Id: I69610414edde865b20ba632837f037fbe43f99db
2017-08-11 17:28:12 -07:00
TreeHugger Robot
74f7a1425f Merge "Rename API to match StorageStats." into oc-mr1-dev 2017-08-12 00:16:43 +00:00
Sunny Goyal
89b36aead8 Merge "Promoting installExistingPackage to SystemApi" into oc-mr1-dev am: 6561f067bb
am: 675ae0a16f

Change-Id: I2306aa572a17ec637bdeca0f98ed4e07eb48622c
2017-08-12 00:14:04 +00:00
Sheng-Hao Tsao
b6109a64e2 Merge "Fix a bug that SurfaceView loses transformation" into oc-mr1-dev am: e22ecbdd61
am: 8bb38b555b

Change-Id: I700178674fa12d088bdf2b1bb67ea1f12fb33b53
2017-08-12 00:08:10 +00:00
Shuzhen Wang
7ff3038385 Merge "Camera2: Legacy: Add onRequestQueueEmpty callback" into oc-mr1-dev
am: 4dde010145

Change-Id: Ib2ea8e264fbb4a0833b2cae0f62c6485ea6f0613
2017-08-11 23:45:11 +00:00
Android Build Merger (Role)
3822c273dc Merge "Merge "Reland: PackageManager: update documentation for FEATURE_WIFI_PASSPOINT" into oc-mr1-dev am: 3df6be7875 am: de90ca8412" 2017-08-11 23:31:52 +00:00
Sunny Goyal
675ae0a16f Merge "Promoting installExistingPackage to SystemApi" into oc-mr1-dev
am: 6561f067bb

Change-Id: If6a3158d88f4ed1590931e0c70efbab3c9115e97
2017-08-11 23:31:29 +00:00
Roozbeh Pournader
c9c6ee667f Merge "Support multiple languages per font in fonts.xml" 2017-08-11 23:27:50 +00:00
Peter Qiu
c685c4d350 Merge "Reland: PackageManager: update documentation for FEATURE_WIFI_PASSPOINT" into oc-mr1-dev am: 3df6be7875
am: de90ca8412

Change-Id: Idace7218dc222d6edcebf77861f941a3684a3211
2017-08-11 23:27:24 +00:00
Sheng-Hao Tsao
8bb38b555b Merge "Fix a bug that SurfaceView loses transformation" into oc-mr1-dev
am: e22ecbdd61

Change-Id: I893e8346ce58b39f1e84a7e38af6a04f11f03800
2017-08-11 23:26:07 +00:00
Michal Karpinski
2acdbae855 Merge "Merge "Add "Threading" section to BackupAgent's class level javadoc" into oc-mr1-dev am: 5500732584" into oc-mr1-dev-plus-aosp
am: 3e7f323481

Change-Id: I6ab2c9d851ebfe46b7e62753f047ef2976524f6a
2017-08-11 22:53:04 +00:00
TreeHugger Robot
4dde010145 Merge "Camera2: Legacy: Add onRequestQueueEmpty callback" into oc-mr1-dev 2017-08-11 22:47:53 +00:00
Peter Qiu
de90ca8412 Merge "Reland: PackageManager: update documentation for FEATURE_WIFI_PASSPOINT" into oc-mr1-dev
am: 3df6be7875

Change-Id: Idc8943172f4540b1c7da47c6da24d5d1eed843a4
2017-08-11 22:35:10 +00:00
Guliz Tuncay
06a2624049 Multi-user aware TSMS
Currently, spell checker component can process requests only from the
foreground user's account and requests from background users are always
ignored. However, in order to fully realize the multi-user nature of
Android, most system services will need to truly support multiple users
simultaneously. With multi-user aware TSMS implemented, apps from
background users (other accounts and their work profiles) can also run
their spell checking jobs in batch, without the external device user
having to switch accounts for the spell checker to be enabled in that
account.

Bug: 63041121
Test: Manually as follows
Setup: Create a work profile and a secondary user
1. adb shell pm create-user --profileOf 0 --managed workprofile (userId 10)
2. adb shell am create-user seconrdaryuser1 (userId 11)
3. Build SampleSpellCheckerService, which is by default
    direct-boot unaware.
     package name: com.example.android.samplespellcheckerservice
     APK name: SampleSpellCheckerService_DBUnaware.apk
4. Also build a custom SampleSpellCheckerService by explicitly
     making '.SampleSpellCheckerService' direct-boot aware.
     package name: com.example.android.samplespellcheckerservice2
     APK name: SampleSpellCheckerService_DBAware.apk
5. adb install --user 0 -r SampleSpellCheckerService_DBUnaware.apk
6. adb install --user 10 -r SampleSpellCheckerService_DBUnaware.apk
7. adb install --user 11 -r SampleSpellCheckerService_DBUnaware.apk
8. adb install --user 0 -r SampleSpellCheckerService_DBAware.apk
9. adb install --user 10 -r SampleSpellCheckerService_DBAware.apk
10. adb install --user 11 -r SampleSpellCheckerService_DBAware.apk
11. make -j ApiDemos
12. adb install --user 0 -r $ANDROID_PRODUCT_OUT/data/app/ApiDemos/ApiDemos.apk
13. adb install --user 10 -r $ANDROID_PRODUCT_OUT/data/app/ApiDemos/ApiDemos.apk
14. adb install --user 11 -r $ANDROID_PRODUCT_OUT/data/app/ApiDemos/ApiDemos.apk
15. Make sure AOSP Keyboard (com.android.inputmethod.latin) is installed
for all users.

Test 1: Settings correctly updated for each user (Work profile's SC is
not bound to account and can be individually updated)
0. Complete Setup
1. adb shell am start-user 0
2. adb shell am start-user 10
3. adb shell am start-user 11
4. adb shell settings put --user 0 secure selected_spell_checker com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
5. adb shell settings put --user 10 secure selected_spell_checker com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
6. adb shell settings put --user 11 secure selected_spell_checker com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
7. adb shell settings get --user 0 secure selected_spell_checker
         -> com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
8. adb shell settings get --user 10 secure selected_spell_checker
         -> com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
9. adb shell settings get --user 11 secure selected_spell_checker
         -> com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
10. adb shell settings put --user 0 secure selected_spell_checker com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
11. adb shell settings get --user 0 secure selected_spell_checker
         -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
12. Repeat 8 & 9. Results should be the same.
13. adb shell settings put --user 10 secure selected_spell_checker com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
14. adb shell settings get --user 10 secure selected_spell_checker
         -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
15. adb shell settings get --user 0 secure selected_spell_checker
         -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
16. adb shell settings get --user 11 secure selected_spell_checker
         -> com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
17. adb shell settings put --user 11 secure selected_spell_checker com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
14. adb shell settings get --user 11 secure selected_spell_checker
         -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
14. adb shell settings get --user 0 secure selected_spell_checker
         -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
15. adb shell settings get --user 10 secure selected_spell_checker
         -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
16. adb shell am start-user 0
17. adb shell am start-user 10
18. adb shell am start-user 11
19. adb shell settings put --user 0 secure selected_spell_checker com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
20. adb shell settings put --user 10 secure selected_spell_checker com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
21. adb shell settings put --user 11 secure selected_spell_checker com.example.android.samplespellcheckerservice/.SampleSpellCheckerService

Test 2: Basic functionality works (each user can use SC when they're at
the foreground) & background connections aren't broken
0. Complete Setup
1. Open "Api Demos" app for user 0
2. Go to Views/Text/EditText
3. Focus into the first EditText then type "aaa"
4. Focus into the second EditText then type "aaa"
5. adb shell dumpsys textservices --user 0
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.
6. adb shell dumpsys textservices --user 10
         -> make sure there are no active spell checker sessions.
7. adb shell dumpsys textservices --user 10
         -> make sure there are no active spell checker sessions.
8. Repeat 7-10 for the work profile (userId 10)
9. adb shell dumpsys textservices --user 10
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.
10. adb shell am switch-user 11
11. Repeat 7-10 (userId 11)
12. adb shell dumpsys textservices --user 11
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.
13. adb shell dumpsys textservices --user 0
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.
14. adb shell dumpsys textservices --user 10
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.

Test 3: Background user can also call spell checker APIs
0. Complete Setup
1. adb shell pm install -r TestApp.apk
2. adb shell am switch-user 11
3. adb shell am start --user 11 -n com.example.gulizseray.testapp/com.example.gulizseray.testapp.MainActivity
4. adb logcat | grep spellcheckerclient
        -> Periodically calls spell checker APIs and prints results
5. adb shell dumpsys textservices --user 11
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.
6. Adb shell am switch-user 0
7. adb logcat | grep spellcheckerclient
        -> Continues to periodically call SC APIs and print results
8. Open "Api Demos" app for user 0
9. Go to Views/Text/EditText
10. Focus into the first EditText then type "aaa"
11. Focus into the second EditText then type "aaa"
12. adb shell dumpsys textservices --user 0
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.
13. adb shell dumpsys textservices --user 11
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.

Test 4: Package updates for all unlocked users (not just foreground user) are tracked properly (New package added/removed from owner, profile, secondary users)
0. Complete Setup
1. adb uninstall --user 0 com.example.android.samplespellcheckerservice
2. adb shell dumpsys textservices --user 0
        -> Make sure com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
        does not exist in the list
3. adb shell settings get --user 0 secure selected_spell_checker
       -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
4. adb uninstall --user 10 com.example.android.samplespellcheckerservice
5. adb shell dumpsys textservices --user 10
        -> Make sure com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
        does not exist in the list
6. adb shell settings get --user 10 secure selected_spell_checker
       -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
7. adb uninstall --user 11 com.example.android.samplespellcheckerservice
8. adb shell dumpsys textservices --user 11
        -> Make sure com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
        does not exist in the list
9. adb shell settings get --user 11 secure selected_spell_checker
       -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
10. adb install --user 0 -r out/target/product/generic/system/app/SampleSpellCheckerService/SampleSpellCheckerService.apk
11. adb shell dumpsys textservices --user 0
       -> Make sure com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
       is in the list

12. adb shell settings get --user 0 secure selected_spell_checker
       -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
13. adb install --user 10 -r out/target/product/generic/system/app/SampleSpellCheckerService/SampleSpellCheckerService.apk
14. adb shell dumpsys textservices --user 10
       -> Make sure com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
       is in the list
15. adb shell settings get --user 10 secure selected_spell_checker
       -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService
16. adb install --user 11 -r out/target/product/generic/system/app/SampleSpellCheckerService/SampleSpellCheckerService.apk
17. adb shell dumpsys textservices --user 11
       -> Make sure com.example.android.samplespellcheckerservice/.SampleSpellCheckerService
       is in the list
18. adb shell settings get --user 11 secure selected_spell_checker
       -> com.android.inputmethod.latin/.spellcheck.AndroidSpellCheckerService

Test 5: SpellCheckerBindGroups will be cleared when the corresponding
app is killed.
0. Complete Setup
1. Open "Api Demos" app for user 0
2. Go to Views/Text/EditText
3. Focus into the first EditText then type "aaa"
4. Focus into the second EditText then type "aaa"
5. adb shell dumpsys textservices --user 0
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.
6. Kill Api Demos
7. adb shell dumpsys textservices --user 0
         -> make sure there are no active spell checker sessions.
8. Repeat 1-7 for work profile (user 10)
9. adb shell am switch-user 11
10. Repeat 1-7 for secondary user (user 11)
12. adb shell pm install -r TestApp.apk
13. adb shell am start --user 11 -n com.example.gulizseray.testapp/com.example.gulizseray.testapp.MainActivity
14. adb shell dumpsys textservices --user 11
         -> make sure 'com.example.android.samplespellcheckerservice'
            is serving spell checker sessions.
15. adb shell am switch-user 0
16. adb shell am force-stop com.example.gulizseray.testapp
17. adb shell dumpsys textservices --user 11
         -> make sure there are no active spell checker sessions.
Change-Id: I06c27ef834203a21cc445dc126602c799384527b
2017-08-11 15:31:40 -07:00
Michal Karpinski
b4aa5fd3d9 Merge "Add "Threading" section to BackupAgent's class level javadoc" into oc-mr1-dev
am: 5500732584

Change-Id: Ibbe75bff86138dfd0d2b623dffd08610c5b3823e
2017-08-11 22:09:28 +00:00
TreeHugger Robot
6561f067bb Merge "Promoting installExistingPackage to SystemApi" into oc-mr1-dev 2017-08-11 21:56:59 +00:00
TreeHugger Robot
e22ecbdd61 Merge "Fix a bug that SurfaceView loses transformation" into oc-mr1-dev 2017-08-11 21:49:22 +00:00
Cindy Kuang
a585058b54 Merge "Merge "docs: replaced "i.e." to fix formatting error" into oc-dev am: 0580ac8a65 am: 1e6401b07e" into oc-dr1-dev-plus-aosp am: a54ab7edf4
am: 3e85fa11ea

Change-Id: I3219a23702cb0d597093f03d2bebcf21722ca695
2017-08-11 21:43:11 +00:00
Cindy Kuang
61130c49a3 Merge "docs: replaced "i.e." to fix formatting error" into oc-dev am: 0580ac8a65
am: 07f5257b19

Change-Id: I0ac6fa46922bb2866cfb416763dfcfac10fdd909
2017-08-11 21:34:57 +00:00