Commit Graph

1989 Commits

Author SHA1 Message Date
Abodunrinwa Toki
c5b54bae62 Make TextViewActivityTests MediumTests
Test: This is the test.
Change-Id: Ie048f5b4b5988df3dba1b7fd277342abd672987f
2016-10-25 11:03:53 +01:00
Andrew Scull
22851dbcb2 Merge "Refactor password metric computation." 2016-10-25 09:04:58 +00:00
Keisuke Kuroyanagi
46ca471d25 Merge "Fix: Selection created by long tap and drag can be empty." 2016-10-25 01:20:22 +00:00
TreeHugger Robot
03db8e4b58 Merge changes I1a544a8d,Ie78d3fb0
* changes:
  IpConnectivityMetrics: rate limit ApfProgramEvents
  IpConnectivityMetrics reads buffer size in settings
2016-10-24 14:45:46 +00:00
Hugo Benichi
e1c173d224 IpConnectivityMetrics: rate limit ApfProgramEvents
This patch uses the previously introduced TokenBucket to rate limit
ApfProgramEvents, still allowing for burst of ApfProgramEvents when a
new interface is set up (due to ipv4 provisioning, multicast lock, ipv6 RAs
triggering new APF program events in short amounts of time).

Test: new test in IpConnectivityMetricsTest
Bug: 1550402
Change-Id: I1a544a8d62e6b02f0ed0088ab76c4bad338d2f44
2016-10-24 21:54:37 +09:00
Hugo Benichi
58a7220b89 Merge "TokenBucket for rate-limiting and throttling" 2016-10-24 04:48:37 +00:00
Andrew Scull
5f9e6f37b2 Refactor password metric computation.
This unifies previously duplicated code.

Bug: 30558331
Test: runtest -x frameworks/base/core/tests/coretests/src/android/app/admin/PasswordMetricsTest.java
Change-Id: I37678b83a03d4f05b9894d4b00e9a741d1a8df27
2016-10-20 19:04:41 +01:00
Hugo Benichi
998493f0ee TokenBucket for rate-limiting and throttling
This patch adds a TokenBucket class that can accumulate and distribute
tokens over time.

Test: comes with unit tests.
Bug: 32198637
Change-Id: Iefde02a0696de93fd2b2d5dc46889e29d269385e
2016-10-19 09:48:00 +09:00
TreeHugger Robot
04ad536e05 Merge "Iteration on findPath API." 2016-10-18 16:57:04 +00:00
Neil Fuller
004e4f1fcb Merge "Update time_zones_by_country.xml / delete unused files" am: 143d13ce59 am: 23ff65ed1e
am: e9c1678643

Change-Id: Ibe2d84180b0d94f3981c7733a17379667c36b73f
2016-10-17 16:55:16 +00:00
Neil Fuller
23ff65ed1e Merge "Update time_zones_by_country.xml / delete unused files"
am: 143d13ce59

Change-Id: I1a52ac448247c1ebe7dc19f566e87478131a95e0
2016-10-17 16:30:06 +00:00
Neil Fuller
50e9b8620c Update time_zones_by_country.xml / delete unused files
preferred_time_zones.xml is not referenced in any code and has been
deleted here.

TimeUtilsTest.java is broken / out of date and semi-duplicates code
in android.util.cts.TimeUtilsTest. It has been deleted here.

time_zones_by_country.xml file has not been updated since (at least)
2009.

Ideally this information would be updated as needed when the
timezone rule data is updated on device. This change just brings the
data up to date without addressing that issue. Given the apparent,
non-obvious, ordering requirements it may not be possible to use
zone1970.tab data directly.

---------------

Impact assessment:

At the time of writing time_zones_by_country.xml is used from:

Non-public methods:

android.util.TimeUtils.getTimeZones(String)

Public methods:

android.util.TimeUtils.getTimeZone(int, boolean, long, String)
android.util.TimeUtils.getTimeZonesWithUniqueOffsets(String)

Therefore there is some app / user benefit from updating it.

Within the framework, this affects:

telephony.ServiceStateTracker - in some circumstances when receiving
offset information from cell networks when better information is not
available.

There is some clockwork code affected that uses the calls for similar
purposes.

---------------

Notes on file formats / mapping the IANA source data:

The updated data was sourced from the IANA tzdata 2016g file
called zone1970.tab. The time_zones_by_country.xml file was manually
edited in a text editor using criteria detailed below.

