[ApiModel] Remove special handling for platform

Change-Id: Iaea5a09322f6f114d455af3aa5c2aed7f66ec69c
diff --git a/src/main/java/com/android/tools/r8/androidapi/AndroidApiLevelCompute.java b/src/main/java/com/android/tools/r8/androidapi/AndroidApiLevelCompute.java
index 5a0bd81..60f5fe4 100644
--- a/src/main/java/com/android/tools/r8/androidapi/AndroidApiLevelCompute.java
+++ b/src/main/java/com/android/tools/r8/androidapi/AndroidApiLevelCompute.java
@@ -74,6 +74,9 @@
     return new KnownApiLevel(options.getMinApiLevel());
   }
 
+  // TODO(b/213552119): This should not be necessary if we have an api computation that returns min
+  //  api if we have platform.
+  @Deprecated
   public ComputedApiLevel getPlatformApiLevelOrUnknown(AppView<?> appView) {
     if (appView.options().getMinApiLevel() == AndroidApiLevel.ANDROID_PLATFORM) {
       return ComputedApiLevel.platform();
diff --git a/src/main/java/com/android/tools/r8/utils/AndroidApiLevelUtils.java b/src/main/java/com/android/tools/r8/utils/AndroidApiLevelUtils.java
index 0a8b899..63ed0ca 100644
--- a/src/main/java/com/android/tools/r8/utils/AndroidApiLevelUtils.java
+++ b/src/main/java/com/android/tools/r8/utils/AndroidApiLevelUtils.java
@@ -94,11 +94,9 @@
       DexMethod original,
       AndroidApiLevelCompute androidApiLevelCompute,
       InternalOptions options) {
-    // If we are not using the api database and we have the platform build, then we assume we are
-    // running with boot class path as min api and all definitions are accessible at runtime.
     if (!androidApiLevelCompute.isEnabled()) {
       assert !options.apiModelingOptions().enableLibraryApiModeling;
-      return options.isAndroidPlatformBuildOrMinApiPlatform();
+      return false;
     }
     assert options.apiModelingOptions().enableLibraryApiModeling;
     ComputedApiLevel apiLevel =
@@ -117,10 +115,6 @@
   }
 
   public static boolean isApiSafeForReference(LibraryDefinition definition, AppView<?> appView) {
-    if (appView.options().isAndroidPlatformBuildOrMinApiPlatform()) {
-      assert definition != null;
-      return true;
-    }
     return isApiSafeForReference(
         definition, appView.apiLevelCompute(), appView.options(), appView.dexItemFactory());
   }
@@ -130,7 +124,7 @@
       AndroidApiLevelCompute androidApiLevelCompute,
       InternalOptions options,
       DexItemFactory factory) {
-    if (!options.apiModelingOptions().enableApiCallerIdentification) {
+    if (!options.apiModelingOptions().isApiLibraryModelingEnabled()) {
       return factory.libraryTypesAssumedToBePresent.contains(definition.getContextType());
     }
     ComputedApiLevel apiLevel =
@@ -141,7 +135,7 @@
 
   private static boolean isApiSafeForReference(
       LibraryDefinition newDefinition, LibraryDefinition oldDefinition, AppView<?> appView) {
-    assert appView.options().apiModelingOptions().enableApiCallerIdentification;
+    assert appView.options().apiModelingOptions().isApiLibraryModelingEnabled();
     assert !isApiSafeForReference(newDefinition, appView)
         : "Clients should first check if the definition is present on all apis since the min api";
     AndroidApiLevelCompute androidApiLevelCompute = appView.apiLevelCompute();
@@ -179,9 +173,9 @@
       // Program and classpath classes are not api level dependent.
       return true;
     }
-    if (!appView.options().apiModelingOptions().isApiCallerIdentificationEnabled()) {
+    if (!appView.options().apiModelingOptions().isApiLibraryModelingEnabled()) {
       // Conservatively bail out if we don't have api modeling.
-      return appView.options().isAndroidPlatformBuildOrMinApiPlatform();
+      return false;
     }
     LibraryClass newBaseLibraryClass = newBaseClass.asLibraryClass();
     if (isApiSafeForReference(newBaseLibraryClass, appView)) {
diff --git a/src/main/java/com/android/tools/r8/utils/InternalOptions.java b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
index 9ada479..c3ea9e2 100644
--- a/src/main/java/com/android/tools/r8/utils/InternalOptions.java
+++ b/src/main/java/com/android/tools/r8/utils/InternalOptions.java
@@ -274,7 +274,7 @@
 
   public void configureAndroidPlatformBuild(boolean isAndroidPlatformBuild) {
     assert !androidPlatformBuild;
-    if (isAndroidPlatformBuildOrMinApiPlatform()) {
+    if (isAndroidPlatformBuild || minApiLevel.isPlatform()) {
       apiModelingOptions().disableApiModeling();
     }
     if (!isAndroidPlatformBuild) {
@@ -290,10 +290,6 @@
     return androidPlatformBuild;
   }
 
-  public boolean isAndroidPlatformBuildOrMinApiPlatform() {
-    return androidPlatformBuild || minApiLevel.isPlatform();
-  }
-
   public boolean printTimes = System.getProperty("com.android.tools.r8.printtimes") != null;
   // To print memory one also have to enable printtimes.
   public boolean printMemory = System.getProperty("com.android.tools.r8.printmemory") != null;