Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(62)

Unified Diff: device/nfc/android/java/src/org/chromium/device/nfc/NfcTagHandler.java

Issue 2894373002: [DeviceService] Move //device/nfc to be part of the internal impl of Device Service (Closed)
Patch Set: Modify code comment Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: device/nfc/android/java/src/org/chromium/device/nfc/NfcTagHandler.java
diff --git a/device/nfc/android/java/src/org/chromium/device/nfc/NfcTagHandler.java b/device/nfc/android/java/src/org/chromium/device/nfc/NfcTagHandler.java
deleted file mode 100644
index 9e8b9c465a9a1d5e4e6827607a89697d10ff8fd6..0000000000000000000000000000000000000000
--- a/device/nfc/android/java/src/org/chromium/device/nfc/NfcTagHandler.java
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.device.nfc;
-
-import android.nfc.FormatException;
-import android.nfc.NdefMessage;
-import android.nfc.Tag;
-import android.nfc.TagLostException;
-import android.nfc.tech.Ndef;
-import android.nfc.tech.NdefFormatable;
-import android.nfc.tech.TagTechnology;
-
-import java.io.IOException;
-
-/**
- * Utility class that provides I/O operations for NFC tags.
- */
-public class NfcTagHandler {
- private final TagTechnology mTech;
- private final TagTechnologyHandler mTechHandler;
- private boolean mWasConnected;
-
- /**
- * Factory method that creates NfcTagHandler for a given NFC Tag.
- *
- * @param tag @see android.nfc.Tag
- * @return NfcTagHandler or null when unsupported Tag is provided.
- */
- public static NfcTagHandler create(Tag tag) {
- if (tag == null) return null;
-
- Ndef ndef = Ndef.get(tag);
- if (ndef != null) return new NfcTagHandler(ndef, new NdefHandler(ndef));
-
- NdefFormatable formattable = NdefFormatable.get(tag);
- if (formattable != null) {
- return new NfcTagHandler(formattable, new NdefFormattableHandler(formattable));
- }
-
- return null;
- }
-
- /**
- * NdefFormatable and Ndef interfaces have different signatures for operating with NFC tags.
- * This interface provides generic methods.
- */
- private interface TagTechnologyHandler {
- public void write(NdefMessage message)
- throws IOException, TagLostException, FormatException, IllegalStateException;
- public NdefMessage read()
- throws IOException, TagLostException, FormatException, IllegalStateException;
- }
-
- /**
- * Implementation of TagTechnologyHandler that uses Ndef tag technology.
- * @see android.nfc.tech.Ndef
- */
- private static class NdefHandler implements TagTechnologyHandler {
- private final Ndef mNdef;
-
- NdefHandler(Ndef ndef) {
- mNdef = ndef;
- }
-
- @Override
- public void write(NdefMessage message)
- throws IOException, TagLostException, FormatException, IllegalStateException {
- mNdef.writeNdefMessage(message);
- }
-
- @Override
- public NdefMessage read()
- throws IOException, TagLostException, FormatException, IllegalStateException {
- return mNdef.getNdefMessage();
- }
- }
-
- /**
- * Implementation of TagTechnologyHandler that uses NdefFormatable tag technology.
- * @see android.nfc.tech.NdefFormatable
- */
- private static class NdefFormattableHandler implements TagTechnologyHandler {
- private final NdefFormatable mNdefFormattable;
-
- NdefFormattableHandler(NdefFormatable ndefFormattable) {
- mNdefFormattable = ndefFormattable;
- }
-
- @Override
- public void write(NdefMessage message)
- throws IOException, TagLostException, FormatException, IllegalStateException {
- mNdefFormattable.format(message);
- }
-
- @Override
- public NdefMessage read() throws FormatException {
- return NfcTypeConverter.emptyNdefMessage();
- }
- }
-
- protected NfcTagHandler(TagTechnology tech, TagTechnologyHandler handler) {
- mTech = tech;
- mTechHandler = handler;
- }
-
- /**
- * Connects to NFC tag.
- */
- public void connect() throws IOException, TagLostException {
- if (!mTech.isConnected()) {
- mTech.connect();
- mWasConnected = true;
- }
- }
-
- /**
- * Checks if NFC tag is connected.
- */
- public boolean isConnected() {
- return mTech.isConnected();
- }
-
- /**
- * Closes connection.
- */
- public void close() throws IOException {
- mTech.close();
- }
-
- /**
- * Writes NdefMessage to NFC tag.
- */
- public void write(NdefMessage message)
- throws IOException, TagLostException, FormatException, IllegalStateException {
- mTechHandler.write(message);
- }
-
- public NdefMessage read()
- throws IOException, TagLostException, FormatException, IllegalStateException {
- return mTechHandler.read();
- }
-
- /**
- * If tag was previously connected and subsequent connection to the same tag fails, consider
- * tag to be out of range.
- */
- public boolean isTagOutOfRange() {
- try {
- connect();
- } catch (IOException e) {
- return mWasConnected;
- }
- return false;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698