The zone1970.tab file maps country codes (column 1) to a zone ID
(column 3). A country can be mapped to multiple zones. The zone.tab file
that was likely used in the past is similar in content and format. See
the zone.tab file header for details of the differences.

The time_zones_by_country.xml can have multiple entries for each
country, starting with a comment.

Comments exist for each (Country, Offset) pair. The name is
free-text, the offset is a non-DST offset for a zone as of 14th Oct
2016 using the 2016g data.

<!-- {Country name}, {offset from UTC} -->

Countries are listed in ASCII ascending order of the country code.

Within each country offsets are mostly ordered east to
west. An exception appears to be Australia. The data may have a
secondary order of "best match" (e.g. maybe by population). This might
be important for getTimeZone(int, boolean, long, String)) since it
returns the first match for a given offset, dst, country.

The timezone offset, transition information itself (offset, dst) is
pulled from the timezone rules data on the device, not this file.

The data is encoded for each (Country, Offset) pair by a sequence
of:

<timezone code="xx">{Olson ID}</timezone>

xx is the country code from column 1 in the zone1970.tab file, the
element content is the zone ID from column 3.

---------------

Notes on the changes made to time_zones_by_country.xml:

There are various changes in this commit associated with switching from
zone.tab to zone1970.tab as a data source: zone.tab uses different
Olson IDs due to the different criteria used by these files.
The offset in each case will be the same so will have no practical
effect on offsets / zone detection, though will affect the exemplar
location for the zone found.

The remaining changes reflect actual zone / offset changes that
have occurred.

When adding new zones or rearranging existing ones they have been
positioned so as not to modify the first zone for each country or
the first zone per offset because of the uncertainty about the
secondary ordering. This is to avoid the risk of now picking a
different zone for a country or {country + dst + offset}. This
has resulted in a couple of places where the ordering is
non-intuitive.

The zone names and the offset information contained in the comments was
checked semi-manually using other 2016g data, i.e. the base offset of
each zone was checked against output from a script that created a
TimeZone object from each Olson ID in the file and output the raw
(non-DST) offset.

---------------

Change specifics:

Changes made due to zone1970.tab vs zone.tab:

ANTIGUA AND BARBUDA
ANGUILLA
ANGOLA
ALAND ISLANDS
ARUBA
BOSNIA AND HERZEGOVINA
BURKINA FASO
BAHRAIN
BENIN
BOTSWANA
CONGO
CENTRAL AFRICAN REPUBLIC
CONGO
CAMEROON
DJIBOUTI
DOMINICA
ERITREA
ETHIOPIA
GABON
GRENADA
GUERNSEY
GAMBIA
GUINEA
GUADELOUPE
EQUATORIAL GUINEA
CROATIA
ISLE OF MAN
JERSEY
CAMBODIA
COMOROS
SAINT KITTS AND NEVIS
KUWAIT
CAYMAN ISLANDS
LAO PEOPLE'S DEMOCRATIC REPUBLIC
SAINT LUCIA
LIECHTENSTEIN
LESOTHO
MONTENEGRO
MADAGASCAR
MACEDONIA
MALI
NORTHERN MARIANA ISLANDS
MAURITANIA
MONTSERRAT
MALAWI
NIGER
OMAN
RWANDA
SAINT HELENA
SLOVENIA
SVALBARD AND JAN MAYEN
SLOVAKIA
SIERRA LEONE
SAN MARINO
SENEGAL
SOMALIA
SAO TOME AND PRINCIPE
SWAZILAND
TOGO
TANZANIA
UGANDA
UNITED STATES MINOR OUTLYING ISLANDS
HOLY SEE
SAINT VINCENT AND THE GRENADINES
VIRGIN ISLANDS
YEMEN
MAYOTTE
ZAMBIA
ZIMBABWE

---------

Changes due to new data:

ANTARCTICA
ARGENTINA
AUSTRALIA
BRAZIL
CANADA
CHINA
MICRONESIA
INDIA
MYANMAR
MEXICO
PAPUA NEW GUINEA
PALESTINE
RUSSIAN FEDERATION
UNITED STATES
UKRAINE

---------

Removal of NETHERLANDS ANTILLES (country code "an"):

"an" no longer present in the IANA data.
The country code is no longer in use.
https://en.wikipedia.org/wiki/ISO_3166-2:AN
New country entries for:

