Move all support library projects to use a single compilation unit
Also cleans up build files to include annotations as an explicit import,
set compileSdkVersion consistently to currentSdk, and remove unnecessary
lines. Removes obsolete API directories in VDC / AVDC.
Because NotificationCompatBase was using @removed APIs, updated that class
to use reflection. Also fixes method visibility in VDC / AVDC.
Bug: 29630077
Test: make and gradle builds successful
Change-Id: Ia9208246837347ce3d8df4adbe6b0ce406d3844a
diff --git a/transition/Android.mk b/transition/Android.mk
index 2de641a..c468ef1 100644
--- a/transition/Android.mk
+++ b/transition/Android.mk
@@ -14,91 +14,30 @@
LOCAL_PATH := $(call my-dir)
-# Build the resources using the latest applicable SDK version.
-# We do this here because the final static library must be compiled with an older
-# SDK version than the resources. The resources library and the R class that it
-# contains will not be linked into the final static library.
-include $(CLEAR_VARS)
-LOCAL_USE_AAPT2 := true
-LOCAL_MODULE := android-support-transition-res
-LOCAL_SDK_VERSION := $(SUPPORT_CURRENT_SDK_VERSION)
-LOCAL_SRC_FILES := $(call all-java-files-under, dummy)
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-LOCAL_JAR_EXCLUDE_FILES := none
-LOCAL_JAVA_LANGUAGE_VERSION := 1.7
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-# A helper sub-library to resolve cyclic dependencies between Transition and platform dependent
-# implementations
-include $(CLEAR_VARS)
-LOCAL_MODULE := android-support-transition-base
-LOCAL_SDK_VERSION := 14
-LOCAL_SRC_FILES := $(call all-java-files-under, base)
-LOCAL_JAVA_LANGUAGE_VERSION := 1.7
-LOCAL_JAVA_LIBRARIES := android-support-transition-res \
- android-support-compat
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-# A helper sub-library that makes direct use of Ice Cream Sandwich APIs
-include $(CLEAR_VARS)
-LOCAL_MODULE := android-support-transition-ics
-LOCAL_SDK_VERSION := 14
-LOCAL_SRC_FILES := $(call all-java-files-under, ics)
-LOCAL_JAVA_LANGUAGE_VERSION := 1.7
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-transition-base
-LOCAL_JAVA_LIBRARIES := android-support-transition-res \
- android-support-compat
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-# A helper sub-library that makes direct use of KitKat APIs
-include $(CLEAR_VARS)
-LOCAL_MODULE := android-support-transition-kitkat
-LOCAL_SDK_VERSION := 19
-LOCAL_SRC_FILES := $(call all-java-files-under, kitkat)
-LOCAL_JAVA_LANGUAGE_VERSION := 1.7
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-transition-ics
-LOCAL_JAVA_LIBRARIES := android-support-transition-res \
- android-support-compat
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-# A helper sub-library that makes direct use of Lollipop APIs
-include $(CLEAR_VARS)
-LOCAL_MODULE := android-support-transition-api21
-LOCAL_SDK_VERSION := 21
-LOCAL_SRC_FILES := $(call all-java-files-under, api21)
-LOCAL_JAVA_LANGUAGE_VERSION := 1.7
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-transition-kitkat
-LOCAL_JAVA_LIBRARIES := android-support-transition-res \
- android-support-compat
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-# A helper sub-library that makes direct use of Marshmallow APIs
-include $(CLEAR_VARS)
-LOCAL_MODULE := android-support-transition-api23
-LOCAL_SDK_VERSION := 23
-LOCAL_SRC_FILES := $(call all-java-files-under, api23)
-LOCAL_JAVA_LANGUAGE_VERSION := 1.7
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-transition-api21
-LOCAL_JAVA_LIBRARIES := android-support-transition-res \
- android-support-compat
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
# Here is the final static library that apps can link against.
# Applications that use this library must specify
#
# LOCAL_STATIC_ANDROID_LIBRARIES := \
# android-support-transition \
-# android-support-compat
+# android-support-v4
#
# in their makefiles to include the resources and their dependencies in their package.
include $(CLEAR_VARS)
LOCAL_USE_AAPT2 := true
LOCAL_MODULE := android-support-transition
LOCAL_SDK_VERSION := $(SUPPORT_CURRENT_SDK_VERSION)
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_JAVA_LANGUAGE_VERSION := 1.7
-LOCAL_STATIC_JAVA_LIBRARIES := android-support-transition-api23
-LOCAL_STATIC_ANDROID_LIBRARIES := android-support-transition-res
-LOCAL_SHARED_ANDROID_LIBRARIES := android-support-compat
+LOCAL_SRC_FILES := \
+ $(call all-java-files-under,base) \
+ $(call all-java-files-under,ics) \
+ $(call all-java-files-under,kitkat) \
+ $(call all-java-files-under,api21) \
+ $(call all-java-files-under,api23) \
+ $(call all-java-files-under,src)
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
+LOCAL_SHARED_ANDROID_LIBRARIES := \
+ android-support-annotations \
+ android-support-v4
LOCAL_JAR_EXCLUDE_FILES := none
+LOCAL_JAVA_LANGUAGE_VERSION := 1.7
+LOCAL_AAPT_FLAGS := --add-javadoc-annotation doconly
include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/transition/build.gradle b/transition/build.gradle
index f06b0bd..4d4e96f 100644
--- a/transition/build.gradle
+++ b/transition/build.gradle
@@ -3,7 +3,8 @@
archivesBaseName = 'transition'
dependencies {
- compile project(':support-compat')
+ compile project(':support-annotations')
+ compile project(':support-v4')
androidTestCompile ("com.android.support.test:runner:${project.rootProject.ext.testRunnerVersion}") {
exclude module: 'support-annotations'
@@ -27,10 +28,18 @@
sourceSets {
main.manifest.srcFile 'AndroidManifest.xml'
- main.java.srcDirs = ['base', 'ics', 'kitkat', 'api21', 'api23', 'src']
- main.res.srcDirs 'res', 'res-public'
- main.assets.srcDir 'assets'
- main.resources.srcDir 'src'
+ main.java.srcDirs = [
+ 'base',
+ 'ics',
+ 'kitkat',
+ 'api21',
+ 'api23',
+ 'src'
+ ]
+ main.res.srcDirs = [
+ 'res',
+ 'res-public'
+ ]
androidTest.setRoot('tests')
androidTest.java.srcDir 'tests/src'