diff --git a/Android.mk b/Android.mk index c4004f51a..12bfbe383 100644 --- a/Android.mk +++ b/Android.mk @@ -14,22 +14,23 @@ LOCAL_PATH := $(call my-dir) +# Android libraries referenced by this module's resources. +resource_libs := \ + android-support-v7-appcompat \ + android-support-v7-recyclerview + # 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-design-res LOCAL_SDK_VERSION := $(SUPPORT_CURRENT_SDK_VERSION) LOCAL_SRC_FILES := $(call all-java-files-under, dummy) -LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res \ - frameworks/support/v7/appcompat/res \ - frameworks/support/v7/recyclerview/res -LOCAL_AAPT_FLAGS := \ - --auto-add-overlay \ - --extra-packages android.support.v7.appcompat \ - --extra-packages android.support.v7.recyclerview \ - --no-version-vectors +LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res +LOCAL_SHARED_ANDROID_LIBRARIES := $(resource_libs) +LOCAL_AAPT_FLAGS := --no-version-vectors LOCAL_JAR_EXCLUDE_FILES := none LOCAL_JAVA_LANGUAGE_VERSION := 1.7 include $(BUILD_STATIC_JAVA_LIBRARY) @@ -42,7 +43,8 @@ include $(CLEAR_VARS) LOCAL_MODULE := android-support-design-base LOCAL_SDK_VERSION := 7 LOCAL_SRC_FILES := $(call all-java-files-under, base) -LOCAL_JAVA_LIBRARIES := android-support-design-res \ +LOCAL_JAVA_LIBRARIES := \ + android-support-design-res \ android-support-v4 \ android-support-v7-appcompat \ android-support-v7-recyclerview @@ -57,7 +59,8 @@ LOCAL_MODULE := android-support-design-eclair-mr1 LOCAL_SDK_VERSION := 7 LOCAL_SRC_FILES := $(call all-java-files-under, eclair-mr1) LOCAL_STATIC_JAVA_LIBRARIES := android-support-design-base -LOCAL_JAVA_LIBRARIES := android-support-design-res \ +LOCAL_JAVA_LIBRARIES := \ + android-support-design-res \ android-support-v4 \ android-support-v7-appcompat \ android-support-v7-recyclerview @@ -72,7 +75,8 @@ LOCAL_MODULE := android-support-design-honeycomb LOCAL_SDK_VERSION := 11 LOCAL_SRC_FILES := $(call all-java-files-under, honeycomb) LOCAL_STATIC_JAVA_LIBRARIES := android-support-design-eclair-mr1 -LOCAL_JAVA_LIBRARIES := android-support-design-res \ +LOCAL_JAVA_LIBRARIES := \ + android-support-design-res \ android-support-v4 \ android-support-v7-appcompat \ android-support-v7-recyclerview @@ -87,7 +91,8 @@ LOCAL_MODULE := android-support-design-honeycomb-mr1 LOCAL_SDK_VERSION := 12 LOCAL_SRC_FILES := $(call all-java-files-under, honeycomb-mr1) LOCAL_STATIC_JAVA_LIBRARIES := android-support-design-honeycomb -LOCAL_JAVA_LIBRARIES := android-support-design-res \ +LOCAL_JAVA_LIBRARIES := \ + android-support-design-res \ android-support-v4 \ android-support-v7-appcompat \ android-support-v7-recyclerview @@ -102,7 +107,8 @@ LOCAL_MODULE := android-support-design-ics LOCAL_SDK_VERSION := 14 LOCAL_SRC_FILES := $(call all-java-files-under, ics) LOCAL_STATIC_JAVA_LIBRARIES := android-support-design-honeycomb-mr1 -LOCAL_JAVA_LIBRARIES := android-support-design-res \ +LOCAL_JAVA_LIBRARIES := \ + android-support-design-res \ android-support-v4 \ android-support-v7-appcompat \ android-support-v7-recyclerview @@ -117,7 +123,8 @@ LOCAL_MODULE := android-support-design-lollipop LOCAL_SDK_VERSION := 21 LOCAL_SRC_FILES := $(call all-java-files-under, lollipop) LOCAL_STATIC_JAVA_LIBRARIES := android-support-design-ics -LOCAL_JAVA_LIBRARIES := android-support-design-res \ +LOCAL_JAVA_LIBRARIES := \ + android-support-design-res \ android-support-v4 \ android-support-v7-appcompat \ android-support-v7-recyclerview @@ -127,18 +134,24 @@ include $(BUILD_STATIC_JAVA_LIBRARY) support_module_src_files += $(LOCAL_SRC_FILES) # Here is the final static library that apps can link against. -# The R class is automatically excluded from the generated library. -# Applications that use this library must specify LOCAL_RESOURCE_DIR -# in their makefiles to include the resources in their package. +# Applications that use this library must specify +# +# LOCAL_STATIC_ANDROID_LIBRARIES := \ +# android-support-design \ +# android-support-v7-appcompat \ +# android-support-v7-recyclerview \ +# 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-design LOCAL_SDK_VERSION := $(SUPPORT_CURRENT_SDK_VERSION) LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_STATIC_JAVA_LIBRARIES := android-support-design-lollipop -LOCAL_JAVA_LIBRARIES := android-support-design-res \ - android-support-v4 \ - android-support-v7-appcompat \ - android-support-v7-recyclerview +LOCAL_STATIC_ANDROID_LIBRARIES := android-support-design-res +LOCAL_SHARED_ANDROID_LIBRARIES := $(resource_libs) android-support-v4 +LOCAL_JAR_EXCLUDE_FILES := none LOCAL_JAVA_LANGUAGE_VERSION := 1.7 include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/src/android/support/design/internal/NavigationMenuItemView.java b/src/android/support/design/internal/NavigationMenuItemView.java index 042334576..1e2c92837 100644 --- a/src/android/support/design/internal/NavigationMenuItemView.java +++ b/src/android/support/design/internal/NavigationMenuItemView.java @@ -108,7 +108,8 @@ public class NavigationMenuItemView extends ForegroundLinearLayout implements Me private StateListDrawable createDefaultBackground() { TypedValue value = new TypedValue(); - if (getContext().getTheme().resolveAttribute(R.attr.colorControlHighlight, value, true)) { + if (getContext().getTheme().resolveAttribute( + android.support.v7.appcompat.R.attr.colorControlHighlight, value, true)) { StateListDrawable drawable = new StateListDrawable(); drawable.addState(CHECKED_STATE_SET, new ColorDrawable(value.data)); drawable.addState(EMPTY_STATE_SET, new ColorDrawable(Color.TRANSPARENT)); diff --git a/src/android/support/design/widget/CollapsingTextHelper.java b/src/android/support/design/widget/CollapsingTextHelper.java index 6f8d51c31..4a95a1375 100644 --- a/src/android/support/design/widget/CollapsingTextHelper.java +++ b/src/android/support/design/widget/CollapsingTextHelper.java @@ -194,19 +194,26 @@ final class CollapsingTextHelper { } void setCollapsedTextAppearance(int resId) { - TypedArray a = mView.getContext().obtainStyledAttributes(resId, R.styleable.TextAppearance); - if (a.hasValue(R.styleable.TextAppearance_android_textColor)) { + TypedArray a = mView.getContext().obtainStyledAttributes(resId, + android.support.v7.appcompat.R.styleable.TextAppearance); + if (a.hasValue(android.support.v7.appcompat.R.styleable.TextAppearance_android_textColor)) { mCollapsedTextColor = a.getColor( - R.styleable.TextAppearance_android_textColor, mCollapsedTextColor); + android.support.v7.appcompat.R.styleable.TextAppearance_android_textColor, + mCollapsedTextColor); } - if (a.hasValue(R.styleable.TextAppearance_android_textSize)) { + if (a.hasValue(android.support.v7.appcompat.R.styleable.TextAppearance_android_textSize)) { mCollapsedTextSize = a.getDimensionPixelSize( - R.styleable.TextAppearance_android_textSize, (int) mCollapsedTextSize); + android.support.v7.appcompat.R.styleable.TextAppearance_android_textSize, + (int) mCollapsedTextSize); } - mCollapsedShadowColor = a.getInt(R.styleable.TextAppearance_android_shadowColor, 0); - mCollapsedShadowDx = a.getFloat(R.styleable.TextAppearance_android_shadowDx, 0); - mCollapsedShadowDy = a.getFloat(R.styleable.TextAppearance_android_shadowDy, 0); - mCollapsedShadowRadius = a.getFloat(R.styleable.TextAppearance_android_shadowRadius, 0); + mCollapsedShadowColor = a.getInt( + android.support.v7.appcompat.R.styleable.TextAppearance_android_shadowColor, 0); + mCollapsedShadowDx = a.getFloat( + android.support.v7.appcompat.R.styleable.TextAppearance_android_shadowDx, 0); + mCollapsedShadowDy = a.getFloat( + android.support.v7.appcompat.R.styleable.TextAppearance_android_shadowDy, 0); + mCollapsedShadowRadius = a.getFloat( + android.support.v7.appcompat.R.styleable.TextAppearance_android_shadowRadius, 0); a.recycle(); if (Build.VERSION.SDK_INT >= 16) { @@ -217,19 +224,26 @@ final class CollapsingTextHelper { } void setExpandedTextAppearance(int resId) { - TypedArray a = mView.getContext().obtainStyledAttributes(resId, R.styleable.TextAppearance); - if (a.hasValue(R.styleable.TextAppearance_android_textColor)) { + TypedArray a = mView.getContext().obtainStyledAttributes(resId, + android.support.v7.appcompat.R.styleable.TextAppearance); + if (a.hasValue(android.support.v7.appcompat.R.styleable.TextAppearance_android_textColor)) { mExpandedTextColor = a.getColor( - R.styleable.TextAppearance_android_textColor, mExpandedTextColor); + android.support.v7.appcompat.R.styleable.TextAppearance_android_textColor, + mExpandedTextColor); } - if (a.hasValue(R.styleable.TextAppearance_android_textSize)) { + if (a.hasValue(android.support.v7.appcompat.R.styleable.TextAppearance_android_textSize)) { mExpandedTextSize = a.getDimensionPixelSize( - R.styleable.TextAppearance_android_textSize, (int) mExpandedTextSize); + android.support.v7.appcompat.R.styleable.TextAppearance_android_textSize, + (int) mExpandedTextSize); } - mExpandedShadowColor = a.getInt(R.styleable.TextAppearance_android_shadowColor, 0); - mExpandedShadowDx = a.getFloat(R.styleable.TextAppearance_android_shadowDx, 0); - mExpandedShadowDy = a.getFloat(R.styleable.TextAppearance_android_shadowDy, 0); - mExpandedShadowRadius = a.getFloat(R.styleable.TextAppearance_android_shadowRadius, 0); + mExpandedShadowColor = a.getInt( + android.support.v7.appcompat.R.styleable.TextAppearance_android_shadowColor, 0); + mExpandedShadowDx = a.getFloat( + android.support.v7.appcompat.R.styleable.TextAppearance_android_shadowDx, 0); + mExpandedShadowDy = a.getFloat( + android.support.v7.appcompat.R.styleable.TextAppearance_android_shadowDy, 0); + mExpandedShadowRadius = a.getFloat( + android.support.v7.appcompat.R.styleable.TextAppearance_android_shadowRadius, 0); a.recycle(); if (Build.VERSION.SDK_INT >= 16) { diff --git a/src/android/support/design/widget/CollapsingToolbarLayout.java b/src/android/support/design/widget/CollapsingToolbarLayout.java index 17fada510..1de290918 100644 --- a/src/android/support/design/widget/CollapsingToolbarLayout.java +++ b/src/android/support/design/widget/CollapsingToolbarLayout.java @@ -179,7 +179,7 @@ public class CollapsingToolbarLayout extends FrameLayout { mCollapsingTextHelper.setExpandedTextAppearance( R.style.TextAppearance_Design_CollapsingToolbar_Expanded); mCollapsingTextHelper.setCollapsedTextAppearance( - R.style.TextAppearance_AppCompat_Widget_ActionBar_Title); + android.support.v7.appcompat.R.style.TextAppearance_AppCompat_Widget_ActionBar_Title); // Now overlay any custom text appearances if (a.hasValue(R.styleable.CollapsingToolbarLayout_expandedTitleTextAppearance)) { diff --git a/src/android/support/design/widget/NavigationView.java b/src/android/support/design/widget/NavigationView.java index 696a7e4a5..05fdedb50 100644 --- a/src/android/support/design/widget/NavigationView.java +++ b/src/android/support/design/widget/NavigationView.java @@ -413,7 +413,8 @@ public class NavigationView extends ScrimInsetsFrameLayout { return null; } ColorStateList baseColor = getResources().getColorStateList(value.resourceId); - if (!getContext().getTheme().resolveAttribute(R.attr.colorPrimary, value, true)) { + if (!getContext().getTheme().resolveAttribute( + android.support.v7.appcompat.R.attr.colorPrimary, value, true)) { return null; } int colorPrimary = value.data; diff --git a/src/android/support/design/widget/TabLayout.java b/src/android/support/design/widget/TabLayout.java index 1059b9a31..cf3d1eba5 100755 --- a/src/android/support/design/widget/TabLayout.java +++ b/src/android/support/design/widget/TabLayout.java @@ -299,10 +299,12 @@ public class TabLayout extends HorizontalScrollView { // Text colors/sizes come from the text appearance first final TypedArray ta = context.obtainStyledAttributes(mTabTextAppearance, - R.styleable.TextAppearance); + android.support.v7.appcompat.R.styleable.TextAppearance); try { - mTabTextSize = ta.getDimensionPixelSize(R.styleable.TextAppearance_android_textSize, 0); - mTabTextColors = ta.getColorStateList(R.styleable.TextAppearance_android_textColor); + mTabTextSize = ta.getDimensionPixelSize( + android.support.v7.appcompat.R.styleable.TextAppearance_android_textSize, 0); + mTabTextColors = ta.getColorStateList( + android.support.v7.appcompat.R.styleable.TextAppearance_android_textColor); } finally { ta.recycle(); } diff --git a/src/android/support/design/widget/TextInputLayout.java b/src/android/support/design/widget/TextInputLayout.java index ffd7a83a9..21c6c530e 100644 --- a/src/android/support/design/widget/TextInputLayout.java +++ b/src/android/support/design/widget/TextInputLayout.java @@ -494,7 +494,7 @@ public class TextInputLayout extends LinearLayout { // Probably caused by our theme not extending from Theme.Design*. Instead // we manually set something appropriate mErrorView.setTextAppearance(getContext(), - R.style.TextAppearance_AppCompat_Caption); + android.support.v7.appcompat.R.style.TextAppearance_AppCompat_Caption); mErrorView.setTextColor(ContextCompat.getColor( getContext(), R.color.design_textinput_error_color_light)); } @@ -615,7 +615,7 @@ public class TextInputLayout extends LinearLayout { // Probably caused by our theme not extending from Theme.Design*. Instead // we manually set something appropriate mCounterView.setTextAppearance(getContext(), - R.style.TextAppearance_AppCompat_Caption); + android.support.v7.appcompat.R.style.TextAppearance_AppCompat_Caption); mCounterView.setTextColor(ContextCompat.getColor( getContext(), R.color.design_textinput_error_color_light)); } diff --git a/src/android/support/design/widget/ThemeUtils.java b/src/android/support/design/widget/ThemeUtils.java index 327a44d7d..ffdc3f4b1 100644 --- a/src/android/support/design/widget/ThemeUtils.java +++ b/src/android/support/design/widget/ThemeUtils.java @@ -22,7 +22,9 @@ import android.support.design.R; class ThemeUtils { - private static final int[] APPCOMPAT_CHECK_ATTRS = { R.attr.colorPrimary }; + private static final int[] APPCOMPAT_CHECK_ATTRS = { + android.support.v7.appcompat.R.attr.colorPrimary + }; static void checkAppCompatTheme(Context context) { TypedArray a = context.obtainStyledAttributes(APPCOMPAT_CHECK_ATTRS);