Commit Graph

9 Commits

Author SHA1 Message Date
Robert Quattlebaum
4240e019d8 lowpan: Use IBinder for comparison instead of interface
This change fixes a bug where the onInterfaceRemoved() callback for
LowpanManager was not working properly and causing crashes. This was
because we were using the ILowpanInterface objects as the key in a map
to for looking up the associated LowpanInterface objects. This doesn't
work because there may be more than one ILowpanInterface object for a
given IBinder---thus subsequent attempts to resolve ILowpanInterface
objects would always come up empty. The solution was to use the
underlying IBinder object as the map key.

(Cherry-picked from commit aa07c47441ae1e37f87248492459bef336b43155)

Bug: b/67718495
Test: manual
Change-Id: I7575743268cf67c6c2c24d8f327ce38d88d354c7
2018-02-02 21:38:36 +00:00
Robert Quattlebaum
6cfc490ccd lowpan: AIDL refactor to no longer use property design pattern
After doing a considerable amount of thinking on the subject,
I decided that attempting to directly port wpantund's property-based
API over to Binder was a mistake, so this commit contains the required
changes to abandon that approach and go with a more traditional
Binder interface.

Bug: b/63708348
Change-Id: I685cd066fabe8470ef4bb456aea7d3bb515c3969
Test: Compiled and ran unit tests, manually confirmed lowpanctl
      and lowpan-service (with related changes) appeared to be
      working properly.
2017-07-18 00:42:18 -07:00
Robert Quattlebaum
865fdc75c3 LowpanException: Refactor exception handling
Got rid of the exposed exception code and we now rely on subclasses of
LowpanException. Also introduces a new exception: LowpanRuntimeException

LowpanRuntimeException, as a subclass of AndroidRuntimeException,
doesn't need explicitly delared "throws" statements for function
declarations. Most Exceptions are still LowpanExceptions, but some
specific error codes, such as ERROR_NCP_PROBLEM, are now using this
new exception class.

Bug: b/63708181
Change-Id: Idba6233ac4803d33561b5aa951c8fa846c3ab1d8
2017-07-18 00:42:18 -07:00
Robert Quattlebaum
80aca1e3b3 lowpan: Make various data classes Parcelable
This change updates several of the data classes in
`android.net.lowpan` to be parcelable. This allows them to be used
directly for inter-process communication.

Bug: b/63707448 b/63708348
Change-Id: Ib5e8cad153534948ff4b43a2fda82f3db250839e
Test: Confirmed with unit tests from change id
      I41d590b1e77dc41873c4b9e9bf1b7f1bf859f74e
2017-07-17 19:38:01 -07:00
Robert Quattlebaum
8600bf1c36 LowpanEnergyScanResult: Remove public designation from setChannel/setMaxRssi
This class is intended to be immutable to the users of this API.

Bug: b/63708272
Test: Compiled and ran lowpanctl (uses this class) with no problems.
Change-Id: I1fc8a51c19b637a27c1987b3b3d0db1cb844f5af
2017-07-14 17:11:30 -07:00
Robert Quattlebaum
9eb7b6fe98 LowpanCommissioningSession: Add static abstract keywords
These keywords were accidentally left off of the original declaration.

Bug: b/63645461
Change-Id: I1cadcd68831377ee1d1059f645f7178b7e5c742e
Tests: Verified by being able to successfully compile
	I46667d4ea337463a35a9dd31fb00f7e130553d53
2017-07-13 03:36:54 +00:00
Robert Quattlebaum
dfd6889a84 Updates and fixes to android.net.lowpan
This commit is an incremental improvement to the LoWPAN support API.

Bug: b/33073713
Test: Successfully ran unit tests from Ib3750be5052bf1a90bf871756e9121b047d3871f
Change-Id: I7ca6374b6a7135411eadf631bd7d84d7dc008203
2017-07-10 11:07:08 -07:00
Robert Quattlebaum
325b7f5a06 android.net.lowpan: Build/syntax fixes and review changes
This commit fixes some build problems that weren't noticed by Tree
Hugger. It also addresses some formatting issues, as well as
corrects a few issues noticed from the last review.

Change-Id: Icab67ba2c40bc02968e3f8ed2da5a4a3be6cf77f
2017-06-06 16:51:41 -07:00
Robert Quattlebaum
4e0c2195dd Initial support for proposed android.net.lowpan
Change-Id: I0bf8edb5199d50d2a549a353b2785aef8134ff92
2017-06-05 17:47:16 +00:00