diff --git a/src/tools/android/java/com/google/devtools/build/android/desugar/runtime/HiddenConversions.java b/src/tools/android/java/com/google/devtools/build/android/desugar/runtime/HiddenConversions.java
index b3ba58a..7025549 100644
--- a/src/tools/android/java/com/google/devtools/build/android/desugar/runtime/HiddenConversions.java
+++ b/src/tools/android/java/com/google/devtools/build/android/desugar/runtime/HiddenConversions.java
@@ -15,7 +15,6 @@
 
 import android.app.PendingIntent;
 import android.app.usage.UsageStatsManager;
-import java.util.concurrent.TimeUnit;
 
 /**
  * Conversions for hidden Android APIs that use desugared primitives (see b/79121791). These are
@@ -66,25 +65,6 @@
         sessionEndCallbackIntent);
   }
 
-  public static void registerUsageSessionObserver(
-      UsageStatsManager receiver,
-      int sessionObserverId,
-      String[] observedEntities,
-      long timeLimit,
-      TimeUnit timeLimitUnit,
-      long sessionThreshold,
-      TimeUnit sessionThresholdUnit,
-      PendingIntent limitReachedCallbackIntent,
-      PendingIntent sessionEndCallbackIntent) {
-    receiver.registerUsageSessionObserver(
-        sessionObserverId,
-        observedEntities,
-        java.time.Duration.ofMillis(timeLimitUnit.toMillis(timeLimit)),
-        java.time.Duration.ofMillis(sessionThresholdUnit.toMillis(sessionThreshold)),
-        limitReachedCallbackIntent,
-        sessionEndCallbackIntent);
-  }
-
   private static java.time.Duration toDuration(j$.time.Duration duration) {
     if (duration == null) {
       return null;
