diff --git a/android/app/tests/unit/src/com/android/bluetooth/csip/CsipSetCoordinatorStateMachineTest.java b/android/app/tests/unit/src/com/android/bluetooth/csip/CsipSetCoordinatorStateMachineTest.java
index 1ba0431..0c09204 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/csip/CsipSetCoordinatorStateMachineTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/csip/CsipSetCoordinatorStateMachineTest.java
@@ -21,7 +21,6 @@
 import static android.bluetooth.BluetoothProfile.STATE_CONNECTING;
 import static android.bluetooth.BluetoothProfile.STATE_DISCONNECTED;
 import static android.bluetooth.BluetoothProfile.STATE_DISCONNECTING;
-
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
@@ -34,13 +33,10 @@
 import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.Message;
-import android.test.suitebuilder.annotation.MediumTest;
-
+import androidx.test.filters.MediumTest;
 import androidx.test.runner.AndroidJUnit4;
-
 import com.android.bluetooth.TestUtils;
 import com.android.bluetooth.btservice.AdapterService;
-
 import org.hamcrest.core.IsInstanceOf;
 import org.junit.*;
 import org.junit.runner.RunWith;
diff --git a/android/app/tests/unit/src/com/android/bluetooth/hap/HapClientStateMachineTest.java b/android/app/tests/unit/src/com/android/bluetooth/hap/HapClientStateMachineTest.java
index 6ce340c..8e1024d 100644
--- a/android/app/tests/unit/src/com/android/bluetooth/hap/HapClientStateMachineTest.java
+++ b/android/app/tests/unit/src/com/android/bluetooth/hap/HapClientStateMachineTest.java
@@ -31,13 +31,10 @@
 import android.content.Intent;
 import android.os.HandlerThread;
 import android.os.Message;
-import android.test.suitebuilder.annotation.MediumTest;
-
+import androidx.test.filters.MediumTest;
 import androidx.test.runner.AndroidJUnit4;
-
 import com.android.bluetooth.TestUtils;
 import com.android.bluetooth.btservice.AdapterService;
-
 import org.hamcrest.core.IsInstanceOf;
 import org.junit.After;
 import org.junit.Assert;
diff --git a/framework/tests/unit/src/android/bluetooth/BluetoothCodecConfigTest.java b/framework/tests/unit/src/android/bluetooth/BluetoothCodecConfigTest.java
index b75b8f9..e2c8c19 100644
--- a/framework/tests/unit/src/android/bluetooth/BluetoothCodecConfigTest.java
+++ b/framework/tests/unit/src/android/bluetooth/BluetoothCodecConfigTest.java
@@ -16,8 +16,7 @@
 
 package android.bluetooth;
 
-import android.test.suitebuilder.annotation.SmallTest;
-
+import androidx.test.filters.SmallTest;
 import junit.framework.TestCase;
 
 /** Unit test cases for {@link BluetoothCodecConfig}. */
diff --git a/framework/tests/unit/src/android/bluetooth/BluetoothCodecStatusTest.java b/framework/tests/unit/src/android/bluetooth/BluetoothCodecStatusTest.java
index 48d5265..6f53cb3 100644
--- a/framework/tests/unit/src/android/bluetooth/BluetoothCodecStatusTest.java
+++ b/framework/tests/unit/src/android/bluetooth/BluetoothCodecStatusTest.java
@@ -16,12 +16,10 @@
 
 package android.bluetooth;
 
-import android.test.suitebuilder.annotation.SmallTest;
-
-import junit.framework.TestCase;
-
+import androidx.test.filters.SmallTest;
 import java.util.List;
 import java.util.Objects;
+import junit.framework.TestCase;
 
 /** Unit test cases for {@link BluetoothCodecStatus}. */
 public class BluetoothCodecStatusTest extends TestCase {
diff --git a/framework/tests/unit/src/android/bluetooth/BluetoothLeAudioCodecConfigTest.java b/framework/tests/unit/src/android/bluetooth/BluetoothLeAudioCodecConfigTest.java
index b3e8897..fa0bbc6 100644
--- a/framework/tests/unit/src/android/bluetooth/BluetoothLeAudioCodecConfigTest.java
+++ b/framework/tests/unit/src/android/bluetooth/BluetoothLeAudioCodecConfigTest.java
@@ -16,8 +16,7 @@
 
 package android.bluetooth;
 
-import android.test.suitebuilder.annotation.SmallTest;
-
+import androidx.test.filters.SmallTest;
 import junit.framework.TestCase;
 
 /** Unit test cases for {@link BluetoothLeAudioCodecConfig}. */
diff --git a/framework/tests/unit/src/android/bluetooth/BluetoothUuidTest.java b/framework/tests/unit/src/android/bluetooth/BluetoothUuidTest.java
index b3d7758..745b73e 100644
--- a/framework/tests/unit/src/android/bluetooth/BluetoothUuidTest.java
+++ b/framework/tests/unit/src/android/bluetooth/BluetoothUuidTest.java
@@ -17,8 +17,7 @@
 package android.bluetooth;
 
 import android.os.ParcelUuid;
-import android.test.suitebuilder.annotation.SmallTest;
-
+import androidx.test.filters.SmallTest;
 import junit.framework.TestCase;
 
 /** Unit test cases for {@link BluetoothUuid}. */
diff --git a/framework/tests/unit/src/android/bluetooth/le/ScanFilterTest.java b/framework/tests/unit/src/android/bluetooth/le/ScanFilterTest.java
index fa50315..120034c 100644
--- a/framework/tests/unit/src/android/bluetooth/le/ScanFilterTest.java
+++ b/framework/tests/unit/src/android/bluetooth/le/ScanFilterTest.java
@@ -18,8 +18,7 @@
 
 import android.bluetooth.BluetoothDevice;
 import android.os.Parcel;
-import android.test.suitebuilder.annotation.SmallTest;
-
+import androidx.test.filters.SmallTest;
 import junit.framework.TestCase;
 
 public class ScanFilterTest extends TestCase {
diff --git a/framework/tests/unit/src/android/bluetooth/le/ScanRecordTest.java b/framework/tests/unit/src/android/bluetooth/le/ScanRecordTest.java
index 879ac56..f226c94 100644
--- a/framework/tests/unit/src/android/bluetooth/le/ScanRecordTest.java
+++ b/framework/tests/unit/src/android/bluetooth/le/ScanRecordTest.java
@@ -17,17 +17,14 @@
 package android.bluetooth.le;
 
 import android.os.ParcelUuid;
-import android.test.suitebuilder.annotation.SmallTest;
-
+import androidx.test.filters.SmallTest;
 import com.android.internal.util.HexDump;
 import com.android.modules.utils.BytesMatcher;
-
-import junit.framework.TestCase;
-
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.function.Predicate;
+import junit.framework.TestCase;
 
 /**
  * Unit test cases for {@link ScanRecord}.
diff --git a/framework/tests/unit/src/android/bluetooth/le/ScanSettingsTest.java b/framework/tests/unit/src/android/bluetooth/le/ScanSettingsTest.java
index 8848c72..e6c85f6 100644
--- a/framework/tests/unit/src/android/bluetooth/le/ScanSettingsTest.java
+++ b/framework/tests/unit/src/android/bluetooth/le/ScanSettingsTest.java
@@ -16,8 +16,7 @@
 
 package android.bluetooth.le;
 
-import android.test.suitebuilder.annotation.SmallTest;
-
+import androidx.test.filters.SmallTest;
 import junit.framework.TestCase;
 
 /** Test for Bluetooth LE {@link ScanSettings}. */
