From 259049282f3e491f30a2d7022a676fd86e531fff Mon Sep 17 00:00:00 2001 From: Joaquim Ley Date: Fri, 25 Nov 2016 15:20:08 +0000 Subject: [PATCH] First release (#1) * Publish via task * First release * Update library version on sample, add description to deploy script, update README --- .gitignore | 1 + README.MD | 29 +++-- build.gradle | 16 +-- {library => faboptions}/.gitignore | 0 {library => faboptions}/build.gradle | 17 ++- faboptions/deploy.gradle | 108 ++++++++++++++++++ {library => faboptions}/proguard-rules.pro | 0 .../src/main/AndroidManifest.xml | 11 +- .../com/joaquimley/faboptions/FabOptions.java | 0 .../faboptions/FabOptionsBehavior.java | 7 +- .../faboptions/FabOptionsButtonContainer.java | 0 .../main/res/animator/close_to_overflow.xml | 0 .../main/res/animator/overflow_to_close.xml | 0 .../drawable-anydpi/faboptions_ic_close.xml | 0 .../faboptions_ic_overflow.xml | 0 .../res/drawable/faboptions_background.xml | 0 .../faboptions_ic_close_animatable.xml | 0 .../faboptions_ic_menu_animatable.xml | 0 .../src/main/res/layout/faboptions_button.xml | 0 .../src/main/res/layout/faboptions_layout.xml | 0 .../main/res/layout/faboptions_separator.xml | 0 .../src/main/res/values/attrs.xml | 0 .../src/main/res/values/dimens.xml | 0 .../src/main/res/values/strings.xml | 0 sample/build.gradle | 4 +- .../joaquimley/sample/JavaSampleActivity.java | 3 +- .../main/res/layout/activity_sample_xml.xml | 3 +- sample/src/main/res/values/strings.xml | 2 +- settings.gradle | 2 +- 29 files changed, 146 insertions(+), 57 deletions(-) rename {library => faboptions}/.gitignore (100%) rename {library => faboptions}/build.gradle (81%) create mode 100644 faboptions/deploy.gradle rename {library => faboptions}/proguard-rules.pro (100%) rename {library => faboptions}/src/main/AndroidManifest.xml (75%) rename {library => faboptions}/src/main/java/com/joaquimley/faboptions/FabOptions.java (100%) rename {library => faboptions}/src/main/java/com/joaquimley/faboptions/FabOptionsBehavior.java (80%) rename {library => faboptions}/src/main/java/com/joaquimley/faboptions/FabOptionsButtonContainer.java (100%) rename {library => faboptions}/src/main/res/animator/close_to_overflow.xml (100%) rename {library => faboptions}/src/main/res/animator/overflow_to_close.xml (100%) rename {library => faboptions}/src/main/res/drawable-anydpi/faboptions_ic_close.xml (100%) rename {library => faboptions}/src/main/res/drawable-anydpi/faboptions_ic_overflow.xml (100%) rename {library => faboptions}/src/main/res/drawable/faboptions_background.xml (100%) rename {library => faboptions}/src/main/res/drawable/faboptions_ic_close_animatable.xml (100%) rename {library => faboptions}/src/main/res/drawable/faboptions_ic_menu_animatable.xml (100%) rename {library => faboptions}/src/main/res/layout/faboptions_button.xml (100%) rename {library => faboptions}/src/main/res/layout/faboptions_layout.xml (100%) rename {library => faboptions}/src/main/res/layout/faboptions_separator.xml (100%) rename {library => faboptions}/src/main/res/values/attrs.xml (100%) rename {library => faboptions}/src/main/res/values/dimens.xml (100%) rename {library => faboptions}/src/main/res/values/strings.xml (100%) diff --git a/.gitignore b/.gitignore index a4102d5..f89c579 100644 --- a/.gitignore +++ b/.gitignore @@ -29,6 +29,7 @@ mirror/ # Local configuration file (sdk path, etc) local.properties +deploy.properties gradle.properties # Proguard folder generated by Eclipse diff --git a/README.MD b/README.MD index b1cbf89..87af515 100644 --- a/README.MD +++ b/README.MD @@ -1,15 +1,19 @@ ![AppIcon](../master/sample/src/main/res/mipmap-xxhdpi/ic_launcher.png) -#FabOptions < WIP not production ready, please use with caution > -###A multi-functional FAB component, with customizable _options_ +#FabOptions -[![Download](https://api.bintray.com/packages/joaquimleyapps/opensource/FabOptions/images/download.svg?version=1.0) ](https://bintray.com/joaquimleyapps/opensource/FabOptions/1.0/link) +[![Download](https://api.bintray.com/packages/joaquimleyapps/opensource/com.github.joaquimley%3Afaboptions/images/download.svg)](https://bintray.com/joaquimleyapps/opensource/com.github.joaquimley%3Afaboptions/_latestVersion) ![minSdkVersion](https://img.shields.io/badge/minSdkVersion-21-yellow.svg?style=true) ![compileSdkVersion](https://img.shields.io/badge/compileSdkVersion-25-green.svg?style=true) +###A multi-functional FAB component with customizable options. ###Read more on the blog post: < WIP-Soon > -Original concept by **Praveen Bisht** posted on [MaterialUp](https://www.uplabs.com/posts/options-floating-interaction), design turned into code into open source library. +**Special thanks to [André Mion](https://github.com/andremion)** for the help provided on building this component. + + +Original concept by **Praveen Bisht** posted on [MaterialUp](https://www.uplabs.com/posts/options-floating-interaction), turned into code into open source library. + ![Gif concept sample](../master/art/faboptions_materialup_demo.gif) @@ -20,17 +24,13 @@ Android implementation ##How to use - Import gradle dependency: - - repositories { - jcenter() - } dependencies { - compile 'com.joaquimley:FabOptions:1.0' + compile 'com.github.joaquimley:faboptions:1.0.0' } -- Define a `menu` file with your buttons information e.g. +- Define a `menu` file with your buttons information **e.g.** + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +Properties properties = new Properties() +properties.load(project.rootProject.file('deploy.properties').newDataInputStream()) + +group = properties.getProperty('group') +version = properties.getProperty('version') + +bintray { + user = properties.getProperty('bintray.user') + key = properties.getProperty('bintray.apikey') + configurations = ['archives'] //When uploading configuration files + pkg { + repo = properties.getProperty('repo') + name = properties.getProperty('name') + userOrg = properties.getProperty('userOrg') + desc = properties.getProperty('description') + websiteUrl = properties.getProperty('websiteUrl') + issueTrackerUrl = properties.getProperty('issueTrackerUrl') + vcsUrl = properties.getProperty('vcsUrl') + licenses = [properties.getProperty('license')] + labels = properties.getProperty('labels') + publicDownloadNumbers = properties.getProperty('publicDownloadNumbers') + version { + name = properties.getProperty('versionName') + released = new Date() + desc = properties.getProperty('versionDescription') + vcsTag = properties.getProperty('vcsTag') + gpg { + //Determines whether to GPG sign the files. The default is false + sign = properties.getProperty('gpgSign') + passphrase = properties.getProperty("gpgPassphrase") + //Optional. The passphrase for GPG signing' + } + } + } +} + +install { + repositories.mavenInstaller { + pom { + project { + packaging properties.getProperty('pomPackaging') + name properties.getProperty('pomName') + description properties.getProperty('pomName') + artifactId properties.getProperty('pomArtifactId') + url properties.getProperty('websiteUrl') + licenses { + license { + name properties.getProperty('pomLicenseName') + url properties.getProperty('pomLicenseUrl') + } + } + developers { + developer { + id properties.getProperty('pomDeveloperId') + name properties.getProperty('pomDeveloperName') + email properties.getProperty('pomDeveloperEmail') + } + } + scm { + connection properties.getProperty('vcsUrl') + developerConnection properties.getProperty('vcsUrl') + url properties.getProperty('websiteUrl') + + } + } + } + } +} + +task sourcesJar(type: Jar) { + from android.sourceSets.main.java.srcDirs + classifier = 'sources' +} + +task javadoc(type: Javadoc) { + source = android.sourceSets.main.java.srcDirs + classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) +} + +task javadocJar(type: Jar, dependsOn: javadoc) { + classifier = 'javadoc' + from javadoc.destinationDir +} + +artifacts { + archives javadocJar + archives sourcesJar +} + +task findConventions << { + println project.getConvention() +} diff --git a/library/proguard-rules.pro b/faboptions/proguard-rules.pro similarity index 100% rename from library/proguard-rules.pro rename to faboptions/proguard-rules.pro diff --git a/library/src/main/AndroidManifest.xml b/faboptions/src/main/AndroidManifest.xml similarity index 75% rename from library/src/main/AndroidManifest.xml rename to faboptions/src/main/AndroidManifest.xml index 11fcc31..d5880f7 100644 --- a/library/src/main/AndroidManifest.xml +++ b/faboptions/src/main/AndroidManifest.xml @@ -14,13 +14,6 @@ ~ limitations under the License. --> - - - - - - + + diff --git a/library/src/main/java/com/joaquimley/faboptions/FabOptions.java b/faboptions/src/main/java/com/joaquimley/faboptions/FabOptions.java similarity index 100% rename from library/src/main/java/com/joaquimley/faboptions/FabOptions.java rename to faboptions/src/main/java/com/joaquimley/faboptions/FabOptions.java diff --git a/library/src/main/java/com/joaquimley/faboptions/FabOptionsBehavior.java b/faboptions/src/main/java/com/joaquimley/faboptions/FabOptionsBehavior.java similarity index 80% rename from library/src/main/java/com/joaquimley/faboptions/FabOptionsBehavior.java rename to faboptions/src/main/java/com/joaquimley/faboptions/FabOptionsBehavior.java index 91f9e14..f7b2537 100644 --- a/library/src/main/java/com/joaquimley/faboptions/FabOptionsBehavior.java +++ b/faboptions/src/main/java/com/joaquimley/faboptions/FabOptionsBehavior.java @@ -21,10 +21,10 @@ import android.view.View; /** - * FabOptions component {@link CoordinatorLayout.Behavior} to react to {@link Snackbar} + * FabOptions component default CoordinatorLayout.Behavior to react Snackbar */ -class FabOptionsBehavior extends CoordinatorLayout.Behavior { +public class FabOptionsBehavior extends CoordinatorLayout.Behavior { @Override public boolean layoutDependsOn(CoordinatorLayout parent, View child, View dependency) { @@ -35,7 +35,8 @@ public boolean layoutDependsOn(CoordinatorLayout parent, View child, View depend public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) { float translationY = Math.min(0, dependency.getTranslationY() - dependency.getHeight()); child.setTranslationY(translationY); - // TODO: 21/11/2016 handle the instanceof Bottomsheetnav + // TODO: 21/11/2016 Handle instanceof Bottomsheetnav & others return true; } + //FabOptions component default {@link CoordinatorLayout.Behavior} to react to {@link Snackbar} } \ No newline at end of file diff --git a/library/src/main/java/com/joaquimley/faboptions/FabOptionsButtonContainer.java b/faboptions/src/main/java/com/joaquimley/faboptions/FabOptionsButtonContainer.java similarity index 100% rename from library/src/main/java/com/joaquimley/faboptions/FabOptionsButtonContainer.java rename to faboptions/src/main/java/com/joaquimley/faboptions/FabOptionsButtonContainer.java diff --git a/library/src/main/res/animator/close_to_overflow.xml b/faboptions/src/main/res/animator/close_to_overflow.xml similarity index 100% rename from library/src/main/res/animator/close_to_overflow.xml rename to faboptions/src/main/res/animator/close_to_overflow.xml diff --git a/library/src/main/res/animator/overflow_to_close.xml b/faboptions/src/main/res/animator/overflow_to_close.xml similarity index 100% rename from library/src/main/res/animator/overflow_to_close.xml rename to faboptions/src/main/res/animator/overflow_to_close.xml diff --git a/library/src/main/res/drawable-anydpi/faboptions_ic_close.xml b/faboptions/src/main/res/drawable-anydpi/faboptions_ic_close.xml similarity index 100% rename from library/src/main/res/drawable-anydpi/faboptions_ic_close.xml rename to faboptions/src/main/res/drawable-anydpi/faboptions_ic_close.xml diff --git a/library/src/main/res/drawable-anydpi/faboptions_ic_overflow.xml b/faboptions/src/main/res/drawable-anydpi/faboptions_ic_overflow.xml similarity index 100% rename from library/src/main/res/drawable-anydpi/faboptions_ic_overflow.xml rename to faboptions/src/main/res/drawable-anydpi/faboptions_ic_overflow.xml diff --git a/library/src/main/res/drawable/faboptions_background.xml b/faboptions/src/main/res/drawable/faboptions_background.xml similarity index 100% rename from library/src/main/res/drawable/faboptions_background.xml rename to faboptions/src/main/res/drawable/faboptions_background.xml diff --git a/library/src/main/res/drawable/faboptions_ic_close_animatable.xml b/faboptions/src/main/res/drawable/faboptions_ic_close_animatable.xml similarity index 100% rename from library/src/main/res/drawable/faboptions_ic_close_animatable.xml rename to faboptions/src/main/res/drawable/faboptions_ic_close_animatable.xml diff --git a/library/src/main/res/drawable/faboptions_ic_menu_animatable.xml b/faboptions/src/main/res/drawable/faboptions_ic_menu_animatable.xml similarity index 100% rename from library/src/main/res/drawable/faboptions_ic_menu_animatable.xml rename to faboptions/src/main/res/drawable/faboptions_ic_menu_animatable.xml diff --git a/library/src/main/res/layout/faboptions_button.xml b/faboptions/src/main/res/layout/faboptions_button.xml similarity index 100% rename from library/src/main/res/layout/faboptions_button.xml rename to faboptions/src/main/res/layout/faboptions_button.xml diff --git a/library/src/main/res/layout/faboptions_layout.xml b/faboptions/src/main/res/layout/faboptions_layout.xml similarity index 100% rename from library/src/main/res/layout/faboptions_layout.xml rename to faboptions/src/main/res/layout/faboptions_layout.xml diff --git a/library/src/main/res/layout/faboptions_separator.xml b/faboptions/src/main/res/layout/faboptions_separator.xml similarity index 100% rename from library/src/main/res/layout/faboptions_separator.xml rename to faboptions/src/main/res/layout/faboptions_separator.xml diff --git a/library/src/main/res/values/attrs.xml b/faboptions/src/main/res/values/attrs.xml similarity index 100% rename from library/src/main/res/values/attrs.xml rename to faboptions/src/main/res/values/attrs.xml diff --git a/library/src/main/res/values/dimens.xml b/faboptions/src/main/res/values/dimens.xml similarity index 100% rename from library/src/main/res/values/dimens.xml rename to faboptions/src/main/res/values/dimens.xml diff --git a/library/src/main/res/values/strings.xml b/faboptions/src/main/res/values/strings.xml similarity index 100% rename from library/src/main/res/values/strings.xml rename to faboptions/src/main/res/values/strings.xml diff --git a/sample/build.gradle b/sample/build.gradle index f0fba70..74f8f0b 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -38,8 +38,8 @@ android { dependencies { final DESIGN_LIBRARY_VERSION = '25.0.1' - final FABOPTIONS_VERSION = '1.0' + final FABOPTIONS_VERSION = '1.0.0' compile "com.android.support:design:$DESIGN_LIBRARY_VERSION" - compile "com.joaquimley:FabOptions:$FABOPTIONS_VERSION" + compile "com.github.joaquimley:faboptions:$FABOPTIONS_VERSION" } diff --git a/sample/src/main/java/com/joaquimley/sample/JavaSampleActivity.java b/sample/src/main/java/com/joaquimley/sample/JavaSampleActivity.java index e6bd85f..5f56932 100644 --- a/sample/src/main/java/com/joaquimley/sample/JavaSampleActivity.java +++ b/sample/src/main/java/com/joaquimley/sample/JavaSampleActivity.java @@ -34,8 +34,9 @@ import static com.joaquimley.faboptions.sample.R.id.toolbar; /** - * Faboptions sample via Java {@see FabOptions#setButtonMenu} + * Faboptions sample via Java {@see FabOptions#setButtonMenu()} */ + public class JavaSampleActivity extends AppCompatActivity implements View.OnClickListener { private Toolbar mToolbar; diff --git a/sample/src/main/res/layout/activity_sample_xml.xml b/sample/src/main/res/layout/activity_sample_xml.xml index 3b0cdd8..19b1e6a 100644 --- a/sample/src/main/res/layout/activity_sample_xml.xml +++ b/sample/src/main/res/layout/activity_sample_xml.xml @@ -1,5 +1,4 @@ - -