Support convert string similar to FE87-9640 to UUID

Root Cause:
Package installer will crash when cover string "FE87-9640" to UUID because
UUID.fromString() only support the components format 8-4-4-4-12 that length
is 5 after split("-").
Solution:
Extend to support the length of string is 2 after split("-") that is
similar to FE87-9640.

Test steps:
1. Install WhatsApp
2. Format SD card as FAT
3. Insert SD card
4. Uninstall WhatsApp

Change-Id: I7a938d82b41d6eb86c6e09c8c3dab710331cfa69
Reviewed-on: https://gerrit.mot.com/1446378
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Maoyuan Wu <wumy@motorola.com>
Submit-Approved: Jira Key
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
diff --git a/ojluni/src/main/java/java/util/UUID.java b/ojluni/src/main/java/java/util/UUID.java
index b4ea41f..72652bc 100644
--- a/ojluni/src/main/java/java/util/UUID.java
+++ b/ojluni/src/main/java/java/util/UUID.java
@@ -189,9 +189,22 @@
      *
      */
     public static UUID fromString(String name) {
+        // BEGIN Motorola, linzj1, 2019-10-30, IKSWQ-24229
+        // Support convert string similar to FE87-9640 to UUID
         String[] components = name.split("-");
-        if (components.length != 5)
+        if (components.length != 5 && components.length != 2)
             throw new IllegalArgumentException("Invalid UUID string: "+name);
+
+        if (components.length == 2) {
+            for (int i=0; i<2; i++)
+                components[i] = "0x"+components[i];
+
+            long mostSigBits = Long.decode(components[0]).longValue();
+            long leastSigBits = Long.decode(components[1]).longValue();
+            return new UUID(mostSigBits, leastSigBits);
+        }
+        // END IKSWQ-24229
+
         for (int i=0; i<5; i++)
             components[i] = "0x"+components[i];
 
@@ -373,6 +386,13 @@
      * @return  A string representation of this {@code UUID}
      */
     public String toString() {
+        // BEGIN Motorola, linzj1, 2019-10-30, IKSWQ-24229
+        // Support convert string similar to FE87-9640 to UUID
+        if ((mostSigBits >> 16) == 0 && (leastSigBits >> 16) == 0) {
+            return (digits(mostSigBits, 4) + "-" +
+                    digits(leastSigBits, 4));
+        }
+        // END IKSWQ-24229
         return (digits(mostSigBits >> 32, 8) + "-" +
                 digits(mostSigBits >> 16, 4) + "-" +
                 digits(mostSigBits, 4) + "-" +