diff --git a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
index f2ddd21..e8697be 100644
--- a/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
+++ b/tests/cts/net/src/android/net/cts/ConnectivityManagerTest.java
@@ -41,7 +41,7 @@
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test getNetworkInfo(int networkType).",
         method = "getNetworkInfo",
         args = {int.class}
@@ -73,13 +73,13 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test isNetworkTypeValid(int networkType).",
             method = "isNetworkTypeValid",
             args = {int.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test isNetworkTypeValid(int networkType).",
             method = "getAllNetworkInfo",
             args = {}
@@ -97,13 +97,13 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "",
             method = "getNetworkPreference",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "",
             method = "setNetworkPreference",
             args = {int.class}
@@ -133,7 +133,7 @@
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test getAllNetworkInfo().",
         method = "getAllNetworkInfo",
         args = {}
@@ -149,14 +149,14 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test startUsingNetworkFeature(int networkType, String feature)."
                     + "Only test failure case.",
             method = "startUsingNetworkFeature",
             args = {int.class, java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test stopUsingNetworkFeature(int networkType, String feature)."
                     + "Only test failure case.",
             method = "stopUsingNetworkFeature",
@@ -176,12 +176,14 @@
                 invalidateFeature));
 
         // Should return failure(-1) because MMS is not supported on WIFI.
-        assertEquals(failureCode, mCm.startUsingNetworkFeature(ConnectivityManager.TYPE_WIFI, mmsFeature));
-        assertEquals(failureCode, mCm.stopUsingNetworkFeature(ConnectivityManager.TYPE_WIFI, mmsFeature));
+        assertEquals(failureCode, 
+                mCm.startUsingNetworkFeature(ConnectivityManager.TYPE_WIFI, mmsFeature));
+        assertEquals(failureCode, 
+                mCm.stopUsingNetworkFeature(ConnectivityManager.TYPE_WIFI, mmsFeature));
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test requestRouteToHost(int networkType, int hostAddress).",
         method = "requestRouteToHost",
         args = {int.class, int.class}
@@ -197,7 +199,7 @@
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test getActiveNetworkInfo().",
         method = "getActiveNetworkInfo",
         args = {}
