Commit Graph

58640 Commits

Author SHA1 Message Date
Yohei Yukawa
d2e046a720 Merge "Automatically grant URI permission as needed." into nyc-mr1-dev 2016-07-01 01:09:56 +00:00
Felipe Leme
7524b13642 Merge \"Removed warning when objects are added on wrong order.\" into nyc-dev
am: a98e4512df

Change-Id: Ic93707d6cda6dbdeed851f216eedbd4333d483ae
2016-06-30 23:37:24 +00:00
Svetoslav Ganov
a98e4512df Merge "Removed warning when objects are added on wrong order." into nyc-dev 2016-06-30 23:28:59 +00:00
Yohei Yukawa
f3806f57a5 Automatically grant URI permission as needed.
With this CL, the system automatically grants a temporary URI permission
to the target application when the IME calls
InputConnection#commitContent() with
InputConnection#INPUT_CONTENT_GRANT_READ_URI_PERMISSION.  The temporary
permission will be revoked by any of the following events:
 - InputContentInfo#releasePermission() is explicitly called by the
   target application.
 - The target application returned false in
   InputConnection#commitContent().
 - All the InputContentInfo instances copied from the original one are
   GC-ed.

If we do not do this and there is an application that forgot to call
that method then there is no way for IME developers to prevent
permission denial from happening in the application except for relaxing
the default permission of the ContentProvider just because of such an
application.

Although application developers are still expected to explicitly call
InputContentInfo#{request,release}Permission(), forgetting to call
InputContentInfo#requestPermission() does not hurt the user anymore.

With this CL, calling InputContentInfo#requestPermission() after calling
InputContentInfo#releasePermission() is also allowed.

Bug: 29892936
Change-Id: Id955435dd2e72549ee7134f46b3c6951581694ad
2016-06-30 16:27:46 -07:00
Felipe Leme
7709041c99 Removed warning when objects are added on wrong order.
append() is used to optimized insertions in the array, but it must
preserve the order of the hashcode array; when it doesn't, it falls back
to append(), but it should not log a warning message

In particular, PendingIntentRecords might have different hashcodes
across different processes.

Fixes: 29912192
Change-Id: I0ab566249829ddb934fd51cf21399b68cb286bd5
2016-06-30 23:19:08 +00:00
Adrian Roos
78f525b674 Merge \"Fix missing header text in notification groups\" into nyc-dev
am: a275ec269f

Change-Id: Ida3c3f33c63aa904d34c864899ddc8aac0368394
2016-06-30 23:07:39 +00:00
Adrian Roos
9dfb78fab6 Fix missing header text in notification groups
Fixes a case where notification header text could go missing
if a notification view was recycled and previously had a header text.

Reapplying only hid the text without clearing it, so the extraction
logic thought it was still there and hid the text for the children
even though it was not showing for the parent.

Change-Id: I3f96e1e7bebb2f815020d278ad13b2b5d948e63c
Fixes: 29915184
2016-06-30 15:46:15 -07:00
Makoto Onuki
60efbf2586 Merge "Start shortcuts as if publisher apps did using PendingIntent" into nyc-mr1-dev 2016-06-30 21:45:05 +00:00
Daniel Nishi
d9f0e37dc1 Merge "Add counters for the automatic storage manager." into nyc-mr1-dev 2016-06-30 21:17:18 +00:00
Yohei Yukawa
8acb1a7570 Merge "Revert "Remove InputContentInfo#requestPermission()"" into nyc-mr1-dev 2016-06-30 19:30:21 +00:00
Yohei Yukawa
79d1c75a3f Revert "Remove InputContentInfo#requestPermission()"
This reverts commit c4b8f36de5.

Having InputContentInfo#requestPermission() should not hurt developers,
but we can polish the behavior in a subsequent CL without changing
the API.

Bug: 29450031
Bug: 29892936
Change-Id: I1b43c19417b643d0c269af860db2d309b73a90d5
2016-06-30 19:24:43 +00:00
Yohei Yukawa
c80c64a97b Merge "Remove InputContentInfo#requestPermission()" into nyc-mr1-dev 2016-06-30 18:21:48 +00:00
Tim Murray
5e261441d3 Merge "Add a new API to improve VR thread scheduling." into nyc-mr1-dev 2016-06-30 18:05:57 +00:00
Alan Viverette
a2beb44834 Merge \"Only clip PopupWindow in the vertical direction\" into nyc-dev
am: 4b736ea56d

