Commit Graph

811 Commits

Author SHA1 Message Date
Robert Greenwalt
f40ca1b0f3 am fe5ca964: (-s ours) Merge "Fix public API of LinkProperties." into lmp-preview-dev
* commit 'fe5ca9646f86e041ed7729ecd0a006428806acf2':
  Fix public API of LinkProperties.
2014-06-12 16:53:43 +00:00
Sreeram Ramachandran
3097cf6186 Add a new IpPrefix class and use it in RouteInfo.
This change uses IpPrefix only in the public API and continues
to use LinkAddress for everything else. It does not change the
callers to use the new APIs, with the exception of changing
all current uses of getDestination to getDestinationLinkAddress
to make room for the new getDestination method that returns an
IpPrefix.

Based on Sreeram's earlier change:
https://googleplex-android-review.git.corp.google.com/#/c/477874/
but a bit simplified and with a bit more documentation.

Bug: 15142362
Bug: 13885501
Change-Id: Ib4cd96b22cbff4ea31bb26a7853989f50da8de4e
(cherry picked from commit 7d3b4b9a3d4de9673119632da0ebd583e50126f7)
2014-06-11 16:32:21 -07:00
Robert Greenwalt
c879e20e42 Fix public API of LinkProperties.
bug:15142362
(cherry picked from commit 51d898fd0223a4b7c728980ab987dd985c02df5f)
Change-Id: I1457111da7d3bd09998f7e010febb8bb4c45c8bc
2014-06-10 15:42:19 -07:00
Robert Greenwalt
4c368a073d Merge "Minor changes to the LinkAddress API docs." into lmp-preview-dev 2014-06-10 22:12:51 +00:00
Lorenzo Colitti
81c858241e Minor changes to the LinkAddress API docs.
1. Rename getNetworkPrefixLength to getPrefixLength. Update all
   callers in frameworks/base and add a shim method and a TODO
   for the rest.
2. @hide isSameAddressAs. It doesn't add much, and it's just
   one-liner that callers can implement if they want.
3. Fix the alignment of the initial paragraph (<ul> should have
   been </ul>).
4. Remove the documentation that talks about creating
   LinkAddresses, since there's no public API for creating them.

With these changes I think LinkAddress is fine as a public API.

Bug: 15142362
Change-Id: Iaf3b1db577745bb68a9e1dd7f96d666dd3f3ec7c
(cherry picked from commit 9ab53650cfcd91a2a151b44b3fd1381841f76269)
2014-06-11 18:52:19 +00:00
Lorenzo Colitti
8e33e456a1 Minor changes to the LinkAddress API docs.
1. Rename getNetworkPrefixLength to getPrefixLength. Update all
   callers in frameworks/base and add a shim method and a TODO
   for the rest.
2. @hide isSameAddressAs. It doesn't add much, and it's just
   one-liner that callers can implement if they want.
3. Fix the alignment of the initial paragraph (<ul> should have
   been </ul>).
4. Remove the documentation that talks about creating
   LinkAddresses, since there's no public API for creating them.

With these changes I think LinkAddress is fine as a public API.

Bug: 15142362
Change-Id: Iaf3b1db577745bb68a9e1dd7f96d666dd3f3ec7c
2014-06-10 14:46:39 -07:00
Sreeram Ramachandran
c447220e53 Add a new IpPrefix class and use it in RouteInfo.
This change uses IpPrefix only in the public API and continues
to use LinkAddress for everything else. It does not change the
callers to use the new APIs, with the exception of changing
all current uses of getDestination to getDestinationLinkAddress
to make room for the new getDestination method that returns an
IpPrefix.

Based on Sreeram's earlier change:
https://googleplex-android-review.git.corp.google.com/#/c/477874/
but a bit simplified and with a bit more documentation.

