Add name "default" as default to register service

the getService() and registerAsService() methods of interface objects
now have default parameters of "default" for the service name. HALs
will not have to use any service name unless they want to register
more than one service.

Test: make hidl_test; adb sync; adb shell;
data/native_test64/hidl_test64
Modify Nfc HAL to use default name
Run VTS test from go/vtsrun on Sensors, Vr, Nfc
Verify NFC HAL works (turn NFC on and off in Settings)

In support of b/33844934

Change-Id: I0e6af6694dc48a6216dbacaa2b3af42445b8372a
diff --git a/generateJava.cpp b/generateJava.cpp
index bc44d08..1241dcd 100644
--- a/generateJava.cpp
+++ b/generateJava.cpp
@@ -213,6 +213,22 @@
 
     out << "}\n\n";
 
+    out << "public static "
+        << ifaceName
+        << " getService() throws RemoteException {\n";
+
+    out.indent();
+
+    out << "return "
+        << ifaceName
+        << ".asInterface(android.os.HwBinder.getService(\""
+        << iface->fqName().string()
+        << "\",\"default\"));\n";
+
+    out.unindent();
+
+    out << "}\n\n";
+
     status_t err = emitJavaTypeDeclarations(out);
 
     if (err != OK) {
@@ -608,4 +624,3 @@
 }
 
 }  // namespace android
-