Change-Id: Idf5aedfb2f19595b8317c7dca1640ff0caf31696
2016-06-30 17:35:52 +00:00
Alan Viverette
4b736ea56d Merge "Only clip PopupWindow in the vertical direction" into nyc-dev 2016-06-30 17:24:22 +00:00
Alan Viverette
650cc68f10 Merge \"Exclude children from excess space distribution when using largest child\" into nyc-dev
am: 7705d5fd6e

Change-Id: I747b4dab5bfc31b2461b445d1d983ac95a05693d
2016-06-30 17:19:41 +00:00
Alan Viverette
9705fa0602 Only clip PopupWindow in the vertical direction
Bug: 29865091
Change-Id: Ic4e3b50571034f341aff2c2fbf2c349342622448
2016-06-30 13:17:26 -04:00
TreeHugger Robot
7705d5fd6e Merge "Exclude children from excess space distribution when using largest child" into nyc-dev 2016-06-30 17:07:07 +00:00
Srinath Sridharan
e535a5827b Add a new API to improve VR thread scheduling.
Adds a new API that enables device-specific scheduler optimizations for
latency-sensitive VR threads.

BUG: 29163534
Change-Id: I58d7be0eb266eca452c804cd07004784fb7daf2b
2016-06-30 10:03:46 -07:00
Yohei Yukawa
c4b8f36de5 Remove InputContentInfo#requestPermission()
It turns out that requiring editor authors to call
InputContentInfo#requestPermission() as needed is just confusing and can
cause compatibility issues, because if an editor author forgot to call
that method then there would be no way for IME developers to prevent
permission denial except for relaxing the default permission of the
ContentProvider just because of such an application. This is not what we
want to see.

My conclusion is that the system should automatically call
InputContentInfo#requestPermission() (or do any equivalent operation)
when InputConnection#INPUT_CONTENT_GRANT_READ_URI_PERMISSION is
specified, like we have done in Context#startActivity().

With this CL, the system automatically grants a temporary URI permission
to the target application when the IME calls
InputConnection#commitContent() with
InputConnection#INPUT_CONTENT_GRANT_READ_URI_PERMISSION, and the
temporary permission will be revoked by any of the following events:
 - InputContentInfo#releasePermission() is explicitly called by the
   target application.
 - The target application returned false in
   InputConnection#commitContent().
 - All the InputContentInfo instances copied from the original one are
   GC-ed.

Bug: 29450031
Bug: 29892936
Change-Id: I37fb744e4d3d1c59177fb0a9be4ef5c325c9a39f
2016-06-30 09:32:54 -07:00
Alan Viverette
070b22bdee Exclude children from excess space distribution when using largest child
Preserves API 23 behavior.

Bug: 29872769
Change-Id: I514cde81dcca4d78238f407251805cced4c0bea1
2016-06-30 11:15:36 -04:00
TreeHugger Robot
f5e3481951 Merge changes Ia28652e0,Id2eaafdc,I9c4c8286 into nyc-mr1-dev
* changes:
  Record events for RA option lifetimes
  Log RA listening statistics
  Log events at APF program generation
2016-06-30 14:03:22 +00:00
Hugo Benichi
cfbf7414a1 Record events for RA option lifetimes
This patch defines a new android.net.metrics.RaEvent class carrying
lifetime values contained in RA packets. RaEvent are recorded when
ApfFilter processes a new RA for which there is no match.

Example:
ConnectivityMetricsEvent(15:39:39.808, 0, 0): RaEvent(lifetimes: router=3600s, prefix_valid=2592000s, prefix_preferred=604800s, route_info=-1s, dnssl=-1s, rdnss=3600s)

Change-Id: Ia28652e03ed442d5f2a686ef5b3fafbcb77c503a
2016-06-30 18:26:39 +09:00
Hugo Benichi
647c86d70a Log RA listening statistics
This patch adds a new ApfStats event class that counts RA packet
reception statistics on the RA listener thread of ApfFilter and reports
the maximum program size advertised by hardware.