Bug: 15142362
Bug: 13885501
Change-Id: Ib4cd96b22cbff4ea31bb26a7853989f50da8de4e
2014-06-10 14:30:15 -07:00
Robert Greenwalt
690790088d Fix public API of LinkProperties.
bug:15142362
Change-Id: I1457111da7d3bd09998f7e010febb8bb4c45c8bc
2014-06-08 12:54:23 -07:00
Jaewan Kim
b444920d28 am 70246e34: Merge "Fix Ethernet documentation." into lmp-preview-dev
* commit '70246e348a81b8e0e3944ba5d67f4e2b138d6814':
  Fix Ethernet documentation.
2014-05-23 16:53:39 +00:00
Lorenzo Colitti
7308875a27 Fix Ethernet documentation.
1. Remove incorrect @return tag for void function.
2. Fix build breakage by removing the reference to
   #ETHERNET_SERVICE, which is hidden.

Change-Id: Ia893464bafc8257e48e0bd710d27954b535fcece
(cherry picked from commit ff7e406df8a46256e47fff70abc9116ad3f94c23)
2014-05-23 06:30:24 +00:00
Lorenzo Colitti
56e4e58eae Fix Ethernet documentation.
1. Remove incorrect @return tag for void function.
2. Fix build breakage by removing the reference to
   #ETHERNET_SERVICE, which is hidden.

Change-Id: Ia893464bafc8257e48e0bd710d27954b535fcece
2014-05-22 11:51:27 -07:00
Lorenzo Colitti
2edad7a160 Add an EthernetManager.
The implementation will live in frameworks/opt/net/ethernet.

Bug: 7606609
Bug: 8687763
Bug: 14993642
Bug: 14981801
Change-Id: Ic771e268b0c78f0fc32f46af6fe0dd7c634a426e
2014-05-21 16:41:24 -07:00
Lorenzo Colitti
eeae94e9cd Fix a typo in IpConfigStore.
Change-Id: I1fc845bf4547ae9a86db02ed29b6d5ba60a01277
2014-05-21 16:38:11 -07:00
Jaewan Kim
e36bfe74f3 Move IP config from WifiConfiguration to IpConfiguration.
This is so that Ethernet can use it in the future.

Bug: 7606609
Bug: 8687763

Change-Id: I5d1189682b13f1088848809604690648d8d9ecca
2014-05-20 15:24:10 -07:00
Robert Greenwalt
61c34fd2a2 Turn down the logging.
Cut per-msg logging by 1/3 in NDC so we see that much more.

Change-Id: I406297d98f2649a88b16c7be3cf90757d009c762
2014-05-12 08:59:27 -07:00
Justin Koh
5179629b7b am 93332a0a: (-s ours) am 1aa51646: Hide NsdServiceInfo additions for KKWT DO NOT MERGE
* commit '93332a0a726132fcfaf4b33e95937107e1f7759f':
  Hide NsdServiceInfo additions for KKWT DO NOT MERGE
2014-05-05 22:24:46 +00:00
Justin Koh
93332a0a72 am 1aa51646: Hide NsdServiceInfo additions for KKWT DO NOT MERGE
* commit '1aa516467c398d43751130d4964fc626489e63b7':
  Hide NsdServiceInfo additions for KKWT DO NOT MERGE
2014-05-05 22:21:03 +00:00
Justin Koh
1aa516467c Hide NsdServiceInfo additions for KKWT DO NOT MERGE
Hide NsdServiceInfo additions for KKWT.
Bug: 14116162

Change-Id: I98755a2524168be5e833a634192fd49ff3c32346
2014-05-05 22:18:42 +00:00
Bill Yi
85f1efa3cb am eb7e4734: am d82212d8: (-s ours) Merge commit \'0b62467b142b61ee1e449ba958ba37dfd961ef56\' into HEAD
* commit 'eb7e47345eac198a3f2e2118278e424c31cf5bd3':
  Update framework to use M33 Skia. DO NOT MERGE
2014-04-30 12:51:01 +00:00
Bill Yi
eb7e47345e am d82212d8: (-s ours) Merge commit \'0b62467b142b61ee1e449ba958ba37dfd961ef56\' into HEAD
* commit 'd82212d8ae13a7c22dbf6b893f5329b2e4cf2f6e':
  Update framework to use M33 Skia. DO NOT MERGE