diff --git a/tests/cts/net/src/android/net/cts/CredentialsTest.java b/tests/cts/net/src/android/net/cts/CredentialsTest.java
index 0f6e49e..fe65805 100644
--- a/tests/cts/net/src/android/net/cts/CredentialsTest.java
+++ b/tests/cts/net/src/android/net/cts/CredentialsTest.java
@@ -28,25 +28,25 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test constructor of Credentials, and test getGid, getPid, getUid.",
             method = "Credentials",
             args = {int.class, int.class, int.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test constructor of Credentials, and test getGid, getPid, getUid.",
             method = "getGid",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test constructor of Credentials, and test getGid, getPid, getUid.",
             method = "getPid",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test constructor of Credentials, and test getGid, getPid, getUid.",
             method = "getUid",
             args = {}
diff --git a/tests/cts/net/src/android/net/cts/DhcpInfoTest.java b/tests/cts/net/src/android/net/cts/DhcpInfoTest.java
index 657d03c..1a1ad47 100644
--- a/tests/cts/net/src/android/net/cts/DhcpInfoTest.java
+++ b/tests/cts/net/src/android/net/cts/DhcpInfoTest.java
@@ -27,7 +27,7 @@
 public class DhcpInfoTest extends AndroidTestCase {
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test DhcpInfo's constructor.",
         method = "DhcpInfo",
         args = {}
@@ -37,7 +37,7 @@
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test toString function.",
         method = "toString",
         args = {}
diff --git a/tests/cts/net/src/android/net/cts/LocalServerSocketTest.java b/tests/cts/net/src/android/net/cts/LocalServerSocketTest.java
index 4fb8481..a6511e8 100644
--- a/tests/cts/net/src/android/net/cts/LocalServerSocketTest.java
+++ b/tests/cts/net/src/android/net/cts/LocalServerSocketTest.java
@@ -25,41 +25,51 @@
 import android.net.LocalSocketAddress;
 import android.os.ParcelFileDescriptor;
 import android.test.AndroidTestCase;
-import dalvik.annotation.TestInfo;
+import dalvik.annotation.TestTargets;
 import dalvik.annotation.TestStatus;
-import dalvik.annotation.TestTarget;
+import dalvik.annotation.TestTargetNew;
+import dalvik.annotation.TestLevel;
 import dalvik.annotation.TestTargetClass;
 import dalvik.annotation.ToBeFixed;
 
 @TestTargetClass(LocalServerSocket.class)
 public class LocalServerSocketTest extends AndroidTestCase {
-    @TestInfo(
-      status = TestStatus.TBR,
-      notes = "test LocalServerSocket",
-      targets = {
-        @TestTarget(
-          methodName = "accept",
-          methodArgs = {}
+    @TestTargets({
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "test LocalServerSocket",
+            method = "accept",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "close",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "test LocalServerSocket",
+            method = "close",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "getFileDescriptor",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "test LocalServerSocket",
+            method = "getFileDescriptor",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "getLocalSocketAddress",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "test LocalServerSocket",
+            method = "getLocalSocketAddress",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "LocalServerSocket",
-          methodArgs = {FileDescriptor.class}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "test LocalServerSocket",
+            method = "LocalServerSocket",
+            args = {java.io.FileDescriptor.class}
         ),
-        @TestTarget(
-          methodName = "LocalServerSocket",
-          methodArgs = {String.class}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "test LocalServerSocket",
+            method = "LocalServerSocket",
+            args = {java.lang.String.class}
         )
     })
     @ToBeFixed(bug = "1520987", explanation = "Cannot find a proper FileDescriptor for " +
diff --git a/tests/cts/net/src/android/net/cts/LocalSocketAddressTest.java b/tests/cts/net/src/android/net/cts/LocalSocketAddressTest.java
index cc3a1d3..75232c4 100644
--- a/tests/cts/net/src/android/net/cts/LocalSocketAddressTest.java
+++ b/tests/cts/net/src/android/net/cts/LocalSocketAddressTest.java
@@ -34,25 +34,25 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test LocalSocketAddress",
             method = "LocalSocketAddress",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test LocalSocketAddress",
             method = "LocalSocketAddress",
             args = {java.lang.String.class, android.net.LocalSocketAddress.Namespace.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test LocalSocketAddress",
             method = "getName",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test LocalSocketAddress",
             method = "getNamespace",
             args = {}
@@ -65,17 +65,19 @@
         assertEquals(Namespace.ABSTRACT, localSocketAddress.getNamespace());
 
         // specify the namespace
-        LocalSocketAddress localSocketAddress2 = new LocalSocketAddress("name2", Namespace.ABSTRACT);
+        LocalSocketAddress localSocketAddress2 = 
+                new LocalSocketAddress("name2", Namespace.ABSTRACT);
         assertEquals("name2", localSocketAddress2.getName());
         assertEquals(Namespace.ABSTRACT, localSocketAddress2.getNamespace());
 
-        LocalSocketAddress localSocketAddress3 = new LocalSocketAddress("name3", Namespace.FILESYSTEM);
+        LocalSocketAddress localSocketAddress3 = 
+                new LocalSocketAddress("name3", Namespace.FILESYSTEM);
         assertEquals("name3", localSocketAddress3.getName());
         assertEquals(Namespace.FILESYSTEM, localSocketAddress3.getNamespace());
 
-        LocalSocketAddress localSocketAddress4 = new LocalSocketAddress("name4", Namespace.RESERVED);
+        LocalSocketAddress localSocketAddress4 = 
+                new LocalSocketAddress("name4", Namespace.RESERVED);
         assertEquals("name4", localSocketAddress4.getName());
         assertEquals(Namespace.RESERVED, localSocketAddress4.getNamespace());
     }
 }
-
diff --git a/tests/cts/net/src/android/net/cts/LocalSocketAddress_NamespaceTest.java b/tests/cts/net/src/android/net/cts/LocalSocketAddress_NamespaceTest.java
index a9acaa3..5d29c81 100644
--- a/tests/cts/net/src/android/net/cts/LocalSocketAddress_NamespaceTest.java
+++ b/tests/cts/net/src/android/net/cts/LocalSocketAddress_NamespaceTest.java
@@ -32,7 +32,7 @@
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test valueOf(String name).",
         method = "valueOf",
         args = {java.lang.String.class}
@@ -44,7 +44,7 @@
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test values().",
         method = "values",
         args = {}
@@ -56,4 +56,3 @@
         assertEquals(Namespace.FILESYSTEM, expected[2]);
     }
 }
-
diff --git a/tests/cts/net/src/android/net/cts/LocalSocketTest.java b/tests/cts/net/src/android/net/cts/LocalSocketTest.java
index ae0b51c..8e3cd67 100644
--- a/tests/cts/net/src/android/net/cts/LocalSocketTest.java
+++ b/tests/cts/net/src/android/net/cts/LocalSocketTest.java
@@ -36,73 +36,73 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "LocalSocket",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "close",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "connect",
             args = {android.net.LocalSocketAddress.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "getAncillaryFileDescriptors",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "getFileDescriptor",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "getInputStream",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "getOutputStream",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "getPeerCredentials",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "isConnected",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "setFileDescriptorsForSend",
             args = {java.io.FileDescriptor[].class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "shutdownInput",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test core functions of LocalSocket",
             method = "shutdownOutput",
             args = {}
@@ -192,91 +192,91 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "bind",
             args = {android.net.LocalSocketAddress.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "connect",
             args = {android.net.LocalSocketAddress.class, int.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "getLocalSocketAddress",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "getReceiveBufferSize",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "getRemoteSocketAddress",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "getSendBufferSize",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "getSoTimeout",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "isBound",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "isClosed",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "isInputShutdown",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "isOutputShutdown",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "setReceiveBufferSize",
             args = {int.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "setSendBufferSize",
             args = {int.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "setSoTimeout",
             args = {int.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "test secondary functions of LocalSocket",
             method = "toString",
             args = {}
@@ -285,7 +285,7 @@
     public void testAccessors() throws IOException{
         LocalSocket socket = new LocalSocket();
         LocalSocketAddress addr = new LocalSocketAddress("secondary");
-        
+
         assertFalse(socket.isBound());
         socket.bind(addr);
         assertTrue(socket.isBound());
diff --git a/tests/cts/net/src/android/net/cts/MailToTest.java b/tests/cts/net/src/android/net/cts/MailToTest.java
index e419272..e64aaf4 100644
--- a/tests/cts/net/src/android/net/cts/MailToTest.java
+++ b/tests/cts/net/src/android/net/cts/MailToTest.java
@@ -28,7 +28,8 @@
 public class MailToTest extends AndroidTestCase {
     private static final String MAILTOURI_1 = "mailto:chris@example.com";
     private static final String MAILTOURI_2 = "mailto:infobot@example.com?subject=current-issue";
-    private static final String MAILTOURI_3 = "mailto:infobot@example.com?body=send%20current-issue";
+    private static final String MAILTOURI_3 = 
+            "mailto:infobot@example.com?body=send%20current-issue";
     private static final String MAILTOURI_4 = "mailto:infobot@example.com?body=send%20current-" +
                                               "issue%0D%0Asend%20index";
     private static final String MAILTOURI_5 = "mailto:joe@example.com?" +
@@ -43,49 +44,49 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test parse mailto URI.",
             method = "parse",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test parse mailto URI.",
             method = "isMailTo",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test parse mailto URI.",
             method = "getTo",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test parse mailto URI.",
             method = "getSubject",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test parse mailto URI.",
             method = "getBody",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test parse mailto URI.",
             method = "getCc",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test parse mailto URI.",
             method = "toString",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test parse mailto URI.",
             method = "getHeaders",
             args = {}
@@ -136,7 +137,8 @@
         assertEquals("send current-issue\r\nsend index", mailTo_4.getBody());
         assertNull(mailTo_4.getCc());
         assertNull(mailTo_4.getSubject());
-        assertEquals("mailto:?body=send%20current-issue%0D%0Asend%20index&to=infobot%40example.com&",
+        assertEquals(
+                "mailto:?body=send%20current-issue%0D%0Asend%20index&to=infobot%40example.com&",
                 mailTo_4.toString());
 
         assertTrue(MailTo.isMailTo(MAILTOURI_5));
@@ -164,4 +166,3 @@
                 mailTo_6.toString());
     }
 }
-
diff --git a/tests/cts/net/src/android/net/cts/NetworkInfoTest.java b/tests/cts/net/src/android/net/cts/NetworkInfoTest.java
index 5036c4a..46da3ca 100644
--- a/tests/cts/net/src/android/net/cts/NetworkInfoTest.java
+++ b/tests/cts/net/src/android/net/cts/NetworkInfoTest.java
@@ -16,10 +16,6 @@
 
 package android.net.cts;
 
-import dalvik.annotation.TestInfo;
-import dalvik.annotation.TestStatus;
-import dalvik.annotation.TestTarget;
-import dalvik.annotation.TestTargetClass;
 import dalvik.annotation.ToBeFixed;
 
 import android.content.Context;
@@ -29,6 +25,11 @@
 import android.net.NetworkInfo.State;
 import android.os.Parcel;
 import android.test.AndroidTestCase;
+import dalvik.annotation.TestTargets;
+import dalvik.annotation.TestStatus;
+import dalvik.annotation.TestTargetNew;
+import dalvik.annotation.TestLevel;
+import dalvik.annotation.TestTargetClass;
 
 @TestTargetClass(NetworkInfo.class)
 public class NetworkInfoTest extends AndroidTestCase {
@@ -41,65 +42,90 @@
                 .getSystemService(Context.CONNECTIVITY_SERVICE);
     }
 
-    @TestInfo(
-      status = TestStatus.TBR,
-      notes = "Test isConnectedOrConnecting().",
-      targets = {
-        @TestTarget(
-          methodName = "isConnectedOrConnecting",
-          methodArgs = {}
+    @TestTargets({
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "isConnectedOrConnecting",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "setFailover",
-          methodArgs = {boolean.class}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "setFailover",
+            args = {boolean.class}
         ),
-        @TestTarget(
-          methodName = "isFailover",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "isFailover",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "getType",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "getType",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "getTypeName",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "getTypeName",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "setIsAvailable",
-          methodArgs = {boolean.class}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "setIsAvailable",
+            args = {boolean.class}
         ),
-        @TestTarget(
-          methodName = "isAvailable",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "isAvailable",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "isConnected",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "isConnected",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "describeContents",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "describeContents",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "getDetailedState",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "getDetailedState",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "getState",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "getState",
+            args = {}
         ),
-       @TestTarget(
-          methodName = "getReason",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "getReason",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "getExtraInfo",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "getExtraInfo",
+            args = {}
         ),
-        @TestTarget(
-          methodName = "toString",
-          methodArgs = {}
+        @TestTargetNew(
+            level = TestLevel.COMPLETE,
+            notes = "Test isConnectedOrConnecting().",
+            method = "toString",
+            args = {}
         )
     })
     public void testAccessNetworkInfoProperties() {
@@ -137,17 +163,13 @@
         assertNotNull(ni[ConnectivityManager.TYPE_WIFI].toString());
     }
 
-    @TestInfo(
-      status = TestStatus.TBR,
-      notes = "Test writeToParcel(Parcel dest, int flags).",
-      targets = {
-        @TestTarget(
-          methodName = "writeToParcel",
-          methodArgs = {Parcel.class, Integer.class}
-        )
-    })
-    @ToBeFixed(bug = "1703933", explanation = "Cannot test if the data was written correctly,"
-        + " if build CTS against SDK.")
+    @TestTargetNew(
+        level = TestLevel.COMPLETE,
+        notes = "Test writeToParcel(Parcel dest, int flags).",
+        method = "writeToParcel",
+        args = {android.os.Parcel.class, java.lang.Integer.class}
+    )
+    //@ToBeFixed(bug = "1703933", explanation = "Cannot test if the data was written correctly,"
     public void testWriteToParcel() {
         NetworkInfo[] networkInfos = mConnectivityManager.getAllNetworkInfo();
         NetworkInfo mobileInfo = networkInfos[ConnectivityManager.TYPE_MOBILE];
diff --git a/tests/cts/net/src/android/net/cts/NetworkInfo_DetailedStateTest.java b/tests/cts/net/src/android/net/cts/NetworkInfo_DetailedStateTest.java
index 6459724..002adfe 100644
--- a/tests/cts/net/src/android/net/cts/NetworkInfo_DetailedStateTest.java
+++ b/tests/cts/net/src/android/net/cts/NetworkInfo_DetailedStateTest.java
@@ -18,9 +18,10 @@
 
 import android.net.NetworkInfo.DetailedState;
 import android.test.AndroidTestCase;
-import dalvik.annotation.TestInfo;
+import dalvik.annotation.TestTargets;
 import dalvik.annotation.TestStatus;
-import dalvik.annotation.TestTarget;
+import dalvik.annotation.TestTargetNew;
+import dalvik.annotation.TestLevel;
 import dalvik.annotation.TestTargetClass;
 
 @TestTargetClass(DetailedState.class)
@@ -31,15 +32,12 @@
         super.setUp();
     }
 
-    @TestInfo(
-      status = TestStatus.TBR,
-      notes = "Test valueOf(String name).",
-      targets = {
-        @TestTarget(
-          methodName = "valueOf",
-          methodArgs = {String.class}
-        )
-    })
+    @TestTargetNew(
+        level = TestLevel.COMPLETE,
+        notes = "Test valueOf(String name).",
+        method = "valueOf",
+        args = {java.lang.String.class}
+    )
     public void testValueOf() {
         assertEquals(DetailedState.AUTHENTICATING, DetailedState
                 .valueOf("AUTHENTICATING"));
@@ -60,15 +58,12 @@
                 .valueOf("SUSPENDED"));
     }
 
-    @TestInfo(
-      status = TestStatus.TBR,
-      notes = "Test values().",
-      targets = {
-        @TestTarget(
-          methodName = "values",
-          methodArgs = {}
-        )
-    })
+    @TestTargetNew(
+        level = TestLevel.COMPLETE,
+        notes = "Test values().",
+        method = "values",
+        args = {}
+    )
     public void testValues() {
         DetailedState[] expected = DetailedState.values();
         assertEquals(10, expected.length);
diff --git a/tests/cts/net/src/android/net/cts/NetworkInfo_StateTest.java b/tests/cts/net/src/android/net/cts/NetworkInfo_StateTest.java
index b03c3f0..2f58784 100644
--- a/tests/cts/net/src/android/net/cts/NetworkInfo_StateTest.java
+++ b/tests/cts/net/src/android/net/cts/NetworkInfo_StateTest.java
@@ -17,9 +17,10 @@
 package android.net.cts;
 
 import android.test.AndroidTestCase;
-import dalvik.annotation.TestInfo;
+import dalvik.annotation.TestTargets;
 import dalvik.annotation.TestStatus;
-import dalvik.annotation.TestTarget;
+import dalvik.annotation.TestTargetNew;
+import dalvik.annotation.TestLevel;
 import dalvik.annotation.TestTargetClass;
 import android.net.NetworkInfo.State;
 
@@ -31,15 +32,12 @@
         super.setUp();
     }
 
-    @TestInfo(
-      status = TestStatus.TBR,
-      notes = "Test valueOf(String name).",
-      targets = {
-        @TestTarget(
-          methodName = "valueOf",
-          methodArgs = {String.class}
-        )
-    })
+    @TestTargetNew(
+        level = TestLevel.COMPLETE,
+        notes = "Test valueOf(String name).",
+        method = "valueOf",
+        args = {java.lang.String.class}
+    )
     public void testValueOf() {
         assertEquals(State.CONNECTED, State.valueOf("CONNECTED"));
         assertEquals(State.CONNECTING, State.valueOf("CONNECTING"));
@@ -49,15 +47,12 @@
         assertEquals(State.UNKNOWN, State.valueOf("UNKNOWN"));
     }
 
-    @TestInfo(
-      status = TestStatus.TBR,
-      notes = "Test values().",
-      targets = {
-        @TestTarget(
-          methodName = "values",
-          methodArgs = {}
-        )
-    })
+    @TestTargetNew(
+        level = TestLevel.COMPLETE,
+        notes = "Test values().",
+        method = "values",
+        args = {}
+    )
     public void testValues() {
         State[] expected = State.values();
         assertEquals(6, expected.length);
diff --git a/tests/cts/net/src/android/net/cts/UriTest.java b/tests/cts/net/src/android/net/cts/UriTest.java
index 84b58c0..067ce52 100644
--- a/tests/cts/net/src/android/net/cts/UriTest.java
+++ b/tests/cts/net/src/android/net/cts/UriTest.java
@@ -30,7 +30,7 @@
 @TestTargetClass(Uri.class)
 public class UriTest extends AndroidTestCase {
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test write to and read frome parcel.",
         method = "writeToParcel",
         args = {android.os.Parcel.class, android.net.Uri.class}
@@ -61,7 +61,7 @@
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test buildUpon",
         method = "buildUpon",
         args = {}
@@ -94,73 +94,73 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getSchemeSpecificPart",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getEncodedSchemeSpecificPart",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getEncodedPath",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getPath",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getEncodedQuery",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getQuery",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getEncodedFragment",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getHost",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getPort",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getUserInfo",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "getEncodedUserInfo",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test string uri.",
             method = "parse",
             args = {java.lang.String.class}
@@ -203,7 +203,7 @@
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test compareTo",
         method = "compareTo",
         args = {android.net.Uri.class}
@@ -220,13 +220,13 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test equals and hashCode.",
             method = "equals",
             args = {java.lang.Object.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test equals and hashCode.",
             method = "hashCode",
             args = {}
@@ -262,19 +262,19 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test encode and decode.",
             method = "encode",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test encode and decode.",
             method = "encode",
             args = {java.lang.String.class, java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test encode and decode.",
             method = "decode",
             args = {java.lang.String.class}
@@ -301,7 +301,7 @@
     }
 
     @TestTargetNew(
-        level = TestLevel.TODO,
+        level = TestLevel.COMPLETE,
         notes = "Test fromFile.",
         method = "fromFile",
         args = {java.io.File.class}
@@ -318,13 +318,13 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test get query parameters.",
             method = "getQueryParameter",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test get query parameters.",
             method = "getQueryParameters",
             args = {java.lang.String.class}
@@ -347,19 +347,19 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "",
             method = "getPathSegments",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "",
             method = "getLastPathSegment",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "",
             method = "withAppendedPath",
             args = {android.net.Uri.class, java.lang.String.class}
@@ -404,55 +404,55 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test opaque uri.",
             method = "isAbsolute",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test opaque uri.",
             method = "isOpaque",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test opaque uri.",
             method = "isRelative",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test opaque uri.",
             method = "getHost",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test opaque uri.",
             method = "getPort",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test opaque uri.",
             method = "getScheme",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test opaque uri.",
             method = "getSchemeSpecificPart",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test opaque uri.",
             method = "fromParts",
             args = {java.lang.String.class, java.lang.String.class, java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test opaque uri.",
             method = "toString",
             args = {}
@@ -514,91 +514,91 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getAuthority",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getScheme",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getEncodedAuthority",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getPath",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getEncodedPath",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getQuery",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getEncodedQuery",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getFragment",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getEncodedFragment",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "getSchemeSpecificPart",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "isAbsolute",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "isHierarchical",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "isOpaque",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "isRelative",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test hierarchical uris.",
             method = "toString",
             args = {}
diff --git a/tests/cts/net/src/android/net/cts/Uri_BuilderTest.java b/tests/cts/net/src/android/net/cts/Uri_BuilderTest.java
index 8a1b423..66bdb07 100644
--- a/tests/cts/net/src/android/net/cts/Uri_BuilderTest.java
+++ b/tests/cts/net/src/android/net/cts/Uri_BuilderTest.java
@@ -28,103 +28,103 @@
 public class Uri_BuilderTest extends TestCase {
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "Uri.Builder",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "build",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "scheme",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "authority",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "path",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "query",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "opaquePart",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "fragment",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "appendEncodedPath",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "appendPath",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "appendQueryParameter",
             args = {java.lang.String.class, java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "encodedAuthority",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "encodedFragment",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "encodedPath",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "encodedQuery",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "encodedOpaquePart",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test Builder operations.",
             method = "toString",
             args = {}
@@ -171,4 +171,3 @@
         assertEquals("nobody", uri.getEncodedSchemeSpecificPart());
     }
 }
-
diff --git a/tests/cts/net/src/android/net/http/cts/SslCertificateTest.java b/tests/cts/net/src/android/net/http/cts/SslCertificateTest.java
index 6e23419..91ca876 100644
--- a/tests/cts/net/src/android/net/http/cts/SslCertificateTest.java
+++ b/tests/cts/net/src/android/net/http/cts/SslCertificateTest.java
@@ -46,13 +46,14 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test constructor(s) of SslCertificate.",
             method = "SslCertificate",
-            args = {java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class}
+            args = {java.lang.String.class, java.lang.String.class, java.lang.String.class, 
+                    java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test constructor(s) of SslCertificate.",
             method = "SslCertificate",
             args = {java.security.cert.X509Certificate.class}
@@ -205,13 +206,13 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test saveState and restoreState(SslCertificate certificate).",
             method = "saveState",
             args = {android.net.http.SslCertificate.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test saveState and restoreState(SslCertificate certificate).",
             method = "restoreState",
             args = {android.os.Bundle.class}
@@ -240,31 +241,31 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test getIssuedTo().",
             method = "getIssuedTo",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test getIssuedTo().",
             method = "getIssuedBy",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test getIssuedTo().",
             method = "getValidNotAfter",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test getIssuedTo().",
             method = "getValidNotBefore",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test getIssuedTo().",
             method = "toString",
             args = {}
diff --git a/tests/cts/net/src/android/net/http/cts/SslCertificate_DNameTest.java b/tests/cts/net/src/android/net/http/cts/SslCertificate_DNameTest.java
index 7562e3a..848bf7b 100644
--- a/tests/cts/net/src/android/net/http/cts/SslCertificate_DNameTest.java
+++ b/tests/cts/net/src/android/net/http/cts/SslCertificate_DNameTest.java
@@ -32,31 +32,31 @@
 
     @TestTargets({
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test DName.",
             method = "SslCertificate.DName",
             args = {java.lang.String.class}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test DName.",
             method = "getCName",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test DName.",
             method = "getDName",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test DName.",
             method = "getOName",
             args = {}
         ),
         @TestTargetNew(
-            level = TestLevel.TODO,
+            level = TestLevel.COMPLETE,
             notes = "Test DName.",
             method = "getUName",
             args = {}
