Commit Graph

3842 Commits

Author SHA1 Message Date
Andrii Kulian
5007c67a70 Merge "Don't require post-execution state for onActivityResult" into pi-dev 2018-04-20 23:21:25 +00:00
Andrii Kulian
e55b009a3d Don't require post-execution state for onActivityResult
According to the documentation, onActivityResult() should be called
immediately before onResume(). This, however, was not always the case
in previous releases and fixing this caused some app compatibility
issues.
This CL removes required post execution state for ActivityResultItem.

Bug: 77695691
Test: ActivityLifecycleTests
Change-Id: Id8c02e9b49f9758aac616e37948570722d802de8
2018-04-20 12:58:49 -07:00
TreeHugger Robot
5e12ebfffd Merge "Defer resizing invisible stacks while drag resizing" into pi-dev 2018-04-20 14:43:38 +00:00
Adrian Roos
a6d6aab0e0 Defer resizing invisible stacks while drag resizing
Works around a source of jank when drag resizing in split
screen mode: instead of immediately resizing the (potentially
numerous) invisible secondary stacks, we defer that until
the user lets go of the handle.

Change-Id: I3b9faa83005fa86185d4e51b2849e3a826b7f6a9
Fixes: 78214347
Test: Open a gazillion (resizeable) tasks. Enter split screen. Drag handle, verify there is no jank
Test: atest RectTest
2018-04-20 15:09:02 +02:00
Pavlin Radoslavov
a291ce625a Fix the implementation of BluetoothCodecStatus.equals()
Previously, the BluetoothCodecStatus.equals() implementation
was incorrect when comparing arrays of capabilities.
In the new implementation, the arrays are compared correctly,
and also the ordering of the capabilities in each array is ignored.

Also, added unit tests for class BluetoothCodecConfig and class
BluetoothCodecStatus.

Bug: 73404858
Bug: 73379307
Test: Unit tests (in frameworks/base)
  runtest --path core/tests/bluetoothtests/src/android/bluetooth/BluetoothCodecConfigTest.java
  runtest --path core/tests/bluetoothtests/src/android/bluetooth/BluetoothCodecStatusTest.java

Change-Id: If22087465397b7c4175c33f7d1909a15d957fb24
Merged-In: If22087465397b7c4175c33f7d1909a15d957fb24
(cherry picked from commit 9d36e6babc)
2018-04-19 17:26:31 -07:00
Makoto Onuki
dbdf5df96e Merge "Split provider / service dumpsys into platform and non-platform" into pi-dev 2018-04-19 17:21:48 +00:00
TreeHugger Robot
af52d9815a Merge "Add setting for GNSS location request update duration" into pi-dev 2018-04-18 18:10:04 +00:00
Neil Fuller
587cf4105f Merge "Correct sendBroadcast test" into pi-dev 2018-04-18 07:44:37 +00:00
Qingxi Li
ff03f0cfe4 Merge "Add Global Settings to device whether show Carrier menu" into pi-dev 2018-04-17 22:20:59 +00:00
Daniel Bonnevier
64d3b2642a Correct sendBroadcast test
Commit 23eb3a19 changed the implementation from sendBroadcast to
sendBroadcastAsUser but didn't change the test.

Test: adb shell am instrument -r -w -e class \
        android.app.timezone.RulesUpdaterContractTest#sendBroadcast \
        com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Bug: 78166765
Change-Id: I0a47e096a46fc63d46dd9ff878a4af0d76af82f0
(cherry picked from commit b8ab470c27)
2018-04-17 18:17:35 +00:00
Makoto Onuki
0b575a3cdf Split provider / service dumpsys into platform and non-platform
Also extend the timeout to 60 seconds.
- Because each provider / service dump may time out, the total time should relatively be large.

Bug: 78017892
Fix: 78017892

Test: Manual test with the following dumpsys commands:
dumpsys activity provider all
dumpsys activity provider all-platform
dumpsys activity provider all-non-platform
dumpsys activity provider com.android.providers.contacts/com.android.providers.contacts.VoicemailContentProvider
dumpsys activity provider com.android.providers.contacts/.VoicemailContentProvider
dumpsys activity provider contacts
dumpsys activity provider voicemail
dumpsys activity provider 4d45a78