2014-04-30 01:19:37 +00:00
Bill Yi
d82212d8ae Merge commit '0b62467b142b61ee1e449ba958ba37dfd961ef56' into HEAD 2014-04-29 16:07:29 -07:00
Christopher Lane
7441122e23 Fix incorrect "listener no longer active" errors
Was incorrectly using .indexOfValue to search for Integer objects in the
client map.

Change-Id: I54e2e1725e0fff0a7d35a22376714cc8266a9eee
2014-04-25 18:57:23 -07:00
Dianne Hackborn
0cc4425b3b Start collecting mobile radio activity from the radio.
Hook in to the new radio API to find out when the radio
is active and use that to track its state in batter stats.
We also still have the data being tracked from the kernel's
emulation, and continue to use that if we don't get data from
the radio.

Currently this monitoring is turned off until some issues
in the radio can be fixed that are providing bad data.

Also add a new API to get estimated drain and charge times.

Change-Id: Ifc4900fabb8f848f9cda361dce698664ea75f175
2014-04-24 11:21:30 -07:00
Mark Salyzyn
7837dd43a3 am a5403454: am 936e87e1: am d75a6909: Merge "frameworks: 64 bit compile issues"
* commit 'a54034547dfae92afcde7420d0a492586d3b21b8':
  frameworks: 64 bit compile issues
2014-04-16 19:58:26 +00:00
Mark Salyzyn
a54034547d am 936e87e1: am d75a6909: Merge "frameworks: 64 bit compile issues"
* commit '936e87e12dd1335c6f773705fd0a7edb32bc4385':
  frameworks: 64 bit compile issues
2014-04-16 19:51:10 +00:00
Mark Salyzyn
d75a69095a Merge "frameworks: 64 bit compile issues" 2014-04-16 19:21:44 +00:00
Mark Salyzyn
af9766d226 frameworks: 64 bit compile issues
ToDo: core/jni/com_android_internal_net_NetworkStatsFactory.cpp (merge issues)

Change-Id: I5cf0bbb868e6c18e86c97c6491b6ee983a8ee1a2
2014-04-16 10:43:48 -07:00
Christopher Lane
b6e0448851 Fix build
Change-Id: I20168fb1c29ba6eb695f0d24c6ca512420b2b319
2014-04-14 16:31:27 -07:00
Christopher Lane
6f34914b4c resolved conflicts for merge of 468c0578 to master
Change-Id: I779c49c48980ba7737ee4e7b04a9e4c3e02fca21
2014-04-14 15:14:01 -07:00
Christopher Lane
468c05787e am 62538940: Merge "Add support for custom TXT records in NSD" into klp-modular-dev
* commit '62538940de1755c71c56b0e5d81e12397e5de58a':
  Add support for custom TXT records in NSD
2014-04-14 21:16:27 +00:00
Christopher Lane
0f2cc36572 Add support for custom TXT records in NSD
Change-Id: I8e6dc9852ad4d273c71ad6a63a7fbd28a206806d
2014-04-14 14:10:36 -07:00
Jesse Gunsch
136905ec1b am fa912df1: am 8d31358f: Merge "Merge "NsdService does not clean up after exiting clients"" into klp-modular-dev
* commit 'fa912df1a45742543408ee8de3eb5568bd3410c6':
  Merge "NsdService does not clean up after exiting clients"
2014-04-10 01:07:23 +00:00
Jesse Gunsch
fa912df1a4 am 8d31358f: Merge "Merge "NsdService does not clean up after exiting clients"" into klp-modular-dev
* commit '8d31358fb4f0f948fcfd07399d4247375dc5eea9':
  Merge "NsdService does not clean up after exiting clients"
