Snap for 10453563 from b9fce10f18043a4ec83d8e34be550f3b74ace731 to mainline-ipsec-release

Change-Id: I186985a4d3cf3e464a7cfa061d12c202e098cec8
diff --git a/Android.bp b/Android.bp
index 2778c13..c3a8aaa 100644
--- a/Android.bp
+++ b/Android.bp
@@ -78,6 +78,8 @@
         javacflags: [
             "-Xep:MissingOverride:OFF",
             "-Xep:DoNotCall:OFF",
+            "-Xep:TryFailThrowable:OFF",
+            "-Xep:ReturnValueIgnored:OFF",
         ],
     },
 }
diff --git a/OWNERS b/OWNERS
index fedd23c..6b174a0 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,8 +1,5 @@
 # For JDWP changes:
-allight@google.com
-oth@google.com
 ngeoffray@google.com
 
 # For build / style / minor test fixes:
 include platform/libcore:/OWNERS
-calin@google.com
diff --git a/jdwp/Android.bp b/jdwp/Android.bp
index 83e3d28..a6741b0 100644
--- a/jdwp/Android.bp
+++ b/jdwp/Android.bp
@@ -52,9 +52,11 @@
         },
     },
 
-    // b/73499927
     errorprone: {
-        javacflags: ["-Xep:MissingOverride:OFF"],
+        javacflags: [
+            "-Xep:MissingOverride:OFF", // b/73499927
+            "-Xep:ReturnValueIgnored:WARN",
+        ],
     },
 
     jarjar_rules: "jarjar-rules.txt",
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/Packet.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/Packet.java
index ba88706..baa66e9 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/Packet.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/Packet.java
@@ -1252,6 +1252,10 @@
         return reading_data_index == data.length;
     }
 
+    public int remainingData() {
+        return data.length - reading_data_index;
+    }
+
     /**
      * Writes value - val to the array of bytes ar[], beginning from index - to,
      * size of value is - size bytes. If size is less than 8, the appropriate
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/PacketDispatcher.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/PacketDispatcher.java
index feceb8f..8870845 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/PacketDispatcher.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/framework/jdwp/PacketDispatcher.java
@@ -33,6 +33,7 @@
 
 import org.apache.harmony.jpda.tests.framework.LogWriter;
 import org.apache.harmony.jpda.tests.framework.TestOptions;
+import org.apache.harmony.jpda.tests.framework.jdwp.JDWPCommands.EventCommandSet;
 import org.apache.harmony.jpda.tests.framework.jdwp.exceptions.TimeoutException;
 
 /**
@@ -554,7 +555,12 @@
                     EventPacket eventPacket = new EventPacket(packet);
                     // below is to check received events for correctness
 
-                    // below is trace for received events
+                    // Check this is indeed an Event (this could be a JDWP extension)
+                    // If it is not, ignore it.
+                    if (eventPacket.getCommandSet() != EventCommandSet.CommandSetID) {
+                        continue;
+                    }
+
                     ParsedEvent[] parsedEvents = ParsedEvent
                             .parseEventPacket(eventPacket);
                     if ((eventRequestIDForTrace >= 0)
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SyntheticMethodsTest.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SyntheticMethodsTest.java
index 158b072..8effa0c 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SyntheticMethodsTest.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/ReferenceType/SyntheticMethodsTest.java
@@ -37,6 +37,20 @@
         return SyntheticMembersDebuggee.class.getName();
     }
 
+    private boolean doesDebuggeeClassUseNestAnnotation() {
+        // If the nest group annotations are used in SyntheticMembersDebuggee, then its nest group
+        // will contain at least one other member (SyntheticMembersDebuggee.InnerClass). Without the
+        // annotations, the group would only have SyntheticMembersDebuggee.
+        Class debuggee = SyntheticMembersDebuggee.class;
+        Class[] members = debuggee.getNestMembers();
+        for (Class member : members) {
+            if (member != debuggee) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     /**
      * This testcase exercises ReferenceType.Methods command.
      *
@@ -109,7 +123,12 @@
         }
         assertAllDataRead(methodsReply);
 
-        assertTrue("Did not find any synthetic method", foundSyntheticMethod);
+        if (doesDebuggeeClassUseNestAnnotation()) {
+            assertFalse("Found synthetic methods when nest group information is available",
+                    foundSyntheticMethod);
+        } else {
+            assertTrue("Did not find any synthetic method", foundSyntheticMethod);
+        }
 
         synchronizer.sendMessage(JPDADebuggeeSynchronizer.SGNL_CONTINUE);
         logWriter.println("==> " + thisTestName + " for " + commandName + ": FINISH");
diff --git a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPTestCase.java b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPTestCase.java
index e89b49b..28bf275 100644
--- a/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPTestCase.java
+++ b/jdwp/src/test/java/org/apache/harmony/jpda/tests/jdwp/share/JDWPTestCase.java
@@ -765,7 +765,7 @@
         if (reply.isAllDataRead()) {
             return; // OK
         }
-        printErrorAndFail("Not all data has been read");
+        printErrorAndFail("Not all data has been read, remaining=" + reply.remainingData());
     }
 
     /**
diff --git a/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java b/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
index 082a36d..e96ace1 100644
--- a/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
+++ b/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/LogManagerTest.java
@@ -101,6 +101,7 @@
       */
     protected void tearDown() throws Exception {
         super.tearDown();
+        manager.reset();
         handler = null;
     }
 