dumpsys activity service all
dumpsys activity service all-platform
dumpsys activity service all-non-platform
dumpsys activity service bluetooth

Test: atest /android/pi-dev/frameworks/base/core/tests/coretests/src/com/android/internal/util/DumpTest.java
Test: atest /android/pi-dev/frameworks/base/core/tests/coretests/src/com/android/internal/util/ParseUtilsTest.java

Test: Manual test with "adb bugreport" with adding sleep(10s) to ProviderMap.dumpProvider()

Change-Id: I00bce0090b8dbb947d7f8b1e5d01bb8a70d84bd8
2018-04-17 10:41:40 -07:00
Qingxi Li
ead1271f1c Add Global Settings to device whether show Carrier menu
Add Global Settings EUICC_SUPPORTED_COUNTRIES. When the device enabled
esim UI by default and the users in eSIM supported countries, even if
eSIM is not provisioned, carrier menu will be shown. This global
settings will be updated by eSIM mamanger when the phone boot up.

Bug: 77638033
Test: E2E
Change-Id: Ib3ac8bcdfab56d6cd7c12e48318f1794af5bc1aa
2018-04-17 10:02:37 -07:00
Jeff Sharkey
3fc37deca8 Benchmarks for streams.
We've been advocating as little usage of streams as possible inside
the system_server, and this is a benchmark showing the costs of using
streams compared to rolling manual logic.

Results on a taimen show that direct route is 2.2x faster (!).

    Trial Report (1 of 2):
      Experiment {instrument=runtime, benchmarkMethod=timeDirect, vm=app_process, parameters={}}
      Results:
        runtime(ns): min=47234.28, 1st qu.=47234.28, median=47234.28, mean=47234.28, 3rd qu.=47234.28, max=47234.28
    Trial Report (2 of 2):
      Experiment {instrument=runtime, benchmarkMethod=timeStreams, vm=app_process, parameters={}}
      Results:
        runtime(ns): min=105660.39, 1st qu.=105660.39, median=105660.39, mean=105660.39, 3rd qu.=105660.39, max=105660.39

Bug: 77808546
Test: vogar --mode app_process --benchmark frameworks/base/core/tests/benchmarks/src/android/util/StreamsBenchmark.java
Change-Id: Iac43a75970eee2c91593316a1b5a45d2c96c476b
2018-04-12 10:43:22 -06:00
Mathew Inwood
fb55bd8706 Merge "Configurable sampling rate for hidden API access log events." into pi-dev 2018-04-11 16:45:19 +00:00
TreeHugger Robot
2370f368d4 Merge "DisplayCutout: Draw anti-aliased bounds in soft overlay" into pi-dev 2018-04-11 16:44:32 +00:00
Adrian Roos
51072a8b6f DisplayCutout: Draw anti-aliased bounds in soft overlay
To do so, we cannot use the Region from DisplayCutout, because it is conceptionally
a binary Bitmap. Instead, we need the exact curve as a Path.

Also fixes a theoretical bug where the DisplayCutout
was cached even though the display height changed.

Change-Id: I9356f4589186fedc5dc95010c7bd1a1fa20edf5e
Fixes: 77868940
Test: Enable display cutout in developer options, verify the edges look smoth and not jagged.
Test: atest DisplayCutoutTest
2018-04-11 16:12:29 +00:00
TreeHugger Robot
55ae317213 Merge "Fix {Spanned|Spannable}StringNoCopyTest test cases" into pi-dev 2018-04-10 20:32:20 +00:00
TreeHugger Robot
0e675bd901 Merge "Exempt tests for hidden APIs." into pi-dev 2018-04-10 16:34:05 +00:00
Mathew Inwood
04194fef78 Configurable sampling rate for hidden API access log events.
To reduce log spam, we do not log all hidden API accesses. This CL allows
configuration of the sampling rate of the log events so it can be tweaked
later if necessary.

