Update apidiff source files to use new api location.

Also remove some duplicated code between public api and
system, by making a new make macro.

Paths before:
  frameworks/base/../../prebuilts/sdk/api/28
  frameworks/base/../../prebuilts/sdk/system-api/28

Paths after:
  prebuilts/sdk/28/public/api/android
  prebuilts/sdk/28/system/api/android

Test: make offline-sdk-referenceonly-diff
Test: make offline-system-sdk-referenceonly-diff
Bug: 77525052
Change-Id: I54989816ea09ad7a1e2f2355926678e6d2edb27c
diff --git a/Android.mk b/Android.mk
index 5a2e79d..3052c58 100644
--- a/Android.mk
+++ b/Android.mk
@@ -245,6 +245,18 @@
 		-federate AndroidX https://developer.android.com \
 		-federationapi AndroidX prebuilts/sdk/current/androidx-api.txt
 
+# Get the highest numbered api txt for the given api level.
+# $(1): the api level (e.g. public, system)
+define highest_sdk_txt
+$(HISTORICAL_SDK_VERSIONS_ROOT)/$(lastword $(call numerically_sort, \
+    $(patsubst \
+        $(HISTORICAL_SDK_VERSIONS_ROOT)/%,\
+        %,\
+        $(wildcard $(HISTORICAL_SDK_VERSIONS_ROOT)/*/$(1)/api/android.txt)\
+    ) \
+))
+endef
+
 # ====  Public API diff ===========================
 include $(CLEAR_VARS)
 
@@ -260,13 +272,8 @@
 
 LOCAL_MODULE := offline-sdk-referenceonly
 
-last_released_sdk_version := $(lastword $(call numerically_sort, \
-			$(filter-out current, \
-				$(patsubst $(SRC_API_DIR)/%.txt,%, $(wildcard $(SRC_API_DIR)/*.txt)) \
-			 )\
-		))
-
-LOCAL_APIDIFF_OLDAPI := $(LOCAL_PATH)/../../$(SRC_API_DIR)/$(last_released_sdk_version)
+# Basename, because apidiff adds .txt internally.
+LOCAL_APIDIFF_OLDAPI := $(basename $(call highest_sdk_txt,public))
 LOCAL_APIDIFF_NEWAPI := $(LOCAL_PATH)/../../$(basename $(INTERNAL_PLATFORM_API_FILE))
 
 include $(BUILD_APIDIFF)
@@ -290,13 +297,8 @@
 
 LOCAL_MODULE := offline-system-sdk-referenceonly
 
-last_released_sdk_version := $(lastword $(call numerically_sort, \
-			$(filter-out current, \
-				$(patsubst $(SRC_SYSTEM_API_DIR)/%.txt,%, $(wildcard $(SRC_SYSTEM_API_DIR)/*.txt)) \
-			 )\
-		))
-
-LOCAL_APIDIFF_OLDAPI := $(LOCAL_PATH)/../../$(SRC_SYSTEM_API_DIR)/$(last_released_sdk_version)
+# Basename, because apidiff adds .txt internally.
+LOCAL_APIDIFF_OLDAPI := $(basename $(call highest_sdk_txt,system))
 LOCAL_APIDIFF_NEWAPI := $(LOCAL_PATH)/../../$(basename $(INTERNAL_PLATFORM_SYSTEM_API_FILE))
 
 include $(BUILD_APIDIFF)