Statistics are gathered for the lifetime of a network with APF
capabilities and uploaded at network teardown when the listener thread
exits.

Example event:
ConnectivityMetricsEvent(15:44:23.741, 0, 0): ApfStats(284945ms 2048B RA: 2 received, 0 matching, 0 ignored, 0 expired, 0 parse errors, 2 program updates)

Bug: 28204408
Change-Id: Id2eaafdca97f61152a4b66d06061c971bc0aba4c
2016-06-30 18:26:33 +09:00
Hugo Benichi
4fc3ee5be2 Log events at APF program generation
Example:
ConnectivityMetricsEvent(15:24:52.018, 0, 0): ApfProgramEvent(0/0 RAs 121B forever FLAG_MULTICAST_FILTER_ON)
ConnectivityMetricsEvent(15:24:53.036, 0, 0): ApfProgramEvent(1/1 RAs 334B 600s)
ConnectivityMetricsEvent(15:24:53.590, 0, 0): ApfProgramEvent(1/1 RAs 360B 600s FLAG_MULTICAST_FILTER_ON, FLAG_HAS_IPV4_ADDRESS)
ConnectivityMetricsEvent(15:24:58.157, 0, 0): ApfProgramEvent(1/1 RAs 294B 599s FLAG_HAS_IPV4_ADDRESS)

Bug: 28204408
Change-Id: I9c4c82861cf42eb2c7e7bf5471f05e8ff2fc560c
2016-06-30 18:21:09 +09:00
Makoto Onuki
ea11db15bd Start shortcuts as if publisher apps did using PendingIntent
Bug 29639471

Change-Id: I2aad115669b431cbea785ba92040b1958117ab47
2016-06-29 18:43:45 -07:00
Android Build Merger (Role)
9f22e79625 Merge "Move getRecentTasks() to ParceledListSlice. am: 479212cf50" into nyc-mr1-dev 2016-06-29 23:54:27 +00:00
Jeff Sharkey
3362400aa5 Move getRecentTasks() to ParceledListSlice.
am: 479212cf50

Change-Id: Ic76f624396117d922aac60eac9c2caae4f1d7e27
2016-06-29 23:53:58 +00:00
Makoto Onuki
01e51e59dd Merge "Address API council feedback (continued)" into nyc-mr1-dev 2016-06-29 23:53:51 +00:00
Makoto Onuki
d6880797f7 Address API council feedback (continued)
Got a second set of comments.

Bug 29757958

Change-Id: Ib3a3ffd28bc3e35eb0218b0819870eb5c6ebadb5
2016-06-29 15:22:56 -07:00
Jeff Sharkey
479212cf50 Move getRecentTasks() to ParceledListSlice.
In extreme cases the list of recent tasks can grow beyond the size
of a single Binder transaction.  This change moves over to
ParceledListSlice which handles chunking any large results.

Bug: 29635557
Change-Id: Iaf1227234f5f8c9451f73a6a5c1dc89f2067f05f
2016-06-29 22:17:41 +00:00
Daniel Nishi
6401217532 Merge "Use the Deletion Helper when system storage is low." into nyc-mr1-dev 2016-06-29 21:37:07 +00:00
Dianne Hackborn
50beee8af9 Merge \"Fix issue #29871385: Need JobScheduler.scheduleAsPackage to be system API\" into nyc-dev
am: 205bc262ce

Change-Id: I3d7186834028be519b512fbcb2240d2ff692f564
2016-06-29 20:50:52 +00:00
TreeHugger Robot
c295a4b23d Merge "Remove framework dependencies on Support* demos" into nyc-mr1-dev 2016-06-29 20:31:03 +00:00
Dianne Hackborn
1150b735c8 Fix issue #29871385: Need JobScheduler.scheduleAsPackage to be system API
Change-Id: I0034b1681158b9a010d01fb0fcbe7990d9038c1f
2016-06-29 11:49:01 -07:00
Amith Yamasani
b71081e4e9 Merge "An API to check if running in a demo user" into nyc-mr1-dev 2016-06-29 15:18:34 +00:00
Hugo Benichi
cfddd68792 Refactor IP connectivity event logging
This patch removes static methods for logging IP connectivity events
defined in android.net.metrics and replaces them with a single log()
instance method defined on IpConnectivityLog. Event constructors are
now public also. Every classes logging such events now create an
instance of IpConnectivityLog for logging event objects directly
instantiated with new.