Test: m
Test: $ adb shell settings put global hidden_api_access_log_sampling_rate 65536
Bug: 64382372
Bug: 77517571
Change-Id: I659c22bd504564da58d972f94b774a9af4039386
2018-04-10 16:57:07 +01:00
Jeff Sharkey
52b4692192 Merge "Offer to format data sizes in either IEC or SI." into pi-dev 2018-04-10 15:02:23 +00:00
TreeHugger Robot
9139bbfa9b Merge "Different hidden API enforcement policy for P & pre-P." into pi-dev 2018-04-10 13:07:41 +00:00
TreeHugger Robot
082147cfe1 Merge "Added system-wide minimum brightness curve." into pi-dev 2018-04-10 11:28:44 +00:00
Mathew Inwood
1ab3025cc7 Different hidden API enforcement policy for P & pre-P.
Also make these configurable so we have the flexibility to change it if
necessary.

Setting the policy inside ActivityManagerService is not ideal, as that
means that AMS is the only place where the policy in ApplicationInfo is
correct. It should really be set inside PackageManagerService. However,
if it's set there, it would get out of date when the settings change, and
we'd have to update inside AMS anyway. So putting it only here seems ok
for now.

Test: $ adb shell settings put global hidden_api_policy_pre_p_apps 2
Test: $ adb shell settings put global hidden_api_policy_p_apps 2
Bug: 64382372
Change-Id: Ic4cbbb1e6464623e90c17ae08c0b6cbbe0dfa125
2018-04-10 10:13:07 +01:00
Dianne Hackborn
1f596e0c2e Merge "Fix issue #77721907: Add global setting to hide all error dialogs" into pi-dev 2018-04-10 06:24:50 +00:00
Jeff Sharkey
415716915e Offer to format data sizes in either IEC or SI.
Add flags to let callers specify if they want IEC (power-of-two) or
SI (power-of-ten) units when formatting bytes.

Continue using SI units by default, since certain folks seem to have
strong opinions about that.

Bug: 76159924
Test: atest android.text.format.FormatterTest
Exempt-From-Owner-Approval: previous PS approved
Change-Id: I0074bb2578c2230e938b3f39c2564b1083feb825
2018-04-09 20:23:54 -06:00
Christine Franks
a1b3aa27dd Merge "Whitelist DISPLAY_COLOR_MODE setting for B&R" into pi-dev 2018-04-10 00:16:02 +00:00
Jeff Sharkey
5e0d360411 Merge "API council requested tweaks to SubscriptionPlan." into pi-dev 2018-04-09 23:20:43 +00:00
Christine Franks
1269960d99 Whitelist DISPLAY_COLOR_MODE setting for B&R
Bug: 68664032
Test: make -j100 && atest SettingsBackupTest && atest
SettingsValidatorsTest
Change-Id: I1d38acfcd3e6a0c228ae6891581b3218d4a67e6b
2018-04-09 14:41:59 -07:00
Dianne Hackborn
82b17ca340 Fix issue #77721907: Add global setting to hide all error dialogs
adb shell settings put global hide_error_dialogs 1

This forces the same behavior as other devices that hide all
dialogs.

Bug: 77721907
Test: manual
Change-Id: I93e03d55f885f1874c33f46cad8cede0c759063b
2018-04-09 10:35:37 -07:00
TreeHugger Robot
70df722321 Merge "More knobs for connectivity experiments." into pi-dev 2018-04-09 17:33:15 +00:00
Jan Althaus
706edbd776 Merge "Fixing broken logging of OTHER events" into pi-dev 2018-04-09 13:09:55 +00:00
Annie Meng
3a7e021169 Merge "Don't backup/restore screen brightness" into pi-dev 2018-04-09 09:53:48 +00:00
TreeHugger Robot
1f2c6dea41 Merge "Fix crash when modifying Selection" into pi-dev 2018-04-09 09:26:42 +00:00
Robin Bennett
219e139651 Merge "Add setting/experiment to send keycode sleep for ungaze when Home is the foreground activity." into pi-dev 2018-04-09 07:41:20 +00:00
Jan Althaus
4f9d750e91 Merge "Remove legacy logger" into pi-dev 2018-04-07 12:06:12 +00:00
Jan Althaus
5a03094ebc Remove legacy logger
Migrate DefaultLogger implementation to SelectionSessionLogger.
This cleans up after the API refactor and fixes two bugs:
- All events are currently logged twice.
- Interfaces accept a null signature, but it currently crashes the legacy logger.

