Treat gain as an unsigned int

Bug: 328131705
Test: Tested with CTS
Merged-In: I6437544bee3465b4f0c4a7f45277b87089af5192
Change-Id: I6437544bee3465b4f0c4a7f45277b87089af5192
diff --git a/nfc/java/android/nfc/cardemulation/PollingFrame.java b/nfc/java/android/nfc/cardemulation/PollingFrame.java
index ccd06cf..29d7bdf 100644
--- a/nfc/java/android/nfc/cardemulation/PollingFrame.java
+++ b/nfc/java/android/nfc/cardemulation/PollingFrame.java
@@ -157,11 +157,7 @@
         mType = frame.getInt(KEY_POLLING_LOOP_TYPE);
         byte[] data = frame.getByteArray(KEY_POLLING_LOOP_DATA);
         mData = (data == null) ? new byte[0] : data;
-        if (frame.containsKey(KEY_POLLING_LOOP_GAIN)) {
-            mGain = frame.getByte(KEY_POLLING_LOOP_GAIN);
-        } else {
-            mGain = -1;
-        }
+        mGain = frame.getInt(KEY_POLLING_LOOP_GAIN, -1);
         mTimestamp = frame.getInt(KEY_POLLING_LOOP_TIMESTAMP);
     }
 
@@ -233,7 +229,7 @@
         Bundle frame = new Bundle();
         frame.putInt(KEY_POLLING_LOOP_TYPE, getType());
         if (getVendorSpecificGain() != -1) {
-            frame.putByte(KEY_POLLING_LOOP_GAIN, (byte) getVendorSpecificGain());
+            frame.putInt(KEY_POLLING_LOOP_GAIN, (byte) getVendorSpecificGain());
         }
         frame.putByteArray(KEY_POLLING_LOOP_DATA, getData());
         frame.putInt(KEY_POLLING_LOOP_TIMESTAMP, getTimestamp());