This changes all our dependencies to use the 3.0-style dep types (api and implementation). Generally it just makes everything api unless known otherwise, but moving to implementation where possible in the future would be desirable.
PiperOrigin-RevId: 177391618
Since our source roots are the project's root directory, generated output falls inside it, unless properly excluded, all intermediate output such as R classes gets recompiled with each gradle pass.
This causes failures because of duplicate R classes.
PiperOrigin-RevId: 169588457
We have subprojects of :lib: because our internal builds are bazel-based. Gradle does not support more than one project at any level with the same name, which is a staple of bazel-based builds, so gradle projects have to be renamed in runtime to include their whole path (see settings.gradle).
Furthermore since every node includes the path up until that node in its name, writing dependencies can get tedious, for this purpose there is a new method in build.gradle called getTransformedProjectPath which takes /-separated project path and turns it into the correct project path, after the rename.
This also updates versions for TargetSdk and SupportLibrary to 26, which is required by the newer code.
PiperOrigin-RevId: 169457686
This also bumps up the build tools + Android gradle plugin version, since these
were out of date, and removes a couple unused version values.
PiperOrigin-RevId: 153652782
- AppBarWithCollapsingToolbarStateRestoreTest needed a variable used inside a closure to be marked as final (No idea why Bazel was okay with this)
- BottomNavigationViewTest/TabLayoutTest needed TargetApi annotations for tests that run on N+
- Every Shrine build.gradle file needs to specify values for Java includes and srcDirs, regardless of whether they contain Java. If they don't they get the default library values (which includes every subdirectory recursively), and result in duplicate classes being generated.
- Various styles.xml files in Shrine were using attributes only available in v17 or v21+
This also updates the main build.gradle file to print lint errors on stdout, so they're easier to look at in TravisCI.
PiperOrigin-RevId: 153389041
The Gradle build includes a workaround to make our project structure work with Gradle. Gradle does not allow any duplicate names in the project structure, so to get around this, I put the demos package under a different group.
This commit also upgrades the targetSdkVersion to 25 to match the rest of material_components and restructures the FAB click listener to fix Gradle's complaint about the String in the listener having to be final.
Gradle build for Shrine's test directory to come in a future commit.
PiperOrigin-RevId: 152527247
This commit changes the filters layout to use AppCompat's switch, which looks much nicer on pre-L versions. It also moves filters/ to use paddingStart/End to paddingLeft/Right, because that was only added in API level 17.
PiperOrigin-RevId: 152180875
This commit fixes two bugs with VectorDrawable that were causing a crash in pre-L devices. One bug was a simple fix: using app:srcCompat instead of android:src for the FAB's icon. The other bug was more complicated, since it involved a VectorDrawable in a compound drawable. To work around the compatibility issues with this, I wrapped the VectorDrawable in a StateListDrawable and enabled AppCompat's ability to set vector drawables from resources.
PiperOrigin-RevId: 152136061
The text was illegible - it was showing up dark blue on a dark grey background. A simple tweak to the way text colors were set in the theme fixed this.
PiperOrigin-RevId: 150932983