Bug: 73392698
Bug: 77659305
Test: atest FrameworksCoreTests:TextClassificationManagerTest
Test: atest FrameworksCoreTests:TextClassificationTest
Test: atest CtsViewTestCases:TextClassificationManagerTest
Test: atest CtsViewTestCases:TextClassifierValueObjectsTest
Test: atest CtsWidgetTestCases:TextViewTest
Test: atest CtsWidgetTestCases:EditTextTest
Test: Manually examined logs
Change-Id: I0d2b925abf5cab12d71fc2cc0fa527530c86ab10
2018-04-07 12:04:49 +00:00
Jan Althaus
35b3057627 Fixing broken logging of OTHER events
This bug means we never received logs for events like 'Web Search'

Bug: 77659305
Test: atest FrameworksCoreTests:SelectionEventTest
Change-Id: I6f79897f548d0d19710578e309e0b645bb78e1e3
2018-04-07 09:43:41 +02:00
Yu-Han Yang
ab3e7bdd62 Add setting for GNSS location request update duration
Bug: 77696830
Test: atest SettingsBackupTest
Change-Id: I4514070ba12de2d1c4c47c03a9bf70d8f57fe197
2018-04-06 11:44:21 -07:00
Dan Gittik
122df86891 Added system-wide minimum brightness curve.
The minimum brightness curve guarantess that any brightness curve
that dips below it is rejected by the system.
This prevent auto-brightness from setting the screen so dark as to
prevent the user from resetting or disabling it, and maps lux to
the absolute minimum nits that are still readable in that ambient
brightness.

Test: atest BrightnessConfigurationTest.

Fixes: 77176207

Change-Id: Ibd1e83e9b147f3849d6c907f828cbe5950c8367f
2018-04-06 17:04:45 +01:00
Clara Bayarri
4e51877f5c Fix crash when modifying Selection
The root of this bug was in the fact that Selection.removeSelection
removes two spans, the start index and end index of the selection.
Each span removal triggers Editor#onSpanRemoved, which in turn tries
to set a selection. This meant that if we started with selection
(100, 120), then removeSpan(start) was called, so we had (-1, 120),
then the onSpanRemoved code tried to set a selection so set it to
(120, 120), then removeSpan(end) was called, ending up in (120, -1).

There are two stages to this fix
1. A lot of our code assumes that when either start or end selection
are larger than -1, both are valid. Therefore when we have one of them
out of sync, we crash. Fixed this assumption in all the places I found

2. We didn't have a mechanism to use FLAG_INTERMEDIATE when removing
spans, only when adding them, so this CL adds a remove with flags. This
allows us to not trigger onSpanRemoved when only one of the selection
indexes is removed.
Because this is an added method to an interface, the default just
calls the existing method. The new method is implemented in
SpannableStringInternal and SpannableStringBuilder to read
FLAG_INTERMEDIATE and avoid sending a spans changed event.
Selection.removeSelection then uses FLAG_INTERMEDIATE when removing
the first of the two selection spans.

Note that 2. would be enough to fix the current bug, but we want to
avoid other implementations of Spannable from crashing in the wild.
In general, it seems like a good idea to verify both selection indexes
are valid whenever they are used.

