[
  {
    "path": ".gitignore",
    "content": "# Built application files\n*.apk\n*.ap_\n\n# Files for the Dalvik VM\n*.dex\n\n# Java class files\n*.class\n\n# Generated files\nbin/\ngen/\n\n# Gradle files\n.gradle/\nbuild/\n\n# Local configuration file (sdk path, etc)\nlocal.properties\n\n# Proguard folder generated by Eclipse\nproguard/\n\n# Log Files\n*.log\n.idea/\n*.iml"
  },
  {
    "path": "LICENSE",
    "content": "Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"{}\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright {yyyy} {name of copyright owner}\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n"
  },
  {
    "path": "MaterialDesignLibrary/.gitignore",
    "content": ".gradle\n/local.properties\n/.idea/workspace.xml\n/.idea/libraries\n.DS_Store\n/build\n/captures\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/.gitignore",
    "content": "/build\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/build.gradle",
    "content": "apply plugin: 'com.android.library'\n// COMMENT TO DEVELOPER MODE / UNCOMMENT TO UPLOAD TO BINTARRAY\n//apply plugin: 'com.github.dcendents.android-maven'\n//apply plugin: 'com.jfrog.bintray'\n\nandroid {\n    compileSdkVersion 22\n    buildToolsVersion \"22.0.1\"\n\n    defaultConfig {\n        minSdkVersion 16\n        targetSdkVersion 22\n        versionCode 1\n        versionName \"1.0\"\n    }\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'\n        }\n    }\n}\n\ndependencies {\n    compile 'com.nineoldandroids:library:2.4.+'\n    compile 'com.android.support:support-v4:22.+'\n    compile fileTree(dir: 'libs', include: '*.jar')\n}\n\n// COMMENT TO DEVELOPER MODE / UNCOMMENT TO UPLOAD TO BINTARRAY\n\n//ext.siteUrl = 'https://github.com/navasmdc/MaterialDesignLibrary'\n//ext.issueUrl = 'https://github.com/navasmdc/MaterialDesignLibrary/issues'\n//ext.gitUrl = 'https://github.com/navasmdc/MaterialDesignLibrary.git'\n//\n//bintray {\n//    user = hasProperty('BINTRAY_USER') ? BINTRAY_USER : \"navasmdc\"\n//    key = hasProperty('BINTRAY_KEY') ? BINTRAY_PASSWORD : \"\"\n//\n//    configurations = [\"archives\"]\n//    pkg {\n//        repo = 'maven'\n//        name = 'MaterialDesignLibrary'\n//        desc = 'This is a library with components of Android L to you use in android 2.2'\n//        websiteUrl = siteUrl\n//        issueTrackerUrl = issueUrl\n//        vcsUrl = gitUrl\n//        licenses = ['Apache-2.0']\n//        labels = []\n//        publicDownloadNumbers = true\n//    }\n//}\n\n//install {\n//    repositories.mavenInstaller {\n//        pom {\n//            project {\n//                packaging 'aar'\n//                name 'MaterialDesignLibrary'\n//                url siteUrl\n//                licenses {\n//                    license {\n//                        name 'The Apache Software License, Version 2.0'\n//                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'\n//                    }\n//                }\n//                developers {\n//                    developer {\n//                        id 'navasmdc'\n//                        name 'Iván Navas'\n//                        email 'i.navas.mdc@gmail.com'\n//                    }\n//                }\n//                scm {\n//                    connection gitUrl\n//                    developerConnection gitUrl\n//                    url siteUrl\n//                }\n//            }\n//        }\n//    }\n//}\n//\n//task sourcesJar(type: Jar) {\n//    from android.sourceSets.main.java.srcDirs\n//    classifier = 'sources'\n//}\n//\n//task javadoc(type: Javadoc) {\n//    source = android.sourceSets.main.java.srcDirs\n//    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))\n//}\n//\n//task javadocJar(type: Jar, dependsOn: javadoc) {\n//    classifier = 'javadoc'\n//    from javadoc.destinationDir\n//}\n//\n//artifacts {\n//    archives javadocJar\n//    archives sourcesJar\n//}\n//\n//task findConventions << {\n//    println project.getConvention()\n//}\n\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/gradle.properties",
    "content": "POM_NAME=MaterialDesignLibrary\nPOM_ARTIFACT_ID=material-design-library\nPOM_PACKAGING=aar\n\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in /Applications/adt-bundle-mac-x86_64-20140321/sdk/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the proguardFiles\n# directive in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/androidTest/java/com/gc/materialdesign/ApplicationTest.java",
    "content": "package com.gc.materialdesign;\n\nimport android.app.Application;\nimport android.test.ApplicationTestCase;\n\n/**\n * <a href=\"http://d.android.com/tools/testing/testing_android.html\">Testing Fundamentals</a>\n */\npublic class ApplicationTest extends ApplicationTestCase<Application> {\n    public ApplicationTest() {\n        super(Application.class);\n    }\n}"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.gc.materialdesign\">\n\n    <application android:allowBackup=\"true\" android:label=\"@string/app_name\">\n\n    </application>\n\n</manifest>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/utils/Utils.java",
    "content": "package com.gc.materialdesign.utils;\n\nimport android.content.res.Resources;\nimport android.util.TypedValue;\nimport android.view.View;\n\npublic class Utils {\n\t\n\t\n\t/**\n\t * Convert Dp to Pixel\n\t */\n\tpublic static int dpToPx(float dp, Resources resources){\n\t\tfloat px = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, resources.getDisplayMetrics());\n\t\treturn (int) px;\n\t}\n\t\n\tpublic static int getRelativeTop(View myView) {\n//\t    if (myView.getParent() == myView.getRootView())\n\t    if(myView.getId() == android.R.id.content)\n\t        return myView.getTop();\n\t    else\n\t        return myView.getTop() + getRelativeTop((View) myView.getParent());\n\t}\n\t\n\tpublic static int getRelativeLeft(View myView) {\n//\t    if (myView.getParent() == myView.getRootView())\n\t\tif(myView.getId() == android.R.id.content)\n\t\t\treturn myView.getLeft();\n\t\telse\n\t\t\treturn myView.getLeft() + getRelativeLeft((View) myView.getParent());\n\t}\n\t\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/AutoHideButtonFloat.java",
    "content": "package com.gc.materialdesign.views;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.view.View;\nimport android.widget.AbsListView;\nimport android.widget.ListView;\n\nimport com.gc.materialdesign.views.ButtonFloat;\nimport com.nineoldandroids.view.ViewPropertyAnimator;\n\n/**\n * Created by hamedpc on 4/25/2015.\n * This widget uses NineOldAndroid to animate the view so you're gonna need to include it in your project\n */\npublic class AutoHideButtonFloat extends ButtonFloat implements AbsListView.OnScrollListener {\n    ListView listView;\n    private boolean floatHiding = false, floatShowing = false;\n    private int mLastFirstVisibleItem;\n    private View view = this;\n    private AbsListView.OnScrollListener onScrollListener;\n\n    public AutoHideButtonFloat(Context context, AttributeSet attrs) {\n        super(context, attrs);\n    }\n\n    public void setOnScrollListener(AbsListView.OnScrollListener onScrollListener) {\n        this.onScrollListener = onScrollListener;\n    }\n\n    public void setListView(ListView listView) {\n        this.listView = listView;\n        this.listView.setOnScrollListener(this);\n    }\n\n    @Override\n    public void onScrollStateChanged(AbsListView absListView, int scrollState) {\n        switch (scrollState) {\n            case AbsListView.SCROLL_AXIS_NONE:\n                floatHiding = false;\n                floatShowing = false;\n                ViewPropertyAnimator.animate(view).translationY(0).setDuration(300);\n                break;\n        }\n        if (onScrollListener != null)\n            onScrollListener.onScrollStateChanged(absListView, scrollState);\n    }\n\n    @Override\n    public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) {\n\n        if (mLastFirstVisibleItem < firstVisibleItem) {\n            if (floatShowing) floatShowing = false;\n            if (!floatHiding) {\n                ViewPropertyAnimator.animate(view).translationY(500).setDuration(300);\n                floatHiding = true;\n            }\n        }\n        if (mLastFirstVisibleItem > firstVisibleItem) {\n            if (floatHiding) {\n                floatHiding = false;\n            }\n            if (!floatShowing) {\n                ViewPropertyAnimator.animate(view).translationY(0).setDuration(300);\n                floatShowing = true;\n            }\n        }\n        mLastFirstVisibleItem = firstVisibleItem;\n        if (onScrollListener != null)\n            onScrollListener.onScroll(absListView, firstVisibleItem, visibleItemCount, totalItemCount);\n    }\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/Button.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\n\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Rect;\nimport android.graphics.Bitmap.Config;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.util.AttributeSet;\nimport android.view.MotionEvent;\nimport android.widget.TextView;\n\npublic abstract class Button extends CustomView {\n\n\tfinal static String ANDROIDXML = \"http://schemas.android.com/apk/res/android\";\n\n\t// Complete in child class\n\tint minWidth;\n\tint minHeight;\n\tint background;\n\tfloat rippleSpeed = 12f;\n\tint rippleSize = 3;\n\tInteger rippleColor;\n\tOnClickListener onClickListener;\n\tboolean clickAfterRipple = true;\n\tint backgroundColor = Color.parseColor(\"#1E88E5\");\n\tTextView textButton;\n\n\tpublic Button(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tsetDefaultProperties();\n\t\tclickAfterRipple = attrs.getAttributeBooleanValue(MATERIALDESIGNXML,\n\t\t\t\t\"animate\", true);\n\t\tsetAttributes(attrs);\n\t\tbeforeBackground = backgroundColor;\n\t\tif (rippleColor == null)\n\t\t\trippleColor = makePressColor();\n\t}\n\n\tprotected void setDefaultProperties() {\n\t\t// Min size\n\t\tsetMinimumHeight(Utils.dpToPx(minHeight, getResources()));\n\t\tsetMinimumWidth(Utils.dpToPx(minWidth, getResources()));\n\t\t// Background shape\n\t\tsetBackgroundResource(background);\n\t\tsetBackgroundColor(backgroundColor);\n\t}\n\n\t// Set atributtes of XML to View\n\tabstract protected void setAttributes(AttributeSet attrs);\n\n\t// ### RIPPLE EFFECT ###\n\n\tfloat x = -1, y = -1;\n\tfloat radius = -1;\n\n\t@Override\n\tpublic boolean onTouchEvent(MotionEvent event) {\n\t\tinvalidate();\n\t\tif (isEnabled()) {\n\t\t\tisLastTouch = true;\n\t\t\tif (event.getAction() == MotionEvent.ACTION_DOWN) {\n\t\t\t\tradius = getHeight() / rippleSize;\n\t\t\t\tx = event.getX();\n\t\t\t\ty = event.getY();\n\t\t\t} else if (event.getAction() == MotionEvent.ACTION_MOVE) {\n\t\t\t\tradius = getHeight() / rippleSize;\n\t\t\t\tx = event.getX();\n\t\t\t\ty = event.getY();\n\t\t\t\tif (!((event.getX() <= getWidth() && event.getX() >= 0) && (event\n\t\t\t\t\t\t.getY() <= getHeight() && event.getY() >= 0))) {\n\t\t\t\t\tisLastTouch = false;\n\t\t\t\t\tx = -1;\n\t\t\t\t\ty = -1;\n\t\t\t\t}\n\t\t\t} else if (event.getAction() == MotionEvent.ACTION_UP) {\n\t\t\t\tif ((event.getX() <= getWidth() && event.getX() >= 0)\n\t\t\t\t\t\t&& (event.getY() <= getHeight() && event.getY() >= 0)) {\n\t\t\t\t\tradius++;\n\t\t\t\t\tif (!clickAfterRipple && onClickListener != null) {\n\t\t\t\t\t\tonClickListener.onClick(this);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisLastTouch = false;\n\t\t\t\t\tx = -1;\n\t\t\t\t\ty = -1;\n\t\t\t\t}\n\t\t\t} else if (event.getAction() == MotionEvent.ACTION_CANCEL) {\n\t\t\t\tisLastTouch = false;\n\t\t\t\tx = -1;\n\t\t\t\ty = -1;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t@Override\n\tprotected void onFocusChanged(boolean gainFocus, int direction,\n\t\t\tRect previouslyFocusedRect) {\n\t\tif (!gainFocus) {\n\t\t\tx = -1;\n\t\t\ty = -1;\n\t\t}\n\t}\n\n\t@Override\n\tpublic boolean onInterceptTouchEvent(MotionEvent ev) {\n\t\t// super.onInterceptTouchEvent(ev);\n\t\treturn true;\n\t}\n\n\tpublic Bitmap makeCircle() {\n\t\tBitmap output = Bitmap.createBitmap(\n\t\t\t\tgetWidth() - Utils.dpToPx(6, getResources()), getHeight()\n\t\t\t\t\t\t- Utils.dpToPx(7, getResources()), Config.ARGB_8888);\n\t\tCanvas canvas = new Canvas(output);\n\t\tcanvas.drawARGB(0, 0, 0, 0);\n\t\tPaint paint = new Paint();\n\t\tpaint.setAntiAlias(true);\n\t\tpaint.setColor(rippleColor);\n\t\tcanvas.drawCircle(x, y, radius, paint);\n\t\tif (radius > getHeight() / rippleSize)\n\t\t\tradius += rippleSpeed;\n\t\tif (radius >= getWidth()) {\n\t\t\tx = -1;\n\t\t\ty = -1;\n\t\t\tradius = getHeight() / rippleSize;\n\t\t\tif (onClickListener != null && clickAfterRipple)\n\t\t\t\tonClickListener.onClick(this);\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Make a dark color to ripple effect\n\t * \n\t * @return\n\t */\n\tprotected int makePressColor() {\n\t\tint r = (this.backgroundColor >> 16) & 0xFF;\n\t\tint g = (this.backgroundColor >> 8) & 0xFF;\n\t\tint b = (this.backgroundColor >> 0) & 0xFF;\n\t\tr = (r - 30 < 0) ? 0 : r - 30;\n\t\tg = (g - 30 < 0) ? 0 : g - 30;\n\t\tb = (b - 30 < 0) ? 0 : b - 30;\n\t\treturn Color.rgb(r, g, b);\n\t}\n\n\t@Override\n\tpublic void setOnClickListener(OnClickListener l) {\n\t\tonClickListener = l;\n\t}\n\n\t// Set color of background\n\tpublic void setBackgroundColor(int color) {\n\t\tthis.backgroundColor = color;\n\t\tif (isEnabled())\n\t\t\tbeforeBackground = backgroundColor;\n\t\ttry {\n\t\t\tLayerDrawable layer = (LayerDrawable) getBackground();\n\t\t\tGradientDrawable shape = (GradientDrawable) layer\n\t\t\t\t\t.findDrawableByLayerId(R.id.shape_bacground);\n\t\t\tshape.setColor(backgroundColor);\n\t\t\trippleColor = makePressColor();\n\t\t} catch (Exception ex) {\n\t\t\t// Without bacground\n\t\t}\n\t}\n\n\tpublic void setRippleSpeed(float rippleSpeed) {\n\t\tthis.rippleSpeed = rippleSpeed;\n\t}\n\n\tpublic float getRippleSpeed() {\n\t\treturn this.rippleSpeed;\n\t}\n\n\tpublic void setText(String text) {\n\t\ttextButton.setText(text);\n\t}\n\n\tpublic void setTextColor(int color) {\n\t\ttextButton.setTextColor(color);\n\t}\n\n\tpublic TextView getTextView() {\n\t\treturn textButton;\n\t}\n\n\tpublic String getText() {\n\t\treturn textButton.getText().toString();\n\t}\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ButtonFlat.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\n\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Typeface;\nimport android.util.AttributeSet;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\n\npublic class ButtonFlat extends Button {\n\t\n\tTextView textButton;\n\n\tpublic ButtonFlat(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\t\n\t}\n\t\n\tprotected void setDefaultProperties(){\n\t\tminHeight = 36;\n\t\tminWidth = 88;\n\t\trippleSize = 3;\n\t\t// Min size\n\t\tsetMinimumHeight(Utils.dpToPx(minHeight, getResources()));\n\t\tsetMinimumWidth(Utils.dpToPx(minWidth, getResources()));\n\t\tsetBackgroundResource(R.drawable.background_transparent);\n\t}\n\n\t@Override\n\tprotected void setAttributes(AttributeSet attrs) {\n\t\t// Set text button\n\t\tString text = null;\n\t\tint textResource = attrs.getAttributeResourceValue(ANDROIDXML,\"text\",-1);\n\t\tif(textResource != -1){\n\t\t\ttext = getResources().getString(textResource);\n\t\t}else{\n\t\t\ttext = attrs.getAttributeValue(ANDROIDXML,\"text\");\n\t\t}\n\t\tif(text != null){\n\t\t\ttextButton = new TextView(getContext());\n\t\t\ttextButton.setText(text.toUpperCase());\n\t\t\ttextButton.setTextColor(backgroundColor);\n\t\t\ttextButton.setTypeface(null, Typeface.BOLD);\n\t\t\tRelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);\n\t\t\tparams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);\n\t\t\ttextButton.setLayoutParams(params);\n\t\t\taddView(textButton);\n\t\t}\n\t\tint bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\"background\",-1);\n\t\tif(bacgroundColor != -1){\n\t\t\tsetBackgroundColor(getResources().getColor(bacgroundColor));\n\t\t}else{\n\t\t\t// Color by hexadecimal\n\t\t\t// Color by hexadecimal\n\t\t\tbackground = attrs.getAttributeIntValue(ANDROIDXML, \"background\", -1);\n\t\t\tif (background != -1)\n\t\t\t\tsetBackgroundColor(background);\n\t\t}\n\t}\n\t\n\t\n\t@Override\n\tprotected void onDraw(Canvas canvas) {\n\t\tsuper.onDraw(canvas);\n\t\tif (x != -1) {\n\t\t\t\n\t\t\tPaint paint = new Paint();\n\t\t\tpaint.setAntiAlias(true);\n\t\t\tpaint.setColor(makePressColor());\n\t\t\tcanvas.drawCircle(x, y, radius, paint);\n\t\t\tif(radius > getHeight()/rippleSize)\n\t\t\t\tradius += rippleSpeed;\n\t\t\tif(radius >= getWidth()){\n\t\t\t\tx = -1;\n\t\t\t\ty = -1;\n\t\t\t\tradius = getHeight()/rippleSize;\n\t\t\t\tif(onClickListener != null&& clickAfterRipple)\n\t\t\t\t\tonClickListener.onClick(this);\n\t\t\t}\n\t\t\tinvalidate();\n\t\t}\t\t\n\t\t\n\t}\n\t\n\t/**\n\t * Make a dark color to ripple effect\n\t * @return\n\t */\n\t@Override\n\tprotected int makePressColor(){\n\t\treturn Color.parseColor(\"#88DDDDDD\");\t\n\t}\n\t\n\tpublic void setText(String text){\n\t\ttextButton.setText(text.toUpperCase());\n\t}\n\t\n\t// Set color of background\n\tpublic void setBackgroundColor(int color){\n\t\tbackgroundColor = color;\n\t\tif(isEnabled())\n\t\t\tbeforeBackground = backgroundColor;\n\t\ttextButton.setTextColor(color);\n\t}\n\n\t@Override\n\tpublic TextView getTextView() {\n\t\treturn textButton;\n\t}\n\t\n\tpublic String getText(){\n        \treturn textButton.getText().toString();\n \t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ButtonFloat.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\nimport com.nineoldandroids.animation.ObjectAnimator;\nimport com.nineoldandroids.view.ViewHelper;\n\nimport android.annotation.SuppressLint;\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.PorterDuff.Mode;\nimport android.graphics.PorterDuffXfermode;\nimport android.graphics.Rect;\nimport android.graphics.Bitmap.Config;\nimport android.graphics.drawable.Drawable;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.util.AttributeSet;\nimport android.view.animation.BounceInterpolator;\nimport android.widget.ImageView;\nimport android.widget.ImageView.ScaleType;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\n\n\npublic class ButtonFloat extends Button{\n\t\n\tint sizeIcon = 24;\n\tint sizeRadius = 28;\n\t\n\t\n\tImageView icon; // Icon of float button\n\tDrawable drawableIcon;\n\t\n\tpublic boolean isShow = false;\n\t\n\tfloat showPosition;\n\tfloat hidePosition;\n\t\n\t\n\t\n\tpublic ButtonFloat(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tsetBackgroundResource(R.drawable.background_button_float);\n\t\tsetBackgroundColor(backgroundColor);\n\t\tsizeRadius = 28;\n\t\tsetDefaultProperties();\n\t\ticon = new ImageView(context);\n\t\ticon.setAdjustViewBounds(true);\n\t\ticon.setScaleType(ScaleType.CENTER_CROP);\n\t\tif(drawableIcon != null) {\n\t\t\ticon.setImageDrawable(drawableIcon);\n\t\t}\n\t\tLayoutParams params = new LayoutParams(Utils.dpToPx(sizeIcon, getResources()),Utils.dpToPx(sizeIcon, getResources()));\n\t\tparams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);\n\t\ticon.setLayoutParams(params);\n\t\taddView(icon);\t\t\n\t\t\n\t}\n\t\n\tprotected void setDefaultProperties(){\n\t\trippleSpeed = Utils.dpToPx(2, getResources());\n\t\trippleSize = Utils.dpToPx(5, getResources());\n\t\tsetMinimumWidth(Utils.dpToPx(sizeRadius*2, getResources()));\n\t\tsetMinimumHeight(Utils.dpToPx(sizeRadius*2, getResources()));\n\t\tsuper.background = R.drawable.background_button_float;\n//\t\tsuper.setDefaultProperties();\n\t}\n\t\n\t\n\t// Set atributtes of XML to View\n\tprotected void setAttributes(AttributeSet attrs){\n\t\t//Set background Color\n\t\t// Color by resource\n\t\tint bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\"background\",-1);\n\t\tif(bacgroundColor != -1){\n\t\t\tsetBackgroundColor(getResources().getColor(bacgroundColor));\n\t\t}else{\n\t\t\t// Color by hexadecimal\n\t\t\tbackground = attrs.getAttributeIntValue(ANDROIDXML, \"background\", -1);\n\t\t\tif (background != -1)\n\t\t\t\tsetBackgroundColor(background);\n\t\t}\n\t\t\n\t\t// Set Ripple Color\n\t\t// Color by resource\n\t\tint rippleColor = attrs.getAttributeResourceValue(MATERIALDESIGNXML,\n\t\t\t\t\"rippleColor\", -1);\n\t\tif (rippleColor != -1) {\n\t\t\tsetRippleColor(getResources().getColor(rippleColor));\n\t\t} else {\n\t\t\t// Color by hexadecimal\n\t\t\tint background = attrs.getAttributeIntValue(MATERIALDESIGNXML, \"rippleColor\", -1);\n\t\t\tif (background != -1)\n\t\t\t\tsetRippleColor(background);\n\t\t\telse\n\t\t\t\tsetRippleColor(makePressColor());\n\t\t}\n\t\t// Icon of button\n\t\tint iconResource = attrs.getAttributeResourceValue(MATERIALDESIGNXML,\"iconDrawable\",-1);\n\t\tif(iconResource != -1)\n\t\t\tdrawableIcon = getResources().getDrawable(iconResource);\n\t\tfinal boolean animate = attrs.getAttributeBooleanValue(MATERIALDESIGNXML,\"animate\", false);\n\t\t\tpost(new Runnable() {\n\t\t\t\t\n\t\t\t\t@Override\n\t\t\t\tpublic void run() {\n\t\t\t\t\tshowPosition = ViewHelper.getY(ButtonFloat.this) - Utils.dpToPx(24, getResources());\n\t\t\t\t\thidePosition = ViewHelper.getY(ButtonFloat.this) + getHeight() * 3;\n\t\t\t\t\tif(animate){\n\t\t\t\t\t\tViewHelper.setY(ButtonFloat.this, hidePosition);\n\t\t\t\t\t\tshow();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\t\t\t\n\t}\n\t\t\n\tInteger height;\n\tInteger width;\n\t@Override\n\tprotected void onDraw(Canvas canvas) {\n\t\tsuper.onDraw(canvas);\n\t\tif (x != -1) {\n\t\t\tRect src = new Rect(0, 0, getWidth(), getHeight());\n\t\t\tRect dst = new Rect(Utils.dpToPx(1, getResources()), Utils.dpToPx(2, getResources()), getWidth()-Utils.dpToPx(1, getResources()), getHeight()-Utils.dpToPx(2, getResources()));\n\t\t\tcanvas.drawBitmap(cropCircle(makeCircle()), src, dst, null);\n\t\t\tinvalidate();\n\t\t}\n\t}\n\t\n\t\n\t\n\t\n\tpublic ImageView getIcon() {\n\t\treturn icon;\n\t}\n\n\tpublic void setIcon(ImageView icon) {\n\t\tthis.icon = icon;\n\t}\n\n\tpublic Drawable getDrawableIcon() {\n\t\treturn drawableIcon;\n\t}\n\n\tpublic void setDrawableIcon(Drawable drawableIcon) {\n\t\tthis.drawableIcon = drawableIcon;\n\t\ttry {\n\t\t\ticon.setBackground(drawableIcon);\n\t\t} catch (NoSuchMethodError e) {\n\t\t\ticon.setBackgroundDrawable(drawableIcon);\n\t\t}\n\t}\n\n\tpublic Bitmap cropCircle(Bitmap bitmap) {\n\t    Bitmap output = Bitmap.createBitmap(bitmap.getWidth(),\n\t            bitmap.getHeight(), Config.ARGB_8888);\n\t    Canvas canvas = new Canvas(output);\n\n\t    final int color = 0xff424242;\n\t    final Paint paint = new Paint();\n\t    final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());\n\n\t    paint.setAntiAlias(true);\n\t    canvas.drawARGB(0, 0, 0, 0);\n\t    paint.setColor(color);\n\t    canvas.drawCircle(bitmap.getWidth() / 2, bitmap.getHeight() / 2,\n\t            bitmap.getWidth()/2, paint);\n\t    paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));\n\t    canvas.drawBitmap(bitmap, rect, rect, paint);\n\t    return output;\n\t}\n\n\t@Override\n\tpublic TextView getTextView() {\n\t\treturn null;\n\t}\n\t\n\tpublic void setRippleColor(int rippleColor) {\n\t\tthis.rippleColor = rippleColor;\n\t}\n\t\n\tpublic void show(){\n\t\tObjectAnimator animator = ObjectAnimator.ofFloat(ButtonFloat.this, \"y\", showPosition);\n\t\tanimator.setInterpolator(new BounceInterpolator());\n\t\tanimator.setDuration(1500);\n\t\tanimator.start();\n\t\tisShow = true;\n\t}\n\t\n\tpublic void hide(){\n\t\t\n\t\tObjectAnimator animator = ObjectAnimator.ofFloat(ButtonFloat.this, \"y\", hidePosition);\n\t\tanimator.setInterpolator(new BounceInterpolator());\n\t\tanimator.setDuration(1500);\n\t\tanimator.start();\n\t\t\n\t\tisShow = false;\n\t}\n\t\n\tpublic boolean isShow(){\n\t\treturn isShow;\n\t}\n\t\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ButtonFloatSmall.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.widget.RelativeLayout;\n\npublic class ButtonFloatSmall extends ButtonFloat {\n\t\n\tpublic ButtonFloatSmall(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tsizeRadius = 20;\n\t\tsizeIcon = 20;\n\t\tsetDefaultProperties();\n\t\tLayoutParams params = new LayoutParams(Utils.dpToPx(sizeIcon, getResources()),Utils.dpToPx(sizeIcon, getResources()));\n\t\tparams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);\n\t\ticon.setLayoutParams(params);\n\t}\n\t\n\tprotected void setDefaultProperties(){\n\t\trippleSpeed = Utils.dpToPx(2, getResources());\n\t\trippleSize = 10;\t\t\n\t\t// Min size\n\t\tsetMinimumHeight(Utils.dpToPx(sizeRadius*2, getResources()));\n\t\tsetMinimumWidth(Utils.dpToPx(sizeRadius*2, getResources()));\n\t\t// Background shape\n\t\tsetBackgroundResource(R.drawable.background_button_float);\n//\t\tsetBackgroundColor(backgroundColor);\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ButtonIcon.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.utils.Utils;\n\nimport android.R;\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.graphics.Paint;\nimport android.graphics.Rect;\nimport android.graphics.drawable.ColorDrawable;\nimport android.util.AttributeSet;\nimport android.view.MotionEvent;\n\npublic class ButtonIcon extends ButtonFloat {\n\n\tpublic ButtonIcon(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\ttry {\n\t\t\tsetBackground(new ColorDrawable(getResources().getColor(R.color.transparent)));\n\t\t} catch (NoSuchMethodError e) {\n\t\t\tsetBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.transparent)));\n\t\t}\n\t\trippleSpeed = Utils.dpToPx(2, getResources());\n\t\trippleSize = Utils.dpToPx(5, getResources());\n\t}\n\t\n\t@Override\n\tpublic boolean onTouchEvent(MotionEvent event) {\n\t\tboolean returnBool = super.onTouchEvent(event);\n\t\tif(x != -1){\n\t\t\tx = getWidth() / 2;\n\t\t\ty = getHeight() / 2;\n\t\t}\n\t\treturn returnBool;\n\t}\n\t\n\t@Override\n\tprotected void onDraw(Canvas canvas) {\n\t\tif (x != -1) {\n\t\t\tPaint paint = new Paint();\n\t\t\tpaint.setAntiAlias(true);\n\t\t\tpaint.setColor(makePressColor());\n\t\t\tcanvas.drawCircle(x, y, radius, paint);\n\t\t\tif(radius > getHeight()/rippleSize)\n\t\t\t\tradius += rippleSpeed;\n\t\t\tif(radius >= getWidth() / 2 - rippleSpeed){\n\t\t\t\tx = -1;\n\t\t\t\ty = -1;\n\t\t\t\tradius = getHeight()/rippleSize;\n\t\t\t\tif(onClickListener != null && clickAfterRipple)\n\t\t\t\t\tonClickListener.onClick(this);\n\t\t\t}\n\t\t\tinvalidate();\n\t\t}\n\t}\n\t\n\t@Override\n\tprotected int makePressColor() {\n\t\treturn backgroundColor;\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ButtonRectangle.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Rect;\nimport android.graphics.Typeface;\nimport android.util.AttributeSet;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\n\npublic class ButtonRectangle extends Button {\n\t\n\tTextView textButton;\n\t\n\tint paddingTop,paddingBottom, paddingLeft, paddingRight;\n\t\n\t\n\tpublic ButtonRectangle(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tsetDefaultProperties();\n\t}\n\t@Override\n\tprotected void setDefaultProperties(){\n//\t\tpaddingBottom = Utils.dpToPx(16, getResources());\n//\t\tpaddingLeft = Utils.dpToPx(16, getResources());\n//\t\tpaddingRight = Utils.dpToPx(16, getResources());\n//\t\tpaddingTop = Utils.dpToPx(16, getResources());\n\t\tsuper.minWidth = 80;\n\t\tsuper.minHeight = 36;\n\t\tsuper.background = R.drawable.background_button_rectangle;\n\t\tsuper.setDefaultProperties();\n\t}\n\t\n\t\n\t// Set atributtes of XML to View\n\tprotected void setAttributes(AttributeSet attrs){\n\t\t\n\t\t//Set background Color\n\t\t// Color by resource\n\t\tint bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\"background\",-1);\n\t\tif(bacgroundColor != -1){\n\t\t\tsetBackgroundColor(getResources().getColor(bacgroundColor));\n\t\t}else{\n\t\t\t// Color by hexadecimal\n\t\t\t// Color by hexadecimal\n\t\t\tbackground = attrs.getAttributeIntValue(ANDROIDXML, \"background\", -1);\n\t\t\tif (background != -1)\n\t\t\t\tsetBackgroundColor(background);\n\t\t}\n\t\t\n\t\t// Set Padding\n\t\tString value = attrs.getAttributeValue(ANDROIDXML,\"padding\");\n//\t\tif(value != null){\n//\t\t\tfloat padding = Float.parseFloat(value.replace(\"dip\", \"\"));\n//\t\t\tpaddingBottom = Utils.dpToPx(padding, getResources());\n//\t\t\tpaddingLeft = Utils.dpToPx(padding, getResources());\n//\t\t\tpaddingRight = Utils.dpToPx(padding, getResources());\n//\t\t\tpaddingTop = Utils.dpToPx(padding, getResources());\n//\t\t}else{\n//\t\t\tvalue = attrs.getAttributeValue(ANDROIDXML,\"paddingLeft\");\n//\t\t\tpaddingLeft = (value == null) ? paddingLeft : (int) Float.parseFloat(value.replace(\"dip\", \"\"));\n//\t\t\tvalue = attrs.getAttributeValue(ANDROIDXML,\"paddingTop\");\n//\t\t\tpaddingTop = (value == null) ? paddingTop : (int) Float.parseFloat(value.replace(\"dip\", \"\"));\n//\t\t\tvalue = attrs.getAttributeValue(ANDROIDXML,\"paddingRight\");\n//\t\t\tpaddingRight = (value == null) ? paddingRight : (int) Float.parseFloat(value.replace(\"dip\", \"\"));\n//\t\t\tvalue = attrs.getAttributeValue(ANDROIDXML,\"paddingBottom\");\n//\t\t\tpaddingBottom = (value == null) ? paddingBottom : (int) Float.parseFloat(value.replace(\"dip\", \"\"));\n//\t\t}\n\t\t\n\t\t\n\t\t// Set text button\n\t\tString text = null;\n\t\tint textResource = attrs.getAttributeResourceValue(ANDROIDXML,\"text\",-1);\n\t\tif(textResource != -1){\n\t\t\ttext = getResources().getString(textResource);\n\t\t}else{\n\t\t\ttext = attrs.getAttributeValue(ANDROIDXML,\"text\");\n\t\t}\n\t\tif(text != null){\n\t\t\ttextButton = new TextView(getContext());\n\t\t\ttextButton.setText(text);\n\t\t\ttextButton.setTextColor(Color.WHITE);\n\t\t\ttextButton.setTypeface(null, Typeface.BOLD);\n\t\t\tLayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);\n\t\t\tparams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);\n\t\t\tparams.setMargins(Utils.dpToPx(5, getResources()), Utils.dpToPx(5, getResources()), Utils.dpToPx(5, getResources()), Utils.dpToPx(5, getResources()));\n\t\t\ttextButton.setLayoutParams(params);\t\t\t\n\t\t\taddView(textButton);\n//\t\t\t\t\tFrameLayout.LayoutParams params = (LayoutParams) textView.getLayoutParams();\n//\t\t\t\t\tparams.width = getWidth();\n//\t\t\t\t\tparams.gravity = Gravity.CENTER_HORIZONTAL;\n////\t\t\t\t\tparams.setMargins(paddingLeft, paddingTop, paddingRight, paddingRight);\n//\t\t\t\t\ttextView.setLayoutParams(params);textColor\n\t\t\tint textColor = attrs.getAttributeResourceValue(ANDROIDXML,\"textColor\",-1);\n\t\t\tif(textColor != -1){\n\t\t\t\ttextButton.setTextColor(textColor);\n\t\t\t}else{\n\t\t\t\t// Color by hexadecimal\n\t\t\t\t// Color by hexadecimal\n\t\t\t\ttextColor = attrs.getAttributeIntValue(ANDROIDXML, \"textColor\", -1);\n\t\t\t\tif (textColor != -1)\n\t\t\t\t\ttextButton.setTextColor(textColor);\n\t\t\t}\n\t\t\tint[] array = {android.R.attr.textSize};\n\t\t\tTypedArray values = getContext().obtainStyledAttributes(attrs, array);\n\t        float textSize = values.getDimension(0, -1);\n\t        values.recycle();\n\t        if(textSize != -1)\n\t        \ttextButton.setTextSize(textSize);\n\t\t\t\n\t\t}\n\t\t\n\t\trippleSpeed = attrs.getAttributeFloatValue(MATERIALDESIGNXML,\n\t\t\t\t\"rippleSpeed\", Utils.dpToPx(6, getResources()));\n\t}\n\t\n//\t/**\n//\t * Center text in button\n//\t */\n//\tboolean txtCenter = false;\n//\tprivate void centrarTexto(){\n//\t\tif((textButton.getWidth()+paddingLeft+paddingRight)>Utils.dpToPx(80, getResources()))\n//\t\t\tsetMinimumWidth(textButton.getWidth()+paddingLeft+paddingRight);\n//\t\tsetMinimumHeight(textButton.getHeight()+paddingBottom+paddingTop);\n//\t\ttextButton.setX(getWidth()/2-textButton.getWidth()/2 - paddingTop + paddingBottom);\n//\t\ttextButton.setY(getHeight()/2-textButton.getHeight()/2 - paddingLeft + paddingRight);\n//\t\ttxtCenter = true;\n//\t}\n\t\n\tInteger height;\n\tInteger width;\n\t@Override\n\tprotected void onDraw(Canvas canvas) {\n//\t\tif(!txtCenter)\n//\t\tcentrarTexto();\n\t\tsuper.onDraw(canvas);\n\t\tif (x != -1) {\n\t\t\tRect src = new Rect(0, 0, getWidth()-Utils.dpToPx(6, getResources()), getHeight()-Utils.dpToPx(7, getResources()));\n\t\t\tRect dst = new Rect(Utils.dpToPx(6, getResources()), Utils.dpToPx(6, getResources()), getWidth()-Utils.dpToPx(6, getResources()), getHeight()-Utils.dpToPx(7, getResources()));\n\t\t\tcanvas.drawBitmap(makeCircle(), src, dst, null);\n\t\t\tinvalidate();\n\t\t}\n\t}\n\t\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/Card.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\n\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.Bitmap.Config;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Rect;\nimport android.graphics.Typeface;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.util.AttributeSet;\nimport android.util.Log;\nimport android.view.Gravity;\nimport android.view.MotionEvent;\nimport android.widget.FrameLayout;\nimport android.widget.LinearLayout;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\nimport android.widget.Toast;\nimport android.widget.RelativeLayout.LayoutParams;\n\npublic class Card extends CustomView {\n\t\n\tTextView textButton;\n\t\n\tint paddingTop,paddingBottom, paddingLeft, paddingRight;\n\tint backgroundColor = Color.parseColor(\"#FFFFFF\");\n\t\n\tpublic Card(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tsetAttributes(attrs);\n\t}\n\t\n\t\n\t// Set atributtes of XML to View\n\tprotected void setAttributes(AttributeSet attrs){\n\t\t\n\t\tsetBackgroundResource(R.drawable.background_button_rectangle);\n\t\t//Set background Color\n\t\t// Color by resource\n\t\tint bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\"background\",-1);\n\t\tif(bacgroundColor != -1){\n\t\t\tsetBackgroundColor(getResources().getColor(bacgroundColor));\n\t\t}else{\n\t\t\t// Color by hexadecimal\n\t\t\tString background = attrs.getAttributeValue(ANDROIDXML,\"background\");\n\t\t\tif(background != null)\n\t\t\t\tsetBackgroundColor(Color.parseColor(background));\n\t\t\telse\n\t\t\t\tsetBackgroundColor(this.backgroundColor);\n\t\t}\n\t}\n\t\n\t// Set color of background\n\tpublic void setBackgroundColor(int color){\n\t\tthis.backgroundColor = color;\n\t\tif(isEnabled())\n\t\t\tbeforeBackground = backgroundColor;\n\t\tLayerDrawable layer = (LayerDrawable) getBackground();\n\t\tGradientDrawable shape =  (GradientDrawable) layer.findDrawableByLayerId(R.id.shape_bacground);\n\t\tshape.setColor(backgroundColor);\n\t}\n\t\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/CheckBox.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\n\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.BitmapFactory;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Rect;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.util.AttributeSet;\nimport android.view.MotionEvent;\nimport android.view.View;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\n\npublic class CheckBox extends CustomView {\n\n\tint backgroundColor = Color.parseColor(\"#4CAF50\");\n\n\tCheck checkView;\n\n\tboolean press = false;\n\tboolean check = false;\n\n\tOnCheckListener onCheckListener;\n\n\tpublic CheckBox(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tsetAttributes(attrs);\n\t}\n\n\t// Set atributtes of XML to View\n\tprotected void setAttributes(AttributeSet attrs) {\n\n\t\tsetBackgroundResource(R.drawable.background_checkbox);\n\n\t\t// Set size of view\n\t\tsetMinimumHeight(Utils.dpToPx(48, getResources()));\n\t\tsetMinimumWidth(Utils.dpToPx(48, getResources()));\n\n\t\t// Set background Color\n\t\t// Color by resource\n\t\tint bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\n\t\t\t\t\"background\", -1);\n\t\tif (bacgroundColor != -1) {\n\t\t\tsetBackgroundColor(getResources().getColor(bacgroundColor));\n\t\t} else {\n\t\t\t// Color by hexadecimal\n\t\t\t// Color by hexadecimal\n\t\t\tint background = attrs.getAttributeIntValue(ANDROIDXML, \"background\", -1);\n\t\t\tif (background != -1)\n\t\t\t\tsetBackgroundColor(background);\n\t\t}\n\n\t\tfinal boolean check = attrs.getAttributeBooleanValue(MATERIALDESIGNXML,\n\t\t\t\t\"check\", false);\n\t\t\tpost(new Runnable() {\n\n\t\t\t\t@Override\n\t\t\t\tpublic void run() {\n\t\t\t\t\tsetChecked(check);\n\t\t\t\t\tsetPressed(false);\n\t\t\t\t\tchangeBackgroundColor(getResources().getColor(\n\t\t\t\t\t\t\tandroid.R.color.transparent));\n\t\t\t\t}\n\t\t\t});\n\n\t\tcheckView = new Check(getContext());\n        checkView.setId(View.generateViewId());\n\t\tRelativeLayout.LayoutParams params = new LayoutParams(Utils.dpToPx(20,\n\t\t\t\tgetResources()), Utils.dpToPx(20, getResources()));\n\t\tparams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);\n\t\tcheckView.setLayoutParams(params);\n\t\taddView(checkView);\n\n        // Adding text view to checkbox\n        int textResource = attrs.getAttributeResourceValue(ANDROIDXML, \"text\", -1);\n        String text = null;\n\n        if(textResource != -1) {\n            text = getResources().getString(textResource);\n        } else {\n            text = attrs.getAttributeValue(ANDROIDXML, \"text\");\n        }\n\n        if(text != null) {\n            params.removeRule(RelativeLayout.CENTER_IN_PARENT);\n            params.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);\n                    TextView textView = new TextView(getContext());\n            RelativeLayout.LayoutParams textViewLayoutParams = new LayoutParams(LayoutParams.WRAP_CONTENT,\n                    LayoutParams.WRAP_CONTENT);\n            textViewLayoutParams.addRule(RelativeLayout.RIGHT_OF, checkView.getId());\n            textViewLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);\n            textViewLayoutParams.setMargins(10, 0, 0, 0);\n            textView.setLayoutParams(textViewLayoutParams);\n            textView.setText(text);\n\n            addView(textView);\n        }\n\t}\n\n\t@Override\n\tpublic void invalidate() {\n\t\tcheckView.invalidate();\n\t\tsuper.invalidate();\n\t}\n\n\n\t@Override\n\tpublic boolean onTouchEvent(MotionEvent event) {\n\t\tinvalidate();\n\t\tif (isEnabled()) {\n\t\t\tisLastTouch = true;\n\t\t\tif (event.getAction() == MotionEvent.ACTION_DOWN) {\n\t\t\t\tchangeBackgroundColor((check) ? makePressColor() : Color\n\t\t\t\t\t\t.parseColor(\"#446D6D6D\"));\n\t\t\t} else if (event.getAction() == MotionEvent.ACTION_UP) {\n\t\t\t\tchangeBackgroundColor(getResources().getColor(\n\t\t\t\t\t\tandroid.R.color.transparent));\n\t\t\t\tpress = false;\n\t\t\t\tif ((event.getX() <= getWidth() && event.getX() >= 0)\n\t\t\t\t\t\t&& (event.getY() <= getHeight() && event.getY() >= 0)) {\n\t\t\t\t\tisLastTouch = false;\n\t\t\t\t\tcheck = !check;\n\t\t\t\t\tif (onCheckListener != null)\n\t\t\t\t\t\tonCheckListener.onCheck(CheckBox.this, check);\n\t\t\t\t\tif (check) {\n\t\t\t\t\t\tstep = 0;\n\t\t\t\t\t}\n\t\t\t\t\tif (check)\n\t\t\t\t\t\tcheckView.changeBackground();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t@Override\n\tprotected void onDraw(Canvas canvas) {\n\t\tsuper.onDraw(canvas);\n\t\tif (press) {\n\t\t\tPaint paint = new Paint();\n\t\t\tpaint.setAntiAlias(true);\n\t\t\tpaint.setColor((check) ? makePressColor() : Color\n\t\t\t\t\t.parseColor(\"#446D6D6D\"));\n\t\t\tcanvas.drawCircle(getWidth() / 2, getHeight() / 2, getWidth() / 2,\n\t\t\t\t\tpaint);\n\t\t\tinvalidate();\n\t\t}\n\t}\n\n\tprivate void changeBackgroundColor(int color) {\n\t\tLayerDrawable layer = (LayerDrawable) getBackground();\n\t\tGradientDrawable shape = (GradientDrawable) layer\n\t\t\t\t.findDrawableByLayerId(R.id.shape_bacground);\n\t\tshape.setColor(color);\n\t}\n\n\t/**\n\t * Make a dark color to press effect\n\t *\n\t * @return\n\t */\n\tprotected int makePressColor() {\n\t\tint r = (this.backgroundColor >> 16) & 0xFF;\n\t\tint g = (this.backgroundColor >> 8) & 0xFF;\n\t\tint b = (this.backgroundColor >> 0) & 0xFF;\n\t\tr = (r - 30 < 0) ? 0 : r - 30;\n\t\tg = (g - 30 < 0) ? 0 : g - 30;\n\t\tb = (b - 30 < 0) ? 0 : b - 30;\n\t\treturn Color.argb(70, r, g, b);\n\t}\n\n\t@Override\n\tpublic void setBackgroundColor(int color) {\n\t\tbackgroundColor = color;\n\t\tif (isEnabled())\n\t\t\tbeforeBackground = backgroundColor;\n\t\tchangeBackgroundColor(color);\n\t}\n\n\tpublic void setChecked(boolean check) {\n\t\tinvalidate();\n\t\tthis.check = check;\n\t\tsetPressed(false);\n\t\tchangeBackgroundColor(getResources().getColor(\n\t\t\t\tandroid.R.color.transparent));\n\t\tif (check) {\n\t\t\tstep = 0;\n\t\t}\n\t\tif (check)\n\t\t\tcheckView.changeBackground();\n\n\t}\n\n\tpublic boolean isCheck() {\n\t\treturn check;\n\t}\n\n\t// Indicate step in check animation\n\tint step = 0;\n\n\t// View that contains checkbox\n\tclass Check extends View {\n\n\t\tBitmap sprite;\n\n\t\tpublic Check(Context context) {\n\t\t\tsuper(context);\n\t\t\tsetBackgroundResource(R.drawable.background_checkbox_uncheck);\n\t\t\tsprite = BitmapFactory.decodeResource(context.getResources(),\n\t\t\t\t\tR.drawable.sprite_check);\n\t\t}\n\n\t\tpublic void changeBackground() {\n\t\t\tif (check) {\n\t\t\t\tsetBackgroundResource(R.drawable.background_checkbox_check);\n\t\t\t\tLayerDrawable layer = (LayerDrawable) getBackground();\n\t\t\t\tGradientDrawable shape = (GradientDrawable) layer\n\t\t\t\t\t\t.findDrawableByLayerId(R.id.shape_bacground);\n\t\t\t\tshape.setColor(backgroundColor);\n\t\t\t} else {\n\t\t\t\tsetBackgroundResource(R.drawable.background_checkbox_uncheck);\n\t\t\t}\n\t\t}\n\n\t\t@Override\n\t\tprotected void onDraw(Canvas canvas) {\n\t\t\tsuper.onDraw(canvas);\n\n\t\t\tif (check) {\n\t\t\t\tif (step < 11){\n\t\t\t\t\tstep++;\n\t\t\t\t\tinvalidate();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (step >= 0){\n\t\t\t\t\tstep--;\n\t\t\t\t\tinvalidate();\n\t\t\t\t}\n\t\t\t\tif (step == -1){\n\t\t\t\t\tinvalidate();\n\t\t\t\t\tchangeBackground();\n\t\t\t\t}\n\t\t\t}\n\t\t\tRect src = new Rect(40 * step, 0, (40 * step) + 40, 40);\n\t\t\tRect dst = new Rect(0, 0, this.getWidth() - 2, this.getHeight());\n\t\t\tcanvas.drawBitmap(sprite, src, dst, null);\n\n\t\t}\n\n\t}\n\n\tpublic void setOncheckListener(OnCheckListener onCheckListener) {\n\t\tthis.onCheckListener = onCheckListener;\n\t}\n\n\tpublic interface OnCheckListener {\n\t\tpublic void onCheck(CheckBox view, boolean check);\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/CustomView.java",
    "content": "package com.gc.materialdesign.views;\n\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.util.AttributeSet;\nimport android.widget.RelativeLayout;\n\npublic class CustomView extends RelativeLayout{\n\t\n\t\n\tfinal static String MATERIALDESIGNXML = \"http://schemas.android.com/apk/res-auto\";\n\tfinal static String ANDROIDXML = \"http://schemas.android.com/apk/res/android\";\n\t\n\tfinal int disabledBackgroundColor = Color.parseColor(\"#E2E2E2\");\n\tint beforeBackground;\n\t\n\t// Indicate if user touched this view the last time\n\tpublic boolean isLastTouch = false;\n\n\tpublic CustomView(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t}\n\t\n\t@Override\n\tpublic void setEnabled(boolean enabled) {\n\t\tsuper.setEnabled(enabled);\n\t\tif(enabled)\n\t\t\tsetBackgroundColor(beforeBackground);\n\t\telse\n\t\t\tsetBackgroundColor(disabledBackgroundColor);\n\t\tinvalidate();\n\t}\n\t\n\tboolean animation = false;\n\t\n\t@Override\n\tprotected void onAnimationStart() {\n\t\tsuper.onAnimationStart();\n\t\tanimation = true;\n\t}\n\t\n\t@Override\n\tprotected void onAnimationEnd() {\n\t\tsuper.onAnimationEnd();\n\t\tanimation = false;\n\t}\n\t\n\t@Override\n\tprotected void onDraw(Canvas canvas) {\n\t\tsuper.onDraw(canvas);\n\t\tif(animation)\n\t\t\tinvalidate();\n\t}\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/LayoutRipple.java",
    "content": "package com.gc.materialdesign.views;\n\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.Bitmap.Config;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.Rect;\nimport android.util.AttributeSet;\nimport android.view.MotionEvent;\n\npublic class LayoutRipple extends CustomView {\n\n\tint background;\n\tfloat rippleSpeed = 10f;\n\tint rippleSize = 3;\n\n\tOnClickListener onClickListener;\n\tint backgroundColor = Color.parseColor(\"#FFFFFF\");\n\n\tInteger rippleColor;\n\tFloat xRippleOrigin;\n\tFloat yRippleOrigin;\n\n\tpublic LayoutRipple(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tsetAttributes(attrs);\n\t}\n\n\t// Set atributtes of XML to View\n\tprotected void setAttributes(AttributeSet attrs) {\n\n\t\t// Set background Color\n\t\t// Color by resource\n\t\tint bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\n\t\t\t\t\"background\", -1);\n\t\tif (bacgroundColor != -1) {\n\t\t\tsetBackgroundColor(getResources().getColor(bacgroundColor));\n\t\t} else {\n\t\t\t// Color by hexadecimal\n\t\t\tbackground = attrs.getAttributeIntValue(ANDROIDXML, \"background\", -1);\n\t\t\tif (background != -1)\n\t\t\t\tsetBackgroundColor(background);\n\t\t\telse\n\t\t\t\tsetBackgroundColor(this.backgroundColor);\n\t\t}\n\t\t// Set Ripple Color\n\t\t// Color by resource\n\t\tint rippleColor = attrs.getAttributeResourceValue(MATERIALDESIGNXML,\n\t\t\t\t\"rippleColor\", -1);\n\t\tif (rippleColor != -1) {\n\t\t\tsetRippleColor(getResources().getColor(rippleColor));\n\t\t} else {\n\t\t\t// Color by hexadecimal\n\t\t\tint background = attrs.getAttributeIntValue(MATERIALDESIGNXML, \"rippleColor\", -1);\n\t\t\tif (background != -1)\n\t\t\t\tsetRippleColor(background);\n\t\t\telse\n\t\t\t\tsetRippleColor(makePressColor());\n\t\t}\n\t\t\n\t\trippleSpeed = attrs.getAttributeFloatValue(MATERIALDESIGNXML,\n\t\t\t\t\"rippleSpeed\", 20f);\n\t}\n\n\t// Set color of background\n\tpublic void setBackgroundColor(int color) {\n\t\tthis.backgroundColor = color;\n\t\tif (isEnabled())\n\t\t\tbeforeBackground = backgroundColor;\n\t\tsuper.setBackgroundColor(color);\n\t}\n\n\tpublic void setRippleSpeed(int rippleSpeed) {\n\t\tthis.rippleSpeed = rippleSpeed;\n\t}\n\n\t// ### RIPPLE EFFECT ###\n\n\tfloat x = -1, y = -1;\n\tfloat radius = -1;\n\n\t@Override\n\tpublic boolean onTouchEvent(MotionEvent event) {\n\t\tinvalidate();\n\t\tif (isEnabled()) {\n\t\t\tisLastTouch = true;\n\t\t\tif (event.getAction() == MotionEvent.ACTION_DOWN) {\n\t\t\t\tradius = getHeight() / rippleSize;\n\t\t\t\tx = event.getX();\n\t\t\t\ty = event.getY();\n\t\t\t} else if (event.getAction() == MotionEvent.ACTION_MOVE) {\n\t\t\t\tradius = getHeight() / rippleSize;\n\t\t\t\tx = event.getX();\n\t\t\t\ty = event.getY();\n\t\t\t\tif (!((event.getX() <= getWidth() && event.getX() >= 0) && (event\n\t\t\t\t\t\t.getY() <= getHeight() && event.getY() >= 0))) {\n\t\t\t\t\tisLastTouch = false;\n\t\t\t\t\tx = -1;\n\t\t\t\t\ty = -1;\n\t\t\t\t}\n\t\t\t} else if (event.getAction() == MotionEvent.ACTION_UP) {\n\t\t\t\tif ((event.getX() <= getWidth() && event.getX() >= 0)\n\t\t\t\t\t\t&& (event.getY() <= getHeight() && event.getY() >= 0)) {\n\t\t\t\t\tradius++;\n\t\t\t\t} else {\n\t\t\t\t\tisLastTouch = false;\n\t\t\t\t\tx = -1;\n\t\t\t\t\ty = -1;\n\t\t\t\t}\n\t\t\t}if (event.getAction() == MotionEvent.ACTION_CANCEL) {\n\t\t\t\t\tisLastTouch = false;\n\t\t\t\t\tx = -1;\n\t\t\t\t\ty = -1;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t@Override\n\tprotected void onFocusChanged(boolean gainFocus, int direction,\n\t\t\tRect previouslyFocusedRect) {\n\t\tif (!gainFocus) {\n\t\t\tx = -1;\n\t\t\ty = -1;\n\t\t}\n\t}\n\n\t@Override\n\tpublic boolean onInterceptTouchEvent(MotionEvent ev) {\n\t\t// super.onInterceptTouchEvent(ev);\n\t\treturn true;\n\t}\n\n\tpublic Bitmap makeCircle() {\n\t\tBitmap output = Bitmap.createBitmap(getWidth(), getHeight(),\n\t\t\t\tConfig.ARGB_8888);\n\t\tCanvas canvas = new Canvas(output);\n\t\tcanvas.drawARGB(0, 0, 0, 0);\n\t\tPaint paint = new Paint();\n\t\tpaint.setAntiAlias(true);\n\t\tif (rippleColor == null)\n\t\t\trippleColor = makePressColor();\n\t\tpaint.setColor(rippleColor);\n\t\tx = (xRippleOrigin == null) ? x : xRippleOrigin;\n\t\ty = (yRippleOrigin == null) ? y : yRippleOrigin;\n\t\tcanvas.drawCircle(x, y, radius, paint);\n\t\tif (radius > getHeight() / rippleSize)\n\t\t\tradius += rippleSpeed;\n\t\tif (radius >= getWidth()) {\n\t\t\tx = -1;\n\t\t\ty = -1;\n\t\t\tradius = getHeight() / rippleSize;\n\t\t\tif (onClickListener != null)\n\t\t\t\tonClickListener.onClick(this);\n\t\t}\n\t\treturn output;\n\t}\n\n\tprotected void onDraw(Canvas canvas) {\n\t\tsuper.onDraw(canvas);\n\t\tif (x != -1) {\n\t\t\tRect src = new Rect(0, 0, getWidth(), getHeight());\n\t\t\tRect dst = new Rect(0, 0, getWidth(), getHeight());\n\t\t\tcanvas.drawBitmap(makeCircle(), src, dst, null);\n\t\t\tinvalidate();\n\t\t}\n\t}\n\n\t/**\n\t * Make a dark color to ripple effect\n\t * \n\t * @return\n\t */\n\tprotected int makePressColor() {\n\t\tint r = (this.backgroundColor >> 16) & 0xFF;\n\t\tint g = (this.backgroundColor >> 8) & 0xFF;\n\t\tint b = (this.backgroundColor >> 0) & 0xFF;\n\t\tr = (r - 30 < 0) ? 0 : r - 30;\n\t\tg = (g - 30 < 0) ? 0 : g - 30;\n\t\tb = (b - 30 < 0) ? 0 : b - 30;\n\t\treturn Color.rgb(r, g, b);\n\t}\n\n\t@Override\n\tpublic void setOnClickListener(OnClickListener l) {\n\t\tonClickListener = l;\n\t}\n\n\tpublic void setRippleColor(int rippleColor) {\n\t\tthis.rippleColor = rippleColor;\n\t}\n\n\tpublic void setxRippleOrigin(Float xRippleOrigin) {\n\t\tthis.xRippleOrigin = xRippleOrigin;\n\t}\n\n\tpublic void setyRippleOrigin(Float yRippleOrigin) {\n\t\tthis.yRippleOrigin = yRippleOrigin;\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ProgressBarCircularIndeterminate.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.utils.Utils;\n\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.PorterDuff;\nimport android.graphics.PorterDuffXfermode;\nimport android.graphics.RectF;\nimport android.util.AttributeSet;\n\npublic class ProgressBarCircularIndeterminate extends CustomView {\n\t\n\t\n\tfinal static String ANDROIDXML = \"http://schemas.android.com/apk/res/android\";\n\t\n\tint backgroundColor = Color.parseColor(\"#1E88E5\");\n\t\n\n\tpublic ProgressBarCircularIndeterminate(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tsetAttributes(attrs);\n\t\t\n\t}\n\t\n\t// Set atributtes of XML to View\n\t\tprotected void setAttributes(AttributeSet attrs){\n\t\t\t\n\t\t\tsetMinimumHeight(Utils.dpToPx(32, getResources()));\n\t\t\tsetMinimumWidth(Utils.dpToPx(32, getResources()));\n\t\t\t\n\t\t\t//Set background Color\n\t\t\t// Color by resource\n\t\t\tint bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\"background\",-1);\n\t\t\tif(bacgroundColor != -1){\n\t\t\t\tsetBackgroundColor(getResources().getColor(bacgroundColor));\n\t\t\t}else{\n\t\t\t\t// Color by hexadecimal\n\t\t\t\tint background = attrs.getAttributeIntValue(ANDROIDXML, \"background\", -1);\n\t\t\t\tif (background != -1)\n\t\t\t\t\tsetBackgroundColor(background);\n\t\t\t\telse\n\t\t\t\t\tsetBackgroundColor(Color.parseColor(\"#1E88E5\"));\n\t\t\t}\n\t\t\t\n\t\t\tsetMinimumHeight(Utils.dpToPx(3, getResources()));\n\t\t\t\n\t\t\t\t\t\t\n\t\t}\n\t\n\t/**\n\t * Make a dark color to ripple effect\n\t * @return\n\t */\n\tprotected int makePressColor(){\n\t\tint r = (this.backgroundColor >> 16) & 0xFF;\n\t\tint g = (this.backgroundColor >> 8) & 0xFF;\n\t\tint b = (this.backgroundColor >> 0) & 0xFF;\n//\t\tr = (r+90 > 245) ? 245 : r+90;\n//\t\tg = (g+90 > 245) ? 245 : g+90;\n//\t\tb = (b+90 > 245) ? 245 : b+90;\n\t\treturn Color.argb(128,r, g, b);\t\t\n\t}\n\t\n\t\n\t@Override\n\tprotected void onDraw(Canvas canvas) {\n\t\tsuper.onDraw(canvas);\n\t\tif(firstAnimationOver == false)\n\t\t\tdrawFirstAnimation(canvas);\n\t\tif(cont > 0)\n\t\t\tdrawSecondAnimation(canvas);\n\t\tinvalidate();\n\t\t\n\t}\n\t\n\tfloat radius1 = 0;\n\tfloat radius2 = 0;\n\tint cont = 0;\n\tboolean firstAnimationOver = false;\n\t/**\n\t * Draw first animation of view\n\t * @param canvas\n\t */\n\tprivate void drawFirstAnimation(Canvas canvas){\n\t\tif(radius1 < getWidth()/2){\n\t\t\tPaint paint = new Paint();\n\t\t\tpaint.setAntiAlias(true);\n\t\t\tpaint.setColor(makePressColor());\n\t\t\tradius1 = (radius1 >= getWidth()/2)? (float)getWidth()/2 : radius1+1;\n\t\t\tcanvas.drawCircle(getWidth()/2, getHeight()/2, radius1, paint);\n\t\t}else{\n\t\t\tBitmap bitmap = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);\n\t\t    Canvas temp = new Canvas(bitmap);\n\t\t    Paint paint = new Paint();\n\t\t\tpaint.setAntiAlias(true);\n\t\t\tpaint.setColor(makePressColor());\n\t\t\ttemp.drawCircle(getWidth()/2, getHeight()/2, getHeight()/2, paint);\n\t\t    Paint transparentPaint = new Paint();\n\t\t    transparentPaint.setAntiAlias(true);\n\t\t    transparentPaint.setColor(getResources().getColor(android.R.color.transparent));\n\t\t    transparentPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));\n\t\t    if(cont >= 50){\n\t\t    \tradius2 = (radius2 >= getWidth()/2)? (float)getWidth()/2 : radius2+1;\n\t\t    }else{\n\t\t    \tradius2 = (radius2 >= getWidth()/2-Utils.dpToPx(4, getResources()))? (float)getWidth()/2-Utils.dpToPx(4, getResources()) : radius2+1;\n\t\t    }\n\t\t    temp.drawCircle(getWidth()/2, getHeight()/2, radius2, transparentPaint);\n\t\t    canvas.drawBitmap(bitmap, 0, 0, new Paint());\n\t\t    if(radius2 >= getWidth()/2-Utils.dpToPx(4, getResources()))\n\t\t    \tcont++;\n\t\t    if(radius2 >= getWidth()/2)\n\t\t    \tfirstAnimationOver = true;\n\t\t}\n\t}\n\t\n\tint arcD = 1;\n\tint arcO = 0;\n\tfloat rotateAngle = 0;\n\tint limite = 0;\n\t/**\n\t * Draw second animation of view\n\t * @param canvas\n\t */\n\tprivate void drawSecondAnimation(Canvas canvas){\n\t\tif(arcO == limite)\n\t\t\tarcD+=6;\n\t\tif(arcD >= 290 || arcO > limite){\n\t\t\tarcO+=6;\n\t\t\tarcD-=6;\n\t\t}\n\t\tif(arcO > limite + 290){\n\t\t\tlimite = arcO;\n\t\t\tarcO = limite;\n\t\t\tarcD = 1;\n\t\t}\n\t\trotateAngle += 4;\n\t\tcanvas.rotate(rotateAngle,getWidth()/2, getHeight()/2);\n\t\t\n\t    Bitmap bitmap = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888);\n\t    Canvas temp = new Canvas(bitmap);\n\t    Paint paint = new Paint();\n\t\tpaint.setAntiAlias(true);\n\t\tpaint.setColor(backgroundColor);\n//\t\ttemp.drawARGB(0, 0, 0, 255);\n\t\ttemp.drawArc(new RectF(0, 0, getWidth(), getHeight()), arcO, arcD, true, paint);\n\t    Paint transparentPaint = new Paint();\n\t    transparentPaint.setAntiAlias(true);\n\t    transparentPaint.setColor(getResources().getColor(android.R.color.transparent));\n\t    transparentPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR));\n\t    temp.drawCircle(getWidth()/2, getHeight()/2, (getWidth()/2)-Utils.dpToPx(4, getResources()), transparentPaint);\n\n\t    canvas.drawBitmap(bitmap, 0, 0, new Paint());\n\t}\n\t\n\t\n\t\n\t\n\t\n\t// Set color of background\n\tpublic void setBackgroundColor(int color){\n\t\tsuper.setBackgroundColor(getResources().getColor(android.R.color.transparent));\n\t\tif(isEnabled())\n\t\t\tbeforeBackground = backgroundColor;\n\t\tthis.backgroundColor = color;\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ProgressBarDeterminate.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\n\nimport android.content.Context;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.util.AttributeSet;\nimport android.view.View;\nimport android.widget.RelativeLayout;\nimport android.widget.RelativeLayout.LayoutParams;\n\npublic class ProgressBarDeterminate extends CustomView {\n\t\n\t\n\tint max = 100;\n\tint min = 0;\n\tint progress = 0;\n\t\n\tint backgroundColor = Color.parseColor(\"#1E88E5\");\n\t\n\tView progressView;\n\n\tpublic ProgressBarDeterminate(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tsetAttributes(attrs);\n\t}\n\t\n\t// Set atributtes of XML to View\n\t\tprotected void setAttributes(AttributeSet attrs){\n\t\t\t\n\t\t\tprogressView = new View(getContext());\n\t\t\tLayoutParams params = new LayoutParams(1,1);\n\t\t\tprogressView.setLayoutParams(params);\n\t\t\tprogressView.setBackgroundResource(R.drawable.background_progress);\n\t\t\taddView(progressView);\n\t\t\t\n\t\t\t//Set background Color\n\t\t\t// Color by resource\n\t\t\tint bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\"background\",-1);\n\t\t\tif(bacgroundColor != -1){\n\t\t\t\tsetBackgroundColor(getResources().getColor(bacgroundColor));\n\t\t\t}else{\n\t\t\t\t// Color by hexadecimal\n\t\t\t\tint background = attrs.getAttributeIntValue(ANDROIDXML, \"background\", -1);\n\t\t\t\tif (background != -1)\n\t\t\t\t\tsetBackgroundColor(background);\n\t\t\t\telse\n\t\t\t\t\tsetBackgroundColor(Color.parseColor(\"#1E88E5\"));\n\t\t\t}\n\t\t\t\n\t\t\tmin = attrs.getAttributeIntValue(MATERIALDESIGNXML,\"min\", 0);\n\t\t\tmax = attrs.getAttributeIntValue(MATERIALDESIGNXML,\"max\", 100);\n\t\t\tprogress = attrs.getAttributeIntValue(MATERIALDESIGNXML,\"progress\", min);\n\t\t\t\n\t\t\tsetMinimumHeight(Utils.dpToPx(3, getResources()));\n\t\t\t\n\t\t\tpost(new Runnable() {\n\t\t\t\t\n\t\t\t\t@Override\n\t\t\t\tpublic void run() {\n\t\t\t\t\tLayoutParams params = (LayoutParams) progressView.getLayoutParams();\n\t\t\t\t\tparams.height = getHeight();\n\t\t\t\t\tprogressView.setLayoutParams(params);\n\t\t\t\t}\n\t\t\t});\n\t\t\t\t\t\t\n\t\t}\n\t\n\t/**\n\t * Make a dark color to ripple effect\n\t * @return\n\t */\n\tprotected int makePressColor(){\n\t\tint r = (this.backgroundColor >> 16) & 0xFF;\n\t\tint g = (this.backgroundColor >> 8) & 0xFF;\n\t\tint b = (this.backgroundColor >> 0) & 0xFF;\n\t\treturn Color.argb(128,r, g, b);\t\t\n\t}\n\t\n\t// SETTERS\n\t\n\t@Override\n\tprotected void onDraw(Canvas canvas) {\n\t\tsuper.onDraw(canvas);\n\t\tif(pendindProgress!=-1)\n\t\t\tsetProgress(pendindProgress);\n\t}\n\t\n\tpublic void setMax(int max){\n\t\tthis.max = max;\n\t}\n\t\n\tpublic void setMin(int min){\n\t\tthis.min = min;\n\t}\n\t\n\tint pendindProgress = -1;\n\tpublic void setProgress(int progress){\n\t\tif(getWidth() == 0){\n\t\t\tpendindProgress = progress;\n\t\t}else{\n\t\t\tthis.progress = progress;\n\t\t\tif(progress > max)\n\t\t\t\tprogress = max;\n\t\t\tif(progress < min)\n\t\t\t\tprogress = min;\n\t\t\tint totalWidth = max-min;\n\t\t\tdouble progressPercent = (double)progress/(double)totalWidth;\n\t\t\tint progressWidth =(int) (getWidth()*progressPercent);\n\t\t\tLayoutParams params = (LayoutParams) progressView.getLayoutParams();\n\t\t\tparams.width = progressWidth;\n\t\t\tparams.height = getHeight();\n\t\t\tprogressView.setLayoutParams(params);\n\t\t\tpendindProgress = -1;\n\t\t}\n\t}\n\t\n\tpublic int getProgress(){\n\t\treturn progress;\n\t}\n\t\n\t// Set color of background\n\tpublic void setBackgroundColor(int color){\n\t\tthis.backgroundColor = color;\n\t\tif(isEnabled())\n\t\t\tbeforeBackground = backgroundColor;\n\t\tLayerDrawable layer = (LayerDrawable) progressView.getBackground();\n\t\tGradientDrawable shape =  (GradientDrawable) layer.findDrawableByLayerId(R.id.shape_bacground);\n\t\tshape.setColor(color);\n\t\tsuper.setBackgroundColor(makePressColor());\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ProgressBarIndeterminate.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.gc.materialdesign.R;\nimport com.nineoldandroids.animation.Animator;\nimport com.nineoldandroids.animation.Animator.AnimatorListener;\nimport com.nineoldandroids.animation.ObjectAnimator;\nimport com.nineoldandroids.view.ViewHelper;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.view.animation.Animation;\nimport android.view.animation.AnimationUtils;\n\npublic class ProgressBarIndeterminate extends ProgressBarDeterminate {\n\n\tpublic ProgressBarIndeterminate(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tpost(new Runnable() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void run() {\n\t\t\t\t// Make progress animation\n\t\t\t\t\n\t\t\t\tsetProgress(60);\n\t\t\t\tAnimation anim = AnimationUtils.loadAnimation(getContext(), R.anim.progress_indeterminate_animation);\n\t\t\t\tprogressView.startAnimation(anim);\n\t\t\t\tfinal ObjectAnimator anim2 = ObjectAnimator.ofFloat(progressView, \"x\", getWidth());\n\t\t\t\tanim2.setDuration(1200);\n\t\t\t\tanim2.addListener(new AnimatorListener() {\n\t\t\t\t\t\n\t\t\t\t\tint cont = 1;\n\t\t\t\t\tint suma = 1;\n\t\t\t\t\tint duration = 1200;\n\t\t\t\t\t\n\t\t\t\t\tpublic void onAnimationEnd(Animator arg0) {\n\t\t\t\t\t\t// Repeat animation\n\t\t\t\t\t\tViewHelper.setX(progressView,-progressView.getWidth()/2);\n\t\t\t\t\t\tcont += suma;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tObjectAnimator anim2Repeat = ObjectAnimator.ofFloat(progressView, \"x\", getWidth());\n\t\t\t\t\t\t\tanim2Repeat.setDuration(duration/cont);\n\t\t\t\t\t\t\tanim2Repeat.addListener(this);\n\t\t\t\t\t\t\tanim2Repeat.start();\n\t\t\t\t\t\t} catch (ArrayIndexOutOfBoundsException e) {\n\t\t\t\t\t\t\t// ignore this error that sometimes comes from the NineOldAndroids 2.4 library\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(cont == 3 || cont == 1) suma *=-1;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tpublic void onAnimationStart(Animator arg0) {}\n\t\t\t\t\tpublic void onAnimationRepeat(Animator arg0) {}\n\t\t\t\t\tpublic void onAnimationCancel(Animator arg0) {}\n\t\t\t\t});\n\t\t\t\t\t\t\n\t\t\t\tanim2.start();\n\t\t\t}\n\t\t});\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ProgressBarIndeterminateDeterminate.java",
    "content": "package com.gc.materialdesign.views;\n\nimport com.nineoldandroids.animation.Animator;\nimport com.nineoldandroids.animation.Animator.AnimatorListener;\nimport com.nineoldandroids.animation.ObjectAnimator;\nimport com.nineoldandroids.view.ViewHelper;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\n\npublic class ProgressBarIndeterminateDeterminate extends ProgressBarDeterminate {\n\t\n\tboolean firstProgress = true;\n\tboolean runAnimation = true;\n\tObjectAnimator animation;\n\t\n\t\n\n\tpublic ProgressBarIndeterminateDeterminate(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t\tpost(new Runnable() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void run() {\n\t\t\t\t// Make progress animation\n\t\t\t\t\n\t\t\t\tsetProgress(60);\n\t\t\t\tViewHelper.setX(progressView,getWidth()+progressView.getWidth()/2);\n\t\t\t\tanimation = ObjectAnimator.ofFloat(progressView, \"x\", -progressView.getWidth()/2);\n\t\t\t\tanimation.setDuration(1200);\n\t\t\t\tanimation.addListener(new AnimatorListener() {\n\t\t\t\t\t\n\t\t\t\t\tint cont = 1;\n\t\t\t\t\tint suma = 1;\n\t\t\t\t\tint duration = 1200;\n\t\t\t\t\t\n\t\t\t\t\tpublic void onAnimationEnd(Animator arg0) {\n\t\t\t\t\t\t// Repeat animation\n\t\t\t\t\t\tif(runAnimation){\n\t\t\t\t\t\tViewHelper.setX(progressView,getWidth()+progressView.getWidth()/2);\n\t\t\t\t\t\tcont += suma;\n\t\t\t\t\t\tanimation = ObjectAnimator.ofFloat(progressView, \"x\", -progressView.getWidth()/2);\n\t\t\t\t\t\tanimation.setDuration(duration/cont);\n\t\t\t\t\t\tanimation.addListener(this);\n\t\t\t\t\t\tanimation.start();\n\t\t\t\t\t\tif(cont == 3 || cont == 1) suma *=-1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tpublic void onAnimationStart(Animator arg0) {}\n\t\t\t\t\tpublic void onAnimationRepeat(Animator arg0) {}\n\t\t\t\t\tpublic void onAnimationCancel(Animator arg0) {}\n\t\t\t\t});\n\t\t\t\tanimation.start();\n\t\t\t}\n\t\t});\n\t}\n\t\n\t@Override\n\tpublic void setProgress(int progress) {\n\t\tif(firstProgress){\n\t\t\tfirstProgress = false;\n\t\t}else{\n\t\t\tstopIndeterminate();\n\t\t}\n\t\tsuper.setProgress(progress);\n\t}\n\t\n\t/**\n\t * Stop indeterminate animation to convert view in determinate progress bar\n\t */\n\tprivate void stopIndeterminate(){\n\t\tanimation.cancel();\n\t\tViewHelper.setX(progressView,0);\n\t\trunAnimation = false;\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/ScrollView.java",
    "content": "package com.gc.materialdesign.views;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.view.MotionEvent;\nimport android.view.View;\nimport android.view.ViewGroup;\n\n\npublic class ScrollView extends android.widget.ScrollView {\n\t\n\t/*\n\t * This class avoid problems in scrollviews with elements in library\n\t * Use it if you want use a ScrollView in your App\n\t */\n\n\tpublic ScrollView(Context context, AttributeSet attrs) {\n\t\tsuper(context, attrs);\n\t}\n\t\n\t@Override\n\tpublic boolean onTouchEvent(MotionEvent ev) {\n//\t\tif(!onInterceptTouchEvent(ev)){\n\t    \tfor(int i = 0; i < ((ViewGroup)getChildAt(0)).getChildCount(); i++){\n\t    \t\ttry {\n\t\t\t\t\tCustomView child =(CustomView) ((ViewGroup)getChildAt(0)).getChildAt(i);\n\t\t\t\t\tif(child.isLastTouch){\n\t\t\t\t\t\tchild.onTouchEvent(ev);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t} catch (ClassCastException e) {\n\t\t\t\t}\n\t        }\n//\t    }\n\t    return super.onTouchEvent(ev);\n\t}\n\t\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/Slider.java",
    "content": "package com.gc.materialdesign.views;\n\nimport android.app.Dialog;\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.PorterDuff;\nimport android.graphics.PorterDuffXfermode;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.os.Bundle;\nimport android.util.AttributeSet;\nimport android.view.Gravity;\nimport android.view.MotionEvent;\nimport android.view.View;\nimport android.view.Window;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\nimport com.nineoldandroids.view.ViewHelper;\n\npublic class Slider extends CustomView {\n\n    private int backgroundColor = Color.parseColor(\"#4CAF50\");\n    private Ball   ball;\n    private Bitmap bitmap;\n    private int max = 100;\n    private int min = 0;\n    private NumberIndicator        numberIndicator;\n    private OnValueChangedListener onValueChangedListener;\n    private boolean placedBall          = false;\n    private boolean press               = false;\n    private boolean showNumberIndicator = false;\n    private int     value               = 0;\n\n    public Slider(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        setAttributes(attrs);\n    }\n\n    public int getMax() {\n        return max;\n    }\n\n    public void setMax(int max) {\n        this.max = max;\n    }\n\n    public int getMin() {\n        return min;\n    }\n\n    public void setMin(int min) {\n        this.min = min;\n    }\n\n    public OnValueChangedListener getOnValueChangedListener() {\n        return onValueChangedListener;\n    }\n\n    public void setOnValueChangedListener(\n            OnValueChangedListener onValueChangedListener) {\n        this.onValueChangedListener = onValueChangedListener;\n    }\n\n    // GETERS & SETTERS\n\n    public int getValue() {\n        return value;\n    }\n\n    public void setValue(final int value) {\n        if (placedBall == false)\n            post(new Runnable() {\n\n                @Override\n                public void run() {\n                    setValue(value);\n                }\n            });\n        else {\n            this.value = value;\n            float division = (ball.xFin - ball.xIni) / max;\n            ViewHelper.setX(ball,\n                    value * division + getHeight() / 2 - ball.getWidth() / 2);\n            ball.changeBackground();\n        }\n\n    }\n\n    @Override\n    public void invalidate() {\n        ball.invalidate();\n        super.invalidate();\n    }\n\n    public boolean isShowNumberIndicator() {\n        return showNumberIndicator;\n    }\n\n    public void setShowNumberIndicator(boolean showNumberIndicator) {\n        this.showNumberIndicator = showNumberIndicator;\n        numberIndicator = (showNumberIndicator) ? new NumberIndicator(\n                getContext()) : null;\n    }\n\n    @Override\n    public boolean onTouchEvent(MotionEvent event) {\n        isLastTouch = true;\n        if (isEnabled()) {\n            if (event.getAction() == MotionEvent.ACTION_DOWN\n                    || event.getAction() == MotionEvent.ACTION_MOVE) {\n                if (numberIndicator != null\n                        && numberIndicator.isShowing() == false)\n                    numberIndicator.show();\n                if ((event.getX() <= getWidth() && event.getX() >= 0)) {\n                    press = true;\n                    // calculate value\n                    int newValue = 0;\n                    float division = (ball.xFin - ball.xIni) / (max - min);\n                    if (event.getX() > ball.xFin) {\n                        newValue = max;\n                    } else if (event.getX() < ball.xIni) {\n                        newValue = min;\n                    } else {\n                        newValue = min + (int) ((event.getX() - ball.xIni) / division);\n                    }\n                    if (value != newValue) {\n                        value = newValue;\n                        if (onValueChangedListener != null)\n                            onValueChangedListener.onValueChanged(newValue);\n                    }\n                    // move ball indicator\n                    float x = event.getX();\n                    x = (x < ball.xIni) ? ball.xIni : x;\n                    x = (x > ball.xFin) ? ball.xFin : x;\n                    ViewHelper.setX(ball, x);\n                    ball.changeBackground();\n\n                    // If slider has number indicator\n                    if (numberIndicator != null) {\n                        // move number indicator\n                        numberIndicator.indicator.x = x;\n                        numberIndicator.indicator.finalY = Utils\n                                .getRelativeTop(this) - getHeight() / 2;\n                        numberIndicator.indicator.finalSize = getHeight() / 2;\n                        numberIndicator.numberIndicator.setText(\"\");\n                    }\n\n                } else {\n                    press = false;\n                    isLastTouch = false;\n                    if (numberIndicator != null)\n                        numberIndicator.dismiss();\n\n                }\n\n            } else if (event.getAction() == MotionEvent.ACTION_UP ||\n                    event.getAction() == MotionEvent.ACTION_CANCEL) {\n                if (numberIndicator != null)\n                    numberIndicator.dismiss();\n                isLastTouch = false;\n                press = false;\n            }\n        }\n        return true;\n    }\n\n    @Override\n    public void setBackgroundColor(int color) {\n        backgroundColor = color;\n        if (isEnabled())\n            beforeBackground = backgroundColor;\n    }\n\n    /**\n     * Make a dark color to press effect\n     *\n     * @return\n     */\n    protected int makePressColor() {\n        int r = (this.backgroundColor >> 16) & 0xFF;\n        int g = (this.backgroundColor >> 8) & 0xFF;\n        int b = (this.backgroundColor >> 0) & 0xFF;\n        r = (r - 30 < 0) ? 0 : r - 30;\n        g = (g - 30 < 0) ? 0 : g - 30;\n        b = (b - 30 < 0) ? 0 : b - 30;\n        return Color.argb(70, r, g, b);\n    }\n\n    @Override\n    protected void onDraw(Canvas canvas) {\n        super.onDraw(canvas);\n\n        if (!placedBall) {\n            placeBall();\n        }\n\n        Paint paint = new Paint();\n\n        if (value == min) {\n            // Crop line to transparent effect\n\n            if (bitmap == null) {\n                bitmap = Bitmap.createBitmap(canvas.getWidth(),\n                        canvas.getHeight(), Bitmap.Config.ARGB_8888);\n            }\n            Canvas temp = new Canvas(bitmap);\n            paint.setColor(Color.parseColor(\"#B0B0B0\"));\n            paint.setStrokeWidth(Utils.dpToPx(2, getResources()));\n            temp.drawLine(getHeight() / 2, getHeight() / 2, getWidth()\n                    - getHeight() / 2, getHeight() / 2, paint);\n            Paint transparentPaint = new Paint();\n            transparentPaint.setColor(getResources().getColor(\n                    android.R.color.transparent));\n            transparentPaint.setXfermode(new PorterDuffXfermode(\n                    PorterDuff.Mode.CLEAR));\n            temp.drawCircle(ViewHelper.getX(ball) + ball.getWidth() / 2,\n                    ViewHelper.getY(ball) + ball.getHeight() / 2,\n                    ball.getWidth() / 2, transparentPaint);\n\n            canvas.drawBitmap(bitmap, 0, 0, new Paint());\n        } else {\n\n            paint.setColor(Color.parseColor(\"#B0B0B0\"));\n            paint.setStrokeWidth(Utils.dpToPx(2, getResources()));\n            canvas.drawLine(getHeight() / 2, getHeight() / 2, getWidth()\n                    - getHeight() / 2, getHeight() / 2, paint);\n            paint.setColor(backgroundColor);\n            float division = (ball.xFin - ball.xIni) / (max - min);\n            int value = this.value - min;\n\n            canvas.drawLine(getHeight() / 2, getHeight() / 2, value * division\n                    + getHeight() / 2, getHeight() / 2, paint);\n\n        }\n\n        if (press && !showNumberIndicator) {\n            paint.setColor(backgroundColor);\n            paint.setAntiAlias(true);\n            canvas.drawCircle(ViewHelper.getX(ball) + ball.getWidth() / 2,\n                    getHeight() / 2, getHeight() / 3, paint);\n        }\n        invalidate();\n    }\n\n    // Set atributtes of XML to View\n    protected void setAttributes(AttributeSet attrs) {\n\n        setBackgroundResource(R.drawable.background_transparent);\n\n        // Set size of view\n        setMinimumHeight(Utils.dpToPx(48, getResources()));\n        setMinimumWidth(Utils.dpToPx(80, getResources()));\n\n        // Set background Color\n        // Color by resource\n        int bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\n                \"background\", -1);\n        if (bacgroundColor != -1) {\n            setBackgroundColor(getResources().getColor(bacgroundColor));\n        } else {\n            // Color by hexadecimal\n            int background = attrs.getAttributeIntValue(ANDROIDXML, \"background\", -1);\n            if (background != -1)\n                setBackgroundColor(background);\n        }\n\n        showNumberIndicator = attrs.getAttributeBooleanValue(MATERIALDESIGNXML,\n                \"showNumberIndicator\", false);\n        min = attrs.getAttributeIntValue(MATERIALDESIGNXML, \"min\", 0);\n        max = attrs.getAttributeIntValue(MATERIALDESIGNXML, \"max\", 0);\n        value = attrs.getAttributeIntValue(MATERIALDESIGNXML, \"value\", min);\n\n        ball = new Ball(getContext());\n        RelativeLayout.LayoutParams params = new LayoutParams(Utils.dpToPx(20,\n                getResources()), Utils.dpToPx(20, getResources()));\n        params.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);\n        ball.setLayoutParams(params);\n        addView(ball);\n\n        // Set if slider content number indicator\n        // TODO\n        if (showNumberIndicator) {\n            numberIndicator = new NumberIndicator(getContext());\n        }\n\n    }\n\n    private void placeBall() {\n        ViewHelper.setX(ball, getHeight() / 2 - ball.getWidth() / 2);\n        ball.xIni = ViewHelper.getX(ball);\n        ball.xFin = getWidth() - getHeight() / 2 - ball.getWidth() / 2;\n        ball.xCen = getWidth() / 2 - ball.getWidth() / 2;\n        placedBall = true;\n    }\n\n    // Event when slider change value\n    public interface OnValueChangedListener {\n        public void onValueChanged(int value);\n    }\n\n    class Ball extends View {\n\n        float xIni, xFin, xCen;\n\n        public Ball(Context context) {\n            super(context);\n            setBackgroundResource(R.drawable.background_switch_ball_uncheck);\n        }\n\n        public void changeBackground() {\n            if (value != min) {\n                setBackgroundResource(R.drawable.background_checkbox);\n                LayerDrawable layer = (LayerDrawable) getBackground();\n                GradientDrawable shape = (GradientDrawable) layer\n                        .findDrawableByLayerId(R.id.shape_bacground);\n                shape.setColor(backgroundColor);\n            } else {\n                setBackgroundResource(R.drawable.background_switch_ball_uncheck);\n            }\n        }\n\n    }\n\n    // Slider Number Indicator\n\n    class Indicator extends RelativeLayout {\n\n        boolean animate               = true;\n        // Final size after animation\n        float   finalSize             = 0;\n        // Final y position after animation\n        float   finalY                = 0;\n        boolean numberIndicatorResize = false;\n        // Size of number indicator\n        float   size                  = 0;\n        // Position of number indicator\n        float   x                     = 0;\n        float   y                     = 0;\n\n        public Indicator(Context context) {\n            super(context);\n            setBackgroundColor(getResources().getColor(\n                    android.R.color.transparent));\n        }\n\n        @Override\n        protected void onDraw(Canvas canvas) {\n            super.onDraw(canvas);\n\n            if (numberIndicatorResize == false) {\n                LayoutParams params = (LayoutParams) numberIndicator.numberIndicator\n                        .getLayoutParams();\n                params.height = (int) finalSize * 2;\n                params.width = (int) finalSize * 2;\n                numberIndicator.numberIndicator.setLayoutParams(params);\n            }\n\n            Paint paint = new Paint();\n            paint.setAntiAlias(true);\n            paint.setColor(backgroundColor);\n            if (animate) {\n                if (y == 0)\n                    y = finalY + finalSize * 2;\n                y -= Utils.dpToPx(6, getResources());\n                size += Utils.dpToPx(2, getResources());\n            }\n            canvas.drawCircle(\n                    ViewHelper.getX(ball)\n                            + Utils.getRelativeLeft((View) ball.getParent())\n                            + ball.getWidth() / 2, y, size, paint);\n            if (animate && size >= finalSize)\n                animate = false;\n            if (animate == false) {\n                ViewHelper\n                        .setX(numberIndicator.numberIndicator,\n                                (ViewHelper.getX(ball)\n                                        + Utils.getRelativeLeft((View) ball\n                                        .getParent()) + ball.getWidth() / 2)\n                                        - size);\n                ViewHelper.setY(numberIndicator.numberIndicator, y - size);\n                numberIndicator.numberIndicator.setText(value + \"\");\n            }\n\n            invalidate();\n        }\n\n    }\n\n    class NumberIndicator extends Dialog {\n\n        Indicator indicator;\n        TextView  numberIndicator;\n\n        public NumberIndicator(Context context) {\n            super(context, android.R.style.Theme_Translucent);\n        }\n\n        @Override\n        public void dismiss() {\n            super.dismiss();\n            indicator.y = 0;\n            indicator.size = 0;\n            indicator.animate = true;\n        }\n\n        @Override\n        public void onBackPressed() {\n        }\n\n        @Override\n        protected void onCreate(Bundle savedInstanceState) {\n            requestWindowFeature(Window.FEATURE_NO_TITLE);\n            super.onCreate(savedInstanceState);\n            setContentView(R.layout.number_indicator_spinner);\n            setCanceledOnTouchOutside(false);\n\n            RelativeLayout content = (RelativeLayout) this\n                    .findViewById(R.id.number_indicator_spinner_content);\n            indicator = new Indicator(this.getContext());\n            content.addView(indicator);\n\n            numberIndicator = new TextView(getContext());\n            numberIndicator.setTextColor(Color.WHITE);\n            numberIndicator.setGravity(Gravity.CENTER);\n            content.addView(numberIndicator);\n\n            indicator.setLayoutParams(new RelativeLayout.LayoutParams(\n                    RelativeLayout.LayoutParams.FILL_PARENT,\n                    RelativeLayout.LayoutParams.FILL_PARENT));\n        }\n\n    }\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/views/Switch.java",
    "content": "package com.gc.materialdesign.views;\n\nimport android.content.Context;\nimport android.graphics.Bitmap;\nimport android.graphics.Canvas;\nimport android.graphics.Color;\nimport android.graphics.Paint;\nimport android.graphics.PorterDuff;\nimport android.graphics.PorterDuffXfermode;\nimport android.graphics.drawable.GradientDrawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.util.AttributeSet;\nimport android.view.MotionEvent;\nimport android.view.View;\nimport android.widget.RelativeLayout;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.utils.Utils;\nimport com.nineoldandroids.animation.ObjectAnimator;\nimport com.nineoldandroids.view.ViewHelper;\n\npublic class Switch extends CustomView {\n\n    private int backgroundColor = Color.parseColor(\"#4CAF50\");\n\n    private Ball ball;\n\n    private boolean check      = false;\n    private boolean eventCheck = false;\n    private boolean press      = false;\n\n    private OnCheckListener onCheckListener;\n    private Bitmap bitmap;\n\n    public Switch(Context context, AttributeSet attrs) {\n        super(context, attrs);\n        setAttributes(attrs);\n        setOnClickListener(new OnClickListener() {\n\n            @Override\n            public void onClick(View arg0) {\n                if (check)\n                    setChecked(false);\n                else\n                    setChecked(true);\n            }\n        });\n    }\n\n    // Set atributtes of XML to View\n    protected void setAttributes(AttributeSet attrs) {\n\n        setBackgroundResource(R.drawable.background_transparent);\n\n        // Set size of view\n        setMinimumHeight(Utils.dpToPx(48, getResources()));\n        setMinimumWidth(Utils.dpToPx(80, getResources()));\n\n        // Set background Color\n        // Color by resource\n        int bacgroundColor = attrs.getAttributeResourceValue(ANDROIDXML,\n                \"background\", -1);\n        if (bacgroundColor != -1) {\n\t\t\tsetBackgroundColor(getResources().getColor(bacgroundColor));\n\t\t} else {\n\t\t\t// Color by hexadecimal\n\t\t\tint background = attrs.getAttributeIntValue(ANDROIDXML, \"background\", -1);\n\t\t\tif (background != -1)\n\t\t\t\tsetBackgroundColor(background);\n\t\t}\n\n\t\tcheck = attrs.getAttributeBooleanValue(MATERIALDESIGNXML, \"check\",\n\t\t\t\tfalse);\n\t\teventCheck = check;\n\t\tball = new Ball(getContext());\n\t\tRelativeLayout.LayoutParams params = new LayoutParams(Utils.dpToPx(20,\n\t\t\t\tgetResources()), Utils.dpToPx(20, getResources()));\n\t\tparams.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);\n\t\tball.setLayoutParams(params);\n\t\taddView(ball);\n\n\t}\n\n\t@Override\n\tpublic boolean onTouchEvent(MotionEvent event) {\n\t\tif (isEnabled()) {\n\t\t\tisLastTouch = true;\n\t\t\tif (event.getAction() == MotionEvent.ACTION_DOWN) {\n\t\t\t\tpress = true;\n\t\t\t} else if (event.getAction() == MotionEvent.ACTION_MOVE) {\n\t\t\t\tfloat x = event.getX();\n\t\t\t\tx = (x < ball.xIni) ? ball.xIni : x;\n\t\t\t\tx = (x > ball.xFin) ? ball.xFin : x;\n\t\t\t\tif (x > ball.xCen) {\n\t\t\t\t\teventCheck = true;\n\t\t\t\t} else {\n\t\t\t\t\teventCheck = false;\n\t\t\t\t}\n\t\t\t\tViewHelper.setX(ball, x);\n\t\t\t\tball.changeBackground();\n\t\t\t\tif ((event.getX() <= getWidth() && event.getX() >= 0)) {\n\t\t\t\t\tisLastTouch = false;\n\t\t\t\t\tpress = false;\n\t\t\t\t}\n\t\t\t} else if (event.getAction() == MotionEvent.ACTION_UP ||\n\t\t\t\t\tevent.getAction() == MotionEvent.ACTION_CANCEL) {\n\t\t\t\tpress = false;\n\t\t\t\tisLastTouch = false;\n\t\t\t\tif (eventCheck != check) {\n\t\t\t\t\tcheck = eventCheck;\n\t\t\t\t\tif (onCheckListener != null)\n\t\t\t\t\t\tonCheckListener.onCheck(Switch.this,check);\n\t\t\t\t}\n\t\t\t\tif ((event.getX() <= getWidth() && event.getX() >= 0)) {\n\t\t\t\t\tball.animateCheck();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n\n\t@Override\n\tprotected void onDraw(Canvas canvas) {\n\t\tsuper.onDraw(canvas);\n\t\tif (!placedBall) {\n            placeBall();\n        }\n\n\t\t// Crop line to transparent effect\n        if(null == bitmap) {\n            bitmap = Bitmap.createBitmap(canvas.getWidth(),\n                    canvas.getHeight(), Bitmap.Config.ARGB_8888);\n        }\n\t\tCanvas temp = new Canvas(bitmap);\n\t\tPaint paint = new Paint();\n\t\tpaint.setAntiAlias(true);\n\t\tpaint.setColor((eventCheck) ? backgroundColor : Color.parseColor(\"#B0B0B0\"));\n\t\tpaint.setStrokeWidth(Utils.dpToPx(2, getResources()));\n\t\ttemp.drawLine(getHeight() / 2, getHeight() / 2, getWidth()\n\t\t\t\t- getHeight() / 2, getHeight() / 2, paint);\n\t\tPaint transparentPaint = new Paint();\n\t\ttransparentPaint.setAntiAlias(true);\n\t\ttransparentPaint.setColor(getResources().getColor(\n\t\t\t\tandroid.R.color.transparent));\n\t\ttransparentPaint.setXfermode(new PorterDuffXfermode(\n\t\t\t\tPorterDuff.Mode.CLEAR));\n\t\ttemp.drawCircle(ViewHelper.getX(ball) + ball.getWidth() / 2,\n\t\t\t\tViewHelper.getY(ball) + ball.getHeight() / 2,\n\t\t\t\tball.getWidth() / 2, transparentPaint);\n\n\t\tcanvas.drawBitmap(bitmap, 0, 0, new Paint());\n\n\t\tif (press) {\n\t\t\tpaint.setColor((check) ? makePressColor() : Color\n\t\t\t\t\t.parseColor(\"#446D6D6D\"));\n\t\t\tcanvas.drawCircle(ViewHelper.getX(ball) + ball.getWidth() / 2,\n\t\t\t\t\tgetHeight() / 2, getHeight() / 2, paint);\n\t\t}\n\t\tinvalidate();\n\n\t}\n\n\t/**\n\t * Make a dark color to press effect\n\t * \n\t * @return\n\t */\n\tprotected int makePressColor() {\n\t\tint r = (this.backgroundColor >> 16) & 0xFF;\n\t\tint g = (this.backgroundColor >> 8) & 0xFF;\n\t\tint b = (this.backgroundColor >> 0) & 0xFF;\n\t\tr = (r - 30 < 0) ? 0 : r - 30;\n\t\tg = (g - 30 < 0) ? 0 : g - 30;\n\t\tb = (b - 30 < 0) ? 0 : b - 30;\n\t\treturn Color.argb(70, r, g, b);\n\t}\n\n\t// Move ball to first position in view\n\tboolean placedBall = false;\n\n\tprivate void placeBall() {\n\t\tViewHelper.setX(ball, getHeight() / 2 - ball.getWidth() / 2);\n\t\tball.xIni = ViewHelper.getX(ball);\n\t\tball.xFin = getWidth() - getHeight() / 2 - ball.getWidth() / 2;\n\t\tball.xCen = getWidth() / 2 - ball.getWidth() / 2;\n\t\tplacedBall = true;\n\t\tball.animateCheck();\n\t}\n\n\t// SETTERS\n\n\t@Override\n\tpublic void setBackgroundColor(int color) {\n\t\tbackgroundColor = color;\n\t\tif (isEnabled())\n\t\t\tbeforeBackground = backgroundColor;\n\t\t\n\t}\n\n\tpublic void setChecked(boolean check) {\n\t\tinvalidate();\n\t\tthis.check = check;\n\t\tthis.eventCheck = check;\n\t\tball.animateCheck();\n\t}\n\n\tpublic boolean isCheck() {\n\t\treturn check;\n\t}\n\n\tclass Ball extends View {\n\n\t\tfloat xIni, xFin, xCen;\n\n\t\tpublic Ball(Context context) {\n\t\t\tsuper(context);\n\t\t\tsetBackgroundResource(R.drawable.background_switch_ball_uncheck);\n\t\t}\n\n\t\tpublic void changeBackground() {\n\t\t\tif (eventCheck) {\n\t\t\t\tsetBackgroundResource(R.drawable.background_checkbox);\n\t\t\t\tLayerDrawable layer = (LayerDrawable) getBackground();\n\t\t\t\tGradientDrawable shape = (GradientDrawable) layer\n\t\t\t\t\t\t.findDrawableByLayerId(R.id.shape_bacground);\n\t\t\t\tshape.setColor(backgroundColor);\n\t\t\t} else {\n\t\t\t\tsetBackgroundResource(R.drawable.background_switch_ball_uncheck);\n\t\t\t}\n\t\t}\n\n\t\tpublic void animateCheck() {\n\t\t\tchangeBackground();\n\t\t\tObjectAnimator objectAnimator;\n\t\t\tif (eventCheck) {\n\t\t\t\tobjectAnimator = ObjectAnimator.ofFloat(this, \"x\", ball.xFin);\n\n\t\t\t} else {\n\t\t\t\tobjectAnimator = ObjectAnimator.ofFloat(this, \"x\", ball.xIni);\n\t\t\t}\n\t\t\tobjectAnimator.setDuration(300);\n\t\t\tobjectAnimator.start();\n\t\t}\n\n\t}\n\n\tpublic void setOncheckListener(OnCheckListener onCheckListener) {\n\t\tthis.onCheckListener = onCheckListener;\n\t}\n\n\tpublic interface OnCheckListener {\n\t\tpublic void onCheck(Switch view, boolean check);\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/widgets/ColorSelector.java",
    "content": "package com.gc.materialdesign.widgets;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.views.Slider;\nimport com.gc.materialdesign.views.Slider.OnValueChangedListener;\n\nimport android.content.Context;\nimport android.content.DialogInterface;\nimport android.graphics.Color;\nimport android.os.Bundle;\nimport android.view.MotionEvent;\nimport android.view.View;\nimport android.view.Window;\nimport android.view.View.OnTouchListener;\nimport android.view.animation.Animation;\nimport android.view.animation.AnimationUtils;\nimport android.view.animation.Animation.AnimationListener;\nimport android.widget.LinearLayout;\nimport android.widget.LinearLayout.LayoutParams;\nimport android.widget.RelativeLayout;\n\npublic class ColorSelector extends android.app.Dialog implements OnValueChangedListener{\n\t\n\tint color = Color.BLACK;\n\tContext context;\n\tView colorView;\n\tView view, backView;//background\n\t\n\tOnColorSelectedListener onColorSelectedListener;\n\tSlider red, green, blue;\n\t\n\n\tpublic ColorSelector(Context context,Integer color, OnColorSelectedListener onColorSelectedListener) {\n\t\tsuper(context, android.R.style.Theme_Translucent);\n\t\tthis.context = context;\n\t\tthis.onColorSelectedListener = onColorSelectedListener;\n\t\tif(color != null)\n\t\t\tthis.color = color;\n\t\tsetOnDismissListener(new OnDismissListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onDismiss(DialogInterface dialog) {\n\t\t\t\tif(ColorSelector.this.onColorSelectedListener != null)\n\t\t\t\t\tColorSelector.this.onColorSelectedListener.onColorSelected(ColorSelector.this.color);\n\t\t\t}\n\t\t});\n\t}\n\t\n\n\t\n\t@Override\n\t  protected void onCreate(Bundle savedInstanceState) {\n\t\trequestWindowFeature(Window.FEATURE_NO_TITLE);\n\t    super.onCreate(savedInstanceState);\n\t    setContentView(R.layout.color_selector);\n\t    \n\t    view = (LinearLayout)findViewById(R.id.contentSelector);\n\t\tbackView = (RelativeLayout)findViewById(R.id.rootSelector);\n\t\tbackView.setOnTouchListener(new OnTouchListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic boolean onTouch(View v, MotionEvent event) {\n\t\t\t\tif (event.getX() < view.getLeft() || event.getX() >view.getRight()\n\t\t\t\t\t\t|| event.getY() > view.getBottom() || event.getY() < view.getTop()) {\n\t\t\t\t\tdismiss();\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\n\t    colorView = findViewById(R.id.viewColor);\n\t    colorView.setBackgroundColor(color);\n\t    // Resize ColorView\n\t    colorView.post(new Runnable() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void run() {\n\t\t\t\tLayoutParams params = (LayoutParams) colorView.getLayoutParams();\n\t\t\t\tparams.height = colorView.getWidth();\n\t\t\t\tcolorView.setLayoutParams(params);\n\t\t\t}\n\t\t});\n\t    \n\t    \n\t    // Configure Sliders\n\t    red = (Slider) findViewById(R.id.red);\n\t    green = (Slider) findViewById(R.id.green);\n\t    blue = (Slider) findViewById(R.id.blue);\n\t    \n\t    int r = (this.color >> 16) & 0xFF;\n\t\tint g = (this.color >> 8) & 0xFF;\n\t\tint b = (this.color >> 0) & 0xFF;\n\t\t\n\t\tred.setValue(r);\n\t\tgreen.setValue(g);\n\t\tblue.setValue(b);\n\t\t\n\t\tred.setOnValueChangedListener(this);\n\t\tgreen.setOnValueChangedListener(this);\n\t\tblue.setOnValueChangedListener(this);\n\t}\n\n\t@Override\n\tpublic void show() {\n\t\tsuper.show();\n\t\tview.startAnimation(AnimationUtils.loadAnimation(context, R.anim.dialog_main_show_amination));\n\t\tbackView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.dialog_root_show_amin));\n\t}\n\t\n\t@Override\n\tpublic void onValueChanged(int value) {\n\t\tcolor = Color.rgb(red.getValue(), green.getValue(), blue.getValue());\n\t\tcolorView.setBackgroundColor(color);\n\t}\n\t\n\t\n\t// Event that execute when color selector is closed\n\tpublic interface OnColorSelectedListener{\n\t\tpublic void onColorSelected(int color);\n\t}\n\t\t\n\t@Override\n\tpublic void dismiss() {\n\t\tAnimation anim = AnimationUtils.loadAnimation(context, R.anim.dialog_main_hide_amination);\n\t\t\n\t\tanim.setAnimationListener(new AnimationListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationStart(Animation animation) {\n\t\t\t}\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationRepeat(Animation animation) {\n\t\t\t}\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationEnd(Animation animation) {\n\t\t\t\tview.post(new Runnable() {\n\t\t\t\t\t@Override\n\t\t\t\t\tpublic void run() {\n\t\t\t\t\t\tColorSelector.super.dismiss();\n\t\t\t        }\n\t\t\t    });\n\t\t\t}\n\t\t});\n\t\t\n\t\tAnimation backAnim = AnimationUtils.loadAnimation(context, R.anim.dialog_root_hide_amin);\n\t\t\n\t\tview.startAnimation(anim);\n\t\tbackView.startAnimation(backAnim);\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/widgets/Dialog.java",
    "content": "package com.gc.materialdesign.widgets;\n\nimport android.content.Context;\nimport android.os.Bundle;\nimport android.view.MotionEvent;\nimport android.view.View;\nimport android.view.View.OnTouchListener;\nimport android.view.Window;\nimport android.view.animation.Animation;\nimport android.view.animation.Animation.AnimationListener;\nimport android.view.animation.AnimationUtils;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.views.ButtonFlat;\n\npublic class Dialog extends android.app.Dialog{\n\t\n\tContext context;\n\tView view;\n\tView backView;\n\tString message;\n\tTextView messageTextView;\n\tString title;\n\tTextView titleTextView;\n\t\n\tButtonFlat buttonAccept;\n\tButtonFlat buttonCancel;\n\t\n\tString buttonCancelText;\n\t\n\tView.OnClickListener onAcceptButtonClickListener;\n\tView.OnClickListener onCancelButtonClickListener;\n\t\n\t\n\tpublic Dialog(Context context,String title, String message) {\n\t\tsuper(context, android.R.style.Theme_Translucent);\n\t\tthis.context = context;// init Context\n\t\tthis.message = message;\n\t\tthis.title = title;\n\t}\n\t\n\tpublic void addCancelButton(String buttonCancelText){\n\t\tthis.buttonCancelText = buttonCancelText;\n\t}\n\t\n\tpublic void addCancelButton(String buttonCancelText, View.OnClickListener onCancelButtonClickListener){\n\t\tthis.buttonCancelText = buttonCancelText;\n\t\tthis.onCancelButtonClickListener = onCancelButtonClickListener;\n\t}\n\t\n\t\n\t@Override\n\t  protected void onCreate(Bundle savedInstanceState) {\n\t\trequestWindowFeature(Window.FEATURE_NO_TITLE);\n\t    super.onCreate(savedInstanceState);\n\t    setContentView(R.layout.dialog);\n\t    \n\t\tview = (RelativeLayout)findViewById(R.id.contentDialog);\n\t\tbackView = (RelativeLayout)findViewById(R.id.dialog_rootView);\n\t\tbackView.setOnTouchListener(new OnTouchListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic boolean onTouch(View v, MotionEvent event) {\n\t\t\t\tif (event.getX() < view.getLeft() \n\t\t\t\t\t\t|| event.getX() >view.getRight()\n\t\t\t\t\t\t|| event.getY() > view.getBottom() \n\t\t\t\t\t\t|| event.getY() < view.getTop()) {\n\t\t\t\t\tdismiss();\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\t\n\t    this.titleTextView = (TextView) findViewById(R.id.title);\n\t    setTitle(title);\n\t    \n\t    this.messageTextView = (TextView) findViewById(R.id.message);\n\t    setMessage(message);\n\t    \n\t    this.buttonAccept = (ButtonFlat) findViewById(R.id.button_accept);\n\t    buttonAccept.setOnClickListener(new View.OnClickListener() {\n\t\t\t@Override\n\t\t\tpublic void onClick(View v) {\n\t\t\t\tdismiss();\n\t\t\t\tif(onAcceptButtonClickListener != null)\n\t\t\t    \tonAcceptButtonClickListener.onClick(v);\n\t\t\t}\n\t\t});\n\t    \n\t    if(buttonCancelText != null){\n\t\t    this.buttonCancel = (ButtonFlat) findViewById(R.id.button_cancel);\n\t\t    this.buttonCancel.setVisibility(View.VISIBLE);\n\t\t    this.buttonCancel.setText(buttonCancelText);\n\t    \tbuttonCancel.setOnClickListener(new View.OnClickListener() {\n\t    \t\t\n\t\t\t\t@Override\n\t\t\t\tpublic void onClick(View v) {\n\t\t\t\t\tdismiss();\t\n\t\t\t\t\tif(onCancelButtonClickListener != null)\n\t\t\t\t    \tonCancelButtonClickListener.onClick(v);\n\t\t\t\t}\n\t\t\t});\n\t    }\n\t}\n\t\n\t@Override\n\tpublic void show() {\n\t\t// TODO 自动生成的方法存根\n\t\tsuper.show();\n\t\t// set dialog enter animations\n\t\tview.startAnimation(AnimationUtils.loadAnimation(context, R.anim.dialog_main_show_amination));\n\t\tbackView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.dialog_root_show_amin));\n\t}\n\t\n\t// GETERS & SETTERS\n\n\tpublic String getMessage() {\n\t\treturn message;\n\t}\n\n\tpublic void setMessage(String message) {\n\t\tthis.message = message;\n\t\tmessageTextView.setText(message);\n\t}\n\n\tpublic TextView getMessageTextView() {\n\t\treturn messageTextView;\n\t}\n\n\tpublic void setMessageTextView(TextView messageTextView) {\n\t\tthis.messageTextView = messageTextView;\n\t}\n\n\tpublic String getTitle() {\n\t\treturn title;\n\t}\n\n\tpublic void setTitle(String title) {\n\t\tthis.title = title;\n\t\tif(title == null)\n\t\t\ttitleTextView.setVisibility(View.GONE);\n\t\telse{\n\t\t\ttitleTextView.setVisibility(View.VISIBLE);\n\t\t\ttitleTextView.setText(title);\n\t\t}\n\t}\n\n\tpublic TextView getTitleTextView() {\n\t\treturn titleTextView;\n\t}\n\n\tpublic void setTitleTextView(TextView titleTextView) {\n\t\tthis.titleTextView = titleTextView;\n\t}\n\n\tpublic ButtonFlat getButtonAccept() {\n\t\treturn buttonAccept;\n\t}\n\n\tpublic void setButtonAccept(ButtonFlat buttonAccept) {\n\t\tthis.buttonAccept = buttonAccept;\n\t}\n\n\tpublic ButtonFlat getButtonCancel() {\n\t\treturn buttonCancel;\n\t}\n\n\tpublic void setButtonCancel(ButtonFlat buttonCancel) {\n\t\tthis.buttonCancel = buttonCancel;\n\t}\n\n\tpublic void setOnAcceptButtonClickListener(\n\t\t\tView.OnClickListener onAcceptButtonClickListener) {\n\t\tthis.onAcceptButtonClickListener = onAcceptButtonClickListener;\n\t\tif(buttonAccept != null)\n\t\t\tbuttonAccept.setOnClickListener(onAcceptButtonClickListener);\n\t}\n\n\tpublic void setOnCancelButtonClickListener(\n\t\t\tView.OnClickListener onCancelButtonClickListener) {\n\t\tthis.onCancelButtonClickListener = onCancelButtonClickListener;\n\t\tif(buttonCancel != null)\n\t\t\tbuttonCancel.setOnClickListener(onCancelButtonClickListener);\n\t}\n\t\n\t@Override\n\tpublic void dismiss() {\n\t\tAnimation anim = AnimationUtils.loadAnimation(context, R.anim.dialog_main_hide_amination);\n\t\tanim.setAnimationListener(new AnimationListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationStart(Animation animation) {\n\t\t\t}\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationRepeat(Animation animation) {\n\t\t\t}\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationEnd(Animation animation) {\n\t\t\t\tview.post(new Runnable() {\n\t\t\t\t\t@Override\n\t\t\t\t\tpublic void run() {\n\t\t\t        \tDialog.super.dismiss();\n\t\t\t        }\n\t\t\t    });\n\t\t\t\t\n\t\t\t}\n\t\t});\n\t\tAnimation backAnim = AnimationUtils.loadAnimation(context, R.anim.dialog_root_hide_amin);\n\t\t\n\t\tview.startAnimation(anim);\n\t\tbackView.startAnimation(backAnim);\n\t}\n\t\n\t\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/widgets/ProgressDialog.java",
    "content": "package com.gc.materialdesign.widgets;\n\nimport android.content.Context;\nimport android.os.Bundle;\nimport android.view.MotionEvent;\nimport android.view.View;\nimport android.view.View.OnTouchListener;\nimport android.view.Window;\nimport android.view.animation.Animation;\nimport android.view.animation.Animation.AnimationListener;\nimport android.view.animation.AnimationUtils;\nimport android.widget.RelativeLayout;\nimport android.widget.TextView;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.views.ButtonFlat;\nimport com.gc.materialdesign.views.ProgressBarCircularIndeterminate;\n\npublic class ProgressDialog extends android.app.Dialog{\n\t\n\tContext context;\n\tView view;\n\tView backView;\n\tString title;\n\tTextView titleTextView;\n\t\n\tint progressColor = -1;\n\t\n\tpublic ProgressDialog(Context context,String title) {\n\t\tsuper(context, android.R.style.Theme_Translucent);\n\t\tthis.title = title;\n\t\tthis.context = context;\n\t}\n\t\n\tpublic ProgressDialog(Context context,String title, int progressColor) {\n\t\tsuper(context, android.R.style.Theme_Translucent);\n\t\tthis.title = title;\n\t\tthis.progressColor = progressColor;\n\t\tthis.context = context;\n\t}\n\t\n\t@Override\n\t  protected void onCreate(Bundle savedInstanceState) {\n\t\trequestWindowFeature(Window.FEATURE_NO_TITLE);\n\t    super.onCreate(savedInstanceState);\n\t    setContentView(R.layout.progress_dialog);\n\t    \n\t\tview = (RelativeLayout)findViewById(R.id.contentDialog);\n\t\tbackView = (RelativeLayout)findViewById(R.id.dialog_rootView);\n\t\tbackView.setOnTouchListener(new OnTouchListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic boolean onTouch(View v, MotionEvent event) {\n\t\t\t\tif (event.getX() < view.getLeft() \n\t\t\t\t\t\t|| event.getX() >view.getRight()\n\t\t\t\t\t\t|| event.getY() > view.getBottom() \n\t\t\t\t\t\t|| event.getY() < view.getTop()) {\n\t\t\t\t\tdismiss();\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\t\n\t    this.titleTextView = (TextView) findViewById(R.id.title);\n\t    setTitle(title);\n\t    if(progressColor != -1){\n\t    \tProgressBarCircularIndeterminate progressBarCircularIndeterminate = (ProgressBarCircularIndeterminate) findViewById(R.id.progressBarCircularIndetermininate);\n\t    \tprogressBarCircularIndeterminate.setBackgroundColor(progressColor);\n\t    }\n\t    \n\t    \n\t}\n\t\n\t@Override\n\tpublic void show() {\n\t\t// TODO 自动生成的方法存根\n\t\tsuper.show();\n\t\t// set dialog enter animations\n\t\tview.startAnimation(AnimationUtils.loadAnimation(context, R.anim.dialog_main_show_amination));\n\t\tbackView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.dialog_root_show_amin));\n\t}\n\t\n\t// GETERS & SETTERS\n\n\tpublic String getTitle() {\n\t\treturn title;\n\t}\n\n\tpublic void setTitle(String title) {\n\t\tthis.title = title;\n\t\tif(title == null)\n\t\t\ttitleTextView.setVisibility(View.GONE);\n\t\telse{\n\t\t\ttitleTextView.setVisibility(View.VISIBLE);\n\t\t\ttitleTextView.setText(title);\n\t\t}\n\t}\n\n\tpublic TextView getTitleTextView() {\n\t\treturn titleTextView;\n\t}\n\n\tpublic void setTitleTextView(TextView titleTextView) {\n\t\tthis.titleTextView = titleTextView;\n\t}\n\n\t@Override\n\tpublic void dismiss() {\n\t\tAnimation anim = AnimationUtils.loadAnimation(context, R.anim.dialog_main_hide_amination);\n\t\tanim.setAnimationListener(new AnimationListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationStart(Animation animation) {\n\t\t\t}\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationRepeat(Animation animation) {\n\t\t\t}\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationEnd(Animation animation) {\n\t\t\t\tview.post(new Runnable() {\n\t\t\t\t\t@Override\n\t\t\t\t\tpublic void run() {\n\t\t\t        \tProgressDialog.super.dismiss();\n\t\t\t        }\n\t\t\t    });\n\t\t\t\t\n\t\t\t}\n\t\t});\n\t\tAnimation backAnim = AnimationUtils.loadAnimation(context, R.anim.dialog_root_hide_amin);\n\t\t\n\t\tview.startAnimation(anim);\n\t\tbackView.startAnimation(backAnim);\n\t}\n\t\n\t\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/java/com/gc/materialdesign/widgets/SnackBar.java",
    "content": "package com.gc.materialdesign.widgets;\n\nimport android.app.Activity;\nimport android.app.Dialog;\nimport android.graphics.Color;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.Message;\nimport android.view.KeyEvent;\nimport android.view.MotionEvent;\nimport android.view.View;\nimport android.view.Window;\nimport android.view.animation.Animation;\nimport android.view.animation.Animation.AnimationListener;\nimport android.view.animation.AnimationUtils;\nimport android.widget.TextView;\n\nimport com.gc.materialdesign.R;\nimport com.gc.materialdesign.views.ButtonFlat;\n\npublic class SnackBar extends Dialog{\n\t\n\tString text;\n\tfloat textSize = 14;//Roboto Regular 14sp \n\tString buttonText;\n\tView.OnClickListener onClickListener;\n\tActivity activity;\n\tView view;\n\tButtonFlat button;\n\tint backgroundSnackBar = Color.parseColor(\"#333333\");\n\tint backgroundButton = Color.parseColor(\"#1E88E5\");\n\t\n\tOnHideListener onHideListener;\n\t// Timer\n\tprivate boolean mIndeterminate = false;\n\tprivate int mTimer = 3 * 1000;\n\t\n\t// With action button\n\tpublic SnackBar(Activity activity, String text, String buttonText, View.OnClickListener onClickListener) {\n\t\tsuper(activity, android.R.style.Theme_Translucent);\n\t\tthis.activity = activity;\n\t\tthis.text = text;\n\t\tthis.buttonText = buttonText;\n\t\tthis.onClickListener = onClickListener;\n\t}\n\t\n\t// Only text\n\tpublic SnackBar(Activity activity, String text) {\n\t\tsuper(activity, android.R.style.Theme_Translucent);\n\t\tthis.activity = activity;\n\t\tthis.text = text;\n\t}\n\t\n\t@Override\n\t  protected void onCreate(Bundle savedInstanceState) {\n\t    super.onCreate(savedInstanceState);\n\t    requestWindowFeature(Window.FEATURE_NO_TITLE);\n\t    setContentView(R.layout.snackbar);\n\t    setCanceledOnTouchOutside(false);\n\t    ((TextView)findViewById(R.id.text)).setText(text); \n\t    ((TextView)findViewById(R.id.text)).setTextSize(textSize); //set textSize\n\t\tbutton = (ButtonFlat) findViewById(R.id.buttonflat);\n\t\tif(text == null || onClickListener == null){\n\t\t\tbutton.setVisibility(View.GONE);\n\t\t}else{\n\t\t\tbutton.setText(buttonText);\n\t\t\tbutton.setBackgroundColor(backgroundButton);\n\t\t\t\n\t\t\tbutton.setOnClickListener(new View.OnClickListener() {\n\t\t\t\t\n\t\t\t\t@Override\n\t\t\t\tpublic void onClick(View v) {\n\t\t\t\t\tdismiss();\n\t\t\t\t\tonClickListener.onClick(v);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tview = findViewById(R.id.snackbar);\n\t\tview.setBackgroundColor(backgroundSnackBar);\n\t}\n\t\n\t@Override\n\tpublic boolean onTouchEvent(MotionEvent event) {\n\t\treturn activity.dispatchTouchEvent(event);\n\t}\n\t\n\t@Override\n\tpublic void onBackPressed() {\n\t}\n\t\n\t@Override\n\tpublic void show() {\n\t\tsuper.show();\n\t\tview.setVisibility(View.VISIBLE);\n\t\tview.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.snackbar_show_animation));\n\t\tif (!mIndeterminate) {\n\t\t    dismissTimer.start();\n\t\t}\n\t}\n\t\n\t// Dismiss timer \n\tThread dismissTimer = new Thread(new Runnable() {\n\t\t\n\t\t@Override\n\t\tpublic void run() {\n\t\t\ttry {\n\t\t\t\tThread.sleep(mTimer);\n\t\t\t} catch (InterruptedException e) {\n\t\t\t\te.printStackTrace();\n\t\t\t}\n\t\t\thandler.sendMessage(new Message());\n\t\t}\n\t});\n\t\n\tHandler handler = new Handler(new Handler.Callback() {\n\t\t\n\t\t@Override\n\t\tpublic boolean handleMessage(Message msg) {\n\t\t\t if(onHideListener != null) {\n\t\t\t\t onHideListener.onHide();\n\t\t\t }\n\t\t\tdismiss();\n\t\t\treturn false;\n\t\t}\n\t});\n\t\n\t/**\n\t * @author Jack Tony\n\t */\n\t@Override\n\tpublic void dismiss() {\n\t\tAnimation anim = AnimationUtils.loadAnimation(activity, R.anim.snackbar_hide_animation);\n\t\tanim.setAnimationListener(new AnimationListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationStart(Animation animation) {\n\t\t\t}\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationRepeat(Animation animation) {\n\t\t\t}\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onAnimationEnd(Animation animation) {\n\t\t\t\tSnackBar.super.dismiss();\n\t\t\t}\n\t\t});\n\t\tview.startAnimation(anim);\n\t}\n\t\n\t@Override\n\tpublic boolean onKeyDown(int keyCode, KeyEvent event) {\n\t\t// TODO 自动生成的方法存根\n\t\t if (keyCode == KeyEvent.KEYCODE_BACK )  {\n\t\t\t dismiss();\n\t\t }\n\t\treturn super.onKeyDown(keyCode, event);\n\t}\n\t\n\tpublic void setMessageTextSize(float size) {\n\t\ttextSize = size;\n\t}\n\t\n\tpublic void setIndeterminate(boolean indeterminate) {\n        \tmIndeterminate = indeterminate;\n\t}\n\t\n\tpublic boolean isIndeterminate() {\n\t\treturn mIndeterminate;\n\t}\n\n\tpublic void setDismissTimer(int time) {\n\t\tmTimer = time;\n\t}\n\t\n\tpublic int getDismissTimer() {\n\t\treturn mTimer;\n\t}\n\t\n\t/**\n\t * Change background color of SnackBar\n\t * @param color\n\t */\n\tpublic void setBackgroundSnackBar(int color){\n\t\tbackgroundSnackBar = color;\n\t\tif(view != null)\n\t\t\tview.setBackgroundColor(color);\n\t}\n\t\n\t/**\n\t * Chage color of FlatButton in Snackbar\n\t * @param color\n\t */\n\tpublic void setColorButton(int color){\n\t\tbackgroundButton = color;\n\t\tif(button != null)\n\t\t\tbutton.setBackgroundColor(color);\n\t}\n\t\n\t/**\n\t * This event start when snackbar dismish without push the button\n\t * @author Navas\n\t *\n\t */\n\tpublic interface OnHideListener{\n\t\tpublic void onHide();\n\t}\n\t\n\tpublic void setOnhideListener(OnHideListener onHideListener){\n\t\tthis.onHideListener = onHideListener;\n\t}\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/anim/dialog_main_hide_amination.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>  \n<set xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:interpolator=\"@android:anim/accelerate_interpolator\"\n\tandroid:shareInterpolator=\"true\"\n\tandroid:startOffset=\"50\">  \n\n    <alpha\n        android:duration=\"200\"\n        android:fromAlpha=\"1.0\"\n        android:toAlpha=\"0.0\" />\n  \n        <scale\n        android:fromXScale=\"1.0\"\n        android:toXScale=\"0.8\"\n        android:fromYScale=\"1.0\"\n        android:toYScale=\"0.8\"\n        android:pivotX=\"50%\"\n        android:pivotY=\"50%\"\n        android:duration=\"200\"/>\n    \n</set> \n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/anim/dialog_main_show_amination.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<set xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <alpha\n        android:duration=\"200\"\n        android:fromAlpha=\"0.0\"\n        android:toAlpha=\"1.0\" />\n\n    <scale\n        android:duration=\"200\"\n        android:fromXScale=\"0.8\"\n        android:fromYScale=\"0.8\"\n        android:pivotX=\"50%\"\n        android:pivotY=\"50%\"\n        android:toXScale=\"1.0\"\n        android:toYScale=\"1.0\" />\n\n</set>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/anim/dialog_root_hide_amin.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>  \n<set xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:interpolator=\"@android:anim/accelerate_interpolator\"\n\tandroid:shareInterpolator=\"true\"\n\tandroid:startOffset=\"50\">  \n    <alpha  \n        android:fromAlpha=\"1.0\"  \n        android:toAlpha=\"0.0\"  \n        android:duration=\"200\" />  \n</set> \n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/anim/dialog_root_show_amin.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>  \n<set xmlns:android=\"http://schemas.android.com/apk/res/android\">  \n    <alpha  \n        android:fromAlpha=\"0.0\"  \n        android:toAlpha=\"1.0\"  \n        android:duration=\"200\" />  \n</set> \n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/anim/progress_indeterminate_animation.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<set xmlns:android=\"http://schemas.android.com/apk/res/android\">\n<!--     <translate  -->\n<!--         android:duration=\"1000\" -->\n<!--         android:fromXDelta=\"-100%\" -->\n<!--         android:toXDelta=\"100%\"  -->\n<!--         android:interpolator=\"@android:anim/cycle_interpolator\" -->\n<!--         android:repeatCount=\"infinite\"/> -->\n    \n    <scale \n        android:duration=\"1000\"\n        android:fromXScale=\"0.5\"\n        android:fromYScale=\"1\"\n        android:pivotX=\"50%\"\n        android:pivotY=\"50%\"\n        android:toXScale=\"2\"\n        android:toYScale=\"1\" \n        android:repeatCount=\"infinite\"\n        android:repeatMode=\"reverse\"/>\n    \n\n</set>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/anim/snackbar_hide_animation.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<translate xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:fromYDelta=\"0\"\n    android:toYDelta=\"100%\"\n    android:duration=\"300\">\n\t\n\n</translate>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/anim/snackbar_show_animation.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<translate xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:fromYDelta=\"100%\"\n    android:toYDelta=\"0\"\n    android:duration=\"300\">\n\t\n\n</translate>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/background_button_float.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n\n    <item android:drawable=\"@drawable/float_button_shadow1\">\n    </item>\n    <item\n        android:id=\"@+id/shape_bacground\"\n        android:bottom=\"2dp\"\n        android:left=\"1dp\"\n        android:top=\"1dp\"\n        android:right=\"1dp\">\n        <shape android:shape=\"oval\" >\n            <solid android:color=\"#1E88E5\" />\n        </shape>\n    </item>\n\n</layer-list>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/background_button_rectangle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n\n    <item android:drawable=\"@drawable/background_button\">\n    </item>\n    <item android:id=\"@+id/shape_bacground\">\n        <shape android:shape=\"rectangle\" >\n            <corners android:radius=\"2dp\" />\n\n            <solid android:color=\"#FFF\" />\n        </shape>\n    </item>\n\n</layer-list>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/background_checkbox.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item\n        android:id=\"@+id/shape_bacground\">\n        <shape android:shape=\"oval\" >\n            \n            <solid android:color=\"@android:color/transparent\"/>\n        </shape>\n    </item>\n\n</layer-list>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/background_checkbox_check.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item\n        android:id=\"@+id/shape_bacground\">\n        <shape android:shape=\"rectangle\" >\n            <solid android:color=\"#4CAF50\" />\n            <corners android:radius=\"2dp\"/>\n        </shape>\n    </item>\n\n</layer-list>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/background_checkbox_uncheck.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item\n        android:id=\"@+id/shape_bacground\">\n        <shape android:shape=\"rectangle\" >\n            <stroke android:width=\"2dp\" android:color=\"#6D6D6D\"/>\n            <solid android:color=\"@android:color/transparent\" />\n            <corners android:radius=\"2dp\"/>\n        </shape>\n    </item>\n\n</layer-list>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/background_progress.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item android:id=\"@+id/shape_bacground\">\n        <shape android:shape=\"rectangle\" >\n            <corners android:topRightRadius=\"200dp\" android:bottomRightRadius=\"100dp\" />\n            <solid android:color=\"#1E88E5\" />\n        </shape>\n    </item>\n\n</layer-list>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/background_switch_ball_uncheck.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item\n        android:id=\"@+id/shape_bacground\">\n        <shape android:shape=\"oval\" >\n            <stroke android:width=\"2dp\" android:color=\"#6D6D6D\"/>\n            <solid android:color=\"@android:color/transparent\"/>\n        </shape>\n    </item>\n\n</layer-list>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/background_transparent.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n\n    <item android:id=\"@+id/shape_bacground\">\n        <shape android:shape=\"rectangle\" >\n            <corners android:radius=\"2dp\" />\n\n            <solid android:color=\"#00000000\" />\n        </shape>\n    </item>\n\n</layer-list>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/shadow_down.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n<corners \n    android:bottomLeftRadius=\"2dp\"/>\n    <gradient\n        android:angle=\"270\"\n        android:centerColor=\"@android:color/transparent\"\n        android:endColor=\"@android:color/transparent\"\n        android:startColor=\"@android:color/darker_gray\" />\n\n</shape>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/drawable/shadow_right.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    \n    <corners android:topRightRadius=\"2dp\"\n        android:bottomRightRadius=\"2dp\"/>\n\n    <gradient\n        android:centerColor=\"@android:color/transparent\"\n        android:endColor=\"@android:color/transparent\"\n        android:startColor=\"@android:color/darker_gray\" />\n\n</shape>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/layout/color_selector.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:materialdesign=\"http://schemas.android.com/apk/res-auto\"\n    android:id=\"@+id/rootSelector\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"#55000000\"\n    android:padding=\"40dp\" >\n\n    <LinearLayout\n        android:id=\"@+id/contentSelector\"\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_centerInParent=\"true\"\n        android:background=\"@drawable/dialog_background\"\n        android:orientation=\"vertical\" >\n\n        <View\n            android:id=\"@+id/viewColor\"\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"10dp\" />\n\n        <LinearLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"vertical\"\n            android:background=\"#FFF\"\n            android:padding=\"16dp\" >\n\n            <LinearLayout\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:gravity=\"center_vertical\"\n                android:orientation=\"horizontal\" >\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginRight=\"8dp\"\n                    android:textSize=\"17sp\"\n                    android:text=\"R\"\n                    android:textColor=\"#4D4D4D\" />\n\n                <com.gc.materialdesign.views.Slider\n                    android:id=\"@+id/red\"\n                    android:layout_width=\"fill_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:background=\"#4D4D4D\"\n                    materialdesign:max=\"255\"\n                    materialdesign:min=\"0\"\n                    materialdesign:showNumberIndicator=\"true\" />\n            </LinearLayout>\n\n            <LinearLayout\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"16dp\"\n                android:gravity=\"center_vertical\"\n                android:orientation=\"horizontal\" >\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginRight=\"8dp\"\n                    android:textSize=\"17sp\"\n                    android:text=\"G\"\n                    android:textColor=\"#4D4D4D\" />\n\n                <com.gc.materialdesign.views.Slider\n                    android:id=\"@+id/green\"\n                    android:layout_width=\"fill_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:background=\"#4D4D4D\"\n                    materialdesign:max=\"255\"\n                    materialdesign:min=\"0\"\n                    materialdesign:showNumberIndicator=\"true\" />\n            </LinearLayout>\n\n            <LinearLayout\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginTop=\"16dp\"\n                android:gravity=\"center_vertical\"\n                android:orientation=\"horizontal\" >\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginRight=\"8dp\"\n                    android:textSize=\"17sp\"\n                    android:text=\"B\"\n                    android:textColor=\"#4D4D4D\" />\n\n                <com.gc.materialdesign.views.Slider\n                    android:id=\"@+id/blue\"\n                    android:layout_width=\"fill_parent\"\n                    android:layout_height=\"wrap_content\"\n                    android:background=\"#4D4D4D\"\n                    materialdesign:max=\"255\"\n                    materialdesign:min=\"0\"\n                    materialdesign:showNumberIndicator=\"true\" />\n            </LinearLayout>\n        </LinearLayout>\n    </LinearLayout>\n\n</RelativeLayout>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/layout/dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/dialog_rootView\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"#55000000\"\n    android:padding=\"32dp\" >\n\n    <RelativeLayout\n        android:id=\"@+id/contentDialog\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_centerInParent=\"true\"\n        android:background=\"@drawable/dialog_background\"\n        android:padding=\"24dp\">\n\n        <TextView\n            android:id=\"@+id/title\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginBottom=\"24dp\"\n            android:text=\"Title\"\n            android:textAppearance=\"?android:attr/textAppearanceLarge\"\n            android:textColor=\"#000\" />\n\n        <ScrollView\n            android:id=\"@+id/message_scrollView\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_below=\"@id/title\"\n            android:paddingBottom=\"50dp\"\n            android:scrollbarSize=\"2dp\"\n            android:scrollbarThumbVertical=\"@color/thumbColor\" >\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"match_parent\"\n                android:orientation=\"vertical\" >\n\n                <TextView\n                    android:id=\"@+id/message\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:text=\"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam\"\n                    android:textColor=\"#000\"\n                    android:textSize=\"18sp\" />\n            </LinearLayout>\n        </ScrollView>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_alignBottom=\"@id/message_scrollView\"\n            android:layout_marginTop=\"24dp\"\n            android:gravity=\"right\"\n            android:orientation=\"horizontal\" >\n\n            <com.gc.materialdesign.views.ButtonFlat\n                android:id=\"@+id/button_cancel\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"Cancel\"                \n                android:background=\"#000000\"\n                android:visibility=\"gone\" />\n\n            <com.gc.materialdesign.views.ButtonFlat\n                android:id=\"@+id/button_accept\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:text=\"Accept\"\n                android:background=\"#1E88E5\" />\n        </LinearLayout>\n    </RelativeLayout>\n\n</RelativeLayout>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/layout/number_indicator_spinner.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/number_indicator_spinner_content\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"/>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/layout/progress_dialog.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/dialog_rootView\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"#55000000\"\n    android:padding=\"32dp\" >\n\n    <RelativeLayout\n        android:id=\"@+id/contentDialog\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:layout_centerInParent=\"true\"\n        android:background=\"@drawable/dialog_background\"\n        android:padding=\"24dp\" >\n\n        <com.gc.materialdesign.views.ProgressBarCircularIndeterminate\n            android:id=\"@+id/progressBarCircularIndetermininate\"\n            android:layout_width=\"32dp\"\n            android:layout_height=\"32dp\"\n            android:layout_centerVertical=\"true\"\n            android:background=\"#1E88E5\" />\n\n        <TextView\n            android:id=\"@+id/title\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_centerVertical=\"true\"\n            android:layout_toRightOf=\"@+id/progressBarCircularIndetermininate\"\n            android:layout_marginLeft=\"8dp\"\n            android:text=\"Title\"\n            android:textAppearance=\"?android:attr/textAppearanceLarge\"\n            android:textColor=\"#000\" />\n    </RelativeLayout>\n\n</RelativeLayout>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/layout/snackbar.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"fill_parent\"\n    android:layout_height=\"fill_parent\" >\n\n    <RelativeLayout\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"wrap_content\"\n        android:minHeight=\"56dp\"\n        android:layout_alignParentBottom=\"true\" >\n\n        <RelativeLayout\n            android:id=\"@+id/snackbar\"\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"wrap_content\"\n            android:background=\"#333333\"\n            android:paddingBottom=\"18dp\"\n            android:paddingLeft=\"24dp\"\n            android:paddingRight=\"24dp\"\n            android:paddingTop=\"18dp\"\n            android:visibility=\"invisible\" >\n\n            <com.gc.materialdesign.views.ButtonFlat\n                android:id=\"@+id/buttonflat\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_alignParentRight=\"true\"\n                android:layout_centerVertical=\"true\"\n                android:layout_marginLeft=\"24dp\"\n                android:text=\"ACTION\" />\n\n             <TextView\n                android:id=\"@+id/text\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:layout_toLeftOf=\"@id/buttonflat\"\n                android:textColor=\"#FFF\" />\n\n        </RelativeLayout>\n    </RelativeLayout>\n\n</RelativeLayout>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/values/attributes.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n\n    <declare-styleable name=\"CustomAttributes\">\n\n        <!-- Color of ripple animation -->\n        <attr name=\"rippleColor\" format=\"color|reference\" />\n        <!-- Speed of ripple animation -->\n        <attr name=\"rippleSpeed\" format=\"float\" />\n        <!-- indicate if the slider must show number indicator -->\n        <attr name=\"showNumberIndicator\" format=\"boolean\" />\n        <!-- in progress view indicate max value of progress -->\n        <attr name=\"max\" format=\"integer\" />\n        <!-- in progress view indicate min value of progress -->\n        <attr name=\"min\" format=\"integer\" />\n        <!-- in progress view indicate value of progress -->\n        <attr name=\"value\" format=\"integer\" />\n        <!-- in progress view indicate value of progress -->\n        <attr name=\"progress\" format=\"integer\" />\n        <attr name=\"ringWidth\" format=\"dimension\" />\n        <!-- in switche's view indicate state of view -->\n        <attr name=\"check\" format=\"boolean\" />\n        <attr name=\"checkBoxSize\" format=\"dimension\" />\n        <attr name=\"thumbSize\" format=\"dimension\" />\n        <!-- in float button indicate icon resource -->\n        <attr name=\"iconDrawable\" format=\"integer\" />\n        <!-- in button whitch contains drawable indicate icon resource -->\n        <attr name=\"iconSize\" format=\"dimension\" />\n        <!-- in float button indicate if must start with animation -->\n        <attr name=\"animate\" format=\"boolean\" />\n        <!-- set the border of the ripple frame -->\n        <attr name=\"rippleBorderRadius\" format=\"float\" />\n        <!-- if true, delays calls to OnClickListeners until ripple effect ends -->\n        <attr name=\"clickAfterRipple\" format=\"boolean\" />\n    </declare-styleable>\n\n</resources>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n    <color name=\"green\">#00FF00</color>\n    <color name=\"thumbColor\">#66aaaaaa</color>\n</resources>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesign/src/main/res/values/strings.xml",
    "content": "<resources>\n    <string name=\"app_name\">MaterialDesign</string>\n</resources>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/.gitignore",
    "content": "/build\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/build.gradle",
    "content": "apply plugin: 'com.android.application'\n\nandroid {\n    compileSdkVersion 22\n    buildToolsVersion \"22.0.1\"\n\n    defaultConfig {\n        applicationId \"com.gc.materialdesigndemo\"\n        minSdkVersion 16\n        targetSdkVersion 22\n        versionCode 1\n        versionName \"1.0\"\n    }\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'\n        }\n    }\n}\n\ndependencies {\n    compile fileTree(dir: 'libs', include: ['*.jar'])\n    compile 'com.android.support:appcompat-v7:22.2.0'\n    compile project(':MaterialDesign')\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/proguard-rules.pro",
    "content": "# Add project specific ProGuard rules here.\n# By default, the flags in this file are appended to flags specified\n# in /Applications/adt-bundle-mac-x86_64-20140321/sdk/tools/proguard/proguard-android.txt\n# You can edit the include path and order by changing the proguardFiles\n# directive in build.gradle.\n#\n# For more details, see\n#   http://developer.android.com/guide/developing/tools/proguard.html\n\n# Add any project specific keep options here:\n\n# If your project uses WebView with JS, uncomment the following\n# and specify the fully qualified class name to the JavaScript interface\n# class:\n#-keepclassmembers class fqcn.of.javascript.interface.for.webview {\n#   public *;\n#}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/androidTest/java/com/gc/materialdesigndemo/ApplicationTest.java",
    "content": "package com.gc.materialdesigndemo;\n\nimport android.app.Application;\nimport android.test.ApplicationTestCase;\n\n/**\n * <a href=\"http://d.android.com/tools/testing/testing_android.html\">Testing Fundamentals</a>\n */\npublic class ApplicationTest extends ApplicationTestCase<Application> {\n    public ApplicationTest() {\n        super(Application.class);\n    }\n}"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.gc.materialdesigndemo\">\n\n    <application android:allowBackup=\"true\" android:label=\"@string/app_name\"\n        android:icon=\"@mipmap/ic_launcher\" android:theme=\"@style/AppTheme\">\n\n        <activity\n            android:name=\"com.gc.materialdesigndemo.ui.MainActivity\"\n            android:label=\"@string/app_name\"\n            android:screenOrientation=\"portrait\" >\n            <intent-filter>\n                <action android:name=\"android.intent.action.MAIN\" />\n\n                <category android:name=\"android.intent.category.LAUNCHER\" />\n            </intent-filter>\n        </activity>\n        <activity\n            android:name=\"com.gc.materialdesigndemo.ui.ButtonsActivity\"\n            android:label=\"@string/app_name\"\n            android:screenOrientation=\"portrait\" >\n        </activity>\n        <activity\n            android:name=\"com.gc.materialdesigndemo.ui.SwitchActivity\"\n            android:label=\"@string/app_name\"\n            android:screenOrientation=\"portrait\" >\n        </activity>\n        <activity\n            android:name=\"com.gc.materialdesigndemo.ui.ProgressActivity\"\n            android:label=\"@string/app_name\"\n            android:screenOrientation=\"portrait\" >\n        </activity>\n        <activity\n            android:name=\"com.gc.materialdesigndemo.ui.WidgetActivity\"\n            android:label=\"@string/app_name\"\n            android:screenOrientation=\"portrait\" >\n        </activity>\n\n    </application>\n\n</manifest>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/java/com/gc/materialdesigndemo/ui/ButtonsActivity.java",
    "content": "package com.gc.materialdesigndemo.ui;\n\nimport android.annotation.SuppressLint;\nimport android.app.Activity;\nimport android.graphics.Color;\nimport android.os.Bundle;\nimport android.view.Window;\n\nimport com.gc.materialdesigndemo.R;\n\n\n\npublic class ButtonsActivity extends Activity {\n\t\n\tint backgroundColor = Color.parseColor(\"#1E88E5\");\n\n    @SuppressLint(\"NewApi\")\n\t@Override\n    protected void onCreate(Bundle savedInstanceState) {\n    \trequestWindowFeature(Window.FEATURE_NO_TITLE);\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_buttons);\n        int color = getIntent().getIntExtra(\"BACKGROUND\", Color.BLACK);\n        findViewById(R.id.buttonflat).setBackgroundColor(color);\n        findViewById(R.id.button).setBackgroundColor(color);\n        findViewById(R.id.buttonFloatSmall).setBackgroundColor(color);\n        findViewById(R.id.buttonIcon).setBackgroundColor(color);\n        findViewById(R.id.buttonFloat).setBackgroundColor(color);\n    }  \n    \n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/java/com/gc/materialdesigndemo/ui/MainActivity.java",
    "content": "package com.gc.materialdesigndemo.ui;\n\nimport com.gc.materialdesign.views.ButtonFloatSmall;\nimport com.gc.materialdesign.views.LayoutRipple;\nimport com.gc.materialdesign.widgets.ColorSelector;\nimport com.gc.materialdesign.widgets.ColorSelector.OnColorSelectedListener;\nimport com.gc.materialdesigndemo.R;\nimport com.nineoldandroids.view.ViewHelper;\n\nimport android.annotation.SuppressLint;\nimport android.annotation.TargetApi;\nimport android.app.Activity;\nimport android.content.Intent;\nimport android.graphics.Color;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.view.Window;\nimport android.view.View.OnClickListener;\n\n\npublic class MainActivity extends Activity implements OnColorSelectedListener{\n\t\n\tint backgroundColor = Color.parseColor(\"#1E88E5\");\n\tButtonFloatSmall buttonSelectColor;\n\n    @SuppressLint(\"NewApi\")\n\t@Override\n    protected void onCreate(Bundle savedInstanceState) {\n    \trequestWindowFeature(Window.FEATURE_NO_TITLE);\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_main);\n        \n        buttonSelectColor = (ButtonFloatSmall) findViewById(R.id.buttonColorSelector);\n        buttonSelectColor.setOnClickListener(new OnClickListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onClick(View arg0) {\n\t\t\t\tColorSelector colorSelector = new ColorSelector(MainActivity.this, backgroundColor, MainActivity.this);\n\t\t\t\tcolorSelector.show();\n\t\t\t}\n\t\t});\n        \n        LayoutRipple layoutRipple = (LayoutRipple) findViewById(R.id.itemButtons);\n        \n        \n        setOriginRiple(layoutRipple);\n        \n        layoutRipple.setOnClickListener(new OnClickListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onClick(View arg0) {\n\t\t\t\tIntent intent = new Intent(MainActivity.this,ButtonsActivity.class);\n\t\t\t\tintent.putExtra(\"BACKGROUND\", backgroundColor);\n\t\t\t\tstartActivity(intent);\n\t\t\t}\n\t\t});\n        layoutRipple = (LayoutRipple) findViewById(R.id.itemSwitches);\n        \n        \n        setOriginRiple(layoutRipple);\n        \n        layoutRipple.setOnClickListener(new OnClickListener() {\n        \t\n        \t@Override\n        \tpublic void onClick(View arg0) {\n        \t\tIntent intent = new Intent(MainActivity.this,SwitchActivity.class);\n        \t\tintent.putExtra(\"BACKGROUND\", backgroundColor);\n        \t\tstartActivity(intent);\n        \t}\n        });\n        layoutRipple = (LayoutRipple) findViewById(R.id.itemProgress);\n        \n        \n        setOriginRiple(layoutRipple);\n        \n        layoutRipple.setOnClickListener(new OnClickListener() {\n        \t\n        \t@Override\n        \tpublic void onClick(View arg0) {\n        \t\tIntent intent = new Intent(MainActivity.this,ProgressActivity.class);\n        \t\tintent.putExtra(\"BACKGROUND\", backgroundColor);\n        \t\tstartActivity(intent);\n        \t}\n        });\n        layoutRipple = (LayoutRipple) findViewById(R.id.itemWidgets);\n        \n        \n        setOriginRiple(layoutRipple);\n        \n        layoutRipple.setOnClickListener(new OnClickListener() {\n        \t\n        \t@Override\n        \tpublic void onClick(View arg0) {\n        \t\tIntent intent = new Intent(MainActivity.this,WidgetActivity.class);\n        \t\tintent.putExtra(\"BACKGROUND\", backgroundColor);\n        \t\tstartActivity(intent);\n        \t}\n        });\n    }\n    \n\tprivate void setOriginRiple(final LayoutRipple layoutRipple){\n    \t\n    \tlayoutRipple.post(new Runnable() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void run() {\n\t\t\t\tView v = layoutRipple.getChildAt(0);\n\t\t    \tlayoutRipple.setxRippleOrigin(ViewHelper.getX(v)+v.getWidth()/2);\n\t\t    \tlayoutRipple.setyRippleOrigin(ViewHelper.getY(v)+v.getHeight()/2);\n\t\t    \t\n\t\t    \tlayoutRipple.setRippleColor(Color.parseColor(\"#1E88E5\"));\n\t\t    \t\n\t\t    \tlayoutRipple.setRippleSpeed(30);\n\t\t\t}\n\t\t});\n    \t\n    }\n\n\t@Override\n\tpublic void onColorSelected(int color) {\n\t\tbackgroundColor = color;\n\t\tbuttonSelectColor.setBackgroundColor(color);\n\t}  \n    \n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/java/com/gc/materialdesigndemo/ui/ProgressActivity.java",
    "content": "package com.gc.materialdesigndemo.ui;\n\nimport android.annotation.SuppressLint;\nimport android.app.Activity;\nimport android.graphics.Color;\nimport android.os.Bundle;\nimport android.os.Handler;\nimport android.os.Message;\nimport android.view.Window;\n\nimport com.gc.materialdesign.views.ProgressBarDeterminate;\nimport com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate;\nimport com.gc.materialdesigndemo.R;\n\n\npublic class ProgressActivity extends Activity {\n\t\n\tint backgroundColor = Color.parseColor(\"#1E88E5\");\n\n    @SuppressLint(\"NewApi\")\n\t@Override\n    protected void onCreate(Bundle savedInstanceState) {\n    \trequestWindowFeature(Window.FEATURE_NO_TITLE);\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_progress);\n        \n        int color = getIntent().getIntExtra(\"BACKGROUND\", Color.BLACK);\n        findViewById(R.id.progressBarCircularIndetermininate).setBackgroundColor(color);\n        findViewById(R.id.progressBarIndeterminate).setBackgroundColor(color);\n        findViewById(R.id.progressBarIndeterminateDeterminate).setBackgroundColor(color);\n        findViewById(R.id.progressDeterminate).setBackgroundColor(color);\n        findViewById(R.id.slider).setBackgroundColor(color);\n        findViewById(R.id.sliderNumber).setBackgroundColor(color);\n        \n        \n        progreesBarDeterminate = (ProgressBarDeterminate) findViewById(R.id.progressDeterminate);\n\t\tprogressTimer.start();\n\t\tprogressBarIndeterminateDeterminate = (ProgressBarIndeterminateDeterminate) findViewById(R.id.progressBarIndeterminateDeterminate);\n\t\tprogressTimer2.start();\n    } \n    \n    \n    \n    ProgressBarDeterminate progreesBarDeterminate;\n    \n    Thread progressTimer = new Thread(new Runnable() {\n\t\t\n\t\t@Override\n\t\tpublic void run() {\n\t\t\tfor(int i = 0; i <= 100; i++){\n\t\t\t\ttry {\n\t\t\t\t\tThread.sleep(100);\n\t\t\t\t} catch (InterruptedException e) {\n\t\t\t\t\te.printStackTrace();\n\t\t\t\t}\n\t\t\t\thandler.sendMessage(new Message());\n\t\t\t}\n\t\t}\n\t});\n\t\n\tHandler handler = new Handler(new Handler.Callback() {\n\t\tint progress = 0;\n\t\t@Override\n\t\tpublic boolean handleMessage(Message msg) {\n\t\t\tprogreesBarDeterminate.setProgress(progress++);\n\t\t\treturn false;\n\t\t}\n\t});\n\t\n\tProgressBarIndeterminateDeterminate progressBarIndeterminateDeterminate;\n\t\n\tThread progressTimer2 = new Thread(new Runnable() {\n\t\t\n\t\t@Override\n\t\tpublic void run() {\n\t\t\ttry {\n\t\t\tThread.sleep(4000);\n\t\t\tfor(int i = 0; i <= 100; i++){\n\t\t\t\t\n\t\t\t\t\tThread.sleep(100);\n\t\t\t\t\n\t\t\t\thandler2.sendMessage(new Message());\n\t\t\t}\n\t\t\t} catch (InterruptedException e) {\n\t\t\t\te.printStackTrace();\n\t\t\t}\n\t\t}\n\t});\n\t\n\tHandler handler2 = new Handler(new Handler.Callback() {\n\t\tint progress = 0;\n\t\t@Override\n\t\tpublic boolean handleMessage(Message msg) {\n\t\t\tprogressBarIndeterminateDeterminate.setProgress(progress++);\n\t\t\treturn false;\n\t\t}\n\t});\n    \n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/java/com/gc/materialdesigndemo/ui/SwitchActivity.java",
    "content": "package com.gc.materialdesigndemo.ui;\n\nimport android.annotation.SuppressLint;\nimport android.app.Activity;\nimport android.graphics.Color;\nimport android.os.Bundle;\nimport android.view.Window;\n\nimport com.gc.materialdesigndemo.R;\n\n\n\n\npublic class SwitchActivity extends Activity {\n\t\n\tint backgroundColor = Color.parseColor(\"#1E88E5\");\n\n    @SuppressLint(\"NewApi\")\n\t@Override\n    protected void onCreate(Bundle savedInstanceState) {\n    \trequestWindowFeature(Window.FEATURE_NO_TITLE);\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.activity_switchs);\n        int color = getIntent().getIntExtra(\"BACKGROUND\", Color.BLACK);\n        findViewById(R.id.checkBox).setBackgroundColor(color);\n        findViewById(R.id.switchView).setBackgroundColor(color);\n    }  \n    \n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/java/com/gc/materialdesigndemo/ui/WidgetActivity.java",
    "content": "package com.gc.materialdesigndemo.ui;\n\nimport com.gc.materialdesign.views.ButtonFlat;\nimport com.gc.materialdesign.widgets.ColorSelector;\nimport com.gc.materialdesign.widgets.Dialog;\nimport com.gc.materialdesign.widgets.SnackBar;\nimport com.gc.materialdesigndemo.R;\n\nimport android.annotation.SuppressLint;\nimport android.app.Activity;\nimport android.graphics.Color;\nimport android.os.Bundle;\nimport android.view.View;\nimport android.view.Window;\nimport android.view.View.OnClickListener;\nimport android.widget.Toast;\n\npublic class WidgetActivity extends Activity {\n\n\tprivate int backgroundColor = Color.parseColor(\"#1E88E5\");\n\n\t@SuppressLint(\"NewApi\")\n\t@Override\n\tprotected void onCreate(Bundle savedInstanceState) {\n\t\trequestWindowFeature(Window.FEATURE_NO_TITLE);\n\t\tsuper.onCreate(savedInstanceState);\n\t\tsetContentView(R.layout.activity_widgets);\n\t\t\n//\t\tSHOW SNACKBAR\n\t\tfindViewById(R.id.buttonSnackBar).setOnClickListener(new OnClickListener() {\n\n\t\t\t@Override\n\t\t\tpublic void onClick(final View flatButton) {\n\t\t\t\tnew SnackBar(WidgetActivity.this,\n\t\t\t\t\t\t\"Do you want change color of this button to red?\",\n\t\t\t\t\t\t\"yes\", new OnClickListener() {\n\n\t\t\t\t\t\t\t@Override\n\t\t\t\t\t\t\tpublic void onClick(View v) {\n\t\t\t\t\t\t\t\tButtonFlat btn = (ButtonFlat) findViewById(R.id.buttonSnackBar);\n\t\t\t\t\t\t\t\tbtn.setTextColor(Color.RED);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}).show();\n\t\t\t}\n\t\t});\n//\t\tSHOW DiALOG\n\t\tfindViewById(R.id.buttonDialog).setOnClickListener(new OnClickListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onClick(final View flatButton) {\n\t\t\t\tDialog dialog = new Dialog(WidgetActivity.this, \"Title\", \"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam\");\n\t\t\t\tdialog.setOnAcceptButtonClickListener(new OnClickListener() {\n\t\t\t\t\t\n\t\t\t\t\t@Override\n\t\t\t\t\tpublic void onClick(View v) {\n\t\t\t\t\t\tToast.makeText(WidgetActivity.this, \"Click accept button\", 1).show();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdialog.setOnCancelButtonClickListener(new OnClickListener() {\n\t\t\t\t\t\n\t\t\t\t\t@Override\n\t\t\t\t\tpublic void onClick(View v) {\n\t\t\t\t\t\tToast.makeText(WidgetActivity.this, \"Click cancel button\", 1).show();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tdialog.show();\n\t\t\t}\n\t\t});\n//\t\tSHOW COLOR SEECTOR\n\t\tfindViewById(R.id.buttonColorSelector).setOnClickListener(new OnClickListener() {\n\t\t\t\n\t\t\t@Override\n\t\t\tpublic void onClick(final View flatButton) {\n\t\t\t\tnew ColorSelector(WidgetActivity.this, Color.RED, null).show();\n\t\t\t}\n\t\t});\n\t}\n\n}\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/drawable/blue_background.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" android:shape=\"rectangle\">\n    <solid android:color=\"#b3e5fc\"/>\n</shape>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/drawable/selector_list.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\" >\n    <item android:state_pressed=\"true\" android:drawable=\"@drawable/blue_background\"></item>\n    <item android:state_pressed=\"false\" android:drawable=\"@drawable/transparent_backgrouns\"></item>\n\n</selector>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/drawable/transparent_backgrouns.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" android:shape=\"rectangle\">\n<solid android:color=\"#00000000\"/>    \n\n</shape>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/layout/activity_buttons.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:materialdesign=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"#FFF\"\n    >\n    <com.gc.materialdesign.views.ScrollView\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"fill_parent\">\n\n    <LinearLayout\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"fill_parent\"\n        android:orientation=\"vertical\" >\n\n        <!-- FLAT BUTTON -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Flat Button\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"72dp\" >\n\n            <com.gc.materialdesign.views.ButtonFlat\n                android:id=\"@+id/buttonflat\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:textColor=\"#ffffff\"\n                android:text=\"Button\" />\n        </RelativeLayout>\n        <!-- RECTANGLE BUTTON -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Rectangle Button\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"72dp\" >\n\n            <com.gc.materialdesign.views.ButtonRectangle\n                android:id=\"@+id/button\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\"\n                android:text=\"Button\" />\n        </RelativeLayout>\n        <!-- SMALL FLOAT BUTTON -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Small Float Button\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"72dp\" >\n\n            <com.gc.materialdesign.views.ButtonFloatSmall\n                android:id=\"@+id/buttonFloatSmall\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\"\n                materialdesign:iconDrawable=\"@drawable/ic_action_new\" />\n        </RelativeLayout>\n        \n        <!-- FLOAT BUTTON -->\n        \n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Icon Button\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"72dp\" >\n\n            <com.gc.materialdesign.views.ButtonIcon\n                android:id=\"@+id/buttonIcon\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\"\n                materialdesign:iconDrawable=\"@drawable/ic_next\" />\n        </RelativeLayout>\n        \n        <!-- FLOAT BUTTON -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Float Button\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n    </LinearLayout>\n    </com.gc.materialdesign.views.ScrollView>\n    <com.gc.materialdesign.views.ButtonFloat\n                android:id=\"@+id/buttonFloat\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_alignParentRight=\"true\"\n                android:layout_alignParentBottom=\"true\"\n                android:layout_marginRight=\"24dp\"\n                android:background=\"#1E88E5\"\n                materialdesign:animate=\"true\"\n                materialdesign:iconDrawable=\"@drawable/ic_action_new\" />\n\n</RelativeLayout>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/layout/activity_main.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:materialdesign=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:background=\"#FFF\"\n    android:orientation=\"vertical\" >\n\n    <RelativeLayout\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"148dp\" >\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"128dp\"\n            android:background=\"#01579b\"\n            android:paddingBottom=\"20dp\"\n            android:paddingLeft=\"104dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_alignParentBottom=\"true\"\n                android:text=\"MaterialDesign\"\n                android:textColor=\"#FFF\"\n                android:textSize=\"25dp\" />\n        </RelativeLayout>\n\n        <View\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"2dp\"\n            android:layout_marginTop=\"128dp\"\n            android:background=\"#88CECECE\" />\n\n        <com.gc.materialdesign.views.ButtonFloatSmall\n            android:id=\"@+id/buttonColorSelector\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginLeft=\"32dp\"\n            android:layout_marginTop=\"108dp\"\n            android:background=\"#1E88E5\"\n            materialdesign:iconDrawable=\"@drawable/icn_select_color\" />\n    </RelativeLayout>\n\n    <RelativeLayout\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"48dp\"\n        android:layout_marginLeft=\"104dp\" >\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_centerVertical=\"true\"\n            android:text=\"Views\" />\n\n        <View\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"1dp\"\n            android:layout_alignParentBottom=\"true\"\n            android:background=\"#1E88E5\" />\n    </RelativeLayout>\n\n    <com.gc.materialdesign.views.LayoutRipple\n        android:id=\"@+id/itemButtons\"\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"64dp\"\n        android:background=\"#FFF\"\n        android:clickable=\"true\" >\n\n        <ImageView\n            android:layout_width=\"40dp\"\n            android:layout_height=\"40dp\"\n            android:layout_centerVertical=\"true\"\n            android:layout_marginLeft=\"32dp\"\n            android:src=\"@drawable/icn_button\" />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_centerVertical=\"true\"\n            android:layout_marginLeft=\"104dp\"\n            android:text=\"Buttons\" />\n    </com.gc.materialdesign.views.LayoutRipple>\n\n    <com.gc.materialdesign.views.LayoutRipple\n        android:id=\"@+id/itemSwitches\"\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"64dp\"\n        android:background=\"#FFF\"\n        android:clickable=\"true\" >\n\n        <ImageView\n            android:layout_width=\"40dp\"\n            android:layout_height=\"40dp\"\n            android:layout_centerVertical=\"true\"\n            android:layout_marginLeft=\"32dp\"\n            android:src=\"@drawable/icn_switch\" />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_centerVertical=\"true\"\n            android:layout_marginLeft=\"104dp\"\n            android:text=\"Switches\" />\n    </com.gc.materialdesign.views.LayoutRipple>\n\n    <com.gc.materialdesign.views.LayoutRipple\n        android:id=\"@+id/itemProgress\"\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"64dp\"\n        android:background=\"#FFF\"\n        android:clickable=\"true\" >\n\n        <ImageView\n            android:layout_width=\"40dp\"\n            android:layout_height=\"40dp\"\n            android:layout_centerVertical=\"true\"\n            android:layout_marginLeft=\"32dp\"\n            android:src=\"@drawable/icn_progress\" />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_centerVertical=\"true\"\n            android:layout_marginLeft=\"104dp\"\n            android:text=\"Progress indicators\" />\n    </com.gc.materialdesign.views.LayoutRipple>\n\n    <com.gc.materialdesign.views.LayoutRipple\n        android:id=\"@+id/itemWidgets\"\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"64dp\"\n        android:background=\"#FFF\"\n        android:clickable=\"true\" >\n\n        <ImageView\n            android:layout_width=\"40dp\"\n            android:layout_height=\"40dp\"\n            android:layout_centerVertical=\"true\"\n            android:layout_marginLeft=\"32dp\"\n            android:src=\"@drawable/icn_widget\" />\n\n        <TextView\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:layout_centerVertical=\"true\"\n            android:layout_marginLeft=\"104dp\"\n            android:text=\"Widgets\" />\n    </com.gc.materialdesign.views.LayoutRipple>\n\n</LinearLayout>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/layout/activity_progress.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:materialdesign=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\" >\n\n    <LinearLayout\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"fill_parent\"\n        android:orientation=\"vertical\" >\n\n        <!-- PROGRESS BAR INDETERMINATE -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Progress Bar Circular Indeterminate\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"48dp\" >\n\n            <com.gc.materialdesign.views.ProgressBarCircularIndeterminate\n                android:id=\"@+id/progressBarCircularIndetermininate\"\n                android:layout_width=\"32dp\"\n                android:layout_height=\"32dp\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n        <!-- PROGRESS BAR INDETERMINATE -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Progress Bar Indeterminate\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"48dp\" >\n\n            <com.gc.materialdesign.views.ProgressBarIndeterminate\n                android:id=\"@+id/progressBarIndeterminate\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n        <!-- PROGRESS BAR INDETERMINATE DETERMINATE -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Progress Bar Indeterminate Determinate\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"48dp\" >\n\n            <com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate\n                android:id=\"@+id/progressBarIndeterminateDeterminate\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <!-- PROGRESS BAR DETERMINATE -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Progress Bar Determinate\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"48dp\" >\n\n            <com.gc.materialdesign.views.ProgressBarDeterminate\n                android:id=\"@+id/progressDeterminate\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n        <!-- SLIDER -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Slider\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"48dp\" >\n\n            <com.gc.materialdesign.views.Slider\n                android:id=\"@+id/slider\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\"\n                materialdesign:max=\"50\"\n                materialdesign:min=\"0\"\n                 />\n        </RelativeLayout>\n        \n        <!-- SLIDER WITH NUMBER INDICATOR-->\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Slider with number indicator\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"48dp\" >\n\n            <com.gc.materialdesign.views.Slider\n                android:id=\"@+id/sliderNumber\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\"\n                materialdesign:max=\"50\"\n                materialdesign:min=\"0\"\n                materialdesign:showNumberIndicator=\"true\" />\n        </RelativeLayout>\n    </LinearLayout>\n\n</RelativeLayout>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/layout/activity_switchs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:materialdesign=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:paddingBottom=\"24dp\" >\n\n    <LinearLayout\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"fill_parent\"\n        android:orientation=\"vertical\" >\n\n        <!-- CHECKBOX -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Checkbox\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"72dp\" >\n\n            <com.gc.materialdesign.views.CheckBox\n                android:id=\"@+id/checkBox\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\"\n                materialdesign:check=\"true\" />\n        </RelativeLayout>\n        <!-- SWITCH -->\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Switch\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"72dp\" >\n\n            <com.gc.materialdesign.views.Switch\n                android:id=\"@+id/switchView\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:background=\"#1E88E5\"\n                materialdesign:check=\"true\" />\n        </RelativeLayout>\n        <!-- RADIO BUTTON -->\n\n<!--         <RelativeLayout -->\n<!--             android:layout_width=\"fill_parent\" -->\n<!--             android:layout_height=\"32dp\" -->\n<!--             android:layout_marginLeft=\"24dp\" > -->\n\n<!--             <TextView -->\n<!--                 android:layout_width=\"wrap_content\" -->\n<!--                 android:layout_height=\"wrap_content\" -->\n<!--                 android:layout_centerVertical=\"true\" -->\n<!--                 android:text=\"Radio Button\" /> -->\n<!--             <View -->\n<!--                 android:layout_width=\"fill_parent\" -->\n<!--                 android:layout_height=\"1dp\" -->\n<!--                 android:layout_alignParentBottom=\"true\" -->\n<!--                 android:background=\"#1E88E5\" /> -->\n<!--         </RelativeLayout> -->\n\n<!--         <RelativeLayout -->\n<!--             android:layout_width=\"fill_parent\" -->\n<!--             android:layout_height=\"72dp\" > -->\n\n<!--            COLOCAR RADIO BUTTON -->\n<!--         </RelativeLayout> -->\n\n    </LinearLayout>\n\n</RelativeLayout>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/layout/activity_widgets.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:materialdesign=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:paddingBottom=\"24dp\" >\n\n    <LinearLayout\n        android:layout_width=\"fill_parent\"\n        android:layout_height=\"fill_parent\"\n        android:orientation=\"vertical\" >\n\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"SnackBar\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"72dp\" >\n\n            <com.gc.materialdesign.views.ButtonFlat\n                android:id=\"@+id/buttonSnackBar\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:text=\"Show SnackBar\" />\n        </RelativeLayout>\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Dialog\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"72dp\" >\n\n            <com.gc.materialdesign.views.ButtonFlat\n                android:id=\"@+id/buttonDialog\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:text=\"Show Dialog\" />\n        </RelativeLayout>\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"32dp\"\n            android:layout_marginLeft=\"24dp\" >\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerVertical=\"true\"\n                android:text=\"Color Selector\" />\n\n            <View\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"1dp\"\n                android:layout_alignParentBottom=\"true\"\n                android:background=\"#1E88E5\" />\n        </RelativeLayout>\n\n        <RelativeLayout\n            android:layout_width=\"fill_parent\"\n            android:layout_height=\"72dp\" >\n\n            <com.gc.materialdesign.views.ButtonFlat\n                android:id=\"@+id/buttonColorSelector\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_centerInParent=\"true\"\n                android:text=\"Show Color Selector\" />\n        </RelativeLayout>\n    </LinearLayout>\n\n</RelativeLayout>"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/values/strings.xml",
    "content": "<resources>\n\n    <string name=\"app_name\">MaterialDesignDemo</string>\n\n</resources>\n"
  },
  {
    "path": "MaterialDesignLibrary/MaterialDesignDemo/src/main/res/values/styles.xml",
    "content": "<resources>\n\n    <!--\n        Base application theme, dependent on API level. This theme is replaced\n        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.\n    -->\n    <style name=\"AppBaseTheme\" parent=\"android:Theme.Light\">\n        <!--\n            Theme customizations available in newer API levels can go in\n            res/values-vXX/styles.xml, while customizations related to\n            backward-compatibility can go here.\n        -->\n    </style>\n\n    <!-- Application theme. -->\n    <style name=\"AppTheme\" parent=\"AppBaseTheme\">\n        <!-- All customizations that are NOT specific to a particular API-level can go here. -->\n    </style>\n\n</resources>\n"
  },
  {
    "path": "MaterialDesignLibrary/build.gradle",
    "content": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\n\nbuildscript {\n    repositories {\n        jcenter()\n    }\n    dependencies {\n        classpath 'com.android.tools.build:gradle:1.+'\n// COMMENT TO DEVELOPER MODE / UNCOMMENT TO UPLOAD TO BINTARRAY\n//        classpath 'org.codehaus.groovy:groovy-backports-compat23:2.3.5'\n//        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'\n//        classpath 'com.github.dcendents:android-maven-plugin:1.2'\n    }\n}\n\nallprojects {\n    repositories {\n        jcenter()\n        mavenCentral()\n    }\n\n    group = \"com.github.navasmdc\"\n    version = \"1.5\"\n}\n\n"
  },
  {
    "path": "MaterialDesignLibrary/gradle/wrapper/gradle-wrapper.properties",
    "content": "#Sat Aug 22 18:02:59 CEST 2015\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-2.4-all.zip\n"
  },
  {
    "path": "MaterialDesignLibrary/gradle.properties",
    "content": "# Project-wide Gradle settings.\n\n# IDE (e.g. Android Studio) users:\n# Settings specified in this file will override any Gradle settings\n# configured through the IDE.\n\n# For more details on how to configure your build environment visit\n# http://www.gradle.org/docs/current/userguide/build_environment.html\n\n# Specifies the JVM arguments used for the daemon process.\n# The setting is particularly useful for tweaking memory settings.\n# Default value: -Xmx10248m -XX:MaxPermSize=256m\n# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8\n\n# When configured, Gradle will run in incubating parallel mode.\n# This option should only be used with decoupled projects. More details, visit\n# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects\n# org.gradle.parallel=true\n\nVERSION_NAME=1.4\nVERSION_CODE=6\n\nGROUP=com.github.navasmdc\n\nPOM_DESCRIPTION=This is a library with components of Android L to you use in android 2.2\nPOM_URL=https://github.com/navasmdc/MaterialDesignLibrary\nPOM_SCM_URL=https://github.com/navasmdc/MaterialDesignLibrary\nPOM_SCM_CONNECTION=scm:git@github.com:navasmdc/MaterialDesignLibrary.git\nPOM_SCM_DEV_CONNECTION=scm:git@github.com:navasmdc/MaterialDesignLibrary.git\nPOM_LICENCE_NAME=The Apache Software License, Version 2.0\nPOM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt\nPOM_LICENCE_DIST=repo\nPOM_DEVELOPER_ID=navasmdc\nPOM_DEVELOPER_NAME=Ivan Navas\n\n"
  },
  {
    "path": "MaterialDesignLibrary/gradlew",
    "content": "#!/usr/bin/env bash\n\n##############################################################################\n##\n##  Gradle start up script for UN*X\n##\n##############################################################################\n\n# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nDEFAULT_JVM_OPTS=\"\"\n\nAPP_NAME=\"Gradle\"\nAPP_BASE_NAME=`basename \"$0\"`\n\n# Use the maximum available, or set MAX_FD != -1 to use that value.\nMAX_FD=\"maximum\"\n\nwarn ( ) {\n    echo \"$*\"\n}\n\ndie ( ) {\n    echo\n    echo \"$*\"\n    echo\n    exit 1\n}\n\n# OS specific support (must be 'true' or 'false').\ncygwin=false\nmsys=false\ndarwin=false\ncase \"`uname`\" in\n  CYGWIN* )\n    cygwin=true\n    ;;\n  Darwin* )\n    darwin=true\n    ;;\n  MINGW* )\n    msys=true\n    ;;\nesac\n\n# For Cygwin, ensure paths are in UNIX format before anything is touched.\nif $cygwin ; then\n    [ -n \"$JAVA_HOME\" ] && JAVA_HOME=`cygpath --unix \"$JAVA_HOME\"`\nfi\n\n# Attempt to set APP_HOME\n# Resolve links: $0 may be a link\nPRG=\"$0\"\n# Need this for relative symlinks.\nwhile [ -h \"$PRG\" ] ; do\n    ls=`ls -ld \"$PRG\"`\n    link=`expr \"$ls\" : '.*-> \\(.*\\)$'`\n    if expr \"$link\" : '/.*' > /dev/null; then\n        PRG=\"$link\"\n    else\n        PRG=`dirname \"$PRG\"`\"/$link\"\n    fi\ndone\nSAVED=\"`pwd`\"\ncd \"`dirname \\\"$PRG\\\"`/\" >&-\nAPP_HOME=\"`pwd -P`\"\ncd \"$SAVED\" >&-\n\nCLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar\n\n# Determine the Java command to use to start the JVM.\nif [ -n \"$JAVA_HOME\" ] ; then\n    if [ -x \"$JAVA_HOME/jre/sh/java\" ] ; then\n        # IBM's JDK on AIX uses strange locations for the executables\n        JAVACMD=\"$JAVA_HOME/jre/sh/java\"\n    else\n        JAVACMD=\"$JAVA_HOME/bin/java\"\n    fi\n    if [ ! -x \"$JAVACMD\" ] ; then\n        die \"ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\n    fi\nelse\n    JAVACMD=\"java\"\n    which java >/dev/null 2>&1 || die \"ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\n\nPlease set the JAVA_HOME variable in your environment to match the\nlocation of your Java installation.\"\nfi\n\n# Increase the maximum file descriptors if we can.\nif [ \"$cygwin\" = \"false\" -a \"$darwin\" = \"false\" ] ; then\n    MAX_FD_LIMIT=`ulimit -H -n`\n    if [ $? -eq 0 ] ; then\n        if [ \"$MAX_FD\" = \"maximum\" -o \"$MAX_FD\" = \"max\" ] ; then\n            MAX_FD=\"$MAX_FD_LIMIT\"\n        fi\n        ulimit -n $MAX_FD\n        if [ $? -ne 0 ] ; then\n            warn \"Could not set maximum file descriptor limit: $MAX_FD\"\n        fi\n    else\n        warn \"Could not query maximum file descriptor limit: $MAX_FD_LIMIT\"\n    fi\nfi\n\n# For Darwin, add options to specify how the application appears in the dock\nif $darwin; then\n    GRADLE_OPTS=\"$GRADLE_OPTS \\\"-Xdock:name=$APP_NAME\\\" \\\"-Xdock:icon=$APP_HOME/media/gradle.icns\\\"\"\nfi\n\n# For Cygwin, switch paths to Windows format before running java\nif $cygwin ; then\n    APP_HOME=`cygpath --path --mixed \"$APP_HOME\"`\n    CLASSPATH=`cygpath --path --mixed \"$CLASSPATH\"`\n\n    # We build the pattern for arguments to be converted via cygpath\n    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`\n    SEP=\"\"\n    for dir in $ROOTDIRSRAW ; do\n        ROOTDIRS=\"$ROOTDIRS$SEP$dir\"\n        SEP=\"|\"\n    done\n    OURCYGPATTERN=\"(^($ROOTDIRS))\"\n    # Add a user-defined pattern to the cygpath arguments\n    if [ \"$GRADLE_CYGPATTERN\" != \"\" ] ; then\n        OURCYGPATTERN=\"$OURCYGPATTERN|($GRADLE_CYGPATTERN)\"\n    fi\n    # Now convert the arguments - kludge to limit ourselves to /bin/sh\n    i=0\n    for arg in \"$@\" ; do\n        CHECK=`echo \"$arg\"|egrep -c \"$OURCYGPATTERN\" -`\n        CHECK2=`echo \"$arg\"|egrep -c \"^-\"`                                 ### Determine if an option\n\n        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition\n            eval `echo args$i`=`cygpath --path --ignore --mixed \"$arg\"`\n        else\n            eval `echo args$i`=\"\\\"$arg\\\"\"\n        fi\n        i=$((i+1))\n    done\n    case $i in\n        (0) set -- ;;\n        (1) set -- \"$args0\" ;;\n        (2) set -- \"$args0\" \"$args1\" ;;\n        (3) set -- \"$args0\" \"$args1\" \"$args2\" ;;\n        (4) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" ;;\n        (5) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" ;;\n        (6) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" ;;\n        (7) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" ;;\n        (8) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" ;;\n        (9) set -- \"$args0\" \"$args1\" \"$args2\" \"$args3\" \"$args4\" \"$args5\" \"$args6\" \"$args7\" \"$args8\" ;;\n    esac\nfi\n\n# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules\nfunction splitJvmOpts() {\n    JVM_OPTS=(\"$@\")\n}\neval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS\nJVM_OPTS[${#JVM_OPTS[*]}]=\"-Dorg.gradle.appname=$APP_BASE_NAME\"\n\nexec \"$JAVACMD\" \"${JVM_OPTS[@]}\" -classpath \"$CLASSPATH\" org.gradle.wrapper.GradleWrapperMain \"$@\"\n"
  },
  {
    "path": "MaterialDesignLibrary/gradlew.bat",
    "content": "@if \"%DEBUG%\" == \"\" @echo off\n@rem ##########################################################################\n@rem\n@rem  Gradle startup script for Windows\n@rem\n@rem ##########################################################################\n\n@rem Set local scope for the variables with windows NT shell\nif \"%OS%\"==\"Windows_NT\" setlocal\n\n@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.\nset DEFAULT_JVM_OPTS=\n\nset DIRNAME=%~dp0\nif \"%DIRNAME%\" == \"\" set DIRNAME=.\nset APP_BASE_NAME=%~n0\nset APP_HOME=%DIRNAME%\n\n@rem Find java.exe\nif defined JAVA_HOME goto findJavaFromJavaHome\n\nset JAVA_EXE=java.exe\n%JAVA_EXE% -version >NUL 2>&1\nif \"%ERRORLEVEL%\" == \"0\" goto init\n\necho.\necho ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:findJavaFromJavaHome\nset JAVA_HOME=%JAVA_HOME:\"=%\nset JAVA_EXE=%JAVA_HOME%/bin/java.exe\n\nif exist \"%JAVA_EXE%\" goto init\n\necho.\necho ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%\necho.\necho Please set the JAVA_HOME variable in your environment to match the\necho location of your Java installation.\n\ngoto fail\n\n:init\n@rem Get command-line arguments, handling Windowz variants\n\nif not \"%OS%\" == \"Windows_NT\" goto win9xME_args\nif \"%@eval[2+2]\" == \"4\" goto 4NT_args\n\n:win9xME_args\n@rem Slurp the command line arguments.\nset CMD_LINE_ARGS=\nset _SKIP=2\n\n:win9xME_args_slurp\nif \"x%~1\" == \"x\" goto execute\n\nset CMD_LINE_ARGS=%*\ngoto execute\n\n:4NT_args\n@rem Get arguments from the 4NT Shell from JP Software\nset CMD_LINE_ARGS=%$\n\n:execute\n@rem Setup the command line\n\nset CLASSPATH=%APP_HOME%\\gradle\\wrapper\\gradle-wrapper.jar\n\n@rem Execute Gradle\n\"%JAVA_EXE%\" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% \"-Dorg.gradle.appname=%APP_BASE_NAME%\" -classpath \"%CLASSPATH%\" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%\n\n:end\n@rem End local scope for the variables with windows NT shell\nif \"%ERRORLEVEL%\"==\"0\" goto mainEnd\n\n:fail\nrem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of\nrem the _cmd.exe /c_ return code!\nif  not \"\" == \"%GRADLE_EXIT_CONSOLE%\" exit 1\nexit /b 1\n\n:mainEnd\nif \"%OS%\"==\"Windows_NT\" endlocal\n\n:omega\n"
  },
  {
    "path": "MaterialDesignLibrary/settings.gradle",
    "content": "// DEVELOPER MODE\ninclude ':MaterialDesignDemo', ':MaterialDesign'\n// UPLOAd LIBRARY TO BINTARRAY\n//include ':MaterialDesign'\n"
  },
  {
    "path": "README.md",
    "content": "![Material design library logo](images/logo.png)\n\n# Material Design Android Library\n\n<a href=\"https://play.google.com/store/apps/details?id=com.gc.demomaterialdesign\">\n  <img alt=\"Android app on Google Play\" src=\"https://developer.android.com/images/brand/en_app_rgb_wo_45.png\" />\n</a>\n\n\n[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Material%20Design%20Android%20Library-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1156)\n\n* [How to use](#howtouse)\n* [Components](#components)\n    * [Buttons](#buttons)\n        * [Flat Button](#flat-button)\n        * [Rectangle Button](#rectangle-button)\n        * [Float Button](#float-button)\n        * [Float small button](#float-small-button)\n    * [Switches](#switches)\n        * [CheckBox](#checkbox)\n        * [Switch](#switch)\n    * [Progress indicators](#progress-indicators)\n        * [Progress bar circular indeterminate](#progress-bar-circula-rindeterminate)\n        * [Progress bar indeterminate](#progress-bar-indeterminate)\n        * [Progress bar indeterminate determinate](#progress-bar-indeterminate-determinate)\n        * [Progress bar determinate](#progress-bar-determinate)\n        * [Slider](#slider)\n        * [Slider with number indicator](#slider-with-number-indicator)\n* [Widgets](#widgets)\n    * [SnackBar](#snackbar)\n    * [Dialog](#dialog)\n    * [Color selector](#color-selector)\n\n## How to use\n\nIf you want use this library, you only have to download MaterialDesign project, import it into your workspace and add the project as a library in your android project settings.\n\nIf you prefer it, you can use the gradle dependency, you have to add these lines in your build.gradle file:\n\n```xml\nrepositories {\n    jcenter()\n}\n\ndependencies {\n    compile 'com.github.navasmdc:MaterialDesign:1.5@aar'\n}\n```\n\nSome components have custom attributes, if you want use them, you must add this line in your xml file in the first component:\n\n```xml\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:materialdesign=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    >\n</RelativeLayout>\n```\n\n>If you are going to use a ScrollView, it is recommended that you use the CustomScrollView provided in this library to avoid problems with the custom components.\n>To use this component:\n>```xml\n><com.gc.materialdesign.views.ScrollView \n>    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n>    xmlns:materialdesign=\"http://schemas.android.com/apk/res-auto\"\n>    android:id=\"@+id/scroll\"\n>    android:layout_width=\"match_parent\"\n>    android:layout_height=\"match_parent\">\n></com.gc.materialdesign.views.ScrollView>\n>```\n\n##Components\n\n####Buttons\n\n######Flat Button\n\n![flat button](images/flat_button.png)\n```xml\n<com.gc.materialdesign.views.ButtonFlat\n                android:id=\"@+id/buttonflat\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                android:text=\"Button\" />\n```\n\n######Rectangle Button\n\n![rectangle button](images/rectangle_button.png)\n```xml\n<com.gc.materialdesign.views.ButtonRectangle\n                android:id=\"@+id/button\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                android:text=\"Button\" />\n```\n\n######Float Button\n\n![float button](images/float_button.png)\n\n>It is recommended to put this component in the right-bottom of the screen. To use this component write this code in your xml file.\n>If you don`t want to start this component with animation set the animate attribute to false.\n>Put your icon in the icon attribute to set the drawable icon for this component.\n\n```xml\n<RelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:materialdesign=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    >\n    <!-- ... XML CODE -->\n    <com.gc.materialdesign.views.ButtonFloat\n                android:id=\"@+id/buttonFloat\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_alignParentRight=\"true\"\n                android:layout_alignParentBottom=\"true\"\n                android:layout_marginRight=\"24dp\"\n                android:background=\"#1E88E5\"\n                materialdesign:animate=\"true\"\n                materialdesign:iconDrawable=\"@drawable/ic_action_new\" />\n</RelativeLayout>\n```\n\n######Float small button\n\n![float small button](images/float_small_button.png)\n\n```xml\n<com.gc.materialdesign.views.ButtonFloatSmall\n                android:id=\"@+id/buttonFloatSmall\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:iconDrawable=\"@drawable/ic_action_new\" />\n```\n\n####Switches\n\n######CheckBox\n![checkbox](images/checkbox.png)\n\n```xml\n<com.gc.materialdesign.views.CheckBox\n                android:id=\"@+id/checkBox\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:check=\"true\" />\n```\n\n######Switch\n![switch](images/switch.png)\n\n```xml\n<com.gc.materialdesign.views.Switch\n                android:id=\"@+id/switchView\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:check=\"true\" />\n```\n\n####Progress indicators\n\n######Progress bar circular indeterminate\n![progress bar circular indeterminate](images/progress_bar_circular_indeterminate.png)\n\n```xml\n<com.gc.materialdesign.views.ProgressBarCircularIndeterminate\n                android:id=\"@+id/progressBarCircularIndeterminate\"\n                android:layout_width=\"32dp\"\n                android:layout_height=\"32dp\"\n                android:background=\"#1E88E5\" />\n```\n\n######Progress bar indeterminate\n![progress bar indeterminate](images/progress_bar_indeterminate.png)\n\n```xml\n<com.gc.materialdesign.views.ProgressBarIndeterminate\n                android:id=\"@+id/progressBarIndeterminate\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\" />\n```\n\n######Progress bar indeterminate determinate\n![Progress bar indeterminate determinate](images/progress_bar_indeterminate_determinate.png)\n\n\n```xml\n<com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate\n                android:id=\"@+id/progressBarIndeterminateDeterminate\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\" />\n```\n\n>If you begin progrees, you only have to set progress it\n>\n>```java\n>progressBarIndeterminateDeterminate.setProgress(progress);\n>```\n\n######Progress bar determinate\n![Progress bar determinate](images/progress_bar_determinate.png)\n\n\n```xml\n<com.gc.materialdesign.views.ProgressBarDeterminate\n                android:id=\"@+id/progressDeterminate\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\" />\n```\n\n>You can custom max and min progress values with `materialdesign:max=\"50\"` and `materialdesign:min=\"25\"` attributes.\n\n######Slider\n![Slider](images/slider.png)\n\n\n```xml\n<com.gc.materialdesign.views.Slider\n                android:id=\"@+id/slider\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:max=\"50\"\n                materialdesign:min=\"0\"\n                 />\n```\n\n######Slider with number indicator\n![Slider with number indicator](images/slider_with_number_indicator.png)\n\n\n```xml\n<com.gc.materialdesign.views.Slider\n                android:id=\"@+id/slider\"\n                android:layout_width=\"fill_parent\"\n                android:layout_height=\"wrap_content\"\n                android:background=\"#1E88E5\"\n                materialdesign:max=\"50\"\n                materialdesign:min=\"0\"\n                materialdesign:showNumberIndicator=\"true\"/>\n```\n\n##Widgets\n\n####SnackBar\n\n![Snackbar](images/snackbar.png)\n\n\n```java\nSnackBar snackbar = new SnackBar(Activity activity, String text, String buttonText, View.OnClickListener onClickListener);\nsnackbar.show();\n```\n\n> If you don't want to show the button, put `null` in `buttonText` attribute\n\n####Dialog\n\n![Dialog](images/dialog.png)\n\n```java\nDialog dialog = new Dialog(Context context,String title, String message);\ndialog.show();\n```\n\n>You can set the accept and cancel button on the event listener or change it's text\n>```java\n> // Set accept click listenner\n>dialog.setOnAcceptButtonClickListener(View.OnClickListener onAcceptButtonClickListener);\n> // Set cancel click listenner\n>dialog.setOnCancelButtonClickListener(View.OnClickListener onCancelButtonClickListener);\n> // Acces to accept button\n>ButtonFlat acceptButton = dialog.getButtonAccept();\n> // Acces to cancel button\n>ButtonFlat cancelButton = dialog.getButtonCancel();\n>```\n\n####Color selector\n\n![Color selector](images/color_selector.png)\n\n```java\nColorSelector colorSelector = new ColorSelector(Context context,int intialColor, OnColorSelectedListener onColorSelectedListener);\ncolorSelector.show();\n```\n\n\n\n\n\n"
  },
  {
    "path": "index.html",
    "content": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset='utf-8'>\n    <meta http-equiv=\"X-UA-Compatible\" content=\"chrome=1\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1\">\n    <link href='https://fonts.googleapis.com/css?family=Architects+Daughter' rel='stylesheet' type='text/css'>\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"stylesheets/stylesheet.css\" media=\"screen\">\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"stylesheets/github-light.css\" media=\"screen\">\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"stylesheets/print.css\" media=\"print\">\n\n    <!--[if lt IE 9]>\n    <script src=\"//html5shiv.googlecode.com/svn/trunk/html5.js\"></script>\n    <![endif]-->\n\n    <title>Materialdesignlibrary by navasmdc</title>\n  </head>\n\n  <body>\n    <header>\n      <div class=\"inner\">\n        <h1>Materialdesignlibrary</h1>\n        <h2>This is a library with components of Android L to you use in android 2.2</h2>\n        <a href=\"https://github.com/navasmdc/MaterialDesignLibrary\" class=\"button\"><small>View project on</small> GitHub</a>\n      </div>\n    </header>\n\n    <div id=\"content-wrapper\">\n      <div class=\"inner clearfix\">\n        <section id=\"main-content\">\n          <p><img src=\"images/logo.png\" alt=\"Material design library logo\"></p>\n\n<h1>\n<a id=\"material-design-android-library\" class=\"anchor\" href=\"#material-design-android-library\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Material Design Android Library</h1>\n\n<p><a href=\"https://play.google.com/store/apps/details?id=com.gc.demomaterialdesign\">\n  <img alt=\"Android app on Google Play\" src=\"https://developer.android.com/images/brand/en_app_rgb_wo_45.png\">\n</a></p>\n\n<p><a href=\"https://android-arsenal.com/details/1/1156\"><img src=\"https://img.shields.io/badge/Android%20Arsenal-Material%20Design%20Android%20Library-brightgreen.svg?style=flat\" alt=\"Android Arsenal\"></a></p>\n\n<ul>\n<li><a href=\"#howtouse\">How to use</a></li>\n<li>\n<a href=\"#components\">Components</a>\n\n<ul>\n<li>\n<a href=\"#buttons\">Buttons</a>\n\n<ul>\n<li><a href=\"#flat-button\">Flat Button</a></li>\n<li><a href=\"#rectangle-button\">Rectangle Button</a></li>\n<li><a href=\"#float-button\">Float Button</a></li>\n<li><a href=\"#float-small-button\">Float small button</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#switches\">Switches</a>\n\n<ul>\n<li><a href=\"#checkbox\">CheckBox</a></li>\n<li><a href=\"#switch\">Switch</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#progress-indicators\">Progress indicators</a>\n\n<ul>\n<li><a href=\"#progress-bar-circula-rindeterminate\">Progress bar circular indeterminate</a></li>\n<li><a href=\"#progress-bar-indeterminate\">Progress bar indeterminate</a></li>\n<li><a href=\"#progress-bar-indeterminate-determinate\">Progress bar indeterminate determinate</a></li>\n<li><a href=\"#progress-bar-determinate\">Progress bar determinate</a></li>\n<li><a href=\"#slider\">Slider</a></li>\n<li><a href=\"#slider-with-number-indicator\">Slider with number indicator</a></li>\n</ul>\n</li>\n</ul>\n</li>\n<li>\n<a href=\"#widgets\">Widgets</a>\n\n<ul>\n<li><a href=\"#snackbar\">SnackBar</a></li>\n<li><a href=\"#dialog\">Dialog</a></li>\n<li><a href=\"#color-selector\">Color selector</a></li>\n</ul>\n</li>\n</ul>\n\n<h2>\n<a id=\"how-to-use\" class=\"anchor\" href=\"#how-to-use\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>How to use</h2>\n\n<p>If you want use this library, you only have to download MaterialDesign project, import it into your workspace and add the project as a library in your android project settings.</p>\n\n<p>If you prefer it, you can use the gradle dependency, you have to add these lines in your build.gradle file:</p>\n\n<div class=\"highlight highlight-text-xml\"><pre>repositories {\n    jcenter()\n}\n\ndependencies {\n    compile 'com.github.navasmdc:MaterialDesign:1.5@aar'\n}</pre></div>\n\n<p>Some components have custom attributes, if you want use them, you must add this line in your xml file in the first component:</p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">RelativeLayout</span> <span class=\"pl-e\">xmlns</span><span class=\"pl-e\">:</span><span class=\"pl-e\">android</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>http://schemas.android.com/apk/res/android<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-e\">xmlns</span><span class=\"pl-e\">:</span><span class=\"pl-e\">materialdesign</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>http://schemas.android.com/apk/res-auto<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>match_parent<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>match_parent<span class=\"pl-pds\">\"</span></span>\n    &gt;\n&lt;/<span class=\"pl-ent\">RelativeLayout</span>&gt;</pre></div>\n\n<blockquote>\n<p>If you are going to use a ScrollView, it is recommended that you use the CustomScrollView provided in this library to avoid problems with the custom components.\nTo use this component:</p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ScrollView \n   <span class=\"pl-e\">xmlns</span><span class=\"pl-e\">:</span><span class=\"pl-e\">android</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>http://schemas.android.com/apk/res/android<span class=\"pl-pds\">\"</span></span>\n   <span class=\"pl-e\">xmlns</span><span class=\"pl-e\">:</span><span class=\"pl-e\">materialdesign</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>http://schemas.android.com/apk/res-auto<span class=\"pl-pds\">\"</span></span>\n   <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/scroll<span class=\"pl-pds\">\"</span></span>\n   <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>match_parent<span class=\"pl-pds\">\"</span></span>\n   <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>match_parent<span class=\"pl-pds\">\"</span></span>&gt;\n&lt;/<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ScrollView&gt;</pre></div>\n</blockquote>\n\n<h2>\n<a id=\"components\" class=\"anchor\" href=\"#components\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Components</h2>\n\n<h4>\n<a id=\"buttons\" class=\"anchor\" href=\"#buttons\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Buttons</h4>\n\n<h6>\n<a id=\"flat-button\" class=\"anchor\" href=\"#flat-button\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Flat Button</h6>\n\n<p><img src=\"images/flat_button.png\" alt=\"flat button\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ButtonFlat\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/buttonflat<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">text</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>Button<span class=\"pl-pds\">\"</span></span> /&gt;</pre></div>\n\n<h6>\n<a id=\"rectangle-button\" class=\"anchor\" href=\"#rectangle-button\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Rectangle Button</h6>\n\n<p><img src=\"images/rectangle_button.png\" alt=\"rectangle button\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ButtonRectangle\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/button<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">text</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>Button<span class=\"pl-pds\">\"</span></span> /&gt;</pre></div>\n\n<h6>\n<a id=\"float-button\" class=\"anchor\" href=\"#float-button\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Float Button</h6>\n\n<p><img src=\"images/float_button.png\" alt=\"float button\"></p>\n\n<blockquote>\n<p>It is recommended to put this component in the right-bottom of the screen. To use this component write this code in your xml file.\nIf you don`t want to start this component with animation set the animate attribute to false.\nPut your icon in the icon attribute to set the drawable icon for this component.</p>\n</blockquote>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">RelativeLayout</span> <span class=\"pl-e\">xmlns</span><span class=\"pl-e\">:</span><span class=\"pl-e\">android</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>http://schemas.android.com/apk/res/android<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-e\">xmlns</span><span class=\"pl-e\">:</span><span class=\"pl-e\">materialdesign</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>http://schemas.android.com/apk/res-auto<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>match_parent<span class=\"pl-pds\">\"</span></span>\n    <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>match_parent<span class=\"pl-pds\">\"</span></span>\n    &gt;\n    <span class=\"pl-c\">&lt;!-- ... XML CODE --&gt;</span>\n    &lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ButtonFloat\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/buttonFloat<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_alignParentRight</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>true<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_alignParentBottom</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>true<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_marginRight</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>24dp<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">animate</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>true<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">iconDrawable</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@drawable/ic_action_new<span class=\"pl-pds\">\"</span></span> /&gt;\n&lt;/<span class=\"pl-ent\">RelativeLayout</span>&gt;</pre></div>\n\n<h6>\n<a id=\"float-small-button\" class=\"anchor\" href=\"#float-small-button\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Float small button</h6>\n\n<p><img src=\"images/float_small_button.png\" alt=\"float small button\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ButtonFloatSmall\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/buttonFloatSmall<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">iconDrawable</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@drawable/ic_action_new<span class=\"pl-pds\">\"</span></span> /&gt;</pre></div>\n\n<h4>\n<a id=\"switches\" class=\"anchor\" href=\"#switches\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Switches</h4>\n\n<h6>\n<a id=\"checkbox\" class=\"anchor\" href=\"#checkbox\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>CheckBox</h6>\n\n<p><img src=\"images/checkbox.png\" alt=\"checkbox\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.CheckBox\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/checkBox<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">check</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>true<span class=\"pl-pds\">\"</span></span> /&gt;</pre></div>\n\n<h6>\n<a id=\"switch\" class=\"anchor\" href=\"#switch\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Switch</h6>\n\n<p><img src=\"images/switch.png\" alt=\"switch\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.Switch\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/switchView<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">check</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>true<span class=\"pl-pds\">\"</span></span> /&gt;</pre></div>\n\n<h4>\n<a id=\"progress-indicators\" class=\"anchor\" href=\"#progress-indicators\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Progress indicators</h4>\n\n<h6>\n<a id=\"progress-bar-circular-indeterminate\" class=\"anchor\" href=\"#progress-bar-circular-indeterminate\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Progress bar circular indeterminate</h6>\n\n<p><img src=\"images/progress_bar_circular_indeterminate.png\" alt=\"progress bar circular indeterminate\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ProgressBarCircularIndeterminate\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/progressBarCircularIndeterminate<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>32dp<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>32dp<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span> /&gt;</pre></div>\n\n<h6>\n<a id=\"progress-bar-indeterminate\" class=\"anchor\" href=\"#progress-bar-indeterminate\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Progress bar indeterminate</h6>\n\n<p><img src=\"images/progress_bar_indeterminate.png\" alt=\"progress bar indeterminate\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ProgressBarIndeterminate\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/progressBarIndeterminate<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>fill_parent<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span> /&gt;</pre></div>\n\n<h6>\n<a id=\"progress-bar-indeterminate-determinate\" class=\"anchor\" href=\"#progress-bar-indeterminate-determinate\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Progress bar indeterminate determinate</h6>\n\n<p><img src=\"images/progress_bar_indeterminate_determinate.png\" alt=\"Progress bar indeterminate determinate\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ProgressBarIndeterminateDeterminate\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/progressBarIndeterminateDeterminate<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>fill_parent<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span> /&gt;</pre></div>\n\n<blockquote>\n<p>If you begin progrees, you only have to set progress it</p>\n\n<div class=\"highlight highlight-source-java\"><pre>progressBarIndeterminateDeterminate<span class=\"pl-k\">.</span>setProgress(progress);</pre></div>\n</blockquote>\n\n<h6>\n<a id=\"progress-bar-determinate\" class=\"anchor\" href=\"#progress-bar-determinate\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Progress bar determinate</h6>\n\n<p><img src=\"images/progress_bar_determinate.png\" alt=\"Progress bar determinate\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.ProgressBarDeterminate\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/progressDeterminate<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>fill_parent<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span> /&gt;</pre></div>\n\n<blockquote>\n<p>You can custom max and min progress values with <code>materialdesign:max=\"50\"</code> and <code>materialdesign:min=\"25\"</code> attributes.</p>\n</blockquote>\n\n<h6>\n<a id=\"slider\" class=\"anchor\" href=\"#slider\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Slider</h6>\n\n<p><img src=\"images/slider.png\" alt=\"Slider\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.Slider\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/slider<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>fill_parent<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">max</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>50<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">min</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>0<span class=\"pl-pds\">\"</span></span>\n                 /&gt;</pre></div>\n\n<h6>\n<a id=\"slider-with-number-indicator\" class=\"anchor\" href=\"#slider-with-number-indicator\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Slider with number indicator</h6>\n\n<p><img src=\"images/slider_with_number_indicator.png\" alt=\"Slider with number indicator\"></p>\n\n<div class=\"highlight highlight-text-xml\"><pre>&lt;<span class=\"pl-ent\">com</span>.gc.materialdesign.views.Slider\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">id</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>@+id/slider<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_width</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>fill_parent<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">layout_height</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>wrap_content<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">android</span><span class=\"pl-e\">:</span><span class=\"pl-e\">background</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>#1E88E5<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">max</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>50<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">min</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>0<span class=\"pl-pds\">\"</span></span>\n                <span class=\"pl-e\">materialdesign</span><span class=\"pl-e\">:</span><span class=\"pl-e\">showNumberIndicator</span>=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span>true<span class=\"pl-pds\">\"</span></span>/&gt;</pre></div>\n\n<h2>\n<a id=\"widgets\" class=\"anchor\" href=\"#widgets\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Widgets</h2>\n\n<h4>\n<a id=\"snackbar\" class=\"anchor\" href=\"#snackbar\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>SnackBar</h4>\n\n<p><img src=\"images/snackbar.png\" alt=\"Snackbar\"></p>\n\n<div class=\"highlight highlight-source-java\"><pre><span class=\"pl-smi\">SnackBar</span> snackbar <span class=\"pl-k\">=</span> <span class=\"pl-k\">new</span> <span class=\"pl-smi\">SnackBar</span>(<span class=\"pl-smi\">Activity</span> activity, <span class=\"pl-smi\">String</span> text, <span class=\"pl-smi\">String</span> buttonText, <span class=\"pl-smi\">View</span><span class=\"pl-k\">.</span><span class=\"pl-smi\">OnClickListener</span> onClickListener);\nsnackbar<span class=\"pl-k\">.</span>show();</pre></div>\n\n<blockquote>\n<p>If you don't want to show the button, put <code>null</code> in <code>buttonText</code> attribute</p>\n</blockquote>\n\n<h4>\n<a id=\"dialog\" class=\"anchor\" href=\"#dialog\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Dialog</h4>\n\n<p><img src=\"images/dialog.png\" alt=\"Dialog\"></p>\n\n<div class=\"highlight highlight-source-java\"><pre><span class=\"pl-smi\">Dialog</span> dialog <span class=\"pl-k\">=</span> <span class=\"pl-k\">new</span> <span class=\"pl-smi\">Dialog</span>(<span class=\"pl-smi\">Context</span> context,<span class=\"pl-smi\">String</span> title, <span class=\"pl-smi\">String</span> message);\ndialog<span class=\"pl-k\">.</span>show();</pre></div>\n\n<blockquote>\n<p>You can set the accept and cancel button on the event listener or change it's text</p>\n\n<div class=\"highlight highlight-source-java\"><pre><span class=\"pl-c\">// Set accept click listenner</span>\ndialog<span class=\"pl-k\">.</span>setOnAcceptButtonClickListener(<span class=\"pl-smi\">View</span><span class=\"pl-k\">.</span><span class=\"pl-smi\">OnClickListener</span> onAcceptButtonClickListener);\n<span class=\"pl-c\">// Set cancel click listenner</span>\ndialog<span class=\"pl-k\">.</span>setOnCancelButtonClickListener(<span class=\"pl-smi\">View</span><span class=\"pl-k\">.</span><span class=\"pl-smi\">OnClickListener</span> onCancelButtonClickListener);\n<span class=\"pl-c\">// Acces to accept button</span>\n<span class=\"pl-smi\">ButtonFlat</span> acceptButton <span class=\"pl-k\">=</span> dialog<span class=\"pl-k\">.</span>getButtonAccept();\n<span class=\"pl-c\">// Acces to cancel button</span>\n<span class=\"pl-smi\">ButtonFlat</span> cancelButton <span class=\"pl-k\">=</span> dialog<span class=\"pl-k\">.</span>getButtonCancel();</pre></div>\n</blockquote>\n\n<h4>\n<a id=\"color-selector\" class=\"anchor\" href=\"#color-selector\" aria-hidden=\"true\"><span aria-hidden=\"true\" class=\"octicon octicon-link\"></span></a>Color selector</h4>\n\n<p><img src=\"images/color_selector.png\" alt=\"Color selector\"></p>\n\n<div class=\"highlight highlight-source-java\"><pre><span class=\"pl-smi\">ColorSelector</span> colorSelector <span class=\"pl-k\">=</span> <span class=\"pl-k\">new</span> <span class=\"pl-smi\">ColorSelector</span>(<span class=\"pl-smi\">Context</span> context,<span class=\"pl-k\">int</span> intialColor, <span class=\"pl-smi\">OnColorSelectedListener</span> onColorSelectedListener);\ncolorSelector<span class=\"pl-k\">.</span>show();</pre></div>\n        </section>\n\n        <aside id=\"sidebar\">\n          <a href=\"https://github.com/navasmdc/MaterialDesignLibrary/zipball/master\" class=\"button\">\n            <small>Download</small>\n            .zip file\n          </a>\n          <a href=\"https://github.com/navasmdc/MaterialDesignLibrary/tarball/master\" class=\"button\">\n            <small>Download</small>\n            .tar.gz file\n          </a>\n\n          <p class=\"repo-owner\"><a href=\"https://github.com/navasmdc/MaterialDesignLibrary\"></a> is maintained by <a href=\"https://github.com/navasmdc\">navasmdc</a>.</p>\n\n          <p>This page was generated by <a href=\"https://pages.github.com\">GitHub Pages</a> using the Architect theme by <a href=\"https://twitter.com/jasonlong\">Jason Long</a>.</p>\n        </aside>\n      </div>\n    </div>\n\n  \n  </body>\n</html>\n"
  },
  {
    "path": "javascripts/main.js",
    "content": "console.log('This would be the main JS file.');\n"
  },
  {
    "path": "params.json",
    "content": "{\n  \"name\": \"Materialdesignlibrary\",\n  \"tagline\": \"This is a library with components of Android L to you use in android 2.2\",\n  \"body\": \"![Material design library logo](images/logo.png)\\r\\n\\r\\n# Material Design Android Library\\r\\n\\r\\n<a href=\\\"https://play.google.com/store/apps/details?id=com.gc.demomaterialdesign\\\">\\r\\n  <img alt=\\\"Android app on Google Play\\\" src=\\\"https://developer.android.com/images/brand/en_app_rgb_wo_45.png\\\" />\\r\\n</a>\\r\\n\\r\\n\\r\\n[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-Material%20Design%20Android%20Library-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/1156)\\r\\n\\r\\n* [How to use](#howtouse)\\r\\n* [Components](#components)\\r\\n    * [Buttons](#buttons)\\r\\n        * [Flat Button](#flat-button)\\r\\n        * [Rectangle Button](#rectangle-button)\\r\\n        * [Float Button](#float-button)\\r\\n        * [Float small button](#float-small-button)\\r\\n    * [Switches](#switches)\\r\\n        * [CheckBox](#checkbox)\\r\\n        * [Switch](#switch)\\r\\n    * [Progress indicators](#progress-indicators)\\r\\n        * [Progress bar circular indeterminate](#progress-bar-circula-rindeterminate)\\r\\n        * [Progress bar indeterminate](#progress-bar-indeterminate)\\r\\n        * [Progress bar indeterminate determinate](#progress-bar-indeterminate-determinate)\\r\\n        * [Progress bar determinate](#progress-bar-determinate)\\r\\n        * [Slider](#slider)\\r\\n        * [Slider with number indicator](#slider-with-number-indicator)\\r\\n* [Widgets](#widgets)\\r\\n    * [SnackBar](#snackbar)\\r\\n    * [Dialog](#dialog)\\r\\n    * [Color selector](#color-selector)\\r\\n\\r\\n## How to use\\r\\n\\r\\nIf you want use this library, you only have to download MaterialDesign project, import it into your workspace and add the project as a library in your android project settings.\\r\\n\\r\\nIf you prefer it, you can use the gradle dependency, you have to add these lines in your build.gradle file:\\r\\n\\r\\n```xml\\r\\nrepositories {\\r\\n    jcenter()\\r\\n}\\r\\n\\r\\ndependencies {\\r\\n    compile 'com.github.navasmdc:MaterialDesign:1.5@aar'\\r\\n}\\r\\n```\\r\\n\\r\\nSome components have custom attributes, if you want use them, you must add this line in your xml file in the first component:\\r\\n\\r\\n```xml\\r\\n<RelativeLayout xmlns:android=\\\"http://schemas.android.com/apk/res/android\\\"\\r\\n    xmlns:materialdesign=\\\"http://schemas.android.com/apk/res-auto\\\"\\r\\n    android:layout_width=\\\"match_parent\\\"\\r\\n    android:layout_height=\\\"match_parent\\\"\\r\\n    >\\r\\n</RelativeLayout>\\r\\n```\\r\\n\\r\\n>If you are going to use a ScrollView, it is recommended that you use the CustomScrollView provided in this library to avoid problems with the custom components.\\r\\n>To use this component:\\r\\n>```xml\\r\\n><com.gc.materialdesign.views.ScrollView \\r\\n>    xmlns:android=\\\"http://schemas.android.com/apk/res/android\\\"\\r\\n>    xmlns:materialdesign=\\\"http://schemas.android.com/apk/res-auto\\\"\\r\\n>    android:id=\\\"@+id/scroll\\\"\\r\\n>    android:layout_width=\\\"match_parent\\\"\\r\\n>    android:layout_height=\\\"match_parent\\\">\\r\\n></com.gc.materialdesign.views.ScrollView>\\r\\n>```\\r\\n\\r\\n##Components\\r\\n\\r\\n####Buttons\\r\\n\\r\\n######Flat Button\\r\\n\\r\\n![flat button](images/flat_button.png)\\r\\n```xml\\r\\n<com.gc.materialdesign.views.ButtonFlat\\r\\n                android:id=\\\"@+id/buttonflat\\\"\\r\\n                android:layout_width=\\\"wrap_content\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\"\\r\\n                android:text=\\\"Button\\\" />\\r\\n```\\r\\n\\r\\n######Rectangle Button\\r\\n\\r\\n![rectangle button](images/rectangle_button.png)\\r\\n```xml\\r\\n<com.gc.materialdesign.views.ButtonRectangle\\r\\n                android:id=\\\"@+id/button\\\"\\r\\n                android:layout_width=\\\"wrap_content\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\"\\r\\n                android:text=\\\"Button\\\" />\\r\\n```\\r\\n\\r\\n######Float Button\\r\\n\\r\\n![float button](images/float_button.png)\\r\\n\\r\\n>It is recommended to put this component in the right-bottom of the screen. To use this component write this code in your xml file.\\r\\n>If you don`t want to start this component with animation set the animate attribute to false.\\r\\n>Put your icon in the icon attribute to set the drawable icon for this component.\\r\\n\\r\\n```xml\\r\\n<RelativeLayout xmlns:android=\\\"http://schemas.android.com/apk/res/android\\\"\\r\\n    xmlns:materialdesign=\\\"http://schemas.android.com/apk/res-auto\\\"\\r\\n    android:layout_width=\\\"match_parent\\\"\\r\\n    android:layout_height=\\\"match_parent\\\"\\r\\n    >\\r\\n    <!-- ... XML CODE -->\\r\\n    <com.gc.materialdesign.views.ButtonFloat\\r\\n                android:id=\\\"@+id/buttonFloat\\\"\\r\\n                android:layout_width=\\\"wrap_content\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:layout_alignParentRight=\\\"true\\\"\\r\\n                android:layout_alignParentBottom=\\\"true\\\"\\r\\n                android:layout_marginRight=\\\"24dp\\\"\\r\\n                android:background=\\\"#1E88E5\\\"\\r\\n                materialdesign:animate=\\\"true\\\"\\r\\n                materialdesign:iconDrawable=\\\"@drawable/ic_action_new\\\" />\\r\\n</RelativeLayout>\\r\\n```\\r\\n\\r\\n######Float small button\\r\\n\\r\\n![float small button](images/float_small_button.png)\\r\\n\\r\\n```xml\\r\\n<com.gc.materialdesign.views.ButtonFloatSmall\\r\\n                android:id=\\\"@+id/buttonFloatSmall\\\"\\r\\n                android:layout_width=\\\"wrap_content\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\"\\r\\n                materialdesign:iconDrawable=\\\"@drawable/ic_action_new\\\" />\\r\\n```\\r\\n\\r\\n####Switches\\r\\n\\r\\n######CheckBox\\r\\n![checkbox](images/checkbox.png)\\r\\n\\r\\n```xml\\r\\n<com.gc.materialdesign.views.CheckBox\\r\\n                android:id=\\\"@+id/checkBox\\\"\\r\\n                android:layout_width=\\\"wrap_content\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\"\\r\\n                materialdesign:check=\\\"true\\\" />\\r\\n```\\r\\n\\r\\n######Switch\\r\\n![switch](images/switch.png)\\r\\n\\r\\n```xml\\r\\n<com.gc.materialdesign.views.Switch\\r\\n                android:id=\\\"@+id/switchView\\\"\\r\\n                android:layout_width=\\\"wrap_content\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\"\\r\\n                materialdesign:check=\\\"true\\\" />\\r\\n```\\r\\n\\r\\n####Progress indicators\\r\\n\\r\\n######Progress bar circular indeterminate\\r\\n![progress bar circular indeterminate](images/progress_bar_circular_indeterminate.png)\\r\\n\\r\\n```xml\\r\\n<com.gc.materialdesign.views.ProgressBarCircularIndeterminate\\r\\n                android:id=\\\"@+id/progressBarCircularIndeterminate\\\"\\r\\n                android:layout_width=\\\"32dp\\\"\\r\\n                android:layout_height=\\\"32dp\\\"\\r\\n                android:background=\\\"#1E88E5\\\" />\\r\\n```\\r\\n\\r\\n######Progress bar indeterminate\\r\\n![progress bar indeterminate](images/progress_bar_indeterminate.png)\\r\\n\\r\\n```xml\\r\\n<com.gc.materialdesign.views.ProgressBarIndeterminate\\r\\n                android:id=\\\"@+id/progressBarIndeterminate\\\"\\r\\n                android:layout_width=\\\"fill_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\" />\\r\\n```\\r\\n\\r\\n######Progress bar indeterminate determinate\\r\\n![Progress bar indeterminate determinate](images/progress_bar_indeterminate_determinate.png)\\r\\n\\r\\n\\r\\n```xml\\r\\n<com.gc.materialdesign.views.ProgressBarIndeterminateDeterminate\\r\\n                android:id=\\\"@+id/progressBarIndeterminateDeterminate\\\"\\r\\n                android:layout_width=\\\"fill_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\" />\\r\\n```\\r\\n\\r\\n>If you begin progrees, you only have to set progress it\\r\\n>\\r\\n>```java\\r\\n>progressBarIndeterminateDeterminate.setProgress(progress);\\r\\n>```\\r\\n\\r\\n######Progress bar determinate\\r\\n![Progress bar determinate](images/progress_bar_determinate.png)\\r\\n\\r\\n\\r\\n```xml\\r\\n<com.gc.materialdesign.views.ProgressBarDeterminate\\r\\n                android:id=\\\"@+id/progressDeterminate\\\"\\r\\n                android:layout_width=\\\"fill_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\" />\\r\\n```\\r\\n\\r\\n>You can custom max and min progress values with `materialdesign:max=\\\"50\\\"` and `materialdesign:min=\\\"25\\\"` attributes.\\r\\n\\r\\n######Slider\\r\\n![Slider](images/slider.png)\\r\\n\\r\\n\\r\\n```xml\\r\\n<com.gc.materialdesign.views.Slider\\r\\n                android:id=\\\"@+id/slider\\\"\\r\\n                android:layout_width=\\\"fill_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\"\\r\\n                materialdesign:max=\\\"50\\\"\\r\\n                materialdesign:min=\\\"0\\\"\\r\\n                 />\\r\\n```\\r\\n\\r\\n######Slider with number indicator\\r\\n![Slider with number indicator](images/slider_with_number_indicator.png)\\r\\n\\r\\n\\r\\n```xml\\r\\n<com.gc.materialdesign.views.Slider\\r\\n                android:id=\\\"@+id/slider\\\"\\r\\n                android:layout_width=\\\"fill_parent\\\"\\r\\n                android:layout_height=\\\"wrap_content\\\"\\r\\n                android:background=\\\"#1E88E5\\\"\\r\\n                materialdesign:max=\\\"50\\\"\\r\\n                materialdesign:min=\\\"0\\\"\\r\\n                materialdesign:showNumberIndicator=\\\"true\\\"/>\\r\\n```\\r\\n\\r\\n##Widgets\\r\\n\\r\\n####SnackBar\\r\\n\\r\\n![Snackbar](images/snackbar.png)\\r\\n\\r\\n\\r\\n```java\\r\\nSnackBar snackbar = new SnackBar(Activity activity, String text, String buttonText, View.OnClickListener onClickListener);\\r\\nsnackbar.show();\\r\\n```\\r\\n\\r\\n> If you don't want to show the button, put `null` in `buttonText` attribute\\r\\n\\r\\n####Dialog\\r\\n\\r\\n![Dialog](images/dialog.png)\\r\\n\\r\\n```java\\r\\nDialog dialog = new Dialog(Context context,String title, String message);\\r\\ndialog.show();\\r\\n```\\r\\n\\r\\n>You can set the accept and cancel button on the event listener or change it's text\\r\\n>```java\\r\\n> // Set accept click listenner\\r\\n>dialog.setOnAcceptButtonClickListener(View.OnClickListener onAcceptButtonClickListener);\\r\\n> // Set cancel click listenner\\r\\n>dialog.setOnCancelButtonClickListener(View.OnClickListener onCancelButtonClickListener);\\r\\n> // Acces to accept button\\r\\n>ButtonFlat acceptButton = dialog.getButtonAccept();\\r\\n> // Acces to cancel button\\r\\n>ButtonFlat cancelButton = dialog.getButtonCancel();\\r\\n>```\\r\\n\\r\\n####Color selector\\r\\n\\r\\n![Color selector](images/color_selector.png)\\r\\n\\r\\n```java\\r\\nColorSelector colorSelector = new ColorSelector(Context context,int intialColor, OnColorSelectedListener onColorSelectedListener);\\r\\ncolorSelector.show();\\r\\n```\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\",\n  \"note\": \"Don't delete this file! It's used internally to help with page regeneration.\"\n}"
  },
  {
    "path": "stylesheets/github-light.css",
    "content": "/*\nThe MIT License (MIT)\n\nCopyright (c) 2016 GitHub, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n*/\n\n.pl-c /* comment */ {\n  color: #969896;\n}\n\n.pl-c1 /* constant, variable.other.constant, support, meta.property-name, support.constant, support.variable, meta.module-reference, markup.raw, meta.diff.header */,\n.pl-s .pl-v /* string variable */ {\n  color: #0086b3;\n}\n\n.pl-e /* entity */,\n.pl-en /* entity.name */ {\n  color: #795da3;\n}\n\n.pl-smi /* variable.parameter.function, storage.modifier.package, storage.modifier.import, storage.type.java, variable.other */,\n.pl-s .pl-s1 /* string source */ {\n  color: #333;\n}\n\n.pl-ent /* entity.name.tag */ {\n  color: #63a35c;\n}\n\n.pl-k /* keyword, storage, storage.type */ {\n  color: #a71d5d;\n}\n\n.pl-s /* string */,\n.pl-pds /* punctuation.definition.string, string.regexp.character-class */,\n.pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */,\n.pl-sr /* string.regexp */,\n.pl-sr .pl-cce /* string.regexp constant.character.escape */,\n.pl-sr .pl-sre /* string.regexp source.ruby.embedded */,\n.pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */ {\n  color: #183691;\n}\n\n.pl-v /* variable */ {\n  color: #ed6a43;\n}\n\n.pl-id /* invalid.deprecated */ {\n  color: #b52a1d;\n}\n\n.pl-ii /* invalid.illegal */ {\n  color: #f8f8f8;\n  background-color: #b52a1d;\n}\n\n.pl-sr .pl-cce /* string.regexp constant.character.escape */ {\n  font-weight: bold;\n  color: #63a35c;\n}\n\n.pl-ml /* markup.list */ {\n  color: #693a17;\n}\n\n.pl-mh /* markup.heading */,\n.pl-mh .pl-en /* markup.heading entity.name */,\n.pl-ms /* meta.separator */ {\n  font-weight: bold;\n  color: #1d3e81;\n}\n\n.pl-mq /* markup.quote */ {\n  color: #008080;\n}\n\n.pl-mi /* markup.italic */ {\n  font-style: italic;\n  color: #333;\n}\n\n.pl-mb /* markup.bold */ {\n  font-weight: bold;\n  color: #333;\n}\n\n.pl-md /* markup.deleted, meta.diff.header.from-file */ {\n  color: #bd2c00;\n  background-color: #ffecec;\n}\n\n.pl-mi1 /* markup.inserted, meta.diff.header.to-file */ {\n  color: #55a532;\n  background-color: #eaffea;\n}\n\n.pl-mdr /* meta.diff.range */ {\n  font-weight: bold;\n  color: #795da3;\n}\n\n.pl-mo /* meta.output */ {\n  color: #1d3e81;\n}\n\n"
  },
  {
    "path": "stylesheets/print.css",
    "content": "html, body, div, span, applet, object, iframe,\nh1, h2, h3, h4, h5, h6, p, blockquote, pre,\na, abbr, acronym, address, big, cite, code,\ndel, dfn, em, img, ins, kbd, q, s, samp,\nsmall, strike, strong, sub, sup, tt, var,\nb, u, i, center,\ndl, dt, dd, ol, ul, li,\nfieldset, form, label, legend,\ntable, caption, tbody, tfoot, thead, tr, th, td,\narticle, aside, canvas, details, embed,\nfigure, figcaption, footer, header, hgroup,\nmenu, nav, output, ruby, section, summary,\ntime, mark, audio, video {\n  padding: 0;\n  margin: 0;\n  font: inherit;\n  font-size: 100%;\n  vertical-align: baseline;\n  border: 0;\n}\n/* HTML5 display-role reset for older browsers */\narticle, aside, details, figcaption, figure,\nfooter, header, hgroup, menu, nav, section {\n  display: block;\n}\nbody {\n  line-height: 1;\n}\nol, ul {\n  list-style: none;\n}\nblockquote, q {\n  quotes: none;\n}\nblockquote:before, blockquote:after,\nq:before, q:after {\n  content: '';\n  content: none;\n}\ntable {\n  border-spacing: 0;\n  border-collapse: collapse;\n}\nbody {\n  font-family: 'Helvetica Neue', Helvetica, Arial, serif;\n  font-size: 13px;\n  line-height: 1.5;\n  color: #000;\n}\n\na {\n  font-weight: bold;\n  color: #d5000d;\n}\n\nheader {\n  padding-top: 35px;\n  padding-bottom: 10px;\n}\n\nheader h1 {\n  font-size: 48px;\n  font-weight: bold;\n  line-height: 1.2;\n  color: #303030;\n  letter-spacing: -1px;\n}\n\nheader h2 {\n  font-size: 24px;\n  font-weight: normal;\n  line-height: 1.3;\n  color: #aaa;\n  letter-spacing: -1px;\n}\n#downloads {\n  display: none;\n}\n#main_content {\n  padding-top: 20px;\n}\n\ncode, pre {\n  margin-bottom: 30px;\n  font-family: Monaco, \"Bitstream Vera Sans Mono\", \"Lucida Console\", Terminal;\n  font-size: 12px;\n  color: #222;\n}\n\ncode {\n  padding: 0 3px;\n}\n\npre {\n  padding: 20px;\n  overflow: auto;\n  border: solid 1px #ddd;\n}\npre code {\n  padding: 0;\n}\n\nul, ol, dl {\n  margin-bottom: 20px;\n}\n\n\n/* COMMON STYLES */\n\ntable {\n  width: 100%;\n  border: 1px solid #ebebeb;\n}\n\nth {\n  font-weight: 500;\n}\n\ntd {\n  font-weight: 300;\n  text-align: center;\n  border: 1px solid #ebebeb;\n}\n\nform {\n  padding: 20px;\n  background: #f2f2f2;\n\n}\n\n\n/* GENERAL ELEMENT TYPE STYLES */\n\nh1 {\n  font-size: 2.8em;\n}\n\nh2 {\n  margin-bottom: 8px;\n  font-size: 22px;\n  font-weight: bold;\n  color: #303030;\n}\n\nh3 {\n  margin-bottom: 8px;\n  font-size: 18px;\n  font-weight: bold;\n  color: #d5000d;\n}\n\nh4 {\n  font-size: 16px;\n  font-weight: bold;\n  color: #303030;\n}\n\nh5 {\n  font-size: 1em;\n  color: #303030;\n}\n\nh6 {\n  font-size: .8em;\n  color: #303030;\n}\n\np {\n  margin-bottom: 20px;\n  font-weight: 300;\n}\n\na {\n  text-decoration: none;\n}\n\np a {\n  font-weight: 400;\n}\n\nblockquote {\n  padding: 0 0 0 30px;\n  margin-bottom: 20px;\n  font-size: 1.6em;\n  border-left: 10px solid #e9e9e9;\n}\n\nul li {\n  padding-left: 20px;\n  list-style-position: inside;\n  list-style: disc;\n}\n\nol li {\n  padding-left: 3px;\n  list-style-position: inside;\n  list-style: decimal;\n}\n\ndl dd {\n  font-style: italic;\n  font-weight: 100;\n}\n\nfooter {\n  padding-top: 20px;\n  padding-bottom: 30px;\n  margin-top: 40px;\n  font-size: 13px;\n  color: #aaa;\n}\n\nfooter a {\n  color: #666;\n}\n\n/* MISC */\n.clearfix:after {\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n  content: '.';\n}\n\n.clearfix {display: inline-block;}\n* html .clearfix {height: 1%;}\n.clearfix {display: block;}\n"
  },
  {
    "path": "stylesheets/stylesheet.css",
    "content": "/*! normalize.css v3.0.2 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *    user zoom.\n */\n\nhtml {\n  font-family: sans-serif; /* 1 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n  -ms-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; /* 1 */\n  vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n  margin: 0.67em 0;\n  font-size: 2em;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n  color: #000;\n  background: #ff0;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n  border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n  height: 0;\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n  overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  margin: 0; /* 3 */\n  font: inherit; /* 2 */\n  color: inherit; /* 1 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n  overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; /* 2 */\n  cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n  line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n *    (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n  -webkit-box-sizing: content-box; /* 2 */\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n  -webkit-appearance: textfield; /* 1 */\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n  padding: 0.35em 0.625em 0.75em;\n  margin: 0 2px;\n  border: 1px solid #c0c0c0;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n  padding: 0; /* 2 */\n  border: 0; /* 1 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n  border-spacing: 0;\n  border-collapse: collapse;\n}\n\ntd,\nth {\n  padding: 0;\n}\n\n/* LAYOUT STYLES */\nbody {\n  font-family: 'Helvetica Neue', Helvetica, Arial, serif;\n  font-size: 15px;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #666;\n  background: #fafafa url(../images/body-bg.jpg) 0 0 repeat;\n}\n\np {\n  margin-top: 0;\n}\n\na {\n  color: #2879d0;\n}\na:hover {\n  color: #2268b2;\n}\n\nheader {\n  padding-top: 40px;\n  padding-bottom: 40px;\n  font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;\n  background: #2e7bcf url(../images/header-bg.jpg) 0 0 repeat-x;\n  border-bottom: solid 1px #275da1;\n}\n\nheader h1 {\n  width: 540px;\n  margin-top: 0;\n  margin-bottom: 0.2em;\n  font-size: 72px;\n  font-weight: normal;\n  line-height: 1;\n  color: #fff;\n  letter-spacing: -1px;\n}\n\nheader h2 {\n  width: 540px;\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 26px;\n  font-weight: normal;\n  line-height: 1.3;\n  color: #9ddcff;\n  letter-spacing: 0;\n}\n\n.inner {\n  position: relative;\n  width: 940px;\n  margin: 0 auto;\n}\n\n#content-wrapper {\n  padding-top: 30px;\n  border-top: solid 1px #fff;\n}\n\n#main-content {\n  float: left;\n  width: 690px;\n}\n\n#main-content img {\n  max-width: 100%;\n}\n\naside#sidebar {\n  float: right;\n  width: 200px;\n  min-height: 504px;\n  padding-left: 20px;\n  font-size: 12px;\n  line-height: 1.3;\n  background: transparent url(../images/sidebar-bg.jpg) 0 0 no-repeat;\n}\n\naside#sidebar p.repo-owner,\naside#sidebar p.repo-owner a {\n  font-weight: bold;\n}\n\n#downloads {\n  margin-bottom: 40px;\n}\n\na.button {\n  width: 134px;\n  height: 58px;\n  padding-top: 22px;\n  padding-left: 68px;\n  font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;\n  font-size: 23px;\n  line-height: 1.2;\n  color: #fff;\n}\na.button small {\n  display: block;\n  font-size: 11px;\n}\nheader a.button {\n  position: absolute;\n  top: 0;\n  right: 0;\n  background: transparent url(../images/github-button.png) 0 0 no-repeat;\n}\naside a.button {\n  display: block;\n  width: 138px;\n  padding-left: 64px;\n  margin-bottom: 20px;\n  font-size: 21px;\n  background: transparent url(../images/download-button.png) 0 0 no-repeat;\n}\n\ncode, pre {\n  margin-bottom: 30px;\n  font-family: Monaco, \"Bitstream Vera Sans Mono\", \"Lucida Console\", Terminal, monospace;\n  font-size: 13px;\n  color: #222;\n}\n\ncode {\n  padding: 0 3px;\n  background-color: #f2f8fc;\n  border: solid 1px #dbe7f3;\n}\n\npre {\n  padding: 20px;\n  overflow: auto;\n  text-shadow: none;\n  background: #fff;\n  border: solid 1px #f2f2f2;\n}\npre code {\n  padding: 0;\n  color: #2879d0;\n  background-color: #fff;\n  border: none;\n}\n\nul, ol, dl {\n  margin-bottom: 20px;\n}\n\n\n/* COMMON STYLES */\n\nhr {\n  height: 0;\n  margin-top: 1em;\n  margin-bottom: 1em;\n  border: 0;\n  border-top: solid 1px #ddd;\n}\n\ntable {\n  width: 100%;\n  border: 1px solid #ebebeb;\n}\n\nth {\n  font-weight: 500;\n}\n\ntd {\n  font-weight: 300;\n  text-align: center;\n  border: 1px solid #ebebeb;\n}\n\nform {\n  padding: 20px;\n  background: #f2f2f2;\n\n}\n\n\n/* GENERAL ELEMENT TYPE STYLES */\n\n#main-content h1 {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;\n  font-size: 2.8em;\n  font-weight: normal;\n  color: #474747;\n  text-indent: 6px;\n  letter-spacing: -1px;\n}\n\n#main-content h1:before {\n  padding-right: 0.3em;\n  margin-left: -0.9em;\n  color: #9ddcff;\n  content: \"/\";\n}\n\n#main-content h2 {\n  margin-bottom: 8px;\n  font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;\n  font-size: 22px;\n  font-weight: bold;\n  color: #474747;\n  text-indent: 4px;\n}\n#main-content h2:before {\n  padding-right: 0.3em;\n  margin-left: -1.5em;\n  content: \"//\";\n  color: #9ddcff;\n}\n\n#main-content h3 {\n  margin-top: 24px;\n  margin-bottom: 8px;\n  font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;\n  font-size: 18px;\n  font-weight: bold;\n  color: #474747;\n  text-indent: 3px;\n}\n\n#main-content h3:before {\n  padding-right: 0.3em;\n  margin-left: -2em;\n  content: \"///\";\n  color: #9ddcff;\n}\n\n#main-content h4 {\n  margin-bottom: 8px;\n  font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;\n  font-size: 15px;\n  font-weight: bold;\n  color: #474747;\n  text-indent: 3px;\n}\n\nh4:before {\n  padding-right: 0.3em;\n  margin-left: -2.8em;\n  content: \"////\";\n  color: #9ddcff;\n}\n\n#main-content h5 {\n  margin-bottom: 8px;\n  font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;\n  font-size: 14px;\n  color: #474747;\n  text-indent: 3px;\n}\nh5:before {\n  padding-right: 0.3em;\n  margin-left: -3.2em;\n  content: \"/////\";\n  color: #9ddcff;\n}\n\n#main-content h6 {\n  margin-bottom: 8px;\n  font-family: 'Architects Daughter', 'Helvetica Neue', Helvetica, Arial, serif;\n  font-size: .8em;\n  color: #474747;\n  text-indent: 3px;\n}\nh6:before {\n  padding-right: 0.3em;\n  margin-left: -3.7em;\n  content: \"//////\";\n  color: #9ddcff;\n}\n\np {\n  margin-bottom: 20px;\n}\n\na {\n  text-decoration: none;\n}\n\np a {\n  font-weight: 400;\n}\n\nblockquote {\n  padding: 0 0 0 30px;\n  margin-bottom: 20px;\n  font-size: 1.6em;\n  border-left: 10px solid #e9e9e9;\n}\n\nul {\n  list-style-position: inside;\n  list-style: disc;\n  padding-left: 20px;\n}\n\nol {\n  list-style-position: inside;\n  list-style: decimal;\n  padding-left: 3px;\n}\n\ndl dd {\n  font-style: italic;\n  font-weight: 100;\n}\n\nfooter {\n  padding-top: 20px;\n  padding-bottom: 30px;\n  margin-top: 40px;\n  font-size: 13px;\n  color: #aaa;\n  background: transparent url('../images/hr.png') 0 0 no-repeat;\n}\n\nfooter a {\n  color: #666;\n}\nfooter a:hover {\n  color: #444;\n}\n\n/* MISC */\n.clearfix:after {\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n  content: '.';\n}\n\n.clearfix {display: inline-block;}\n* html .clearfix {height: 1%;}\n.clearfix {display: block;}\n\n/* #Media Queries\n================================================== */\n\n/* Smaller than standard 960 (devices and browsers) */\n@media only screen and (max-width: 959px) { }\n\n/* Tablet Portrait size to standard 960 (devices and browsers) */\n@media only screen and (min-width: 768px) and (max-width: 959px) {\n  .inner {\n    width: 740px;\n  }\n  header h1, header h2 {\n    width: 340px;\n  }\n  header h1 {\n    font-size: 60px;\n  }\n  header h2 {\n    font-size: 30px;\n  }\n  #main-content {\n    width: 490px;\n  }\n  #main-content h1:before,\n  #main-content h2:before,\n  #main-content h3:before,\n  #main-content h4:before,\n  #main-content h5:before,\n  #main-content h6:before {\n    padding-right: 0;\n    margin-left: 0;\n    content: none;\n  }\n}\n\n/* All Mobile Sizes (devices and browser) */\n@media only screen and (max-width: 767px) {\n  .inner {\n    width: 93%;\n  }\n  header {\n    padding: 20px 0;\n  }\n  header .inner {\n    position: relative;\n  }\n  header h1, header h2 {\n    width: 100%;\n  }\n  header h1 {\n    font-size: 48px;\n  }\n  header h2 {\n    font-size: 24px;\n  }\n  header a.button {\n    position: relative;\n    display: inline-block;\n    width: auto;\n    height: auto;\n    padding: 5px 10px;\n    margin-top: 15px;\n    font-size: 13px;\n    line-height: 1;\n    color: #2879d0;\n    text-align: center;\n    background-color: #9ddcff;\n    background-image: none;\n    border-radius: 5px;\n    -moz-border-radius: 5px;\n    -webkit-border-radius: 5px;\n  }\n  header a.button small {\n    display: inline;\n    font-size: 13px;\n  }\n  #main-content,\n  aside#sidebar {\n    float: none;\n    width: 100% ! important;\n  }\n  aside#sidebar {\n    min-height: 0;\n    padding: 20px 0;\n    margin-top: 20px;\n    background-image: none;\n    border-top: solid 1px #ddd;\n  }\n  aside#sidebar a.button {\n    display: none;\n  }\n  #main-content h1:before,\n  #main-content h2:before,\n  #main-content h3:before,\n  #main-content h4:before,\n  #main-content h5:before,\n  #main-content h6:before {\n    padding-right: 0;\n    margin-left: 0;\n    content: none;\n  }\n}\n\n/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */\n@media only screen and (min-width: 480px) and (max-width: 767px) { }\n\n/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */\n@media only screen and (max-width: 479px) { }\n\n"
  }
]