P2P: fix add upnp service version number parsing

Fixed an error introduced in the p2p hal, where the add service hal was
incorrectly decoding a upnp service version as a decimal number instead
of hexadecimal.

Bug: 38174469
Test: Updated unit tests
Change-Id: Ibf085498e2dfe0190810bd96a7868e1f5dacd94d
diff --git a/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceHal.java b/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceHal.java
index a0f0ad9..b4677b9 100644
--- a/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceHal.java
+++ b/service/java/com/android/server/wifi/p2p/SupplicantP2pIfaceHal.java
@@ -1247,7 +1247,7 @@
                     if ("upnp".equals(data[0])) {
                         int version = 0;
                         try {
-                            version = Integer.parseInt(data[1]);
+                            version = Integer.parseInt(data[1], 16);
                         } catch (NumberFormatException e) {
                             Log.e(TAG, "UPnP Service specification invalid: " + s, e);
                             return false;
@@ -1323,7 +1323,7 @@
                     if ("upnp".equals(data[0])) {
                         int version = 0;
                         try {
-                            version = Integer.parseInt(data[1]);
+                            version = Integer.parseInt(data[1], 16);
                         } catch (NumberFormatException e) {
                             Log.e(TAG, "UPnP Service specification invalid: " + s, e);
                             return false;
diff --git a/service/tests/wifitests/src/com/android/server/wifi/p2p/SupplicantP2pIfaceHalTest.java b/service/tests/wifitests/src/com/android/server/wifi/p2p/SupplicantP2pIfaceHalTest.java
index 4f5864b..af01b5f 100644
--- a/service/tests/wifitests/src/com/android/server/wifi/p2p/SupplicantP2pIfaceHalTest.java
+++ b/service/tests/wifitests/src/com/android/server/wifi/p2p/SupplicantP2pIfaceHalTest.java
@@ -116,8 +116,8 @@
     final String mInvalidBonjourService2 = "bonjour 123456";
     final String mInvalidBonjourService3 = "bonjour invalid_hex 123456";
     final String mInvalidBonjourService4 = "bonjour 123456 invalid_hex";
-    final String mValidUpnpService = "upnp 1 serviceName";
-    final int mValidUpnpServiceVersion = 1;
+    final String mValidUpnpService = "upnp 10 serviceName";
+    final int mValidUpnpServiceVersion = 16;
     final String mValidUpnpServiceName = "serviceName";
     final String mValidBonjourService = "bonjour 30313233 34353637";
     final ArrayList<Byte> mValidBonjourServiceRequest = new ArrayList<Byte>() {{