Bug: 72101848
Test: atest FrameworksCoreTests:SpannableStringBuilderTest
Test: atest FrameworksCoreTests:SpannableStringTest
Test: atest CtsWidgetTestCases:TextViewTest
Test: atest CtsWidgetTestCases:EditTextTest
Test: atest android.text.cts.SelectionTest (note new test as well)
Test: atest android.view.inputmethod.cts.BaseInputConnectionTest
Test: atest android.text.DynamicLayoutTest
Change-Id: I0d647fad152d0bef0f2115a46c3d17ebd8642281
2018-04-06 16:51:53 +01:00
Nicolas Geoffray
b0284fb5de Exempt tests for hidden APIs.
Bug: 64382372
Bug: 74963051
Test: m
Change-Id: I5234dd6230f2bdd6ffccbf12b25a02d929d20161
2018-04-06 14:54:39 +01:00
Annie Meng
aeeb24e9cd Don't backup/restore screen brightness
We no longer want to backup and restore screen brightness as it could
leave the new device in an unusable state and doesn't make sense
cross-device.

Test: 1) atest SettingsBackupTest
2) atest SettingsValidatorsTest
3) Manual:
- Old backup set that has screen brightness does not restore with change
- Screen brightness does not backup or restore with change
Bug: 77583401
Merged-In: I8a6d950717e6aeb9bf6773c14708ee70069f9df0

Change-Id: I8a6d950717e6aeb9bf6773c14708ee70069f9df0
(cherry picked from commit 931b41b71a)
2018-04-06 12:48:23 +00:00
TreeHugger Robot
b1bcab2210 Merge "Implements GNSS satellite blacklist" into pi-dev 2018-04-05 23:28:19 +00:00
Yu-Han Yang
66c7ea91b4 Implements GNSS satellite blacklist
Bug: 38269641

Test: m -j ROBOTEST_FILTER=GnssSatelliteBlacklistHelperTest RunFrameworksServicesRoboTests
Test: atest SettingsBackupTest
Test: Tested with adb on device

Change-Id: Ifaa330bf74353ea5c8826f0000d1935258b8dbf2
2018-04-05 08:57:04 -07:00
Jeff Sharkey
36b414bc2d More knobs for connectivity experiments.
Keep the same default values in place for calculating opportunistic
quotas, but now allow experiments to override these values.

Tests to verify behavior of defaults.

Bug: 72353440
Test: atest com.android.server.NetworkPolicyManagerServiceTest
Change-Id: I38c225fd141b2e94085ca4cce17ecd51fee3f3aa
2018-04-04 22:07:44 +00:00
Jeff Sharkey
0fc6d03b62 API council requested tweaks to SubscriptionPlan.
Return new shiny Range<> object instead of Pair<>.  Tell developers
what permission to check on refresh broadcast.  Describe what
exceptions might be thrown, and that an empty list is okay.

Allow creation of plans with richer Period object, instead of forcing
them into rigid week or day options.

Protect SubscriptionPlan broadcast.

Test: atest android.util.RecurrenceRuleTest
Test: atest com.android.server.NetworkPolicyManagerServiceTest
Bug: 74945820
Change-Id: I7e555798e0cfaa214ca93d9df627c6443fc5d986
2018-04-04 16:06:27 -06:00
Richard Ledley
ab669a01a7 Use Collection instead of List for entity list
Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest FrameworksCoreTests:android.view.textclassifier.TextLinksTest

Bug: 76448224

Change-Id: I354fa05f14b22075c2172624925f5b953956f3a4
2018-04-04 17:42:07 +01:00
Robin Bennett
1193a35bcd Add setting/experiment to send keycode sleep for ungaze when Home is the
foreground activity.

Bug: 77253874

Change-Id: Ic799eec8439786ae20bb366b9d4e93ec30d34070
2018-04-04 09:45:55 +01:00
Remi NGUYEN VAN
9ab1da2052 Merge "Add settings to configure default multipath quota." into pi-dev 2018-04-04 01:23:42 +00:00
Phil Weaver
9e418b8dd2 Move cts tests using reflection
Moving them into unit tests.

Bug: 77266422
Test: Run a11y coretests
Change-Id: Id6305586a43c0a8fc9df207765ed3f0459ae247e
2018-04-03 11:08:21 -07:00