Saint Barthélemy
Caribbean Netherlands
Curaçao
Collectivity of Saint Martin
Sint Maarten

---------
Changes due to new data *and* with differences between zone1970.tab
and zone.tab:

GERMANY
South Sudan (entirely new)
VIET NAM
FRENCH SOUTHERN TERRITORIES

---------

Changes to comments or arrangement of existing entries due to non-DST
offset changes since the last update:

Antarctica/Mawson
Europe/Minsk
America/Resolute
Atlantic/Stanley
Asia/Pyongyang
America/Cancun
America/Grand_Turk
Pacific/Fakaofo
Europe/Istanbul
America/Caracas
Pacific/Apia

Bug: 25338903
Test: Build / CtsUtilTestCases
Change-Id: I87e3db795f55ddd92e7402459c5e97aa70b9301e
2016-10-17 12:14:50 +00:00
Garfield Tan
06940e1246 Iteration on findPath API.
* Extend this API to take tree URI
* Add toString(), equals() and hashCode() to Path
* Address Jeff's comments in ag/1513538
* Add unit tests for findPath

Bug: 30948740
Change-Id: Iaf852d0e40fae37623e9bb9ffa1c6fbe334c1b21
(cherry picked from commit d4ab7ade7171a4382ef4f61f2a5f078a17800e83)
2016-10-14 19:18:46 +00:00
Hugo Benichi
de310dba78 Better LocalLog
This patch fixes the following issues in LocalLog:
  - reverseDump() uses a descending iterator with linear complexity
    instead of a quadratic loop using get(index) on a linked list.
  - reverseDump() is added to ReadOnlyLocalLog.
  - synchronized section in log() is restricted to mutation of internal
    list.
  - formatting of the log message does not create an internal
    StringBuilder.
  - the instance variable mNow is removed: it was only used inside log()
    as a local variable.
  - remaining instance variables are qualified with final.
  - the linked list is replaced by a fixed capacity array-backed queue.

Test: added unit tests
Change-Id: I1a54f0ad26dd35448d3297ea24df1fd626d20ef3
2016-10-11 09:54:19 +09:00
Andreas Gampe
2ea6fe332f Merge "Debug: Add test for bug 31943543" am: 7c4efe421c am: afe73c0c3c am: 28369279fe
am: e5ce80d0fe

Change-Id: Ie23c3bbe1de5dd1b7edfd1e1351ccab38c02c4ec
2016-10-08 19:04:25 +00:00
Andreas Gampe
e5ce80d0fe Merge "Debug: Add test for bug 31943543" am: 7c4efe421c am: afe73c0c3c
am: 28369279fe

Change-Id: Ieb654b53b62e082e670eac022bcf658b47f1c157
2016-10-07 00:58:37 +00:00
Andreas Gampe
636451443f Debug: Add test for bug 31943543
Bug: 31943543
Test: adb shell setprop debug.checkjni 1 && runtest --path frameworks/base/core/tests/coretests/src/com/android/internal/os/DebugTest.java
Change-Id: I895f3f9927ed3572dc4e77b49d12cadd53ce5d6a
2016-10-06 13:49:52 -07:00
Neil Fuller
b0ed2aa01b resolve merge conflicts of 3649f7c to master
Change-Id: Ic16950f1c50f7d06d3c9ae08a6f28e292b89c20f
2016-10-06 11:23:06 +01:00
Neil Fuller
3649f7cb70 Merge "Remove .mk lines that are just setting the default" am: 8873c3821d am: 6a3c315b25
am: c611842e1c

Change-Id: Ib71490ac084c706b53ae83278f3f8fcd302fc0f2
2016-10-06 08:49:37 +00:00
Philip P. Moltmann
cc021c9a20 Move print workflow tests to own apk
Test: Ran new tests
2016-10-05 16:56:00 -07:00
Philip P. Moltmann
e8b3e3d1c9 Merge "When selected printer can't print show error" 2016-10-05 15:41:38 +00:00
Neil Fuller
b04b5f697d Remove .mk lines that are just setting the default
1.8 is now the default unless targeting an old SDK.

Bug: 31944681
Test: make checkbuild
Change-Id: Ic8a50cfd332da8b84eb87207a3c2d2c9a9a58e99
2016-10-05 13:38:36 +01:00
John Reck
b8a5b9ad76 Merge "Switch Parcel to FastNative" 2016-10-03 16:50:36 +00:00
Philip P. Moltmann
86090a11b5 When selected printer can't print show error
Test: - New tests is submited in this CL
      - print coretests
      - print cts tests