2014-04-09 23:50:35 +00:00
Dave Platt
5da9a41811 Merge "NsdService does not clean up after exiting clients" 2014-04-08 17:35:57 -07:00
Dave Platt
4cba56df4e Document and enforce "one request per Listener" rule
The API and implementation of NsdManager imply that a separate
Listener is to be used for each active registration or discovery
request.  This isn't formally documented or properly enforced, and
weird and unpredictable things happen if an application uses a
Listener for more than one request at a time.

Update documentation to make this an explicit requirement.

Enforce the restriction when a new request is submitted for
processing; if the Listener is already being used to track an active
request, throw an exception.

Document the fact that apps should unregister services and cancel
service discoveries when the app is stopped (in KitKat and prior
releases, they'll leak if this isn't done.)

Re-order "release the Listener" operation to occur before the Listener
callback, so that the Listener can be reused by the application once
the callback has been entered - this eliminates a race condition.
Document this.

Pass 2: typos, added documentation about API level, changed to using
an explicitly defined return value for "busy listener".

Bug: 13512512
Change-Id: Ic164110759204b27d8a14376777b593ebe1865fa
2014-03-31 13:43:45 -07:00
Dianne Hackborn
87522f50e1 Battery stats: wake locks, radio active, cleanup.
- Improve wake lock work source updates to also update the current
  history tag, in case the new work source gets recorded in the
  history.

- Fix bug in recording radio active time that was not distributing
  any time to apps.

- No longer hold a wake lock while dispatching data conn active call,
  since it comes with its own timestamp.

- Fix issue where the top app was not being cleared while the screen
  was off.

- Remove obsolete STATS_LAST stats type.

- Fix bug that was not clearing the total run time when resetting
  the stats.

Change-Id: Iabe17a9edf34f762374ae09fcffb8a819cf72e30
2014-03-24 13:36:46 -07:00
Dave Platt
9767de0513 am eac88aae: am 1e4cee76: am 21a9e3d0: am 17e7c407: am 98a027a5: Merge "Harden NsdManager against null-dereference crashes" into klp-dev
* commit 'eac88aae957c72e02ea9f2747ffc290829bcacb1':
  Harden NsdManager against null-dereference crashes
2014-03-19 01:30:23 +00:00
Dave Platt
1e4cee76b0 am 21a9e3d0: am 17e7c407: am 98a027a5: Merge "Harden NsdManager against null-dereference crashes" into klp-dev
* commit '21a9e3d022728915da10342efbb9b95866d86ae7':
  Harden NsdManager against null-dereference crashes
2014-03-19 01:07:46 +00:00
Dave Platt
21a9e3d022 am 17e7c407: am 98a027a5: Merge "Harden NsdManager against null-dereference crashes" into klp-dev
* commit '17e7c4076b8f1617ed397dae570e9d5240cd9c1b':
  Harden NsdManager against null-dereference crashes
2014-03-19 00:59:47 +00:00
Dave Platt
1da390ede1 am 17e7c407: am 98a027a5: Merge "Harden NsdManager against null-dereference crashes" into klp-dev
* commit '17e7c4076b8f1617ed397dae570e9d5240cd9c1b':
  Harden NsdManager against null-dereference crashes
2014-03-19 00:59:44 +00:00
Dave Platt
cf4709a694 am cb1254f1: am 20caa09c: am 21384faa: am 694f219c: Merge "NsdService does not clean up after exiting clients"
* commit 'cb1254f1abc44b82e2a9da0d9a73230eb46e129e':
  NsdService does not clean up after exiting clients
2014-03-14 13:13:38 +00:00
Dave Platt
febcdae1ba Harden NsdManager against null-dereference crashes
Due to race conditions or programming errors, the NsdManager
can attempt to process an asynchronous status message (and issue
a callback to the listener) after the listener has already been
removed from the NsdManager state.  This causes dereferencing of
null objects, and a crash.

Split out the three async-queue message cases:  these are ones
in which message.arg2 does not hold an NsdManager array index
and the code should not interpret this field as if it were.

Add an explicit check for "null listener" (the array index in the
message has already been released), log a warning, and exit early.

