We were telling the app, but we weren't saving the data for ourselves.
This also tells them to re-scroll when there's a new size.
Bug: 3144373
Change-Id: I9d12b714119ff02dd7d7f1cfa997d8a44475b9e9
We are leaving enough API so that you can see when any Tag is discovered,
get its ID, and get its NDEF messages.
But for advanced use - creating tag connections and writing messages - we have
2 problems. Firstly a lot of the code is untested
(RawTagConnection.transceive()), or in some cases known not to work
(NdefTagConnection.write()). Secondly, there is still debate about how to
best expose information about Tags.
The set of data/methods exposed for a Tag changes completely depending on the
tag technology. There may be multiple sets of technology implemented in a
single tag. Tag A may have technology X and Y, Tag B may have technology Y
and Z. Furthermore, some NFC controllers will be not be able to use all
technologies, and so Android Device 1 may see technology X and Y on Tag A but
Android device 2 may only see technology X. So we have a pretty challenging
set of constraints to work under, and we are not convinced the current Tag and
NdefTag class is the best approach going forwards.
The Tag application should be able to remain unbundled, since it just needs to
get incoming NDEF Messages.
Change-Id: Ic09f094f33794e10f8d730fffe011c9a5957e0ac
Signed-off-by: Nick Pelly <npelly@google.com>
Retrieve the service again from ServiceManager on RemoteException.
Change-Id: Ie227b52019e7deafeab712af1addd6d957f7a8ee
Signed-off-by: Nick Pelly <npelly@google.com>
ExpandableListViewBasicTest
A certain sequence of events could cause AbsListView to enter an
infinite event loop. Only report reaching a scroll boundary to the
overscroll code path if the Scroller wants to move further, not if
we're done moving.
Change-Id: Ifdaf72d60ca25584e4a37d3d8f17365e0fcbfa40
Also removed call to obsolete openTagConnection() method which was crashing.
Change-Id: Iffd46bd5cad877bb3a82ede298e65ae98322dca9
Signed-off-by: Nick Pelly <npelly@google.com>
Tag/NdefTag objects should just be simple data objects. Push the mapping of
internal tag type to public rawTarget/ndefTarget into Nfc Service.
This gives an oppurtunity to clean up some Tag/NdefTag API methods. Most
significantly, adding createMockTag() and createMockNdefTag() to help with
application testing.
There will probably be some more tweaking of the types/targets in
Tag/NdefTag to come, this commit makes that a lot easier.
Also:
- Introduce getActivationBytes() and getPollBytes(). These are just stubs
for NFC service to implement, we have feedback these are really important
to help identify NFC tags.
- Based on outside advice, remove 3B_PRIME (roll into 3B) and TOPAZ (roll
into 3A).
Change-Id: I3e6789c047f6ee5c298bf76c65e0885cf3c15d97
Signed-off-by: Nick Pelly <npelly@google.com>
RawTagConnection.isConnected() method.
Also needs packages/apps/Nfc to be updated.
Change-Id: I726e88853e2c4b348f3b87b7574bc6eded7f5b7c
Signed-off-by: Nick Pelly <npelly@google.com>
Remove NFC settings from Settings.System. The NFC Service tracks them
internally using SharedPreference.
Revert back to enable()/disable()/isEnabled() - Tag discovery is the
only functionality NFC service performs right now so we don't need to
break it up more explicitly yet. enable/disable is the global NFC
on/off and later we'll add enableDiscovery(), enableTagEmulation(),
enableSecureElement() etc as needed.
Change-Id: Id5b23e89d4a29511835f509962842452075e56cb
Signed-off-by: Nick Pelly <npelly@google.com>
Now overlay does ROT_90 before FLIP_V or FLIP_H. It should be FLIP_V
or FLIP_H first. The formula should be changed after overlay is fixed.
bug:3059865
Change-Id: Ie4366bf7f1fcac7383e8dfc74b1b865997bbbcc6
Implemented constructor using a byte array to parse.
Added missing exception in method declaration, leading to update api/current.xml
Change-Id: I2660484aef1225e90c2f32a572041a2c3aecf288
Yes, this is a last minute public API change, but I'm already getting
a lot of inquiries about how to use StrictMode on a GB device but
targetting Eclair or Froyo. I'd like a simple answer involving
reflection, but the current API is too painful to use via reflection.
I imagine this will be a common request, and it's much easier for us
to write a little blog post about trying it out if there's an easy way
to use it with reflection.
Change-Id: I1f21aaac7e61e5e90d1e4facc0c787d8daf089b1