Change-Id: I5be71d542106637a22b492be6f71afa68720127e
2016-10-01 03:12:12 +00:00
John Reck
71207b5a11 Switch Parcel to FastNative
Also fixes ParcelBenchmark to have bounded
memory usage to avoid OOM'ing during runs

Test: refactor, no behavior change

ParcelBenchmark results from bullhead
Before:
      timeReadByte 74.43ns
      timeReadInt 74.49ns
      timeReadLong 74.13ns
      timeWriteByte 81.81ns
      timeWriteInt 82.09ns
      timeWriteLong 81.84ns

After:
      timeReadByte 47.08ns
      timeReadInt 48.38ns
      timeReadLong 48.16ns
      timeWriteByte 55.90ns
      timeWriteInt 55.85ns
      timeWriteLong 56.58ns

Change-Id: I61b823d1d2beb86e00c196abd4dce65efa8fa7f0
2016-09-30 11:19:10 -07:00
Philip P. Moltmann
59b0fbd104 Update print attributes when printer gets selected
Test: Add new non-CTS print workflow tests. These tests will cover
      general printing workflows such as the situation fixed in this
      change.
Change-Id: I33b6842bba164c45a6afbc09f2e0c9b0a523ef30
2016-09-29 10:33:03 -07:00
Philip P. Moltmann
3ae33bd028 Make print core tests junit tests.
Test: Ran this test
Change-Id: I956a0b94c089445d925ee0cfec0949067a48daed
2016-09-28 14:09:34 -07:00
Christopher Wiley
fa640e6d99 Remove ability to set frequency from WifiAssociationTest am: 93ce63760d am: 4bec7b53b0 am: a04b2b5f36
am: 625c3f82e1

Change-Id: Ief3da23b60642bcab2f9aecd0408153badf672f8
2016-09-24 01:53:01 +00:00
Adam Powell
3e26092975 Null check for restoring LoaderManagers am: 100ba76d7a am: bb2011a2e0
am: 22766c9a14

Change-Id: I7763de030c7e43262649337a4770e6b55e39bb36
2016-09-23 00:28:44 +00:00
Christopher Wiley
625c3f82e1 Remove ability to set frequency from WifiAssociationTest am: 93ce63760d am: 4bec7b53b0
am: a04b2b5f36

Change-Id: I017e3313dee3e6986d7ea021696da87e70768672
2016-09-23 00:05:46 +00:00
Adam Powell
22766c9a14 Null check for restoring LoaderManagers am: 100ba76d7a
am: bb2011a2e0

Change-Id: I8afc2a6f4808d1b36c1f2651617793854e799d11
2016-09-22 22:06:38 +00:00
Adam Powell
100ba76d7a Null check for restoring LoaderManagers
Bug 31671195
Test: core/tests/coretests/src/android/app/LoaderLifecycleTest.java

Change-Id: Ib553f7611814cc6759488aec505fd126ee664a9d
2016-09-22 10:53:45 -07:00
Adam Powell
4dadd95b54 Don't hold old host callback for fragments on the back stack am: 180202f221 am: 5254ef7bd3
am: d10cf26137

Change-Id: Ia02f0612f1665c412e0eedf1a2172d9919e0bd28
2016-09-22 06:48:37 +00:00
Adam Powell
d10cf26137 Don't hold old host callback for fragments on the back stack am: 180202f221
am: 5254ef7bd3

Change-Id: I067c4fc441b34a7f9edfdbfee0995e91054fb890
2016-09-22 05:00:40 +00:00
Jeff Sharkey
15b0cc92cf Rename should behave like create: avoid conflict. am: 2c89a4c170
am: 0e033491ca

Change-Id: I071e31e47dd662d5a7816bc1c3326fe964a6daf8
2016-09-22 04:58:43 +00:00
Adam Powell
5254ef7bd3 Don't hold old host callback for fragments on the back stack
am: 180202f221

Change-Id: I7f2c4c8d340b1b54d3e9ded5819e19fa3e4bc83e
2016-09-22 03:52:35 +00:00
TreeHugger Robot
33c9713bdd Merge "Don't hold old host callback for fragments on the back stack" into nyc-mr1-dev 2016-09-22 00:50:00 +00:00
Jeff Sharkey
2c89a4c170 Rename should behave like create: avoid conflict.
When we create a file that already exists, we try attaching a suffix
like "(1)" to the filename to avoid the conflict.  The newly added
rename method should do the same, since developers may not have
access to delete the conflicting file.