Safeguard accesses to the "NSD service type" string from a possibly
null) NsdServiceInfo object... return a constant "?" string rather
than crashing.

Bug: 9016259

Manual cherrypick of commit b1fbb14122a99c62363a949dd634294f5e887ef,
change-ID I7a6ff6842cf035cefbafe2a023ae1fd43734081e in master.

Change-Id: I8d9b7a1763d47d061a0f46b3cb453de4bdb8c2ed
2014-03-13 17:27:03 -07:00
Dave Platt
20caa09c61 am 21384faa: am 694f219c: Merge "NsdService does not clean up after exiting clients"
* commit '21384faa2b3da619a54b35f15936c00593b30694':
  NsdService does not clean up after exiting clients
2014-03-13 23:42:03 +00:00
Dave Platt
694f219c26 Merge "NsdService does not clean up after exiting clients" 2014-03-13 23:35:15 +00:00
Dave Platt
feff2af5c0 NsdService does not clean up after exiting clients
When a client of the NsdService exits, NsdService should
clean up the requests it has sent to the mDNS daemon:
cancel any pending resource-discovery and resource-resolution
queries, and remove any services registered by this client.

If this isn't done, several bad things happen. The daemon will
continue to run unnecessarily, will report service discoveries
that can't be forwarded on to the client, and will continue to
advertise service ports for an application which is no longer
running until the device is rebooted (mDNS pollution).

Bug: 9801184
Change-Id: I0aa7311480322aefcff16f902fbbf34f50985d38
2014-03-13 23:16:30 +00:00
Dave Platt
1ce9dccb13 am bf588bda: am b4a78de4: am 7d8262cb: am 6948cb40: Merge "Harden NsdManager against null-dereference crashes"
* commit 'bf588bda2c4dc98919439946e905e98ad4d352dd':
  Harden NsdManager against null-dereference crashes
2014-03-04 23:51:51 +00:00
Dave Platt
b4a78de40f am 7d8262cb: am 6948cb40: Merge "Harden NsdManager against null-dereference crashes"
* commit '7d8262cb554c41892794f23b92e01b52458288bb':
  Harden NsdManager against null-dereference crashes
2014-03-04 22:02:55 +00:00
Dave Platt
6948cb4073 Merge "Harden NsdManager against null-dereference crashes" 2014-03-04 21:55:56 +00:00
Dave Platt
a6dc93df7b Harden NsdManager against null-dereference crashes
Due to race conditions or programming errors, the NsdManager
can attempt to process an asynchronous status message (and issue
a callback to the listener) after the listener has already been
removed from the NsdManager state.  This causes dereferencing of
null objects, and a crash.

Split out the three async-queue message cases:  these are ones
in which message.arg2 does not hold an NsdManager array index
and the code should not interpret this field as if it were.

Add an explicit check for "null listener" (the array index in the
message has already been released), log a warning, and exit early.

Safeguard accesses to the "NSD service type" string from a (possibly
null) NsdServiceInfo object... return a constant "?" string rather
than crashing.

Bug: 9016259

Change-Id: I40aabdfc65d86fdd0eaac7a1e7e56e6ff69796cf
2014-03-04 13:25:02 -08:00
Dianne Hackborn
9cd0fea519 Hold a wake lock while dispatching network activity events.
Also add new API for determining whether the current data network
is active, and thus better scheduling network operations.  This
API is designed to not be tied to a mobile network -- regardless
of the network, apps can use it to determine whether they should
initiate activity or wait.  On non-mobile networks, it simply always
reports as the network being active.

This changed involved reworking how the idle timers are done so
that we only register an idle timer with the current default
network.  This way, we can know whether we currently expect to
get callbacks about the network being active, or should just always
report that it is active.  (Ultimately we need to be getting this
radio active data from the radio itself.)

Change-Id: Iaf6cc91a960d7542a70b72f87a7db26d12c4ea8e
2014-02-28 15:19:39 -08:00