diff --git a/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/SimpleFormatterTest.java b/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/SimpleFormatterTest.java
index ee35d2d..02421a8 100644
--- a/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/SimpleFormatterTest.java
+++ b/logging/src/test/java/org/apache/harmony/logging/tests/java/util/logging/SimpleFormatterTest.java
@@ -74,6 +74,7 @@
     }
 
     public void testFormat() {
+        long logEventTimeMillis = 0;
         String str = sf.format(lr);
         Throwable t;
 
@@ -92,10 +93,10 @@
             }
         });
         lr.setSequenceNumber(12321312);
-        lr.setMillis(0);
+        lr.setMillis(logEventTimeMillis);
         str = sf.format(lr);
         Calendar cal = Calendar.getInstance();
-        cal.setTimeInMillis(12321312);
+        cal.setTimeInMillis(logEventTimeMillis);
         assertTrue(str.indexOf(String.valueOf(cal.get(Calendar.YEAR))) >= 0);
         assertTrue(str.indexOf("class") > 0);
         assertTrue(str.indexOf("method") > 0);
diff --git a/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TimestampTest.java b/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TimestampTest.java
index 98de92d..bac077a 100644
--- a/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TimestampTest.java
+++ b/sql/src/test/java/org/apache/harmony/sql/tests/java/sql/TimestampTest.java
@@ -130,6 +130,22 @@
                     "1969-12-31 05:14:39.309" },
             new String[] { "1970-01-01 19:45:20.231", "1970-01-02 07:17:59.0", "1969-12-31 22:14:39.309" } };
 
+    private TimeZone oldTimeZone;
+
+    @Override
+    public void setUp() {
+        oldTimeZone = TimeZone.getDefault();
+        // TIME_TESTN and corresponsing values in YEAR_ARRAY and MONTH_ARRAY
+        // are time zone dependant. TIME_TESTN comments indicate that
+        // they are interpreted as GMT, hence setting time zone to GMT.
+        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+    }
+
+    @Override
+    public void tearDown() {
+        TimeZone.setDefault(oldTimeZone);
+    }
+
     /*
     * Constructor test
     */
@@ -661,13 +677,6 @@
         SerializationTest.verifyGolden(this, object);
     }
 
-    // Reset defualt timezone
-    TimeZone defaultTimeZone = TimeZone.getDefault();
-
-    protected void tearDown() {
-        TimeZone.setDefault(defaultTimeZone);
-    }
-
     /**
      * @tests overriding Timestamp to create an immutable class.
      */