Test: boots, rename via UI, new unit tests
Bug: 31545404
Change-Id: Ie397eebb0fbf98cf079eee3bbbb6c6b7ca627d91
2016-09-21 23:01:25 +00:00
Jeff Sharkey
aa44476f64 Rename should behave like create: avoid conflict.
When we create a file that already exists, we try attaching a suffix
like "(1)" to the filename to avoid the conflict.  The newly added
rename method should do the same, since developers may not have
access to delete the conflicting file.

Test: boots, rename via UI, new unit tests
Bug: 31545404
Change-Id: Ie397eebb0fbf98cf079eee3bbbb6c6b7ca627d91
2016-09-21 16:59:24 -06:00
Adam Powell
180202f221 Don't hold old host callback for fragments on the back stack
LoaderManagers configure their host callback lazily as their
associated fragment is brought up through its lifecycle states. In the
case of fragments on the fragment back stack this could happen very
late, if at all. As a LoaderManager's host callback references the
host Activity, this means that a LoaderManager could keep a destroyed
Activity reference alive.

Update the host callbacks of all LoaderManagers eagerly during the
restore non-configuration instance phase.

Bug: 30653222
Test: core/tests/coretests/src/android/app/LoaderLifecycleTest.java
Change-Id: I5d2b81daae5e7cae429fcf4934e64b3ce281140c
2016-09-21 15:47:06 -07:00
Christopher Wiley
93ce63760d Remove ability to set frequency from WifiAssociationTest
This is no longer a supported API.

Bug: 31148223
Test: This code would no longer compile
Change-Id: I2d8ee6a40eda7e0f1a266cb0579aff2e504f29a7
2016-09-20 15:33:49 -07:00
Patrick Baumann
81f65fe3eb Adding advanced pattern support to PatternMatcher am: 2baf095ca9 am: 564d936eb1
am: c14db5b2de

Change-Id: I6bc888ffcb625ee109a2fecdbd8becb58b545c66
2016-09-15 21:39:09 +00:00
Patrick Baumann
c14db5b2de Adding advanced pattern support to PatternMatcher am: 2baf095ca9
am: 564d936eb1

Change-Id: I1c3619477b56c583c3d85f2185a1381676136293
2016-09-15 21:34:18 +00:00
Patrick Baumann
2baf095ca9 Adding advanced pattern support to PatternMatcher
This change adds a new pathMatch attribute to the intent-filter tag
that supports a subset of regular expression syntax. Supported
tokens include dot (.) and set ([]) and supported modifiers include
zero-or-more (*), one-or-more(+) and ranges ({}).

Change-Id: I2ec3bc8a9eb3e94d21caf34a1ed0f3fd3fb33a35
Bug: 30805203
2016-09-15 11:17:54 -07:00
Sara Kato
502beb5c3e Merge "Create test for factor value of ScaleGesture." 2016-09-13 07:16:30 +00:00
Keisuke Kuroyanagi
fe1a3b6f03 Merge changes from topic 'ksk_long_text_edit'
* changes:
  Always redraw text that protrude from line bounds.
  Lazy RenderNode creation to improve performance.
2016-09-08 04:37:17 +00:00
Yohann Roussel
35c9d6dbfe Merge "Add a test app for suppressed exceptions" am: 15c6078f4d am: 166ab31073 am: fceccd226b
am: 61f65393b2

Change-Id: Ib6410398cf367eddb12478f3e779a03f3e0b36aa
2016-09-07 10:19:41 +00:00
Yohann Roussel
61f65393b2 Merge "Add a test app for suppressed exceptions" am: 15c6078f4d am: 166ab31073
am: fceccd226b

Change-Id: Ibdef03d5f21190900a49bf404d4645a8a1f2a1b6
2016-09-07 10:12:46 +00:00
Yohann Roussel
166ab31073 Merge "Add a test app for suppressed exceptions"
am: 15c6078f4d

Change-Id: I45692cdf5081fe848935075d861fad11e68d19ba
2016-09-07 10:03:08 +00:00
Yohann Roussel
15c6078f4d Merge "Add a test app for suppressed exceptions" 2016-09-07 09:52:50 +00:00