Removing static dependencies allow straightforward testing of logging.

This patch also removes the base IpConnectivityEvent class which is not
needed any more.

Bug: 29035129
Change-Id: I3de700f93f46deaa48a759f938f7d00e1d8bff98
2016-06-29 14:28:51 +09:00
Hugo Benichi
41a3acc55a Merge changes I9b4e55c2,I429562a0 into nyc-mr1-dev
* changes:
  Add tests for MetricsLoggerService
  Tests for IpConnectivityMetricsLog
2016-06-29 00:15:49 +00:00
Amith Yamasani
1c41dc8ec5 An API to check if running in a demo user
Add an API to query if the calling app is running
in a demo user sandbox. This allows apps to customize
the starting experience to a potential customer.

Change-Id: I50e40f9a8c66da4b5672c1dc64606d7bedba3f8c
Fixes: 29833923
2016-06-28 17:05:19 -07:00
Android Build Merger (Role)
b1400b142e Merge "Merge \"Remove redundant setPendingIntentWhitelistDuration() calls.\" into nyc-dev am: c1374208e3" into nyc-mr1-dev 2016-06-28 20:49:14 +00:00
Felipe Leme
1cec26c69e Merge \"Remove redundant setPendingIntentWhitelistDuration() calls.\" into nyc-dev
am: c1374208e3

Change-Id: Ie02a847ac513f89c1c430af0e3f559cf0bc2039d
2016-06-28 20:48:51 +00:00
TreeHugger Robot
23bc74a8d5 Merge "Define deprecated fields in IntDef's" into nyc-mr1-dev 2016-06-28 20:48:37 +00:00
TreeHugger Robot
c1374208e3 Merge "Remove redundant setPendingIntentWhitelistDuration() calls." into nyc-dev 2016-06-28 20:45:40 +00:00
Alan Viverette
3c5a1c8124 Remove framework dependencies on Support* demos
Required on nyc-mr1-dev since support library branch was reset.

Change-Id: I5b3ba0e7a17ee5ccd93e97b3bd9c519cb8641d97
(cherry picked from commit 80bf1f8a3c)
2016-06-28 19:26:36 +00:00
Todd Kennedy
a1066ed6c2 Merge \"Default minSdkVersion to \'1\'\" into nyc-dev
am: a98e3e3ede

Change-Id: I8d2b7205f80b3cae5dce04839890df6aafa8449e
2016-06-28 19:16:40 +00:00
Todd Kennedy
1f397f4e7b Define deprecated fields in IntDef's
Tools need all of the valid constants to handle legacy apps; even
though we want developers to use the new constant names.

Bug: 29824931
Change-Id: I5f8055d50d1d3f32cfbed7459d8a497cfbd3661e
2016-06-28 12:14:11 -07:00
Felipe Leme
dd85da6e94 Remove redundant setPendingIntentWhitelistDuration() calls.
Since all pending intents are stored on a Set in the Notication object,
there is no need to individually check for specific pending intents.

BUG: 29480440
Change-Id: I27a18bb535a9a4bb6cb4e76bdc189e6c315a684a
2016-06-28 11:34:54 -07:00
Todd Kennedy
4f6570878c Default minSdkVersion to '1'
Exception when targetSdkVersion is a letter API [eg 'N']. While this
is technically not according to the external docs, it's the behaviour
with prior platforms.

Bug: 29817839
Change-Id: I8382909dbe62de7b2ddfb7995ce11d5c2f43372e
2016-06-28 10:31:05 -07:00
Hugo Benichi
3bba249c47 Tests for IpConnectivityMetricsLog
Bug: 28204408
Bug: 29035129
Change-Id: I429562a00904188947b11da9928ec5c01296ff97
2016-06-28 11:43:03 +09:00
Svet Ganov
7878e736f7 Merge \"Mark app pending intents in notification extras\" into nyc-dev
am: b2cd9c95bf

Change-Id: Idb515255f224c23d60a513713d9e4f93decd7a9c
2016-06-28 00:46:55 +00:00