[
  {
    "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/*/build/\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"
  },
  {
    "path": ".idea/.name",
    "content": "SublimeNavigationView"
  },
  {
    "path": ".idea/compiler.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"CompilerConfiguration\">\n    <resourceExtensions />\n    <wildcardResourcePatterns>\n      <entry name=\"!?*.java\" />\n      <entry name=\"!?*.form\" />\n      <entry name=\"!?*.class\" />\n      <entry name=\"!?*.groovy\" />\n      <entry name=\"!?*.scala\" />\n      <entry name=\"!?*.flex\" />\n      <entry name=\"!?*.kt\" />\n      <entry name=\"!?*.clj\" />\n      <entry name=\"!?*.aj\" />\n    </wildcardResourcePatterns>\n    <annotationProcessing>\n      <profile default=\"true\" name=\"Default\" enabled=\"false\">\n        <processorPath useClasspath=\"true\" />\n      </profile>\n    </annotationProcessing>\n  </component>\n</project>"
  },
  {
    "path": ".idea/copyright/profiles_settings.xml",
    "content": "<component name=\"CopyrightManager\">\n  <settings default=\"\" />\n</component>"
  },
  {
    "path": ".idea/encodings.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"Encoding\">\n    <file url=\"PROJECT\" charset=\"UTF-8\" />\n  </component>\n</project>"
  },
  {
    "path": ".idea/gradle.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"GradleSettings\">\n    <option name=\"linkedExternalProjectsSettings\">\n      <GradleProjectSettings>\n        <option name=\"distributionType\" value=\"LOCAL\" />\n        <option name=\"externalProjectPath\" value=\"$PROJECT_DIR$\" />\n        <option name=\"gradleHome\" value=\"C:\\Program Files\\Android\\Android Studio\\gradle\\gradle-2.8\" />\n        <option name=\"gradleJvm\" value=\"1.8\" />\n        <option name=\"modules\">\n          <set>\n            <option value=\"$PROJECT_DIR$\" />\n            <option value=\"$PROJECT_DIR$/app\" />\n            <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n          </set>\n        </option>\n      </GradleProjectSettings>\n    </option>\n  </component>\n</project>"
  },
  {
    "path": ".idea/libraries/appcompat_v7_23_1_1.xml",
    "content": "<component name=\"libraryTable\">\n  <library name=\"appcompat-v7-23.1.1\">\n    <CLASSES>\n      <root url=\"file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.1.1/res\" />\n      <root url=\"jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.1.1/jars/classes.jar!/\" />\n    </CLASSES>\n    <JAVADOC />\n    <SOURCES>\n      <root url=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1-sources.jar!/\" />\n    </SOURCES>\n  </library>\n</component>"
  },
  {
    "path": ".idea/libraries/cardview_v7_23_1_1.xml",
    "content": "<component name=\"libraryTable\">\n  <library name=\"cardview-v7-23.1.1\">\n    <CLASSES>\n      <root url=\"file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/cardview-v7/23.1.1/res\" />\n      <root url=\"jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/cardview-v7/23.1.1/jars/classes.jar!/\" />\n    </CLASSES>\n    <JAVADOC />\n    <SOURCES>\n      <root url=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/cardview-v7/23.1.1/cardview-v7-23.1.1-sources.jar!/\" />\n    </SOURCES>\n  </library>\n</component>"
  },
  {
    "path": ".idea/libraries/design_23_1_1.xml",
    "content": "<component name=\"libraryTable\">\n  <library name=\"design-23.1.1\">\n    <CLASSES>\n      <root url=\"file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/design/23.1.1/res\" />\n      <root url=\"jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/design/23.1.1/jars/classes.jar!/\" />\n    </CLASSES>\n    <JAVADOC />\n    <SOURCES>\n      <root url=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/design/23.1.1/design-23.1.1-sources.jar!/\" />\n    </SOURCES>\n  </library>\n</component>"
  },
  {
    "path": ".idea/libraries/recyclerview_v7_23_1_1.xml",
    "content": "<component name=\"libraryTable\">\n  <library name=\"recyclerview-v7-23.1.1\">\n    <CLASSES>\n      <root url=\"jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.1.1/jars/classes.jar!/\" />\n      <root url=\"file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.1.1/res\" />\n    </CLASSES>\n    <JAVADOC />\n    <SOURCES>\n      <root url=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/recyclerview-v7/23.1.1/recyclerview-v7-23.1.1-sources.jar!/\" />\n    </SOURCES>\n  </library>\n</component>"
  },
  {
    "path": ".idea/libraries/support_annotations_23_1_1.xml",
    "content": "<component name=\"libraryTable\">\n  <library name=\"support-annotations-23.1.1\">\n    <CLASSES>\n      <root url=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1.jar!/\" />\n    </CLASSES>\n    <JAVADOC />\n    <SOURCES>\n      <root url=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1-sources.jar!/\" />\n    </SOURCES>\n  </library>\n</component>"
  },
  {
    "path": ".idea/libraries/support_v4_23_1_1.xml",
    "content": "<component name=\"libraryTable\">\n  <library name=\"support-v4-23.1.1\">\n    <CLASSES>\n      <root url=\"jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/jars/libs/internal_impl-23.1.1.jar!/\" />\n      <root url=\"jar://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/jars/classes.jar!/\" />\n      <root url=\"file://$PROJECT_DIR$/app/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/res\" />\n    </CLASSES>\n    <JAVADOC />\n    <SOURCES>\n      <root url=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1-sources.jar!/\" />\n    </SOURCES>\n  </library>\n</component>"
  },
  {
    "path": ".idea/misc.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"EntryPointsManager\">\n    <entry_points version=\"2.0\" />\n  </component>\n  <component name=\"NullableNotNullManager\">\n    <option name=\"myDefaultNullable\" value=\"android.support.annotation.Nullable\" />\n    <option name=\"myDefaultNotNull\" value=\"android.support.annotation.NonNull\" />\n    <option name=\"myNullables\">\n      <value>\n        <list size=\"4\">\n          <item index=\"0\" class=\"java.lang.String\" itemvalue=\"org.jetbrains.annotations.Nullable\" />\n          <item index=\"1\" class=\"java.lang.String\" itemvalue=\"javax.annotation.Nullable\" />\n          <item index=\"2\" class=\"java.lang.String\" itemvalue=\"edu.umd.cs.findbugs.annotations.Nullable\" />\n          <item index=\"3\" class=\"java.lang.String\" itemvalue=\"android.support.annotation.Nullable\" />\n        </list>\n      </value>\n    </option>\n    <option name=\"myNotNulls\">\n      <value>\n        <list size=\"4\">\n          <item index=\"0\" class=\"java.lang.String\" itemvalue=\"org.jetbrains.annotations.NotNull\" />\n          <item index=\"1\" class=\"java.lang.String\" itemvalue=\"javax.annotation.Nonnull\" />\n          <item index=\"2\" class=\"java.lang.String\" itemvalue=\"edu.umd.cs.findbugs.annotations.NonNull\" />\n          <item index=\"3\" class=\"java.lang.String\" itemvalue=\"android.support.annotation.NonNull\" />\n        </list>\n      </value>\n    </option>\n  </component>\n  <component name=\"ProjectLevelVcsManager\" settingsEditedManually=\"false\">\n    <OptionsSetting value=\"true\" id=\"Add\" />\n    <OptionsSetting value=\"true\" id=\"Remove\" />\n    <OptionsSetting value=\"true\" id=\"Checkout\" />\n    <OptionsSetting value=\"true\" id=\"Update\" />\n    <OptionsSetting value=\"true\" id=\"Status\" />\n    <OptionsSetting value=\"true\" id=\"Edit\" />\n    <ConfirmationsSetting value=\"0\" id=\"Add\" />\n    <ConfirmationsSetting value=\"0\" id=\"Remove\" />\n  </component>\n  <component name=\"ProjectRootManager\" version=\"2\" languageLevel=\"JDK_1_7\" default=\"true\" assert-keyword=\"true\" jdk-15=\"true\" project-jdk-name=\"1.8\" project-jdk-type=\"JavaSDK\">\n    <output url=\"file://$PROJECT_DIR$/build/classes\" />\n  </component>\n  <component name=\"ProjectType\">\n    <option name=\"id\" value=\"Android\" />\n  </component>\n</project>"
  },
  {
    "path": ".idea/modules.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"ProjectModuleManager\">\n    <modules>\n      <module fileurl=\"file://$PROJECT_DIR$/SublimeNavigationView.iml\" filepath=\"$PROJECT_DIR$/SublimeNavigationView.iml\" />\n      <module fileurl=\"file://$PROJECT_DIR$/app/app.iml\" filepath=\"$PROJECT_DIR$/app/app.iml\" />\n      <module fileurl=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/sublimenavigationviewlibrary.iml\" filepath=\"$PROJECT_DIR$/sublimenavigationviewlibrary/sublimenavigationviewlibrary.iml\" />\n    </modules>\n  </component>\n</project>"
  },
  {
    "path": ".idea/runConfigurations.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"RunConfigurationProducerService\">\n    <option name=\"ignoredProducers\">\n      <set>\n        <option value=\"org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer\" />\n        <option value=\"org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer\" />\n        <option value=\"org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer\" />\n      </set>\n    </option>\n  </component>\n</project>"
  },
  {
    "path": ".idea/vcs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"VcsDirectoryMappings\">\n    <mapping directory=\"$PROJECT_DIR$\" vcs=\"Git\" />\n  </component>\n</project>"
  },
  {
    "path": ".idea/workspace.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n  <component name=\"AndroidLayouts\">\n    <shared>\n      <config />\n    </shared>\n  </component>\n  <component name=\"AndroidLogFilters\">\n    <option name=\"TOOL_WINDOW_LOG_LEVEL\" value=\"DEBUG\" />\n    <option name=\"TOOL_WINDOW_CONFIGURED_FILTER\" value=\"Show only selected application\" />\n  </component>\n  <component name=\"ChangeListManager\">\n    <list default=\"true\" id=\"211d4b2b-d6b1-49af-bb16-770f9df980f4\" name=\"Default\" comment=\"\">\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeBaseMenuItem.java\" afterPath=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeBaseMenuItem.java\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenu.java\" afterPath=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenu.java\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeNavigationView.java\" afterPath=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeNavigationView.java\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/app/app.iml\" afterPath=\"$PROJECT_DIR$/app/app.iml\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/.idea/libraries/appcompat_v7_23_1_1.xml\" afterPath=\"$PROJECT_DIR$/.idea/libraries/appcompat_v7_23_1_1.xml\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/.idea/libraries/design_23_1_1.xml\" afterPath=\"$PROJECT_DIR$/.idea/libraries/design_23_1_1.xml\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/.idea/libraries/recyclerview_v7_23_1_1.xml\" afterPath=\"$PROJECT_DIR$/.idea/libraries/recyclerview_v7_23_1_1.xml\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/sublimenavigationviewlibrary/sublimenavigationviewlibrary.iml\" afterPath=\"$PROJECT_DIR$/sublimenavigationviewlibrary/sublimenavigationviewlibrary.iml\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/.idea/libraries/support_v4_23_1_1.xml\" afterPath=\"$PROJECT_DIR$/.idea/libraries/support_v4_23_1_1.xml\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/.idea/vcs.xml\" afterPath=\"$PROJECT_DIR$/.idea/vcs.xml\" />\n      <change type=\"MODIFICATION\" beforePath=\"$PROJECT_DIR$/.idea/workspace.xml\" afterPath=\"$PROJECT_DIR$/.idea/workspace.xml\" />\n    </list>\n    <ignored path=\"SublimeNavigationView.iws\" />\n    <ignored path=\".idea/workspace.xml\" />\n    <option name=\"EXCLUDED_CONVERTED_TO_IGNORED\" value=\"true\" />\n    <option name=\"TRACKING_ENABLED\" value=\"true\" />\n    <option name=\"SHOW_DIALOG\" value=\"false\" />\n    <option name=\"HIGHLIGHT_CONFLICTS\" value=\"true\" />\n    <option name=\"HIGHLIGHT_NON_ACTIVE_CHANGELIST\" value=\"false\" />\n    <option name=\"LAST_RESOLUTION\" value=\"IGNORE\" />\n  </component>\n  <component name=\"ChangesViewManager\" flattened_view=\"true\" show_ignored=\"false\" />\n  <component name=\"CreatePatchCommitExecutor\">\n    <option name=\"PATCH_PATH\" value=\"\" />\n  </component>\n  <component name=\"ExecutionTargetManager\" SELECTED_TARGET=\"default_target\" />\n  <component name=\"ExternalProjectsManager\">\n    <system id=\"GRADLE\">\n      <state>\n        <projects_view />\n      </state>\n    </system>\n  </component>\n  <component name=\"FavoritesManager\">\n    <favorites_list name=\"SublimeNavigationView\" />\n  </component>\n  <component name=\"FileEditorManager\">\n    <leaf>\n      <file leaf-file-name=\"Sampler.java\" pinned=\"false\" current-in-tab=\"false\">\n        <entry file=\"file://$PROJECT_DIR$/app/src/main/java/com/appeaser/sublimenavigationview/Sampler.java\">\n          <provider selected=\"true\" editor-type-id=\"text-editor\">\n            <state vertical-scroll-proportion=\"0.0\">\n              <caret line=\"221\" column=\"18\" selection-start-line=\"221\" selection-start-column=\"18\" selection-end-line=\"221\" selection-end-column=\"18\" />\n              <folding>\n                <element signature=\"imports\" expanded=\"true\" />\n              </folding>\n            </state>\n          </provider>\n        </entry>\n      </file>\n      <file leaf-file-name=\"nav_header.xml\" pinned=\"false\" current-in-tab=\"false\">\n        <entry file=\"file://$PROJECT_DIR$/app/src/main/res/layout/nav_header.xml\">\n          <provider editor-type-id=\"android-designer\">\n            <state />\n          </provider>\n          <provider selected=\"true\" editor-type-id=\"text-editor\">\n            <state vertical-scroll-proportion=\"-0.0\">\n              <caret line=\"21\" column=\"56\" selection-start-line=\"21\" selection-start-column=\"56\" selection-end-line=\"21\" selection-end-column=\"56\" />\n              <folding />\n            </state>\n          </provider>\n        </entry>\n      </file>\n      <file leaf-file-name=\"SublimeMenu.java\" pinned=\"false\" current-in-tab=\"true\">\n        <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenu.java\">\n          <provider selected=\"true\" editor-type-id=\"text-editor\">\n            <state vertical-scroll-proportion=\"0.14285715\">\n              <caret line=\"117\" column=\"49\" selection-start-line=\"117\" selection-start-column=\"49\" selection-end-line=\"117\" selection-end-column=\"49\" />\n              <folding>\n                <element signature=\"e#3097#3098#0\" expanded=\"true\" />\n                <element signature=\"e#3145#3146#0\" expanded=\"true\" />\n                <element signature=\"e#3183#3184#0\" expanded=\"true\" />\n                <element signature=\"e#3221#3222#0\" expanded=\"true\" />\n                <element signature=\"e#3771#3772#0\" expanded=\"true\" />\n                <element signature=\"e#3801#3802#0\" expanded=\"true\" />\n                <element signature=\"e#27669#27670#0\" expanded=\"true\" />\n                <element signature=\"e#27725#27726#0\" expanded=\"true\" />\n                <element signature=\"e#33843#33844#0\" expanded=\"true\" />\n                <element signature=\"e#33879#33880#0\" expanded=\"true\" />\n              </folding>\n            </state>\n          </provider>\n        </entry>\n      </file>\n      <file leaf-file-name=\"SublimeNavigationView.java\" pinned=\"false\" current-in-tab=\"false\">\n        <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeNavigationView.java\">\n          <provider selected=\"true\" editor-type-id=\"text-editor\">\n            <state vertical-scroll-proportion=\"0.0\">\n              <caret line=\"363\" column=\"40\" selection-start-line=\"363\" selection-start-column=\"40\" selection-end-line=\"363\" selection-end-column=\"40\" />\n              <folding />\n            </state>\n          </provider>\n        </entry>\n      </file>\n    </leaf>\n  </component>\n  <component name=\"GenerateSignedApkSettings\">\n    <option name=\"KEY_STORE_PATH\" value=\"C:\\Users\\Admin\\Development\\Release Docs\\SublimeNavigationView\\sublime_navigation_view_keystore.jks\" />\n    <option name=\"KEY_ALIAS\" value=\"sublimenavigationviewlibrarykeystore\" />\n    <option name=\"REMEMBER_PASSWORDS\" value=\"true\" />\n  </component>\n  <component name=\"Git.Settings\">\n    <option name=\"RECENT_GIT_ROOT_PATH\" value=\"$PROJECT_DIR$\" />\n    <option name=\"RECENT_BRANCH_BY_REPOSITORY\">\n      <map>\n        <entry key=\"$PROJECT_DIR$\" value=\"master\" />\n      </map>\n    </option>\n  </component>\n  <component name=\"GradleLocalSettings\">\n    <option name=\"availableProjects\">\n      <map>\n        <entry>\n          <key>\n            <ExternalProjectPojo>\n              <option name=\"name\" value=\"SublimeNavigationView\" />\n              <option name=\"path\" value=\"$PROJECT_DIR$\" />\n            </ExternalProjectPojo>\n          </key>\n          <value>\n            <list>\n              <ExternalProjectPojo>\n                <option name=\"name\" value=\":app\" />\n                <option name=\"path\" value=\"$PROJECT_DIR$/app\" />\n              </ExternalProjectPojo>\n              <ExternalProjectPojo>\n                <option name=\"name\" value=\"SublimeNavigationView\" />\n                <option name=\"path\" value=\"$PROJECT_DIR$\" />\n              </ExternalProjectPojo>\n              <ExternalProjectPojo>\n                <option name=\"name\" value=\":sublimenavigationviewlibrary\" />\n                <option name=\"path\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n              </ExternalProjectPojo>\n            </list>\n          </value>\n        </entry>\n      </map>\n    </option>\n    <option name=\"availableTasks\">\n      <map>\n        <entry key=\"$PROJECT_DIR$\">\n          <value>\n            <list>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"clean\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the components produced by root project 'SublimeNavigationView'. [incubating]\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"components\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays all dependencies declared in root project 'SublimeNavigationView'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"dependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the insight into a specific dependency in root project 'SublimeNavigationView'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"dependencyInsight\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays a help message.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"help\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Initializes a new Gradle build. [incubating]\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"init\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the configuration model of root project 'SublimeNavigationView'. [incubating]\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"model\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the sub-projects of root project 'SublimeNavigationView'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"projects\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the properties of root project 'SublimeNavigationView'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"properties\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the tasks runnable from root project 'SublimeNavigationView' (some of the displayed tasks may belong to subprojects).\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"tasks\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Generates Gradle wrapper files. [incubating]\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"wrapper\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the Android dependencies of the project.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"androidDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all variants of all applications and secondary packages.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"assemble\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all the Test applications.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"assembleAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all Debug builds.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"assembleDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"assembleDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"assembleDebugUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all Release builds.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"assembleRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"assembleReleaseUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles and tests this project.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"build\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles and tests this project and all projects that depend on it.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"buildDependents\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles and tests this project and all projects it depends on.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"buildNeeded\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs all checks.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"check\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"checkDebugManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"checkReleaseManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugAidl\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestAidl\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestNdk\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugNdk\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugUnitTestJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileDebugUnitTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileLint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileReleaseAidl\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileReleaseJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileReleaseNdk\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileReleaseRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileReleaseSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileReleaseUnitTestJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"compileReleaseUnitTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs and runs instrumentation tests for all flavors on connected devices.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"connectedAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs all device checks on currently connected devices.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"connectedCheck\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs and runs the tests for debug on connected devices.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"connectedDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs and runs instrumentation tests using all Device Providers.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"deviceAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs all device checks using Device Providers and Test Servers.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"deviceCheck\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"dexDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"dexDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"dexRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestBuildConfig\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestResValues\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugBuildConfig\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugResValues\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateDebugSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateReleaseAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateReleaseBuildConfig\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateReleaseResValues\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"generateReleaseSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"installDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs the android (on device) tests for the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"installDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"jarDebugClasses\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"jarReleaseClasses\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on all variants.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"lint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"lintDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on the Release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"lintRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on just the fatal issues in the Release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"lintVitalRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"mergeDebugAndroidTestAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"mergeDebugAndroidTestResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"mergeDebugAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"mergeDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"mergeReleaseAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"mergeReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Creates a version of android.jar that's suitable for unit tests.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"mockableAndroidJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"preBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"preDebugAndroidTestBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"preDebugBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"preDebugUnitTestBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"preDexDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"preDexDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"preDexRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"preReleaseBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"preReleaseUnitTestBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:appcompat-v7:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportAppcompatV72311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:cardview-v7:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportCardviewV72311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:design:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportDesign2311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:recyclerview-v7:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportRecyclerviewV72311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:support-v4:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportSupportV42311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.appeaser.sublimenavigationviewlibrary:sublimenavigationviewlibrary:0.0.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareComAppeaserSublimenavigationviewlibrarySublimenavigationviewlibrary001Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareDebugAndroidTestDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareDebugDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareDebugUnitTestDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareReleaseDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"prepareReleaseUnitTestDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processDebugAndroidTestJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processDebugAndroidTestManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processDebugAndroidTestResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processDebugJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processDebugManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processDebugUnitTestJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processReleaseJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processReleaseManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"processReleaseUnitTestJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the signing info for each variant.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"signingReport\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prints out all the source sets defined in this project.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"sourceSets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Run unit tests for all variants.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"test\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Run unit tests for the debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"testDebugUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Run unit tests for the release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"testReleaseUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstall all applications.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"uninstallAll\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstalls the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"uninstallDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstalls the android (on device) tests for the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"uninstallDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstalls the Release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"uninstallRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"validateDebugSigning\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"zipalignDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"assembleDefault\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Publishes artifacts to bintray.com.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"bintrayUpload\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles a bundle containing the library in debug.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"bundleDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles a bundle containing the library in release.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"bundleRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"copyDebugLint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"copyReleaseLint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Extracts Android annotations for the debug variant into the archive file\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"extractDebugAnnotations\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Extracts Android annotations for the release variant into the archive file\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"extractReleaseAnnotations\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs the 'archives' artifacts into the local Maven repository.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"install\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"javadoc\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"javadocJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"mergeDebugProguardFiles\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"mergeReleaseProguardFiles\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageDebugJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageDebugJniLibs\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageDebugLocalJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageDebugRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageReleaseJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageReleaseJniLibs\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageReleaseLocalJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageReleaseRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"packageReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$\" />\n                <option name=\"name\" value=\"sourcesJar\" />\n              </ExternalTaskPojo>\n            </list>\n          </value>\n        </entry>\n        <entry key=\"$PROJECT_DIR$/app\">\n          <value>\n            <list>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the Android dependencies of the project.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"androidDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all variants of all applications and secondary packages.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"assemble\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all the Test applications.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"assembleAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all Debug builds.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"assembleDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"assembleDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"assembleDebugUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all Release builds.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"assembleRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"assembleReleaseUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles and tests this project.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"build\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles and tests this project and all projects that depend on it.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"buildDependents\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles and tests this project and all projects it depends on.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"buildNeeded\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs all checks.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"check\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"checkDebugManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"checkReleaseManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Deletes the build directory.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"clean\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugAidl\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestAidl\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestNdk\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugNdk\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugUnitTestJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileDebugUnitTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileLint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileReleaseAidl\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileReleaseJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileReleaseNdk\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileReleaseRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileReleaseSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileReleaseUnitTestJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"compileReleaseUnitTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the components produced by project ':app'. [incubating]\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"components\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs and runs instrumentation tests for all flavors on connected devices.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"connectedAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs all device checks on currently connected devices.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"connectedCheck\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs and runs the tests for debug on connected devices.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"connectedDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays all dependencies declared in project ':app'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"dependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the insight into a specific dependency in project ':app'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"dependencyInsight\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs and runs instrumentation tests using all Device Providers.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"deviceAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs all device checks using Device Providers and Test Servers.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"deviceCheck\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"dexDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"dexDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"dexRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestBuildConfig\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestResValues\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugBuildConfig\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugResValues\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateDebugSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateReleaseAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateReleaseBuildConfig\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateReleaseResValues\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"generateReleaseSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays a help message.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"help\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"installDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs the android (on device) tests for the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"installDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"jarDebugClasses\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"jarReleaseClasses\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on all variants.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"lint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"lintDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on the Release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"lintRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on just the fatal issues in the Release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"lintVitalRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"mergeDebugAndroidTestAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"mergeDebugAndroidTestResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"mergeDebugAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"mergeDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"mergeReleaseAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"mergeReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Creates a version of android.jar that's suitable for unit tests.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"mockableAndroidJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the configuration model of project ':app'. [incubating]\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"model\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"packageDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"packageDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"packageRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"preBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"preDebugAndroidTestBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"preDebugBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"preDebugUnitTestBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"preDexDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"preDexDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"preDexRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"preReleaseBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"preReleaseUnitTestBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:appcompat-v7:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportAppcompatV72311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:cardview-v7:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportCardviewV72311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:design:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportDesign2311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:recyclerview-v7:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportRecyclerviewV72311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:support-v4:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportSupportV42311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.appeaser.sublimenavigationviewlibrary:sublimenavigationviewlibrary:0.0.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareComAppeaserSublimenavigationviewlibrarySublimenavigationviewlibrary001Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareDebugAndroidTestDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareDebugDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareDebugUnitTestDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareReleaseDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"prepareReleaseUnitTestDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processDebugAndroidTestJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processDebugAndroidTestManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processDebugAndroidTestResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processDebugJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processDebugManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processDebugUnitTestJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processReleaseJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processReleaseManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"processReleaseUnitTestJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the sub-projects of project ':app'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"projects\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the properties of project ':app'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"properties\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the signing info for each variant.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"signingReport\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prints out all the source sets defined in this project.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"sourceSets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the tasks runnable from project ':app'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"tasks\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Run unit tests for all variants.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"test\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Run unit tests for the debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"testDebugUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Run unit tests for the release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"testReleaseUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstall all applications.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"uninstallAll\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstalls the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"uninstallDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstalls the android (on device) tests for the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"uninstallDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstalls the Release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"uninstallRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"validateDebugSigning\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/app\" />\n                <option name=\"name\" value=\"zipalignDebug\" />\n              </ExternalTaskPojo>\n            </list>\n          </value>\n        </entry>\n        <entry key=\"$PROJECT_DIR$/sublimenavigationviewlibrary\">\n          <value>\n            <list>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the Android dependencies of the project.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"androidDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all variants of all applications and secondary packages.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"assemble\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all the Test applications.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"assembleAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all Debug builds.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"assembleDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"assembleDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"assembleDebugUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"assembleDefault\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles all Release builds.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"assembleRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"assembleReleaseUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Publishes artifacts to bintray.com.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"bintrayUpload\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles and tests this project.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"build\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles and tests this project and all projects that depend on it.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"buildDependents\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles and tests this project and all projects it depends on.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"buildNeeded\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles a bundle containing the library in debug.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"bundleDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Assembles a bundle containing the library in release.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"bundleRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs all checks.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"check\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"checkDebugManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"checkReleaseManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Deletes the build directory.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"clean\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugAidl\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestAidl\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestNdk\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugAndroidTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugNdk\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugUnitTestJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileDebugUnitTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileLint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileReleaseAidl\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileReleaseJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileReleaseNdk\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileReleaseRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileReleaseSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileReleaseUnitTestJavaWithJavac\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"compileReleaseUnitTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the components produced by project ':sublimenavigationviewlibrary'. [incubating]\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"components\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs and runs instrumentation tests for all flavors on connected devices.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"connectedAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs all device checks on currently connected devices.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"connectedCheck\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs and runs the tests for debug on connected devices.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"connectedDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"copyDebugLint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"copyReleaseLint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays all dependencies declared in project ':sublimenavigationviewlibrary'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"dependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the insight into a specific dependency in project ':sublimenavigationviewlibrary'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"dependencyInsight\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs and runs instrumentation tests using all Device Providers.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"deviceAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs all device checks using Device Providers and Test Servers.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"deviceCheck\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"dexDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Extracts Android annotations for the debug variant into the archive file\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"extractDebugAnnotations\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Extracts Android annotations for the release variant into the archive file\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"extractReleaseAnnotations\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestBuildConfig\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestResValues\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugAndroidTestSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugBuildConfig\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugResValues\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateDebugSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateReleaseAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateReleaseBuildConfig\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateReleaseResValues\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"generateReleaseSources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays a help message.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"help\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs the 'archives' artifacts into the local Maven repository.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"install\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Installs the android (on device) tests for the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"installDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"javadoc\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"javadocJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on all variants.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"lint\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"lintDebug\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Runs lint on the Release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"lintRelease\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"mergeDebugAndroidTestAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"mergeDebugAndroidTestResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"mergeDebugAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"mergeDebugProguardFiles\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"mergeDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"mergeReleaseAssets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"mergeReleaseProguardFiles\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"mergeReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Creates a version of android.jar that's suitable for unit tests.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"mockableAndroidJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the configuration model of project ':sublimenavigationviewlibrary'. [incubating]\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"model\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageDebugJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageDebugJniLibs\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageDebugLocalJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageDebugRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageReleaseJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageReleaseJniLibs\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageReleaseLocalJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageReleaseRenderscript\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"packageReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"preBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"preDebugAndroidTestBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"preDebugBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"preDebugUnitTestBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"preDexDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"preReleaseBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"preReleaseUnitTestBuild\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:appcompat-v7:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportAppcompatV72311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:recyclerview-v7:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportRecyclerviewV72311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prepare com.android.support:support-v4:23.1.1\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"prepareComAndroidSupportSupportV42311Library\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"prepareDebugAndroidTestDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"prepareDebugDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"prepareDebugUnitTestDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"prepareReleaseDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"prepareReleaseUnitTestDependencies\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processDebugAndroidTestJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processDebugAndroidTestManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processDebugAndroidTestResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processDebugJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processDebugManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processDebugResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processDebugUnitTestJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processReleaseJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processReleaseManifest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processReleaseResources\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"processReleaseUnitTestJavaRes\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the sub-projects of project ':sublimenavigationviewlibrary'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"projects\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the properties of project ':sublimenavigationviewlibrary'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"properties\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the signing info for each variant.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"signingReport\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Prints out all the source sets defined in this project.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"sourceSets\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"sourcesJar\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Displays the tasks runnable from project ':sublimenavigationviewlibrary'.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"tasks\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Run unit tests for all variants.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"test\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Run unit tests for the debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"testDebugUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Run unit tests for the release build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"testReleaseUnitTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstall all applications.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"uninstallAll\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"description\" value=\"Uninstalls the android (on device) tests for the Debug build.\" />\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"uninstallDebugAndroidTest\" />\n              </ExternalTaskPojo>\n              <ExternalTaskPojo>\n                <option name=\"linkedExternalProjectPath\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                <option name=\"name\" value=\"validateDebugSigning\" />\n              </ExternalTaskPojo>\n            </list>\n          </value>\n        </entry>\n      </map>\n    </option>\n    <option name=\"modificationStamps\">\n      <map>\n        <entry key=\"C:\\Development\\Projects\\Android\\SublimeNavigationView\" value=\"5820697188094\" />\n        <entry key=\"C:\\Users\\Admin\\Development\\Projects\\Android\\SublimeNavigationView\" value=\"5803100354306\" />\n      </map>\n    </option>\n    <option name=\"projectBuildClasspath\">\n      <map>\n        <entry key=\"$PROJECT_DIR$\">\n          <value>\n            <ExternalProjectBuildClasspathPojo>\n              <option name=\"modulesBuildClasspath\">\n                <map>\n                  <entry key=\"$PROJECT_DIR$\">\n                    <value>\n                      <ExternalModuleBuildClasspathPojo>\n                        <option name=\"entries\">\n                          <list>\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/1.3.0/gradle-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/1.3.0/gradle-1.3.0.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jfrog.bintray.gradle/gradle-bintray-plugin/1.5/b8263b06c181b39f3b3daac5c136afbbd09a4c62/gradle-bintray-plugin-1.5-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jfrog.bintray.gradle/gradle-bintray-plugin/1.5/7f3dc1cd3c538b4906006ffcf90d23aee569be3f/gradle-bintray-plugin-1.5.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/1.3.0/gradle-core-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/1.3.0/gradle-core-1.3.0.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy.modules.http-builder/http-builder/0.7.2/f1860181de06236f28f3f247aed57fa4631016d8/http-builder-0.7.2-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy.modules.http-builder/http-builder/0.7.2/323092cd786480311c1cf693770f9e6fc20a8bef/http-builder-0.7.2.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/1.3.0/builder-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/1.3.0/builder-1.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/24.3.0/lint-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/24.3.0/lint-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.1/6b27312b9c28b59aaeb6c21f3490045690c703d3/httpclient-4.2.1-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.1/b69bd03af60bf487b3ae1209a644ecac587bf6fc/httpclient-4.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.json-lib/json-lib/2.3/f35340c0a0380141f62c72b76c8fb4bfa638d8c1/json-lib-2.3-jdk15.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sourceforge.nekohtml/nekohtml/1.9.16/2d40ea21fae95418331ddc66efb6744a38bf59a/nekohtml-1.9.16-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sourceforge.nekohtml/nekohtml/1.9.16/61e35204e5a8fdb864152f84e2e3b33ab56f50ab/nekohtml-1.9.16.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/xml-resolver/xml-resolver/1.2/6b72432ea1c5296783007365bb7c9a6b39dfb730/xml-resolver-1.2-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/xml-resolver/xml-resolver/1.2/3d0f97750b3a03e0971831566067754ba4bfd68c/xml-resolver-1.2.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/24.3.0/sdk-common-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/24.3.0/sdk-common-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/24.3.0/common-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/24.3.0/common-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/1.3.0/builder-model-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/1.3.0/builder-model-1.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jill/jill-api/0.9.0/jill-api-0.9.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jill/jill-api/0.9.0/jill-api-0.9.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/24.3.0/ddmlib-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/24.3.0/ddmlib-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/24.3.0/sdklib-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/24.3.0/sdklib-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/24.3.0/manifest-merger-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/24.3.0/manifest-merger-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jack/jack-api/0.9.0/jack-api-0.9.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jack/jack-api/0.9.0/jack-api-0.9.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/1.3.0/builder-test-api-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/1.3.0/builder-test-api-1.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/24.3.0/lint-checks-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/24.3.0/lint-checks-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.1/3f6caf5334fa83607b82e2f32dd128a9d8a0ea5e/httpcore-4.2.1-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.1/2d503272bf0a8b5f92d64db78b4ba9abbaccc6fd/httpcore-4.2.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/61e9f9d11fe3e12ec62f633006e99d75fd7f19c8/commons-codec-1.6-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/b7f0fc8f61ecadeb3695f0b9464755eee44374d4/commons-codec-1.6.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-beanutils/commons-beanutils/1.8.0/2818502bbb50bbcbd3f57e92a2bfe4d496f37688/commons-beanutils-1.8.0-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-beanutils/commons-beanutils/1.8.0/c651d5103c649c12b20d53731643e5fffceb536/commons-beanutils-1.8.0.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.1/fa095ef874374e5b2a11f8b06c26a5d68c7cb3a4/commons-collections-3.2.1-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.1/761ea405b9b37ced573d2df0d1e3a4e0f9edc668/commons-collections-3.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.4/2b8c4b3035e45520ef42033e823c7d33e4b4402c/commons-lang-2.4-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.4/16313e02a793435009f1e458fa4af5d879f6fb11/commons-lang-2.4.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.ezmorph/ezmorph/1.0.6/298992280d62b944afd0ae9bfe3329f5487dd434/ezmorph-1.0.6-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.ezmorph/ezmorph/1.0.6/1e55d2a0253ea37745d33062852fd2c90027432/ezmorph-1.0.6.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/xerces/xercesImpl/2.9.1/1136d197e2755bbde296ceee217ec5fe2917477b/xercesImpl-2.9.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/24.3.0/annotations-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/24.3.0/annotations-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/24.3.0/dvlib-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/24.3.0/dvlib-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/24.3.0/layoutlib-api-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/24.3.0/layoutlib-api-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/24.3.0/lint-api-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/24.3.0/lint-api-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3.jar\" />\n                          </list>\n                        </option>\n                        <option name=\"path\" value=\"$PROJECT_DIR$\" />\n                      </ExternalModuleBuildClasspathPojo>\n                    </value>\n                  </entry>\n                  <entry key=\"$PROJECT_DIR$/app\">\n                    <value>\n                      <ExternalModuleBuildClasspathPojo>\n                        <option name=\"entries\">\n                          <list>\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/1.3.0/gradle-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/1.3.0/gradle-1.3.0.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jfrog.bintray.gradle/gradle-bintray-plugin/1.5/b8263b06c181b39f3b3daac5c136afbbd09a4c62/gradle-bintray-plugin-1.5-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jfrog.bintray.gradle/gradle-bintray-plugin/1.5/7f3dc1cd3c538b4906006ffcf90d23aee569be3f/gradle-bintray-plugin-1.5.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/1.3.0/gradle-core-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/1.3.0/gradle-core-1.3.0.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy.modules.http-builder/http-builder/0.7.2/f1860181de06236f28f3f247aed57fa4631016d8/http-builder-0.7.2-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy.modules.http-builder/http-builder/0.7.2/323092cd786480311c1cf693770f9e6fc20a8bef/http-builder-0.7.2.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/1.3.0/builder-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/1.3.0/builder-1.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/24.3.0/lint-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/24.3.0/lint-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.1/6b27312b9c28b59aaeb6c21f3490045690c703d3/httpclient-4.2.1-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.1/b69bd03af60bf487b3ae1209a644ecac587bf6fc/httpclient-4.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.json-lib/json-lib/2.3/f35340c0a0380141f62c72b76c8fb4bfa638d8c1/json-lib-2.3-jdk15.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sourceforge.nekohtml/nekohtml/1.9.16/2d40ea21fae95418331ddc66efb6744a38bf59a/nekohtml-1.9.16-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sourceforge.nekohtml/nekohtml/1.9.16/61e35204e5a8fdb864152f84e2e3b33ab56f50ab/nekohtml-1.9.16.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/xml-resolver/xml-resolver/1.2/6b72432ea1c5296783007365bb7c9a6b39dfb730/xml-resolver-1.2-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/xml-resolver/xml-resolver/1.2/3d0f97750b3a03e0971831566067754ba4bfd68c/xml-resolver-1.2.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/24.3.0/sdk-common-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/24.3.0/sdk-common-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/24.3.0/common-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/24.3.0/common-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/1.3.0/builder-model-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/1.3.0/builder-model-1.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jill/jill-api/0.9.0/jill-api-0.9.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jill/jill-api/0.9.0/jill-api-0.9.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/24.3.0/ddmlib-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/24.3.0/ddmlib-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/24.3.0/sdklib-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/24.3.0/sdklib-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/24.3.0/manifest-merger-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/24.3.0/manifest-merger-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jack/jack-api/0.9.0/jack-api-0.9.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jack/jack-api/0.9.0/jack-api-0.9.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/1.3.0/builder-test-api-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/1.3.0/builder-test-api-1.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/24.3.0/lint-checks-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/24.3.0/lint-checks-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.1/3f6caf5334fa83607b82e2f32dd128a9d8a0ea5e/httpcore-4.2.1-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.1/2d503272bf0a8b5f92d64db78b4ba9abbaccc6fd/httpcore-4.2.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/61e9f9d11fe3e12ec62f633006e99d75fd7f19c8/commons-codec-1.6-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/b7f0fc8f61ecadeb3695f0b9464755eee44374d4/commons-codec-1.6.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-beanutils/commons-beanutils/1.8.0/2818502bbb50bbcbd3f57e92a2bfe4d496f37688/commons-beanutils-1.8.0-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-beanutils/commons-beanutils/1.8.0/c651d5103c649c12b20d53731643e5fffceb536/commons-beanutils-1.8.0.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.1/fa095ef874374e5b2a11f8b06c26a5d68c7cb3a4/commons-collections-3.2.1-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.1/761ea405b9b37ced573d2df0d1e3a4e0f9edc668/commons-collections-3.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.4/2b8c4b3035e45520ef42033e823c7d33e4b4402c/commons-lang-2.4-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.4/16313e02a793435009f1e458fa4af5d879f6fb11/commons-lang-2.4.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.ezmorph/ezmorph/1.0.6/298992280d62b944afd0ae9bfe3329f5487dd434/ezmorph-1.0.6-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.ezmorph/ezmorph/1.0.6/1e55d2a0253ea37745d33062852fd2c90027432/ezmorph-1.0.6.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/xerces/xercesImpl/2.9.1/1136d197e2755bbde296ceee217ec5fe2917477b/xercesImpl-2.9.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/24.3.0/annotations-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/24.3.0/annotations-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/24.3.0/dvlib-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/24.3.0/dvlib-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/24.3.0/layoutlib-api-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/24.3.0/layoutlib-api-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/24.3.0/lint-api-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/24.3.0/lint-api-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3.jar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.aar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/cardview-v7/23.1.1/cardview-v7-23.1.1.aar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/design/23.1.1/design-23.1.1.aar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/recyclerview-v7/23.1.1/recyclerview-v7-23.1.1.aar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1.jar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1.aar\" />\n                          </list>\n                        </option>\n                        <option name=\"path\" value=\"$PROJECT_DIR$/app\" />\n                      </ExternalModuleBuildClasspathPojo>\n                    </value>\n                  </entry>\n                  <entry key=\"$PROJECT_DIR$/sublimenavigationviewlibrary\">\n                    <value>\n                      <ExternalModuleBuildClasspathPojo>\n                        <option name=\"entries\">\n                          <list>\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/1.3.0/gradle-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle/1.3.0/gradle-1.3.0.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jfrog.bintray.gradle/gradle-bintray-plugin/1.5/b8263b06c181b39f3b3daac5c136afbbd09a4c62/gradle-bintray-plugin-1.5-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.jfrog.bintray.gradle/gradle-bintray-plugin/1.5/7f3dc1cd3c538b4906006ffcf90d23aee569be3f/gradle-bintray-plugin-1.5.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/1.3.0/gradle-core-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/gradle-core/1.3.0/gradle-core-1.3.0.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy.modules.http-builder/http-builder/0.7.2/f1860181de06236f28f3f247aed57fa4631016d8/http-builder-0.7.2-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy.modules.http-builder/http-builder/0.7.2/323092cd786480311c1cf693770f9e6fc20a8bef/http-builder-0.7.2.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/1.3.0/builder-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder/1.3.0/builder-1.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/24.3.0/lint-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint/24.3.0/lint-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-gradle/5.2.1/proguard-gradle-5.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.1/6b27312b9c28b59aaeb6c21f3490045690c703d3/httpclient-4.2.1-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpclient/4.2.1/b69bd03af60bf487b3ae1209a644ecac587bf6fc/httpclient-4.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.json-lib/json-lib/2.3/f35340c0a0380141f62c72b76c8fb4bfa638d8c1/json-lib-2.3-jdk15.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sourceforge.nekohtml/nekohtml/1.9.16/2d40ea21fae95418331ddc66efb6744a38bf59a/nekohtml-1.9.16-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sourceforge.nekohtml/nekohtml/1.9.16/61e35204e5a8fdb864152f84e2e3b33ab56f50ab/nekohtml-1.9.16.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/xml-resolver/xml-resolver/1.2/6b72432ea1c5296783007365bb7c9a6b39dfb730/xml-resolver-1.2-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/xml-resolver/xml-resolver/1.2/3d0f97750b3a03e0971831566067754ba4bfd68c/xml-resolver-1.2.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/24.3.0/sdk-common-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdk-common/24.3.0/sdk-common-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/24.3.0/common-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/common/24.3.0/common-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcprov-jdk15on/1.48/bcprov-jdk15on-1.48.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/1.3.0/builder-model-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-model/1.3.0/builder-model-1.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/squareup/javawriter/2.5.0/javawriter-2.5.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jill/jill-api/0.9.0/jill-api-0.9.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jill/jill-api/0.9.0/jill-api-0.9.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/24.3.0/ddmlib-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/ddms/ddmlib/24.3.0/ddmlib-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/24.3.0/sdklib-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/sdklib/24.3.0/sdklib-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/24.3.0/manifest-merger-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/manifest-merger/24.3.0/manifest-merger-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jack/jack-api/0.9.0/jack-api-0.9.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/jack/jack-api/0.9.0/jack-api-0.9.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/bouncycastle/bcpkix-jdk15on/1.48/bcpkix-jdk15on-1.48.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/1.3.0/builder-test-api-1.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/build/builder-test-api/1.3.0/builder-test-api-1.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/24.3.0/lint-checks-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-checks/24.3.0/lint-checks-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/eclipse/jdt/core/compiler/ecj/4.4.2/ecj-4.4.2.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/proguard/proguard-base/5.2.1/proguard-base-5.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.1/3f6caf5334fa83607b82e2f32dd128a9d8a0ea5e/httpcore-4.2.1-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpcore/4.2.1/2d503272bf0a8b5f92d64db78b4ba9abbaccc6fd/httpcore-4.2.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/61e9f9d11fe3e12ec62f633006e99d75fd7f19c8/commons-codec-1.6-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-codec/commons-codec/1.6/b7f0fc8f61ecadeb3695f0b9464755eee44374d4/commons-codec-1.6.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-beanutils/commons-beanutils/1.8.0/2818502bbb50bbcbd3f57e92a2bfe4d496f37688/commons-beanutils-1.8.0-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-beanutils/commons-beanutils/1.8.0/c651d5103c649c12b20d53731643e5fffceb536/commons-beanutils-1.8.0.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.1/fa095ef874374e5b2a11f8b06c26a5d68c7cb3a4/commons-collections-3.2.1-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-collections/commons-collections/3.2.1/761ea405b9b37ced573d2df0d1e3a4e0f9edc668/commons-collections-3.2.1.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.4/2b8c4b3035e45520ef42033e823c7d33e4b4402c/commons-lang-2.4-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/commons-lang/commons-lang/2.4/16313e02a793435009f1e458fa4af5d879f6fb11/commons-lang-2.4.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.ezmorph/ezmorph/1.0.6/298992280d62b944afd0ae9bfe3329f5487dd434/ezmorph-1.0.6-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/net.sf.ezmorph/ezmorph/1.0.6/1e55d2a0253ea37745d33062852fd2c90027432/ezmorph-1.0.6.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/xerces/xercesImpl/2.9.1/1136d197e2755bbde296ceee217ec5fe2917477b/xercesImpl-2.9.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/guava/guava/17.0/guava-17.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/24.3.0/annotations-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/annotations/24.3.0/annotations-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/24.3.0/dvlib-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/dvlib/24.3.0/dvlib-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/24.3.0/layoutlib-api-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/layoutlib/layoutlib-api/24.3.0/layoutlib-api-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/httpcomponents/httpmime/4.1/httpmime-4.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/google/code/gson/gson/2.2.4/gson-2.2.4.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/24.3.0/lint-api-24.3.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/lint/lint-api/24.3.0/lint-api-24.3.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/intellij/annotations/12.0/annotations-12.0.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3-sources.jar\" />\n                            <option value=\"$APPLICATION_HOME_DIR$/gradle/m2repository/com/android/tools/external/lombok/lombok-ast/0.2.3/lombok-ast-0.2.3.jar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/appcompat-v7/23.1.1/appcompat-v7-23.1.1.aar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/recyclerview-v7/23.1.1/recyclerview-v7-23.1.1.aar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1.jar\" />\n                            <option value=\"$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1.aar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.dcendents/android-maven-gradle-plugin/1.3/c284e22e7c691774d2240e419ac2a744e80d7e84/android-maven-gradle-plugin-1.3-sources.jar\" />\n                            <option value=\"$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.dcendents/android-maven-gradle-plugin/1.3/56f44bee48445bcb6b1f1e0f04576de3fee13426/android-maven-gradle-plugin-1.3.jar\" />\n                          </list>\n                        </option>\n                        <option name=\"path\" value=\"$PROJECT_DIR$/sublimenavigationviewlibrary\" />\n                      </ExternalModuleBuildClasspathPojo>\n                    </value>\n                  </entry>\n                </map>\n              </option>\n              <option name=\"name\" value=\"app\" />\n              <option name=\"projectBuildClasspath\">\n                <list>\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/announce\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/antlr\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/base-services\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/base-services-groovy\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/build-comparison\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/build-init\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/cli\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/code-quality\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/core\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/dependency-management\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/diagnostics\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/ear\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/ide\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/ide-native\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/internal-integ-testing\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/internal-testing\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/ivy\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/jacoco\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/javascript\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/jetty\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/language-groovy\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/language-java\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/language-jvm\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/language-native\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/language-scala\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/launcher\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/maven\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/messaging\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/model-core\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/model-groovy\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/native\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/open-api\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/osgi\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/platform-base\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/platform-jvm\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/platform-native\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/platform-play\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/plugin-development\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/plugin-use\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/plugins\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/publish\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/reporting\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/resources\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/resources-http\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/resources-s3\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/resources-sftp\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/scala\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/signing\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/sonar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/test-kit\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/testing-native\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/tooling-api\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/tooling-api-builders\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/ui\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/src/wrapper\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/ant-1.9.3.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/ant-launcher-1.9.3.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-base-services-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-base-services-groovy-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-cli-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-core-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-docs-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-launcher-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-messaging-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-model-core-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-model-groovy-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-native-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-open-api-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-resources-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-tooling-api-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-ui-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/gradle-wrapper-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/groovy-all-2.4.4.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-announce-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-antlr-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-build-comparison-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-build-init-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-code-quality-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-dependency-management-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-diagnostics-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-ear-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-ide-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-ide-native-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-ivy-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-jacoco-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-javascript-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-jetty-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-language-groovy-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-language-java-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-language-jvm-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-language-native-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-language-scala-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-maven-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-osgi-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-platform-base-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-platform-jvm-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-platform-native-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-platform-play-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-plugin-development-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-plugin-use-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-plugins-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-publish-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-reporting-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-resources-http-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-resources-s3-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-resources-sftp-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-scala-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-signing-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-sonar-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-test-kit-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-testing-native-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/gradle-tooling-api-builders-2.8.jar\" />\n                  <option value=\"$APPLICATION_HOME_DIR$/gradle/gradle-2.8/lib/plugins/ivy-2.2.0.jar\" />\n                  <option value=\"$PROJECT_DIR$/buildSrc/src/main/java\" />\n                  <option value=\"$PROJECT_DIR$/buildSrc/src/main/groovy\" />\n                </list>\n              </option>\n            </ExternalProjectBuildClasspathPojo>\n          </value>\n        </entry>\n      </map>\n    </option>\n    <option name=\"externalProjectsViewState\">\n      <projects_view />\n    </option>\n  </component>\n  <component name=\"IdeDocumentHistory\">\n    <option name=\"CHANGED_PATHS\">\n      <list>\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/ScrimInsetsFrameLayout.java\" />\n        <option value=\"$PROJECT_DIR$/app/src/main/res/menu/menu_sampler.xml\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSwitchItemView.java\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeCheckboxItemView.java\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeThemer.java\" />\n        <option value=\"$PROJECT_DIR$/app/src/main/res/menu/test_nav_menu_1.xml\" />\n        <option value=\"$PROJECT_DIR$/local.properties\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/StateAwareTextView.java\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenuInflater.java\" />\n        <option value=\"$PROJECT_DIR$/build.gradle\" />\n        <option value=\"$PROJECT_DIR$/app/src/main/java/com/appeaser/sublimenavigationview/Sampler.java\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/AndroidManifest.xml\" />\n        <option value=\"$PROJECT_DIR$/app/src/main/AndroidManifest.xml\" />\n        <option value=\"$PROJECT_DIR$/app/build.gradle\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/build.gradle\" />\n        <option value=\"$PROJECT_DIR$/app/src/main/res/layout/nav_header.xml\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeNavigationView.java\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeBaseMenuItem.java\" />\n        <option value=\"$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenu.java\" />\n      </list>\n    </option>\n  </component>\n  <component name=\"MavenImportPreferences\">\n    <option name=\"generalSettings\">\n      <MavenGeneralSettings>\n        <option name=\"mavenHome\" value=\"Bundled (Maven 3)\" />\n      </MavenGeneralSettings>\n    </option>\n  </component>\n  <component name=\"MavenProjectNavigator\">\n    <treeState />\n  </component>\n  <component name=\"NamedScopeManager\">\n    <order />\n  </component>\n  <component name=\"ProjectFrameBounds\">\n    <option name=\"x\" value=\"-8\" />\n    <option name=\"y\" value=\"-8\" />\n    <option name=\"width\" value=\"1320\" />\n    <option name=\"height\" value=\"784\" />\n  </component>\n  <component name=\"ProjectLevelVcsManager\" settingsEditedManually=\"true\">\n    <OptionsSetting value=\"true\" id=\"Add\" />\n    <OptionsSetting value=\"true\" id=\"Remove\" />\n    <OptionsSetting value=\"true\" id=\"Checkout\" />\n    <OptionsSetting value=\"true\" id=\"Update\" />\n    <OptionsSetting value=\"true\" id=\"Status\" />\n    <OptionsSetting value=\"true\" id=\"Edit\" />\n    <ConfirmationsSetting value=\"0\" id=\"Add\" />\n    <ConfirmationsSetting value=\"0\" id=\"Remove\" />\n  </component>\n  <component name=\"ProjectView\">\n    <navigator currentView=\"AndroidView\" proportions=\"\" version=\"1\">\n      <flattenPackages />\n      <showMembers />\n      <showModules />\n      <showLibraryContents />\n      <hideEmptyPackages />\n      <abbreviatePackageNames />\n      <autoscrollToSource />\n      <autoscrollFromSource />\n      <sortByType />\n    </navigator>\n    <panes>\n      <pane id=\"Scratches\" />\n      <pane id=\"PackagesPane\" />\n      <pane id=\"Scope\" />\n      <pane id=\"AndroidView\">\n        <subPane>\n          <PATH>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"SublimeNavigationView\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidViewProjectNode\" />\n            </PATH_ELEMENT>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"Gradle Scripts\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidBuildScriptsGroupNode\" />\n            </PATH_ELEMENT>\n          </PATH>\n          <PATH>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"SublimeNavigationView\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidViewProjectNode\" />\n            </PATH_ELEMENT>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"sublimenavigationviewlibrary\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidModuleNode\" />\n            </PATH_ELEMENT>\n          </PATH>\n          <PATH>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"SublimeNavigationView\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidViewProjectNode\" />\n            </PATH_ELEMENT>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"sublimenavigationviewlibrary\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidModuleNode\" />\n            </PATH_ELEMENT>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"java\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidSourceTypeNode\" />\n            </PATH_ELEMENT>\n          </PATH>\n          <PATH>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"SublimeNavigationView\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidViewProjectNode\" />\n            </PATH_ELEMENT>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"sublimenavigationviewlibrary\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidModuleNode\" />\n            </PATH_ELEMENT>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"java\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidSourceTypeNode\" />\n            </PATH_ELEMENT>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"sublimenavigationviewlibrary\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidPsiDirectoryNode\" />\n            </PATH_ELEMENT>\n          </PATH>\n          <PATH>\n            <PATH_ELEMENT>\n              <option name=\"myItemId\" value=\"SublimeNavigationView\" />\n              <option name=\"myItemType\" value=\"com.android.tools.idea.navigator.nodes.AndroidViewProjectNode\" />\n            </PATH_ELEMENT>\n          </PATH>\n        </subPane>\n      </pane>\n      <pane id=\"ProjectPane\" />\n    </panes>\n  </component>\n  <component name=\"PropertiesComponent\">\n    <property name=\"settings.editor.selected.configurable\" value=\"android.sdk-updates\" />\n    <property name=\"settings.editor.splitter.proportion\" value=\"0.2\" />\n    <property name=\"recentsLimit\" value=\"5\" />\n    <property name=\"ANDROID_EXTENDED_DEVICE_CHOOSER_SERIALS\" value=\"018b76e019c86745\" />\n    <property name=\"ANDROID_EXTENDED_DEVICE_CHOOSER_AVD\" value=\"Nexus_5_API_23_x86\" />\n    <property name=\"FullScreen\" value=\"false\" />\n    <property name=\"OverrideImplement.combined\" value=\"true\" />\n    <property name=\"OverrideImplement.overriding.sorted\" value=\"false\" />\n    <property name=\"android.project.structure.last.selected\" value=\"sublimenavigationviewlibrary\" />\n    <property name=\"android.project.structure.proportion\" value=\"0.15\" />\n    <property name=\"ExportApk.ApkPath\" value=\"C:\\Users\\Admin\\Development\\Projects\\Android\\SublimeNavigationView\\app\" />\n    <property name=\"ExportApk.Flavors\" value=\"\" />\n    <property name=\"ExportApk.BuildType\" value=\"release\" />\n    <property name=\"last_opened_file_path\" value=\"$PROJECT_DIR$/../../../Release Docs/SublimeNavigationView/sublime_navigation_view_keystore.jks\" />\n  </component>\n  <component name=\"RunManager\" selected=\"Android Application.app\">\n    <configuration default=\"true\" type=\"AndroidRunConfigurationType\" factoryName=\"Android Application\">\n      <module name=\"\" />\n      <option name=\"DEPLOY\" value=\"true\" />\n      <option name=\"ARTIFACT_NAME\" value=\"\" />\n      <option name=\"PM_INSTALL_OPTIONS\" value=\"\" />\n      <option name=\"ACTIVITY_EXTRA_FLAGS\" value=\"\" />\n      <option name=\"MODE\" value=\"default_activity\" />\n      <option name=\"TARGET_SELECTION_MODE\" value=\"SHOW_DIALOG\" />\n      <option name=\"PREFERRED_AVD\" value=\"\" />\n      <option name=\"CLEAR_LOGCAT\" value=\"false\" />\n      <option name=\"SHOW_LOGCAT_AUTOMATICALLY\" value=\"true\" />\n      <option name=\"SKIP_NOOP_APK_INSTALLATIONS\" value=\"true\" />\n      <option name=\"FORCE_STOP_RUNNING_APP\" value=\"true\" />\n      <option name=\"USE_LAST_SELECTED_DEVICE\" value=\"false\" />\n      <option name=\"PREFERRED_AVD\" value=\"\" />\n      <option name=\"SELECTED_CLOUD_MATRIX_CONFIGURATION_ID\" value=\"-1\" />\n      <option name=\"SELECTED_CLOUD_MATRIX_PROJECT_ID\" value=\"\" />\n      <option name=\"DEEP_LINK\" value=\"\" />\n      <option name=\"ACTIVITY_CLASS\" value=\"\" />\n      <method />\n    </configuration>\n    <configuration default=\"true\" type=\"AndroidTestRunConfigurationType\" factoryName=\"Android Tests\">\n      <module name=\"\" />\n      <option name=\"TESTING_TYPE\" value=\"0\" />\n      <option name=\"INSTRUMENTATION_RUNNER_CLASS\" value=\"\" />\n      <option name=\"METHOD_NAME\" value=\"\" />\n      <option name=\"CLASS_NAME\" value=\"\" />\n      <option name=\"PACKAGE_NAME\" value=\"\" />\n      <option name=\"EXTRA_OPTIONS\" value=\"\" />\n      <option name=\"TARGET_SELECTION_MODE\" value=\"SHOW_DIALOG\" />\n      <option name=\"PREFERRED_AVD\" value=\"\" />\n      <option name=\"CLEAR_LOGCAT\" value=\"false\" />\n      <option name=\"SHOW_LOGCAT_AUTOMATICALLY\" value=\"true\" />\n      <option name=\"SKIP_NOOP_APK_INSTALLATIONS\" value=\"true\" />\n      <option name=\"FORCE_STOP_RUNNING_APP\" value=\"true\" />\n      <option name=\"USE_LAST_SELECTED_DEVICE\" value=\"false\" />\n      <option name=\"PREFERRED_AVD\" value=\"\" />\n      <option name=\"SELECTED_CLOUD_MATRIX_CONFIGURATION_ID\" value=\"-1\" />\n      <option name=\"SELECTED_CLOUD_MATRIX_PROJECT_ID\" value=\"\" />\n      <method />\n    </configuration>\n    <configuration default=\"true\" type=\"Application\" factoryName=\"Application\">\n      <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n      <option name=\"MAIN_CLASS_NAME\" />\n      <option name=\"VM_PARAMETERS\" />\n      <option name=\"PROGRAM_PARAMETERS\" />\n      <option name=\"WORKING_DIRECTORY\" value=\"$PROJECT_DIR$\" />\n      <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n      <option name=\"ALTERNATIVE_JRE_PATH\" />\n      <option name=\"ENABLE_SWING_INSPECTOR\" value=\"false\" />\n      <option name=\"ENV_VARIABLES\" />\n      <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n      <module name=\"\" />\n      <envs />\n      <method />\n    </configuration>\n    <configuration default=\"true\" type=\"JUnit\" factoryName=\"JUnit\">\n      <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n      <module name=\"\" />\n      <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n      <option name=\"ALTERNATIVE_JRE_PATH\" />\n      <option name=\"PACKAGE_NAME\" />\n      <option name=\"MAIN_CLASS_NAME\" />\n      <option name=\"METHOD_NAME\" />\n      <option name=\"TEST_OBJECT\" value=\"class\" />\n      <option name=\"VM_PARAMETERS\" value=\"-ea\" />\n      <option name=\"PARAMETERS\" />\n      <option name=\"WORKING_DIRECTORY\" value=\"$MODULE_DIR$\" />\n      <option name=\"ENV_VARIABLES\" />\n      <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n      <option name=\"TEST_SEARCH_SCOPE\">\n        <value defaultName=\"singleModule\" />\n      </option>\n      <envs />\n      <patterns />\n      <method>\n        <option name=\"Make\" enabled=\"false\" />\n        <option name=\"Android.Gradle.BeforeRunTask\" enabled=\"true\" />\n      </method>\n    </configuration>\n    <configuration default=\"true\" type=\"JarApplication\" factoryName=\"JAR Application\">\n      <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n      <envs />\n      <method />\n    </configuration>\n    <configuration default=\"true\" type=\"Remote\" factoryName=\"Remote\">\n      <option name=\"USE_SOCKET_TRANSPORT\" value=\"true\" />\n      <option name=\"SERVER_MODE\" value=\"false\" />\n      <option name=\"SHMEM_ADDRESS\" value=\"javadebug\" />\n      <option name=\"HOST\" value=\"localhost\" />\n      <option name=\"PORT\" value=\"5005\" />\n      <method />\n    </configuration>\n    <configuration default=\"true\" type=\"TestNG\" factoryName=\"TestNG\">\n      <extension name=\"coverage\" enabled=\"false\" merge=\"false\" sample_coverage=\"true\" runner=\"idea\" />\n      <module name=\"\" />\n      <option name=\"ALTERNATIVE_JRE_PATH_ENABLED\" value=\"false\" />\n      <option name=\"ALTERNATIVE_JRE_PATH\" />\n      <option name=\"SUITE_NAME\" />\n      <option name=\"PACKAGE_NAME\" />\n      <option name=\"MAIN_CLASS_NAME\" />\n      <option name=\"METHOD_NAME\" />\n      <option name=\"GROUP_NAME\" />\n      <option name=\"TEST_OBJECT\" value=\"CLASS\" />\n      <option name=\"VM_PARAMETERS\" value=\"-ea\" />\n      <option name=\"PARAMETERS\" />\n      <option name=\"WORKING_DIRECTORY\" value=\"$PROJECT_DIR$\" />\n      <option name=\"OUTPUT_DIRECTORY\" />\n      <option name=\"ANNOTATION_TYPE\" />\n      <option name=\"ENV_VARIABLES\" />\n      <option name=\"PASS_PARENT_ENVS\" value=\"true\" />\n      <option name=\"TEST_SEARCH_SCOPE\">\n        <value defaultName=\"singleModule\" />\n      </option>\n      <option name=\"USE_DEFAULT_REPORTERS\" value=\"false\" />\n      <option name=\"PROPERTIES_FILE\" />\n      <envs />\n      <properties />\n      <listeners />\n      <method />\n    </configuration>\n    <configuration default=\"false\" name=\"app\" type=\"AndroidRunConfigurationType\" factoryName=\"Android Application\">\n      <module name=\"app\" />\n      <option name=\"DEPLOY\" value=\"true\" />\n      <option name=\"ARTIFACT_NAME\" value=\"\" />\n      <option name=\"PM_INSTALL_OPTIONS\" value=\"\" />\n      <option name=\"ACTIVITY_EXTRA_FLAGS\" value=\"\" />\n      <option name=\"MODE\" value=\"default_activity\" />\n      <option name=\"TARGET_SELECTION_MODE\" value=\"SHOW_DIALOG\" />\n      <option name=\"PREFERRED_AVD\" value=\"\" />\n      <option name=\"CLEAR_LOGCAT\" value=\"false\" />\n      <option name=\"SHOW_LOGCAT_AUTOMATICALLY\" value=\"true\" />\n      <option name=\"SKIP_NOOP_APK_INSTALLATIONS\" value=\"true\" />\n      <option name=\"FORCE_STOP_RUNNING_APP\" value=\"true\" />\n      <option name=\"USE_LAST_SELECTED_DEVICE\" value=\"false\" />\n      <option name=\"PREFERRED_AVD\" value=\"\" />\n      <option name=\"SELECTED_CLOUD_MATRIX_CONFIGURATION_ID\" value=\"-1\" />\n      <option name=\"SELECTED_CLOUD_MATRIX_PROJECT_ID\" value=\"\" />\n      <option name=\"DEEP_LINK\" value=\"\" />\n      <option name=\"ACTIVITY_CLASS\" value=\"\" />\n      <method />\n    </configuration>\n    <list size=\"1\">\n      <item index=\"0\" class=\"java.lang.String\" itemvalue=\"Android Application.app\" />\n    </list>\n    <configuration name=\"&lt;template&gt;\" type=\"Applet\" default=\"true\" selected=\"false\">\n      <option name=\"MAIN_CLASS_NAME\" />\n      <option name=\"HTML_FILE_NAME\" />\n      <option name=\"HTML_USED\" value=\"false\" />\n      <option name=\"WIDTH\" value=\"400\" />\n      <option name=\"HEIGHT\" value=\"300\" />\n      <option name=\"POLICY_FILE\" value=\"$APPLICATION_HOME_DIR$/bin/appletviewer.policy\" />\n      <option name=\"VM_PARAMETERS\" />\n    </configuration>\n    <configuration name=\"&lt;template&gt;\" type=\"#org.jetbrains.idea.devkit.run.PluginConfigurationType\" default=\"true\" selected=\"false\">\n      <option name=\"VM_PARAMETERS\" value=\"-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea\" />\n    </configuration>\n  </component>\n  <component name=\"ShelveChangesManager\" show_recycled=\"false\" />\n  <component name=\"SvnConfiguration\">\n    <configuration />\n  </component>\n  <component name=\"TaskManager\">\n    <task active=\"true\" id=\"Default\" summary=\"Default task\">\n      <changelist id=\"211d4b2b-d6b1-49af-bb16-770f9df980f4\" name=\"Default\" comment=\"\" />\n      <created>1451450335571</created>\n      <option name=\"number\" value=\"Default\" />\n      <updated>1451450335571</updated>\n    </task>\n    <servers />\n  </component>\n  <component name=\"ToolWindowManager\">\n    <frame x=\"-8\" y=\"-8\" width=\"1320\" height=\"784\" extended-state=\"6\" />\n    <editor active=\"false\" />\n    <layout>\n      <window_info id=\"TODO\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"6\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Messages\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.32961783\" sideWeight=\"0.4920635\" order=\"7\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Build Variants\" active=\"false\" anchor=\"left\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"2\" side_tool=\"true\" content_ui=\"tabs\" />\n      <window_info id=\"Palette&#9;\" active=\"false\" anchor=\"left\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"2\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Capture Analysis\" active=\"false\" anchor=\"right\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"3\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Event Log\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.32961783\" sideWeight=\"0.50793654\" order=\"7\" side_tool=\"true\" content_ui=\"tabs\" />\n      <window_info id=\"Application Servers\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"7\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Maven Projects\" active=\"false\" anchor=\"right\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.32936507\" sideWeight=\"0.5\" order=\"3\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Android Monitor\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.7372612\" sideWeight=\"0.4968254\" order=\"7\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Preview\" active=\"false\" anchor=\"right\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"4\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Version Control\" active=\"true\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"true\" weight=\"0.32961783\" sideWeight=\"0.5\" order=\"7\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Run\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.32961783\" sideWeight=\"0.5\" order=\"2\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Terminal\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.32961783\" sideWeight=\"0.5\" order=\"7\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Captures\" active=\"false\" anchor=\"left\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"2\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Capture Tool\" active=\"false\" anchor=\"left\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"2\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Gradle Console\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.32961783\" sideWeight=\"0.50793654\" order=\"7\" side_tool=\"true\" content_ui=\"tabs\" />\n      <window_info id=\"Designer\" active=\"false\" anchor=\"right\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"3\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Project\" active=\"false\" anchor=\"left\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"true\" weight=\"0.24920635\" sideWeight=\"0.5\" order=\"0\" side_tool=\"false\" content_ui=\"combo\" />\n      <window_info id=\"Find\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.32961783\" sideWeight=\"0.5\" order=\"1\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Gradle\" active=\"false\" anchor=\"right\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"3\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Structure\" active=\"false\" anchor=\"left\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.25\" sideWeight=\"0.5\" order=\"1\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Android Model\" active=\"false\" anchor=\"right\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"3\" side_tool=\"true\" content_ui=\"tabs\" />\n      <window_info id=\"Favorites\" active=\"false\" anchor=\"left\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"2\" side_tool=\"true\" content_ui=\"tabs\" />\n      <window_info id=\"Debug\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.4\" sideWeight=\"0.5\" order=\"3\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Cvs\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.25\" sideWeight=\"0.5\" order=\"4\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Message\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.33\" sideWeight=\"0.5\" order=\"0\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Commander\" active=\"false\" anchor=\"right\" auto_hide=\"false\" internal_type=\"SLIDING\" type=\"SLIDING\" visible=\"false\" weight=\"0.4\" sideWeight=\"0.5\" order=\"0\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Hierarchy\" active=\"false\" anchor=\"right\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.25\" sideWeight=\"0.5\" order=\"2\" side_tool=\"false\" content_ui=\"combo\" />\n      <window_info id=\"Ant Build\" active=\"false\" anchor=\"right\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.25\" sideWeight=\"0.5\" order=\"1\" side_tool=\"false\" content_ui=\"tabs\" />\n      <window_info id=\"Inspection\" active=\"false\" anchor=\"bottom\" auto_hide=\"false\" internal_type=\"DOCKED\" type=\"DOCKED\" visible=\"false\" weight=\"0.4\" sideWeight=\"0.5\" order=\"5\" side_tool=\"false\" content_ui=\"tabs\" />\n    </layout>\n  </component>\n  <component name=\"Vcs.Log.UiProperties\">\n    <option name=\"RECENTLY_FILTERED_USER_GROUPS\">\n      <collection />\n    </option>\n    <option name=\"RECENTLY_FILTERED_BRANCH_GROUPS\">\n      <collection />\n    </option>\n  </component>\n  <component name=\"VcsContentAnnotationSettings\">\n    <option name=\"myLimit\" value=\"2678400000\" />\n  </component>\n  <component name=\"XDebuggerManager\">\n    <breakpoint-manager />\n    <watches-manager />\n  </component>\n  <component name=\"editorHistoryManager\">\n    <entry file=\"file://$PROJECT_DIR$/build.gradle\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"8\" column=\"50\" selection-start-line=\"8\" selection-start-column=\"50\" selection-end-line=\"8\" selection-end-column=\"50\" />\n          <folding />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSwitchMenuItem.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.2125\">\n          <caret line=\"21\" column=\"13\" selection-start-line=\"21\" selection-start-column=\"13\" selection-end-line=\"21\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/res/drawable-v23/snv_switch_track_material.xml\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-0.0017857143\">\n          <caret line=\"0\" column=\"0\" selection-start-line=\"0\" selection-start-column=\"0\" selection-end-line=\"0\" selection-end-column=\"0\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/app/src/main/res/menu/menu_sampler.xml\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.7083333\">\n          <caret line=\"25\" column=\"36\" selection-start-line=\"25\" selection-start-column=\"36\" selection-end-line=\"25\" selection-end-column=\"36\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/../../../AndroidSDK/sources/android-23/android/app/ActivityManager.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.33\">\n          <caret line=\"2487\" column=\"0\" selection-start-line=\"2487\" selection-start-column=\"0\" selection-end-line=\"2487\" selection-end-column=\"0\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/res/layout/sublime_menu_checkbox_item_content.xml\">\n      <provider editor-type-id=\"android-designer\">\n        <state />\n      </provider>\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.61295974\">\n          <caret line=\"22\" column=\"20\" selection-start-line=\"22\" selection-start-column=\"20\" selection-end-line=\"22\" selection-end-column=\"20\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1-sources.jar!/android/support/v4/graphics/drawable/DrawableWrapper.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.34\">\n          <caret line=\"28\" column=\"32\" selection-start-line=\"28\" selection-start-column=\"17\" selection-end-line=\"28\" selection-end-column=\"32\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1-sources.jar!/android/support/v4/graphics/drawable/DrawableCompatBase.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.39\">\n          <caret line=\"35\" column=\"22\" selection-start-line=\"35\" selection-start-column=\"22\" selection-end-line=\"35\" selection-end-column=\"22\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1-sources.jar!/android/support/v4/content/ContextCompatApi21.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.19833334\">\n          <caret line=\"24\" column=\"27\" selection-start-line=\"24\" selection-start-column=\"27\" selection-end-line=\"24\" selection-end-column=\"27\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1-sources.jar!/android/support/v4/content/ContextCompat.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.41833332\">\n          <caret line=\"320\" column=\"40\" selection-start-line=\"320\" selection-start-column=\"40\" selection-end-line=\"320\" selection-end-column=\"40\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1-sources.jar!/android/support/v4/graphics/drawable/DrawableCompatLollipop.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.33333334\">\n          <caret line=\"49\" column=\"23\" selection-start-line=\"49\" selection-start-column=\"23\" selection-end-line=\"49\" selection-end-column=\"23\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-v4/23.1.1/support-v4-23.1.1-sources.jar!/android/support/v4/graphics/drawable/DrawableCompat.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"166\" column=\"9\" selection-start-line=\"166\" selection-start-column=\"9\" selection-end-line=\"166\" selection-end-column=\"9\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeThemer.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.33274958\">\n          <caret line=\"28\" column=\"23\" selection-start-line=\"28\" selection-start-column=\"20\" selection-end-line=\"28\" selection-end-column=\"23\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/res/drawable/checkbox_pre_lollipop.xml\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.45333335\">\n          <caret line=\"16\" column=\"73\" selection-start-line=\"16\" selection-start-column=\"73\" selection-end-line=\"16\" selection-end-column=\"73\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSwitchItemView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.37666667\">\n          <caret line=\"88\" column=\"36\" selection-start-line=\"88\" selection-start-column=\"36\" selection-end-line=\"88\" selection-end-column=\"36\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSubheaderItemView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-3.0033333\">\n          <caret line=\"33\" column=\"13\" selection-start-line=\"33\" selection-start-column=\"13\" selection-end-line=\"33\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSeparatorMenuItem.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.255\">\n          <caret line=\"23\" column=\"13\" selection-start-line=\"23\" selection-start-column=\"13\" selection-end-line=\"23\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSeparatorItemView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.31166667\">\n          <caret line=\"27\" column=\"13\" selection-start-line=\"27\" selection-start-column=\"13\" selection-end-line=\"27\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeNavMenuView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.31166667\">\n          <caret line=\"27\" column=\"13\" selection-start-line=\"27\" selection-start-column=\"13\" selection-end-line=\"27\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeGroupHeaderMenuItem.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-0.13333334\">\n          <caret line=\"23\" column=\"13\" selection-start-line=\"23\" selection-start-column=\"13\" selection-end-line=\"23\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeGroup.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-4.108333\">\n          <caret line=\"26\" column=\"13\" selection-start-line=\"26\" selection-start-column=\"13\" selection-end-line=\"26\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeCheckboxMenuItem.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-0.048333332\">\n          <caret line=\"23\" column=\"13\" selection-start-line=\"23\" selection-start-column=\"13\" selection-end-line=\"23\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeCheckboxItemView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"1.615\">\n          <caret line=\"86\" column=\"13\" selection-start-line=\"86\" selection-start-column=\"13\" selection-end-line=\"86\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeBaseItemView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-2.7683334\">\n          <caret line=\"60\" column=\"15\" selection-start-line=\"60\" selection-start-column=\"15\" selection-end-line=\"60\" selection-end-column=\"15\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/StateAwareImageView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-0.30333334\">\n          <caret line=\"25\" column=\"13\" selection-start-line=\"25\" selection-start-column=\"13\" selection-end-line=\"25\" selection-end-column=\"13\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/ScrimInsetsFrameLayout.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-1.3233334\">\n          <caret line=\"31\" column=\"39\" selection-start-line=\"31\" selection-start-column=\"39\" selection-end-line=\"31\" selection-end-column=\"39\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/OnNavigationMenuEventListener.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.19833334\">\n          <caret line=\"21\" column=\"17\" selection-start-line=\"21\" selection-start-column=\"17\" selection-end-line=\"21\" selection-end-column=\"17\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeTextWithBadgeMenuItem.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"74\" column=\"17\" selection-start-line=\"74\" selection-start-column=\"17\" selection-end-line=\"74\" selection-end-column=\"17\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/../../../AndroidSDK/sources/android-23/android/view/View.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.33333334\">\n          <caret line=\"7423\" column=\"16\" selection-start-line=\"7423\" selection-start-column=\"16\" selection-end-line=\"7423\" selection-end-column=\"16\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/../../../AndroidSDK/sources/android-23/android/widget/ProgressBar.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.33274958\">\n          <caret line=\"1598\" column=\"30\" selection-start-line=\"1598\" selection-start-column=\"16\" selection-end-line=\"1598\" selection-end-column=\"30\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeTextWithBadgeItemView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.62333333\">\n          <caret line=\"71\" column=\"26\" selection-start-line=\"71\" selection-start-column=\"26\" selection-end-line=\"71\" selection-end-column=\"26\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenuPresenter.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"103\" column=\"19\" selection-start-line=\"103\" selection-start-column=\"19\" selection-end-line=\"103\" selection-end-column=\"19\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/app/src/main/res/layout/act_sampler.xml\">\n      <provider editor-type-id=\"android-designer\">\n        <state />\n      </provider>\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-6.206897\">\n          <caret line=\"83\" column=\"0\" selection-start-line=\"83\" selection-start-column=\"0\" selection-end-line=\"83\" selection-end-column=\"0\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/app/src/main/res/menu/test_nav_menu_1.xml\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"22\" column=\"0\" selection-start-line=\"22\" selection-start-column=\"0\" selection-end-line=\"22\" selection-end-column=\"0\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/StateAwareTextView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"26\" column=\"60\" selection-start-line=\"26\" selection-start-column=\"60\" selection-end-line=\"26\" selection-end-column=\"60\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"jar://$PROJECT_DIR$/../../../AndroidSDK/extras/android/m2repository/com/android/support/support-annotations/23.1.1/support-annotations-23.1.1-sources.jar!/android/support/annotation/MenuRes.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.519084\">\n          <caret line=\"34\" column=\"18\" selection-start-line=\"34\" selection-start-column=\"18\" selection-end-line=\"34\" selection-end-column=\"18\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/AndroidManifest.xml\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.085\">\n          <caret line=\"3\" column=\"76\" selection-start-line=\"3\" selection-start-column=\"76\" selection-end-line=\"3\" selection-end-column=\"76\" />\n          <folding>\n            <element signature=\"e#185#203#0\" expanded=\"true\" />\n          </folding>\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.19833334\">\n          <caret line=\"7\" column=\"40\" selection-start-line=\"7\" selection-start-column=\"40\" selection-end-line=\"7\" selection-end-column=\"40\" />\n          <folding>\n            <element signature=\"e#278#296#0\" expanded=\"true\" />\n          </folding>\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/gradle.properties\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"-0.068306014\">\n          <caret line=\"0\" column=\"0\" selection-start-line=\"0\" selection-start-column=\"0\" selection-end-line=\"0\" selection-end-column=\"0\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/settings.gradle\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"0\" column=\"0\" selection-start-line=\"0\" selection-start-column=\"0\" selection-end-line=\"0\" selection-end-column=\"0\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/app/proguard-rules.pro\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"0\" column=\"0\" selection-start-line=\"0\" selection-start-column=\"0\" selection-end-line=\"0\" selection-end-column=\"0\" />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/build.gradle\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.53833336\">\n          <caret line=\"19\" column=\"4\" selection-start-line=\"19\" selection-start-column=\"4\" selection-end-line=\"19\" selection-end-column=\"4\" />\n          <folding />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/app/src/main/java/com/appeaser/sublimenavigationview/Sampler.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"221\" column=\"18\" selection-start-line=\"221\" selection-start-column=\"18\" selection-end-line=\"221\" selection-end-column=\"18\" />\n          <folding>\n            <element signature=\"imports\" expanded=\"true\" />\n          </folding>\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/app/build.gradle\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.28333333\">\n          <caret line=\"10\" column=\"21\" selection-start-line=\"10\" selection-start-column=\"21\" selection-end-line=\"10\" selection-end-column=\"21\" />\n          <folding />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/build.gradle\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.22666667\">\n          <caret line=\"8\" column=\"50\" selection-start-line=\"8\" selection-start-column=\"50\" selection-end-line=\"8\" selection-end-column=\"50\" />\n          <folding />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/app/src/main/res/layout/nav_header.xml\">\n      <provider editor-type-id=\"android-designer\">\n        <state />\n      </provider>\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"21\" column=\"56\" selection-start-line=\"21\" selection-start-column=\"56\" selection-end-line=\"21\" selection-end-column=\"56\" />\n          <folding />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenuInflater.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.33333334\">\n          <caret line=\"98\" column=\"16\" selection-start-line=\"98\" selection-start-column=\"16\" selection-end-line=\"98\" selection-end-column=\"16\" />\n          <folding />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeBaseMenuItem.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.37659034\">\n          <caret line=\"284\" column=\"13\" selection-start-line=\"284\" selection-start-column=\"13\" selection-end-line=\"284\" selection-end-column=\"13\" />\n          <folding />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeNavigationView.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.0\">\n          <caret line=\"363\" column=\"40\" selection-start-line=\"363\" selection-start-column=\"40\" selection-end-line=\"363\" selection-end-column=\"40\" />\n          <folding />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/Config.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.32846716\">\n          <caret line=\"18\" column=\"13\" selection-start-line=\"18\" selection-start-column=\"13\" selection-end-line=\"18\" selection-end-column=\"13\" />\n          <folding />\n        </state>\n      </provider>\n    </entry>\n    <entry file=\"file://$PROJECT_DIR$/sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenu.java\">\n      <provider selected=\"true\" editor-type-id=\"text-editor\">\n        <state vertical-scroll-proportion=\"0.14285715\">\n          <caret line=\"117\" column=\"49\" selection-start-line=\"117\" selection-start-column=\"49\" selection-end-line=\"117\" selection-end-column=\"49\" />\n          <folding>\n            <element signature=\"e#3097#3098#0\" expanded=\"true\" />\n            <element signature=\"e#3145#3146#0\" expanded=\"true\" />\n            <element signature=\"e#3183#3184#0\" expanded=\"true\" />\n            <element signature=\"e#3221#3222#0\" expanded=\"true\" />\n            <element signature=\"e#3771#3772#0\" expanded=\"true\" />\n            <element signature=\"e#3801#3802#0\" expanded=\"true\" />\n            <element signature=\"e#27669#27670#0\" expanded=\"true\" />\n            <element signature=\"e#27725#27726#0\" expanded=\"true\" />\n            <element signature=\"e#33843#33844#0\" expanded=\"true\" />\n            <element signature=\"e#33879#33880#0\" expanded=\"true\" />\n          </folding>\n        </state>\n      </provider>\n    </entry>\n  </component>\n</project>"
  },
  {
    "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": "README.md",
    "content": "[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-SublimeNavigationView-orange.svg?style=flat-square)](http://android-arsenal.com/details/1/3043)\n\n# SublimeNavigationView\n\n... is a complete rewrite of NavigationView (from Design Support library) that enables usage of `Checkboxes`, `Switches` & `Badges` in/as menu items. Menus are defined in good-old `XML`, and parsed using a custom `MenuInflater`. `SublimeNavigationView` works with `Parcelable` menus which means that state retention is built-in. Moreover, it can support multiple menus while preserving their respective states. Groups added to the menu have the added feature of being collapsible/expandable. Along with this, SublimeNavigationView allows a few options for custom styling. \n\nGradle dependency\n-----------------\n    \n    compile 'com.appeaser.sublimenavigationviewlibrary:sublimenavigationviewlibrary:0.0.1'\n\nWalkthrough\n-----------\nScreenshots have been taken from the sample application available here: [<img alt=\"Get it on Google Play\" height=\"45px\" src=\"https://play.google.com/intl/en_us/badges/images/apps/en-play-badge-border.png\" />][1]\n\n<p align=\"center\">\n    <img src=\"https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/app_info.png?raw=true\" width=\"285\" height=\"553\" />\n</p>\n\nHow the menu looks:\n\n<p align=\"center\">\n    <img src=\"https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/first_menu.png?raw=true\" width=\"285\" height=\"553\" />\n</p>\n\n`SublimeNavigationView` can work with any number of menus. As an example of this, the sample application shows how to handle two of them:\n\n<p align=\"center\">\n    <img src=\"https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/second_menu.png?raw=true\" width=\"285\" height=\"553\" />\n</p>\n\nSwitching between menus:\n\nFirst Menu                 |  Second Menu\n:-------------------------:|:-------------------------:\n![](https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/switch_menus_first_menu.png?raw=true)  |  ![](https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/switch_menus_second_menu.png?raw=true)\n\n`SublimeMenu` supports grouping of menu items. In addition to the standard features such as defining a `checkable` policy, ordering etc., a `SublimeGroup` can be expanded/collapsed - on user input, through XML definition, or programmatically:\n\nCollapsed                  |  Expanded\n:-------------------------:|:-------------------------:\n![](https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/group_collapsed.png?raw=true)  |  ![](https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/group_expanded.png?raw=true)\n\nXML definitions are quite straight-forward. An example:\n\n    <Text\n        android:id=\"@+id/text_item_1\"\n        android:title=\"Independent item\"\n        android:hint=\"(Optional) hint for this item\"/>\n\nThis would translate to:\n\n<p align=\"center\">\n    <img src=\"https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/item_with_hint.png?raw=true\" width=\"576\" height=\"72\" />\n</p>\n\nA `Text` item with an icon - and another, that shows icon space, but doesn't display an icon:\n\n    <Text\n        android:id=\"@+id/text_item_2\"\n        android:title=\"Independent item with icon\"\n        android:icon=\"@drawable/archive\" />\n\n    <Text\n        android:id=\"@+id/text_item_5\"\n        android:title=\"Indented item\"\n        android:hint=\"Show icon space on-demand\"\n        app:showIconSpace=\"true\"/>\n\nOutput:\n\n<p align=\"center\">\n    <img src=\"https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/item_with_icon.png?raw=true\" width=\"576\" height=\"147\" />\n</p>\n\n`TextWithBadge` menu items can be presented in two forms - initialized & uninitialized. In uninitialized form, the item will display an indeterminate `ProgressBar` in place of `badgeText`:\n\n    <TextWithBadge\n        android:id=\"@+id/text_with_badge_item_1\"\n        android:title=\"Text with badge item\"\n        app:valueProvidedAsync=\"true\"/>\n\n<p align=\"center\">\n    <img src=\"https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/text_with_badge_uninitialized.png?raw=true\" width=\"576\" height=\"75\" />\n</p>\n\nIn initialized form, the item will have its `badgeText` set in XML:\n\n    <TextWithBadge\n        android:id=\"@+id/text_with_badge_item_1\"\n        android:title=\"Text with badge item\"\n        app:badgeText=\"25\"/>\n\n<p align=\"center\">\n    <img src=\"https://github.com/vikramkakkar/SublimeNavigationView/blob/master/img/text_with_badge_initialized.png?raw=true\" width=\"576\" height=\"75\" />\n</p>\n\nThis feature can be used if the `badgeText` is being retrieved through a network call, or if some computation needs to be performed before it can be displayed. Once the text is available, you can display it using:\n\n    ((SublimeTextWithBadgeMenuItem)snv.getMenu().getMenuItem(R.id.text_with_badge_item_1))\n                        .setBadgeText(\"25\").setValueProvidedAsync(false);\n\nSublimeNavigationView also supports a few styling options. As an example, the sample application uses a custom typeface spicified in the view's xml definition:\n\n    <com.appeaser.sublimenavigationviewlibrary.SublimeNavigationView\n        ....\n        ....\n        app:snvHeaderLayout=\"@layout/nav_header\"\n        app:snvMenu=\"@menu/test_nav_menu_1\"\n        app:snvItemTypefaceFilename=\"planer_bold_webfont.ttf\"\n        app:snvHintTypefaceFilename=\"planer_reg_webfont.ttf\"\n        app:snvSubheaderItemTypefaceFilename=\"planer_bold_webfont.ttf\"/>\n\nStyling info can also be set programmatically by providing a initialized `SublimeThemer`.\n\nThere were some features that were left out on purpose. One of them was the option to define sub-menus. This feature is essential when used within the `ActionBar` design pattern, but its importance in a navigation view is lost on me.\n\nThe `NavigationView` from design library adds separators automatically. SublimeNavigationView takes a different approach, and lets you decide where the separators should go. So, to create a divider, add a `Separator` menu item:\n\n    <Separator\n        android:id=\"@+id/separator_item_1\" />\n\nSince there are no space concerns, `orderInCategory` & `menuCategory` have also been left out.\n\nLicense\n-------\n    Copyright (c) 2015 Vikram Kakkar\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\t\n\t\n\t\n[1]: https://play.google.com/store/apps/details?id=com.appeaser.sublimenavigationview\n"
  },
  {
    "path": "SublimeNavigationView.iml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module external.linked.project.id=\"SublimeNavigationView\" external.linked.project.path=\"$MODULE_DIR$\" external.root.project.path=\"$MODULE_DIR$\" external.system.id=\"GRADLE\" external.system.module.group=\"\" external.system.module.version=\"unspecified\" type=\"JAVA_MODULE\" version=\"4\">\n  <component name=\"FacetManager\">\n    <facet type=\"java-gradle\" name=\"Java-Gradle\">\n      <configuration>\n        <option name=\"BUILD_FOLDER_PATH\" value=\"$MODULE_DIR$/build\" />\n        <option name=\"BUILDABLE\" value=\"false\" />\n      </configuration>\n    </facet>\n  </component>\n  <component name=\"NewModuleRootManager\" LANGUAGE_LEVEL=\"JDK_1_7\" inherit-compiler-output=\"true\">\n    <exclude-output />\n    <content url=\"file://$MODULE_DIR$\">\n      <excludeFolder url=\"file://$MODULE_DIR$/.gradle\" />\n    </content>\n    <orderEntry type=\"inheritedJdk\" />\n    <orderEntry type=\"sourceFolder\" forTests=\"false\" />\n  </component>\n</module>"
  },
  {
    "path": "app/.gitignore",
    "content": "/build\n"
  },
  {
    "path": "app/app.iml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module external.linked.project.id=\":app\" external.linked.project.path=\"$MODULE_DIR$\" external.root.project.path=\"$MODULE_DIR$/..\" external.system.id=\"GRADLE\" external.system.module.group=\"SublimeNavigationView\" external.system.module.version=\"unspecified\" type=\"JAVA_MODULE\" version=\"4\">\n  <component name=\"FacetManager\">\n    <facet type=\"android-gradle\" name=\"Android-Gradle\">\n      <configuration>\n        <option name=\"GRADLE_PROJECT_PATH\" value=\":app\" />\n      </configuration>\n    </facet>\n    <facet type=\"android\" name=\"Android\">\n      <configuration>\n        <option name=\"SELECTED_BUILD_VARIANT\" value=\"debug\" />\n        <option name=\"SELECTED_TEST_ARTIFACT\" value=\"_android_test_\" />\n        <option name=\"ASSEMBLE_TASK_NAME\" value=\"assembleDebug\" />\n        <option name=\"COMPILE_JAVA_TASK_NAME\" value=\"compileDebugSources\" />\n        <option name=\"ASSEMBLE_TEST_TASK_NAME\" value=\"assembleDebugAndroidTest\" />\n        <option name=\"COMPILE_JAVA_TEST_TASK_NAME\" value=\"compileDebugAndroidTestSources\" />\n        <afterSyncTasks>\n          <task>generateDebugAndroidTestSources</task>\n          <task>generateDebugSources</task>\n        </afterSyncTasks>\n        <option name=\"ALLOW_USER_CONFIGURATION\" value=\"false\" />\n        <option name=\"MANIFEST_FILE_RELATIVE_PATH\" value=\"/src/main/AndroidManifest.xml\" />\n        <option name=\"RES_FOLDER_RELATIVE_PATH\" value=\"/src/main/res\" />\n        <option name=\"RES_FOLDERS_RELATIVE_PATH\" value=\"file://$MODULE_DIR$/src/main/res\" />\n        <option name=\"ASSETS_FOLDER_RELATIVE_PATH\" value=\"/src/main/assets\" />\n      </configuration>\n    </facet>\n  </component>\n  <component name=\"NewModuleRootManager\" LANGUAGE_LEVEL=\"JDK_1_7\" inherit-compiler-output=\"false\">\n    <output url=\"file://$MODULE_DIR$/build/intermediates/classes/debug\" />\n    <output-test url=\"file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug\" />\n    <exclude-output />\n    <content url=\"file://$MODULE_DIR$\">\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/r/debug\" isTestSource=\"false\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/aidl/debug\" isTestSource=\"false\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/buildConfig/debug\" isTestSource=\"false\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/rs/debug\" isTestSource=\"false\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/res/rs/debug\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/res/resValues/debug\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/r/androidTest/debug\" isTestSource=\"true\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug\" isTestSource=\"true\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug\" isTestSource=\"true\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug\" isTestSource=\"true\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/res\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/resources\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/assets\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/aidl\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/java\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/jni\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/rs\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/res\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/resources\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/assets\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/aidl\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/java\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/jni\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/rs\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/res\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/resources\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/assets\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/aidl\" isTestSource=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/java\" isTestSource=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/jni\" isTestSource=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/rs\" isTestSource=\"true\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/assets\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/classes\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/debug\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/dependency-cache\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/dex\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/23.1.1/jars\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/cardview-v7/23.1.1/jars\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/design/23.1.1/jars\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/recyclerview-v7/23.1.1/jars\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/23.1.1/jars\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/incremental\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/manifests\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/pre-dexed\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/res\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/rs\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/symbols\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/tmp\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/outputs\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/tmp\" />\n    </content>\n    <orderEntry type=\"jdk\" jdkName=\"Android API 23 Platform\" jdkType=\"Android SDK\" />\n    <orderEntry type=\"sourceFolder\" forTests=\"false\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"recyclerview-v7-23.1.1\" level=\"project\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"support-v4-23.1.1\" level=\"project\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"cardview-v7-23.1.1\" level=\"project\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"support-annotations-23.1.1\" level=\"project\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"appcompat-v7-23.1.1\" level=\"project\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"design-23.1.1\" level=\"project\" />\n    <orderEntry type=\"module\" module-name=\"sublimenavigationviewlibrary\" exported=\"\" />\n  </component>\n</module>"
  },
  {
    "path": "app/build.gradle",
    "content": "apply plugin: 'com.android.application'\n\nandroid {\n    compileSdkVersion 23\n    buildToolsVersion \"23.0.2\"\n\n    defaultConfig {\n        applicationId \"com.appeaser.sublimenavigationview\"\n        minSdkVersion 14\n        targetSdkVersion 23\n        versionCode 2\n        versionName \"1.1\"\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(include: ['*.jar'], dir: 'libs')\n    testCompile 'junit:junit:4.12'\n    compile project(':sublimenavigationviewlibrary')\n    compile 'com.android.support:appcompat-v7:23.1.1'\n    compile 'com.android.support:cardview-v7:23.1.1'\n    compile 'com.android.support:design:23.1.1'\n}\n"
  },
  {
    "path": "app/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 C:\\Users\\Vikram\\Documents\\Android\\adt-bundle-windows-x86-20130219\\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": "app/src/androidTest/java/com/appeaser/sublimenavigationview/ApplicationTest.java",
    "content": "package com.appeaser.sublimenavigationview;\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": "app/src/main/AndroidManifest.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.appeaser.sublimenavigationview\" >\n\n    <application\n        android:allowBackup=\"true\"\n        android:icon=\"@mipmap/app_launcher\"\n        android:label=\"@string/app_name\"\n        android:theme=\"@style/AppTheme\" >\n        <activity\n            android:name=\".Sampler\"\n            android:label=\"@string/app_name\" >\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    </application>\n\n</manifest>\n"
  },
  {
    "path": "app/src/main/java/com/appeaser/sublimenavigationview/Sampler.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationview;\n\nimport android.content.ActivityNotFoundException;\nimport android.content.Intent;\nimport android.graphics.Typeface;\nimport android.net.Uri;\nimport android.os.Bundle;\nimport android.support.v7.app.AppCompatActivity;\nimport android.support.v7.widget.Toolbar;\nimport android.text.Html;\nimport android.util.Log;\nimport android.view.Menu;\nimport android.view.MenuItem;\nimport android.view.View;\nimport android.widget.TextView;\nimport android.widget.Toast;\n\nimport com.appeaser.sublimenavigationviewlibrary.OnNavigationMenuEventListener;\nimport com.appeaser.sublimenavigationviewlibrary.SublimeBaseMenuItem;\nimport com.appeaser.sublimenavigationviewlibrary.SublimeMenu;\nimport com.appeaser.sublimenavigationviewlibrary.SublimeNavigationView;\n\n/**\n * Sample usage\n */\npublic class Sampler extends AppCompatActivity {\n\n    public static final String TAG = Sampler.class.getSimpleName();\n\n    // Keys used when saving menu state to Bundle\n    final String SS_KEY_MENU_1 = \"ss.key.menu.1\";\n    final String SS_KEY_MENU_2 = \"ss.key.menu.2\";\n\n    // For maintaining menu state in case of multiple menus\n    SublimeMenu firstMenu, secondMenu;\n\n    // Navigation menu\n    SublimeNavigationView snv;\n\n    TextView tvFirstMenuLabel, tvSecondMenuLabel;\n\n    @Override\n    protected void onCreate(final Bundle savedInstanceState) {\n        super.onCreate(savedInstanceState);\n        setContentView(R.layout.act_sampler);\n\n        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);\n        setSupportActionBar(toolbar);\n\n        if (getSupportActionBar() != null) {\n            getSupportActionBar().setDisplayShowTitleEnabled(false);\n        }\n\n        if (savedInstanceState != null) {\n            // retrieve saved instances of the two menus\n            if (savedInstanceState.containsKey(SS_KEY_MENU_1)) {\n                firstMenu = savedInstanceState.getParcelable(SS_KEY_MENU_1);\n            }\n\n            if (savedInstanceState.containsKey(SS_KEY_MENU_2)) {\n                secondMenu = savedInstanceState.getParcelable(SS_KEY_MENU_2);\n            }\n        }\n\n        snv = (SublimeNavigationView) findViewById(R.id.navigation_view);\n\n        tvFirstMenuLabel = (TextView) snv.getHeaderView().findViewById(R.id.tvFirstMenu);\n        tvSecondMenuLabel = (TextView) snv.getHeaderView().findViewById(R.id.tvSecondMenu);\n\n        // set listener to get notified of menu events\n        snv.setNavigationMenuEventListener(new OnNavigationMenuEventListener() {\n            @Override\n            public boolean onNavigationMenuEvent(OnNavigationMenuEventListener.Event event,\n                                                 SublimeBaseMenuItem menuItem) {\n                switch (event) {\n                    case CHECKED:\n                        Log.i(TAG, \"Item checked\");\n                        break;\n                    case UNCHECKED:\n                        Log.i(TAG, \"Item unchecked\");\n                        break;\n                    case GROUP_EXPANDED:\n                        Log.i(TAG, \"Group expanded\");\n                        break;\n                    case GROUP_COLLAPSED:\n                        Log.i(TAG, \"Group collapsed\");\n                        break;\n                    default:\n                        //CLICK\n                        // Something like handleClick(menuItem);\n                        // Here, we toggle the 'checked' state\n                        Log.i(TAG, \"Item clicked\");\n                        menuItem.setChecked(!menuItem.isChecked());\n                        break;\n                }\n                return true;\n            }\n        });\n\n        // set up mechanism to switch between the 2 menus\n        snv.getHeaderView().findViewById(R.id.tvFirstMenu)\n                .setOnClickListener(new View.OnClickListener() {\n                    @Override\n                    public void onClick(View v) {\n                        SublimeMenu menu = snv.getMenu();\n\n                        if (menu.getMenuResourceID() != R.menu.test_nav_menu_1) {\n                            secondMenu = menu;\n\n                            if (firstMenu == null) {\n                                snv.switchMenuTo(R.menu.test_nav_menu_1);\n                            } else {\n                                snv.switchMenuTo(firstMenu);\n                            }\n\n                            updateMenuLabel();\n                        }\n                    }\n                });\n\n        // set up mechanism to switch between the 2 menus\n        snv.getHeaderView().findViewById(R.id.tvSecondMenu)\n                .setOnClickListener(new View.OnClickListener() {\n                    @Override\n                    public void onClick(View v) {\n                        SublimeMenu menu = snv.getMenu();\n\n                        if (menu.getMenuResourceID() != R.menu.test_nav_menu_2) {\n                            firstMenu = menu;\n\n                            if (secondMenu == null) {\n                                snv.switchMenuTo(R.menu.test_nav_menu_2);\n                            } else {\n                                snv.switchMenuTo(secondMenu);\n                            }\n\n                            updateMenuLabel();\n                        }\n                    }\n                });\n\n        initSamplerContent();\n    }\n\n    private void updateMenuLabel() {\n        if (snv.getMenu().getMenuResourceID() == R.menu.test_nav_menu_1) {\n            tvFirstMenuLabel.setTypeface(null, Typeface.BOLD);\n            tvSecondMenuLabel.setTypeface(null, Typeface.NORMAL);\n        } else if (snv.getMenu().getMenuResourceID() == R.menu.test_nav_menu_2) {\n            tvSecondMenuLabel.setTypeface(null, Typeface.BOLD);\n            tvFirstMenuLabel.setTypeface(null, Typeface.NORMAL);\n        }\n    }\n\n    /**\n     * Information about the library\n     */\n    private void initSamplerContent() {\n        TextView tvSummary = (TextView) findViewById(R.id.tv_summary_heading);\n        tvSummary.setText(Html.fromHtml(\"... is a complete rewrite of <b>NavigationView</b> from <b>Design Support library</b>. What it allows:\"));\n\n        TextView tvSummaryBullet1 = (TextView) findViewById(R.id.tv_summary_bullet_1);\n        tvSummaryBullet1.setText(Html.fromHtml(\"Menu definition in <b>XML</b>\"));\n\n        TextView tvSummaryBullet2 = (TextView) findViewById(R.id.tv_summary_bullet_2);\n        tvSummaryBullet2.setText(Html.fromHtml(\"Menu implements <b>Parcelable</b> for retention of menu state\"));\n\n        TextView tvSummaryBullet3 = (TextView) findViewById(R.id.tv_summary_bullet_3);\n        tvSummaryBullet3.setText(Html.fromHtml(\"Choose from <b>Text, Checkbox, Switch, Group, TextWithBadge</b> menu item types\"));\n\n        TextView tvSummaryBullet4 = (TextView) findViewById(R.id.tv_summary_bullet_4);\n        tvSummaryBullet4.setText(Html.fromHtml(\"Custom <b>MenuInflater</b> allows defining menu items such as <b>&lt;Checkbox ... /&gt;</b> directly in <b>XML</b>\"));\n\n        TextView tvSummaryBullet5 = (TextView) findViewById(R.id.tv_summary_bullet_5);\n        tvSummaryBullet5.setText(Html.fromHtml(\"Switch between any number of Menus <i>without losing state</i>\"));\n\n        TextView tvSummaryBullet6 = (TextView) findViewById(R.id.tv_summary_bullet_6);\n        tvSummaryBullet6.setText(Html.fromHtml(\"Collapsible/expandable Groups\"));\n\n        TextView tvSummaryBullet7 = (TextView) findViewById(R.id.tv_summary_bullet_7);\n        tvSummaryBullet7.setText(Html.fromHtml(\"On-demand indentation (show icon space <i>without assigning an icon</i>)\"));\n\n        TextView tvSummaryBullet8 = (TextView) findViewById(R.id.tv_summary_bullet_8);\n        tvSummaryBullet8.setText(Html.fromHtml(\"<b>&lt;TextWithBadge ... /&gt;</b> item displays a (flushed-right) <b><i>badge</i></b> that can be set <b>asynchronously</b> - a <b>ProgressBar</b> is displayed while the value is being retrieved\"));\n\n        TextView tvSummaryBullet9 = (TextView) findViewById(R.id.tv_summary_bullet_9);\n        tvSummaryBullet9.setText(Html.fromHtml(\"Provide custom <b>Typefaces</b> and <b>text-styles</b> (normal, <b>bold</b>, <i>italic</i> &amp; <b><i>bold_italic</i></b>) for item, hint, group-header etc.\"));\n    }\n\n    @Override\n    public boolean onCreateOptionsMenu(Menu menu) {\n        getMenuInflater().inflate(R.menu.menu_sampler, menu);\n        return true;\n    }\n\n    @Override\n    public boolean onOptionsItemSelected(MenuItem item) {\n        // Handle action bar item clicks here. The action bar will\n        // automatically handle clicks on the Home/Up button, so long\n        // as you specify a parent activity in AndroidManifest.xml.\n        int id = item.getItemId();\n\n        if (id == R.id.action_rate_this_app) {\n            try {\n                startActivity(new Intent(Intent.ACTION_VIEW,\n                        Uri.parse(\"market://details?id=com.appeaser.sublimenavigationview\")));\n            } catch (ActivityNotFoundException anfe1) {\n                try {\n                    startActivity(new Intent(Intent.ACTION_VIEW,\n                            Uri.parse(\"http://market.android.com/details?id=com.appeaser.sublimenavigationview\")));\n                } catch (ActivityNotFoundException anfe2) {\n                    Toast.makeText(this, \"You need a browser app to view this link\",\n                            Toast.LENGTH_LONG).show();\n                }\n            }\n            return true;\n        } else if (id == R.id.action_github_link) {\n            String data = \"https://github.com/vikramkakkar/SublimeNavigationView\";\n            try {\n                startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(data)));\n            } catch (ActivityNotFoundException anfe) {\n                Toast.makeText(this, \"You need a browser app to view this link\",\n                        Toast.LENGTH_LONG).show();\n            }\n            return true;\n        }\n\n        return super.onOptionsItemSelected(item);\n    }\n\n    @Override\n    protected void onResume() {\n        super.onResume();\n        updateMenuLabel();\n    }\n\n    @Override\n    protected void onSaveInstanceState(Bundle outState) {\n        super.onSaveInstanceState(outState);\n\n        // save state for the two menus\n        outState.putParcelable(SS_KEY_MENU_1, firstMenu);\n        outState.putParcelable(SS_KEY_MENU_2, secondMenu);\n    }\n}\n"
  },
  {
    "path": "app/src/main/res/color/text_explore_some_more.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:color=\"@color/colorAccentPlus30\" android:state_pressed=\"true\"/>\n    <item android:color=\"@color/colorAccentPlus25\"/>\n</selector>"
  },
  {
    "path": "app/src/main/res/drawable/bg_explore_some_more.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\">\n        <layer-list>\n            <item>\n                <shape android:shape=\"rectangle\">\n                    <solid android:color=\"@color/colorPrimary\"/>\n                    <corners android:radius=\"2dp\"/>\n                </shape>\n            </item>\n        </layer-list>\n    </item>\n    <item>\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"@color/colorPrimaryDark\"/>\n            <corners android:radius=\"2dp\"/>\n        </shape>\n    </item>\n</selector>"
  },
  {
    "path": "app/src/main/res/drawable/bitmap_header_bg.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<bitmap xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:src=\"@drawable/nav_header_bg\"\n    android:tileMode=\"repeat\"\n    android:antialias=\"true\"\n    android:dither=\"true\"/>"
  },
  {
    "path": "app/src/main/res/drawable/user_bg.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<shape xmlns:android=\"http://schemas.android.com/apk/res/android\" android:shape=\"oval\">\n    <solid android:color=\"#43ffffff\"/>\n</shape>"
  },
  {
    "path": "app/src/main/res/drawable-v21/bg_explore_some_more.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ripple xmlns:android=\"http://schemas.android.com/apk/res/android\" android:color=\"@color/colorPrimary\">\n    <item android:id=\"@android:id/mask\">\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"@color/colorPrimaryDark\"/>\n            <corners android:radius=\"2dp\"/>\n        </shape>\n    </item>\n    <item>\n        <shape android:shape=\"rectangle\">\n            <solid android:color=\"@color/colorPrimaryDark\"/>\n            <corners android:radius=\"2dp\"/>\n        </shape>\n    </item>\n</ripple>"
  },
  {
    "path": "app/src/main/res/layout/act_sampler.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<android.support.v4.widget.DrawerLayout\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:id=\"@+id/nav_drawer_layout\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:fitsSystemWindows=\"true\">\n\n    <FrameLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        android:background=\"@color/colorPrimary\">\n\n        <include layout=\"@layout/sampler_content\"/>\n\n        <android.support.v7.widget.Toolbar\n            android:id=\"@+id/toolbar\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"?attr/actionBarSize\"\n            android:background=\"@color/colorPrimary\"\n            android:theme=\"@style/ToolbarTheme\"\n            app:popupTheme=\"@style/ThemeOverlay.AppCompat.ActionBar\">\n\n            <LinearLayout\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\"\n                android:gravity=\"center_vertical\">\n\n                <android.support.v7.widget.CardView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_gravity=\"center_vertical\"\n                    app:cardElevation=\"6dp\"\n                    app:cardCornerRadius=\"2dp\"\n                    app:cardBackgroundColor=\"@color/colorPrimaryDark\"\n                    app:cardUseCompatPadding=\"true\">\n\n                    <TextView\n                        android:id=\"@+id/tv_app_title\"\n                        android:layout_width=\"wrap_content\"\n                        android:layout_height=\"wrap_content\"\n                        android:layout_marginLeft=\"8dp\"\n                        android:layout_marginRight=\"8dp\"\n                        android:layout_marginTop=\"4dp\"\n                        android:layout_marginBottom=\"4dp\"\n                        android:textSize=\"16dp\"\n                        android:textStyle=\"bold\"\n                        android:text=\"Sublime\"\n                        android:textColor=\"@color/colorAccentPlus25\"/>\n\n                </android.support.v7.widget.CardView>\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"4dp\"\n                    android:layout_marginRight=\"8dp\"\n                    android:layout_marginTop=\"8dp\"\n                    android:layout_marginBottom=\"8dp\"\n                    android:textSize=\"16dp\"\n                    android:textStyle=\"bold\"\n                    android:textColor=\"#FFFFFF\"\n                    android:text=\"NavigationView\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.Toolbar>\n\n    </FrameLayout>\n\n    <com.appeaser.sublimenavigationviewlibrary.SublimeNavigationView\n        style=\"@style/NavigationViewStyle\"\n        android:id=\"@+id/navigation_view\"\n        android:layout_width=\"304dp\"\n        android:layout_height=\"match_parent\"\n        android:layout_gravity=\"start\"\n        android:fitsSystemWindows=\"true\"\n        app:snvHeaderLayout=\"@layout/nav_header\"\n        app:snvMenu=\"@menu/test_nav_menu_1\"\n        app:snvItemTypefaceFilename=\"planer_bold_webfont.ttf\"\n        app:snvHintTypefaceFilename=\"planer_reg_webfont.ttf\"\n        app:snvSubheaderItemTypefaceFilename=\"planer_bold_webfont.ttf\"/>\n\n</android.support.v4.widget.DrawerLayout>\n"
  },
  {
    "path": "app/src/main/res/layout/nav_header.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<FrameLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"192dp\"\n    android:background=\"@drawable/bitmap_header_bg\"\n    android:paddingTop=\"16dp\"\n    android:paddingBottom=\"16dp\"\n    android:theme=\"@style/ThemeOverlay.AppCompat.Light\">\n\n    <LinearLayout\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:layout_gravity=\"right|bottom\"\n        android:gravity=\"right\">\n\n        <TextView\n            android:id=\"@+id/tvFirstMenu\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"FIRST MENU\"\n            android:paddingTop=\"10dp\"\n            android:paddingBottom=\"10dp\"\n            android:paddingLeft=\"16dp\"\n            android:paddingRight=\"16dp\"\n            android:background=\"?attr/selectableItemBackground\"\n            android:textAppearance=\"@style/TextAppearance.AppCompat.Body1\" />\n\n        <TextView\n            android:id=\"@+id/tvSecondMenu\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"SECOND MENU\"\n            android:paddingTop=\"10dp\"\n            android:paddingBottom=\"10dp\"\n            android:paddingLeft=\"16dp\"\n            android:paddingRight=\"16dp\"\n            android:background=\"?attr/selectableItemBackground\"\n            android:textAppearance=\"@style/TextAppearance.AppCompat.Body1\" />\n\n    </LinearLayout>\n\n    <ImageView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:src=\"@drawable/user\"\n        android:background=\"@drawable/user_bg\"\n        android:padding=\"10dp\"\n        android:layout_marginLeft=\"16dp\"\n        android:layout_gravity=\"center_vertical\"/>\n\n    <TextView\n        android:id=\"@+id/tvNamePlate\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:text=\"JOHN DOE\"\n        android:layout_marginLeft=\"16dp\"\n        android:layout_marginBottom=\"10dp\"\n        android:layout_gravity=\"bottom|start\"\n        android:textStyle=\"bold\"\n        android:textAppearance=\"@style/TextAppearance.AppCompat.Body1\" />\n\n</FrameLayout>"
  },
  {
    "path": "app/src/main/res/layout/sampler_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:layout_marginTop=\"?attr/actionBarSize\">\n\n    <LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:padding=\"16dp\">\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorAccentPlus10\">\n\n            <TextView\n                android:id=\"@+id/tv_summary_heading\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_margin=\"16dp\"\n                android:textColor=\"@color/colorTextDark\"\n                android:textSize=\"17sp\"/>\n\n        </android.support.v7.widget.CardView>\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"10dp\"\n            android:layout_marginLeft=\"15dp\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorBulletNor\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"25dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:textStyle=\"bold\"\n                    android:textColor=\"@color/colorTextDark\"\n                    android:text=\"\\u2022\"\n                    android:textSize=\"16dp\"/>\n\n                <TextView\n                    android:id=\"@+id/tv_summary_bullet_1\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"10dp\"\n                    android:layout_marginRight=\"16dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:layout_marginBottom=\"16dp\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.CardView>\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"10dp\"\n            android:layout_marginLeft=\"15dp\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorBulletAlt\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:textStyle=\"bold\"\n                    android:layout_marginLeft=\"25dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:text=\"\\u2022\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n                <TextView\n                    android:id=\"@+id/tv_summary_bullet_2\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"10dp\"\n                    android:layout_marginRight=\"16dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:layout_marginBottom=\"16dp\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.CardView>\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"10dp\"\n            android:layout_marginLeft=\"15dp\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorBulletNor\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:textStyle=\"bold\"\n                    android:layout_marginLeft=\"25dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:text=\"\\u2022\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n                <TextView\n                    android:id=\"@+id/tv_summary_bullet_3\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"10dp\"\n                    android:layout_marginRight=\"16dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:layout_marginBottom=\"16dp\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.CardView>\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"10dp\"\n            android:layout_marginLeft=\"15dp\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorBulletAlt\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:textStyle=\"bold\"\n                    android:layout_marginLeft=\"25dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:text=\"\\u2022\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n                <TextView\n                    android:id=\"@+id/tv_summary_bullet_4\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"10dp\"\n                    android:layout_marginRight=\"16dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:layout_marginBottom=\"16dp\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.CardView>\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"10dp\"\n            android:layout_marginLeft=\"15dp\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorBulletNor\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:textStyle=\"bold\"\n                    android:layout_marginLeft=\"25dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:text=\"\\u2022\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n                <TextView\n                    android:id=\"@+id/tv_summary_bullet_5\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"10dp\"\n                    android:layout_marginRight=\"16dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:layout_marginBottom=\"16dp\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.CardView>\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"10dp\"\n            android:layout_marginLeft=\"15dp\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorBulletAlt\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:textStyle=\"bold\"\n                    android:layout_marginLeft=\"25dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:text=\"\\u2022\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n                <TextView\n                    android:id=\"@+id/tv_summary_bullet_6\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"10dp\"\n                    android:layout_marginRight=\"16dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:layout_marginBottom=\"16dp\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.CardView>\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"10dp\"\n            android:layout_marginLeft=\"15dp\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorBulletNor\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:textStyle=\"bold\"\n                    android:layout_marginLeft=\"25dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:text=\"\\u2022\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n                <TextView\n                    android:id=\"@+id/tv_summary_bullet_7\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"10dp\"\n                    android:layout_marginRight=\"16dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:layout_marginBottom=\"16dp\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.CardView>\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"10dp\"\n            android:layout_marginLeft=\"15dp\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorBulletAlt\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:textStyle=\"bold\"\n                    android:layout_marginLeft=\"25dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:text=\"\\u2022\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n                <TextView\n                    android:id=\"@+id/tv_summary_bullet_8\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"10dp\"\n                    android:layout_marginRight=\"16dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:layout_marginBottom=\"16dp\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.CardView>\n\n        <android.support.v7.widget.CardView\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:layout_marginTop=\"10dp\"\n            android:layout_marginLeft=\"15dp\"\n            app:cardCornerRadius=\"6dp\"\n            app:cardBackgroundColor=\"@color/colorBulletNor\">\n\n            <LinearLayout\n                android:layout_width=\"match_parent\"\n                android:layout_height=\"wrap_content\"\n                android:orientation=\"horizontal\">\n\n                <TextView\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:textStyle=\"bold\"\n                    android:layout_marginLeft=\"25dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:text=\"\\u2022\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n                <TextView\n                    android:id=\"@+id/tv_summary_bullet_9\"\n                    android:layout_width=\"wrap_content\"\n                    android:layout_height=\"wrap_content\"\n                    android:layout_marginLeft=\"10dp\"\n                    android:layout_marginRight=\"16dp\"\n                    android:layout_marginTop=\"16dp\"\n                    android:layout_marginBottom=\"16dp\"\n                    android:textSize=\"16dp\"\n                    android:textColor=\"@color/colorTextDark\"/>\n\n            </LinearLayout>\n\n        </android.support.v7.widget.CardView>\n\n        <LinearLayout\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:orientation=\"horizontal\">\n\n            <TextView\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:textStyle=\"bold\"\n                android:layout_marginLeft=\"16dp\"\n                android:layout_marginTop=\"16dp\"\n                android:text=\"\\u21e6\"\n                android:textSize=\"16dp\"\n                android:textColor=\"@color/colorAccentPlus25\"/>\n\n            <TextView\n                android:id=\"@+id/tv_check_the_drawer\"\n                android:layout_width=\"wrap_content\"\n                android:layout_height=\"wrap_content\"\n                android:layout_marginLeft=\"10dp\"\n                android:layout_marginRight=\"16dp\"\n                android:layout_marginTop=\"16dp\"\n                android:layout_marginBottom=\"16dp\"\n                android:textSize=\"16dp\"\n                android:text=\"Check out the drawer if you haven't already!\"\n                android:textStyle=\"bold\"\n                android:textColor=\"@color/colorAccentPlus25\"/>\n\n        </LinearLayout>\n\n        <!--<TextView\n            android:id=\"@+id/tv_explore_some_more\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"32dp\"\n            android:gravity=\"center_vertical\"\n            android:paddingLeft=\"12dp\"\n            android:paddingRight=\"12dp\"\n            android:layout_marginRight=\"16dp\"\n            android:layout_marginBottom=\"16dp\"\n            android:layout_gravity=\"right\"\n            android:text=\"... EXPLORE SOME MORE\"\n            android:textStyle=\"bold\"\n            android:textColor=\"@color/text_explore_some_more\"\n            android:textSize=\"12sp\"\n            android:background=\"@drawable/bg_explore_some_more\"/>-->\n\n    </LinearLayout>\n\n</ScrollView>"
  },
  {
    "path": "app/src/main/res/menu/menu_sampler.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    xmlns:tools=\"http://schemas.android.com/tools\" tools:context=\".Sampler\">\n    <item android:id=\"@+id/action_rate_this_app\"\n        android:title=\"@string/desc_rate_this_app\"\n        android:icon=\"@drawable/rate_this_app\"\n        app:showAsAction=\"ifRoom\" />\n    <item android:id=\"@+id/action_github_link\"\n        android:title=\"@string/desc_github_link\"\n        android:icon=\"@drawable/github\"\n        app:showAsAction=\"ifRoom\" />\n</menu>\n"
  },
  {
    "path": "app/src/main/res/menu/test_nav_menu_1.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n    <Text\n        android:id=\"@+id/text_item_1\"\n        android:title=\"Independent item\"\n        android:hint=\"(Optional) hint for this item\"/>\n\n    <Checkbox\n        android:id=\"@+id/checkbox_item_1\"\n        android:title=\"Checkbox item\"\n        android:checkable=\"true\" />\n\n    <TextWithBadge\n        android:id=\"@+id/text_with_badge_item_1\"\n        android:title=\"Text with badge item\"\n        app:badgeText=\"25\"/>\n\n    <Switch\n        android:id=\"@+id/switch_item_1\"\n        android:title=\"Switch item\"\n        android:checked=\"false\"\n        android:checkable=\"true\"/>\n\n    <Separator\n        android:id=\"@+id/separator_item_1\" />\n\n    <Group\n        android:id=\"@+id/group_1\"\n        app:collapsible=\"true\"\n        app:collapsed=\"true\"\n        android:checkableBehavior=\"single\">\n\n        <GroupHeader\n            android:id=\"@+id/group_header_1\"\n            android:title=\"Group (Checkable: exclusive)\" />\n\n        <Text\n            android:id=\"@+id/text_item_3\"\n            android:title=\"Group item\" />\n\n        <Text\n            android:id=\"@+id/text_item_4\"\n            android:title=\"Group item with hint\"\n            android:hint=\"Hint for this item\"\n            android:visible=\"false\"/>\n\n        <Switch\n            android:id=\"@+id/switch_item_2\"\n            android:title=\"Switch item in group\"\n            android:checked=\"false\"\n            android:checkable=\"true\"/>\n\n        <Checkbox\n            android:id=\"@+id/checkbox_item_2\"\n            android:title=\"Checkbox item in group\"\n            android:checked=\"true\"/>\n\n    </Group>\n\n    <Separator\n        android:id=\"@+id/separator_item_2\" />\n\n    <Text\n        android:id=\"@+id/text_item_2\"\n        android:title=\"Independent item with icon\"\n        android:icon=\"@drawable/archive\" />\n\n    <Text\n        android:id=\"@+id/text_item_5\"\n        android:title=\"Indented item\"\n        android:hint=\"Show icon space on-demand\"\n        app:showIconSpace=\"true\"/>\n\n    <Separator\n        android:id=\"@+id/separator_item_3\" />\n\n    <Text\n        android:id=\"@+id/text_item_6\"\n        android:title=\"Clickable\"\n        android:hint=\"... but not checkable\"\n        android:checkable=\"false\"/>\n\n    <Text\n        android:id=\"@+id/text_item_7\"\n        android:title=\"Long text is ellipsized: Lorem ipsum dolor sit amet, quis persecuti philosophia an vim, sed accusam deterruisset no\"\n        android:hint=\"Lorem ipsum dolor sit amet, quis persecuti philosophia an vim, sed accusam deterruisset no\"\n        android:checkable=\"false\"/>\n\n    <Text\n        android:id=\"@+id/text_item_8\"\n        android:title=\"Disabled item\"\n        android:enabled=\"false\" />\n\n    <Checkbox\n        android:id=\"@+id/checkbox_item_3\"\n        android:title=\"Checked\"\n        android:hint=\"... and disabled\"\n        android:enabled=\"false\"\n        android:checked=\"true\" />\n\n    <Separator\n        android:id=\"@+id/separator_item_4\" />\n\n</menu>"
  },
  {
    "path": "app/src/main/res/menu/test_nav_menu_2.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<menu xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n    <Text\n        android:id=\"@+id/text_item_1\"\n        android:title=\"Other menu item\" />\n\n    <Separator\n        android:id=\"@+id/separator_item_1\" />\n\n    <Group\n        android:id=\"@+id/group_1\"\n        app:collapsible=\"false\"\n        app:collapsed=\"false\"\n        android:checkableBehavior=\"all\">\n\n        <GroupHeader\n            android:id=\"@+id/group_header_1\"\n            android:title=\"Non-collapsible group\"\n            android:hint=\"Checkable: all\"/>\n\n        <Text\n            android:id=\"@+id/text_item_3\"\n            android:title=\"Group item\"\n            app:showIconSpace=\"true\"/>\n\n        <Text\n            android:id=\"@+id/text_item_4\"\n            android:title=\"Group item\"\n            android:hint=\"... initially checked\"\n            android:checked=\"true\"\n            app:showIconSpace=\"true\"/>\n\n        <Text\n            android:id=\"@+id/text_item_5\"\n            android:title=\"Group item\"\n            app:showIconSpace=\"true\"/>\n\n    </Group>\n\n    <Separator\n        android:id=\"@+id/separator_item_2\" />\n\n</menu>"
  },
  {
    "path": "app/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n    <color name=\"colorPrimary\">#FF5722</color>\n    <color name=\"colorPrimaryDark\">#E64A19</color>\n    <color name=\"colorAccent\">#CC7007</color>\n\n    <color name=\"colorAccentPlus10\">#F28509</color>\n    <color name=\"colorAccentPlus20\">#F9AD56</color>\n    <color name=\"colorAccentPlus30\">#FBCF9C</color>\n    <color name=\"colorAccentPlus25\">#FABE7A</color>\n    <color name=\"colorPrimaryDarkMinus5\">#D24317</color>\n\n    <color name=\"colorBulletNor\">#F7992E</color>\n    <color name=\"colorBulletAlt\">#E07B08</color>\n\n    <color name=\"colorTextDark\">#212121</color>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/dimens.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n    <!-- Default screen margins, per the Android Design guidelines. -->\n    <dimen name=\"activity_horizontal_margin\">16dp</dimen>\n    <dimen name=\"activity_vertical_margin\">16dp</dimen>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/strings.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n    <string name=\"app_name\">SublimeNavigationView</string>\n    <string name=\"desc_rate_this_app\">Rate this app</string>\n    <string name=\"desc_github_link\">Github link</string>\n    <string name=\"action_settings\">Settings</string>\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n\n    <!-- Base application theme. -->\n    <style name=\"AppThemeBase\" parent=\"Theme.AppCompat.Light.NoActionBar\">\n        <item name=\"colorPrimary\">@color/colorPrimary</item>\n        <item name=\"colorPrimaryDark\">@color/colorPrimaryDark</item>\n        <item name=\"colorAccent\">@color/colorAccent</item>\n        <item name=\"snvHintTextAppearance\">@style/NavHintTextAppearance</item>\n    </style>\n\n    <style name=\"AppTheme\" parent=\"AppThemeBase\">\n\n    </style>\n\n    <style name=\"NavigationViewStyle\" parent=\"SnvSublimeNavigationView\">\n        <item name=\"android:background\">#f0f0f0</item>\n    </style>\n\n    <style name=\"NavItemTextAppearance\" parent=\"TextAppearance.AppCompat.Body2\">\n        <item name=\"android:textSize\">25sp</item>\n    </style>\n\n    <style name=\"NavHintTextAppearance\" parent=\"SnvDefaultHintTextAppearance\">\n        <item name=\"android:textSize\">15sp</item>\n    </style>\n\n    <style name=\"ToolbarTheme\" parent=\"ThemeOverlay.AppCompat.Dark.ActionBar\">\n        <!--<item name=\"colorControlNormal\">#FFDDD3</item>-->\n        <item name=\"android:textColorPrimary\">#FFFFFF</item>\n    </style>\n    <style name=\"AppTheme.AppBarOverlay\" parent=\"ThemeOverlay.AppCompat.Dark.ActionBar\" />\n    <style name=\"AppTheme.PopupOverlay\" parent=\"ThemeOverlay.AppCompat.Light\" />\n\n</resources>\n"
  },
  {
    "path": "app/src/main/res/values-v21/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n    <style name=\"AppTheme\" parent=\"AppThemeBase\">\n        <item name=\"android:windowDrawsSystemBarBackgrounds\">true</item>\n        <item name=\"android:statusBarColor\">@android:color/transparent</item>\n    </style>\n</resources>"
  },
  {
    "path": "app/src/main/res/values-w820dp/dimens.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n    <!-- Example customization of dimensions originally defined in res/values/dimens.xml\n         (such as screen margins) for screens with more than 820dp of available width. This\n         would include 7\" and 10\" devices in landscape (~960dp and ~1280dp respectively). -->\n    <dimen name=\"activity_horizontal_margin\">64dp</dimen>\n</resources>\n"
  },
  {
    "path": "app/src/test/java/com/appeaser/sublimenavigationview/ExampleUnitTest.java",
    "content": "package com.appeaser.sublimenavigationview;\n\nimport org.junit.Test;\n\nimport static org.junit.Assert.*;\n\n/**\n * To work on unit tests, switch the Test Artifact in the Build Variants view.\n */\npublic class ExampleUnitTest {\n    @Test\n    public void addition_isCorrect() throws Exception {\n        assertEquals(4, 2 + 2);\n    }\n}"
  },
  {
    "path": "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.3.0'\n        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.5'\n\n        // NOTE: Do not place your application dependencies here; they belong\n        // in the individual module build.gradle files\n    }\n}\n\nallprojects {\n    repositories {\n        jcenter()\n    }\n}\n\ntask clean(type: Delete) {\n    delete rootProject.buildDir\n}\n"
  },
  {
    "path": "gradle/wrapper/gradle-wrapper.properties",
    "content": "#Sun Nov 15 15:57:51 EST 2015\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStoreBase=GRADLE_USER_HOME\nzipStorePath=wrapper/dists\ndistributionUrl=https\\://services.gradle.org/distributions/gradle-2.8-all.zip\n"
  },
  {
    "path": "gradle.properties",
    "content": "# Project-wide Gradle settings.\n\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will override*\n# any settings specified in this file.\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"
  },
  {
    "path": "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": "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": "settings.gradle",
    "content": "include ':app', ':sublimenavigationviewlibrary'\n"
  },
  {
    "path": "sublimenavigationviewlibrary/.gitignore",
    "content": "/build\n"
  },
  {
    "path": "sublimenavigationviewlibrary/build.gradle",
    "content": "buildscript {\n    repositories {\n        mavenCentral()\n    }\n\n    dependencies {\n        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'\n    }\n}\n\napply plugin: 'com.android.library'\napply plugin: 'com.github.dcendents.android-maven'\n\next {\n    bintrayRepo = 'maven'\n    bintrayName = 'sublime-nav-view'\n\n    publishedGroupId = 'com.appeaser.sublimenavigationviewlibrary'\n    libraryName = 'SublimeNavigationView'\n    artifact = 'sublimenavigationviewlibrary'\n\n    libraryDescription = 'SublimeNavigationView is a complete rewrite of NavigationView (from Design Support library) that enables usage of Checkboxes, Switches & Badges as menu items. Menus are defined in XML, and parsed using a custom MenuInflater. SublimeNavigationView works with Parcelable Menus which means that state retention is built-in. Moreover, it can support multiple menus while preserving their respective states. Groups added to the Menu have the added feature of being collapsible/expandable. Along with this, SublimeNavigationView allows a few options for custom styling.'\n\n    siteUrl = 'https://github.com/vikramkakkar/SublimeNavigationView'\n    gitUrl = 'https://github.com/vikramkakkar/SublimeNavigationView.git'\n\n    libraryVersion = '0.0.1'\n\n    developerId = 'vikramkakkar'\n    developerName = 'Vikram Kakkar'\n    developerEmail = 'vikram.kakkar.01@gmail.com'\n\n    licenseName = 'The Apache Software License, Version 2.0'\n    licenseUrl = 'http://www.apache.org/licenses/LICENSE-2.0.txt'\n    allLicenses = [\"Apache-2.0\"]\n}\n\nandroid {\n    compileSdkVersion 23\n    buildToolsVersion \"23.0.2\"\n\n    defaultConfig {\n        minSdkVersion 14\n        targetSdkVersion 23\n        versionCode 1\n        versionName \"0.0.1\"\n    }\n    buildTypes {\n        release {\n            minifyEnabled false\n            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'\n        }\n    }\n    compileOptions {\n        sourceCompatibility JavaVersion.VERSION_1_7\n    }\n}\n\ndependencies {\n    compile fileTree(include: ['*.jar'], dir: 'libs')\n    testCompile 'junit:junit:4.12'\n    compile 'com.android.support:appcompat-v7:23.1.1'\n    compile 'com.android.support:recyclerview-v7:23.1.1'\n    compile 'com.android.support:support-annotations:23.1.1'\n}\n\napply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/installv1.gradle'\napply from: 'https://raw.githubusercontent.com/nuuneoi/JCenter/master/bintrayv1.gradle'\n"
  },
  {
    "path": "sublimenavigationviewlibrary/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 C:\\Users\\Vikram\\Documents\\Android\\adt-bundle-windows-x86-20130219\\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": "sublimenavigationviewlibrary/src/androidTest/java/com/appeaser/sublimenavigationviewlibrary/ApplicationTest.java",
    "content": "package com.appeaser.sublimenavigationviewlibrary;\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": "sublimenavigationviewlibrary/src/main/AndroidManifest.xml",
    "content": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    package=\"com.appeaser.sublimenavigationviewlibrary\">\n\n    <application android:allowBackup=\"true\" android:label=\"@string/app_name\">\n\n    </application>\n\n</manifest>\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/Config.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\npublic class Config {\n    public static final boolean DEBUG = true;\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/OnNavigationMenuEventListener.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\n/**\n * Listener for Menu events\n */\npublic interface OnNavigationMenuEventListener {\n    // actions\n    enum Event {\n        CLICKED, CHECKED, UNCHECKED, GROUP_EXPANDED, GROUP_COLLAPSED\n    }\n\n    boolean onNavigationMenuEvent(Event event, SublimeBaseMenuItem menuItem);\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/ScrimInsetsFrameLayout.java",
    "content": "/*\n * Copyright (C) 2015 The Android Open Source Project\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.graphics.Canvas;\nimport android.graphics.Rect;\nimport android.graphics.drawable.Drawable;\nimport android.support.annotation.NonNull;\nimport android.support.v4.view.ViewCompat;\nimport android.support.v4.view.WindowInsetsCompat;\nimport android.util.AttributeSet;\nimport android.view.View;\nimport android.widget.FrameLayout;\n\n/**\n * Borrowed from Support Design library\n */\npublic class ScrimInsetsFrameLayout extends FrameLayout {\n    private Drawable mInsetForeground;\n    private Rect mInsets;\n    private Rect mTempRect;\n\n    public ScrimInsetsFrameLayout(Context context) {\n        this(context, null);\n    }\n\n    public ScrimInsetsFrameLayout(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public ScrimInsetsFrameLayout(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        this.mTempRect = new Rect();\n        TypedArray a = context.obtainStyledAttributes(attrs,\n                R.styleable.SnvScrimInsetsFrameLayout,\n                defStyleAttr,\n                R.style.SnvScrimInsetsFrameLayout);\n        this.mInsetForeground = a.getDrawable(R.styleable.SnvScrimInsetsFrameLayout_snvInsetForeground);\n        a.recycle();\n        this.setWillNotDraw(true);\n        ViewCompat.setOnApplyWindowInsetsListener(this,\n                new android.support.v4.view.OnApplyWindowInsetsListener() {\n                    public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) {\n                        if (null == ScrimInsetsFrameLayout.this.mInsets) {\n                            ScrimInsetsFrameLayout.this.mInsets = new Rect();\n                        }\n\n                        ScrimInsetsFrameLayout.this.mInsets.set(insets.getSystemWindowInsetLeft(), insets.getSystemWindowInsetTop(), insets.getSystemWindowInsetRight(), insets.getSystemWindowInsetBottom());\n                        ScrimInsetsFrameLayout.this.setWillNotDraw(ScrimInsetsFrameLayout.this.mInsets.isEmpty() || ScrimInsetsFrameLayout.this.mInsetForeground == null);\n                        ViewCompat.postInvalidateOnAnimation(ScrimInsetsFrameLayout.this);\n                        return insets.consumeSystemWindowInsets();\n                    }\n                });\n    }\n\n    public void draw(@NonNull Canvas canvas) {\n        super.draw(canvas);\n        int width = this.getWidth();\n        int height = this.getHeight();\n        if (mInsets != null && mInsetForeground != null) {\n            int sc = canvas.save();\n            canvas.translate(getScrollX(), getScrollY());\n\n            this.mTempRect.set(0, 0, width, this.mInsets.top);\n            this.mInsetForeground.setBounds(this.mTempRect);\n            this.mInsetForeground.draw(canvas);\n\n            this.mTempRect.set(0, height - this.mInsets.bottom, width, height);\n            this.mInsetForeground.setBounds(this.mTempRect);\n            this.mInsetForeground.draw(canvas);\n\n            this.mTempRect.set(0, this.mInsets.top, this.mInsets.left, height - this.mInsets.bottom);\n            this.mInsetForeground.setBounds(this.mTempRect);\n            this.mInsetForeground.draw(canvas);\n\n            this.mTempRect.set(width - this.mInsets.right, this.mInsets.top, width, height - this.mInsets.bottom);\n            this.mInsetForeground.setBounds(this.mTempRect);\n            this.mInsetForeground.draw(canvas);\n\n            canvas.restoreToCount(sc);\n        }\n    }\n\n    protected void onAttachedToWindow() {\n        super.onAttachedToWindow();\n        if (this.mInsetForeground != null) {\n            this.mInsetForeground.setCallback(this);\n        }\n    }\n\n    protected void onDetachedFromWindow() {\n        super.onDetachedFromWindow();\n        if (this.mInsetForeground != null) {\n            this.mInsetForeground.setCallback(null);\n        }\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/StateAwareImageView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.widget.ImageView;\n\n/**\n * Sub-classed ImageView that responds to custom states.\n */\npublic class StateAwareImageView extends ImageView {\n\n    // Drawable state set - checked\n    private static final int[] CHECKED_STATE_SET = {\n            R.attr.state_item_checked\n    };\n\n    // Keeps track of checked state\n    private boolean mChecked;\n\n    public StateAwareImageView(Context context) {\n        this(context, null);\n    }\n\n    public StateAwareImageView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public StateAwareImageView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n    }\n\n    /**\n     * Sets the checked state for this view.\n     *\n     * @param checked current state\n     */\n    void setItemChecked(boolean checked) {\n        if (checked != mChecked) {\n            mChecked = checked;\n            refreshDrawableState();\n        }\n    }\n\n    @Override\n    public int[] onCreateDrawableState(int extraSpace) {\n        int[] drawableState = super.onCreateDrawableState(extraSpace + 1);\n        if (mChecked) {\n            mergeDrawableStates(drawableState, CHECKED_STATE_SET);\n        }\n\n        return drawableState;\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/StateAwareTextView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.os.Build;\nimport android.util.AttributeSet;\nimport android.util.Log;\nimport android.widget.TextView;\n\n/**\n * Sub-classed TextView that responds to custom states &amp; style attrs.\n */\npublic class StateAwareTextView extends TextView {\n\n    public static final String TAG = StateAwareTextView.class.getSimpleName();\n\n    // Drawable state set - checked\n    private static final int[] CHECKED_STATE_SET = {\n            R.attr.state_item_checked\n    };\n\n    // Keeps track of checked state\n    private boolean mChecked;\n\n    public StateAwareTextView(Context context) {\n        this(context, null);\n    }\n\n    public StateAwareTextView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public StateAwareTextView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n\n        TypedArray a = getContext().obtainStyledAttributes(attrs,\n                R.styleable.StateAwareTextView, defStyleAttr,\n                0);\n\n        try {\n\n            // If user has provided a valid value\n            // for @android:attr/textAppearance, it has already been\n            // applied in our parent - TextView. Else, resolve & use the value\n            // of @attr/saTextAppearance.\n            if (a.hasValue(R.styleable.StateAwareTextView_android_textAppearance)) {\n                int textAppearance = a.getResourceId(\n                        R.styleable.StateAwareTextView_android_textAppearance, -1);\n\n                if (textAppearance == -1) {\n                    if (Config.DEBUG) {\n                        Log.i(TAG, \"textAppearance is -1\");\n                    }\n\n                    int saTextAppearance = a.getResourceId(\n                            R.styleable.StateAwareTextView_saTextAppearance,\n                            R.style.SnvDefaultTextAppearance);\n\n                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {\n                        setTextAppearance(saTextAppearance);\n                    } else {\n                        setTextAppearance(getContext(), saTextAppearance);\n                    }\n                } else {\n                    if (Config.DEBUG) {\n                        Log.i(TAG, \"textAppearance is AVAILABLE\");\n                    }\n                }\n            }\n        } finally {\n            a.recycle();\n        }\n    }\n\n    /**\n     * Sets the checked state for this view.\n     *\n     * @param checked current state\n     */\n    void setItemChecked(boolean checked) {\n        if (checked != mChecked) {\n            mChecked = checked;\n            refreshDrawableState();\n        }\n    }\n\n    @Override\n    protected int[] onCreateDrawableState(int extraSpace) {\n        int[] drawableState = super.onCreateDrawableState(extraSpace + 1);\n        if (mChecked) {\n            mergeDrawableStates(drawableState, CHECKED_STATE_SET);\n        }\n\n        return drawableState;\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeBaseItemView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.annotation.TargetApi;\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.graphics.Typeface;\nimport android.graphics.drawable.Drawable;\nimport android.os.Build;\nimport android.support.v4.graphics.drawable.DrawableCompat;\nimport android.text.TextUtils;\nimport android.util.AttributeSet;\nimport android.view.View;\nimport android.widget.LinearLayout;\n\n/**\n * Base ViewGroup for all menu item types.\n */\npublic class SublimeBaseItemView extends LinearLayout {\n    private static final String TAG = SublimeBaseItemView.class.getSimpleName();\n\n    // Drawable state set - checked\n    private static final int[] CHECKED_STATE_SET = {\n            R.attr.state_item_checked\n    };\n\n    private static final boolean isJBorHigher\n            = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN;\n\n    protected int mIconSize;\n    protected StateAwareTextView mText, mHint;\n    protected SublimeBaseMenuItem mItemData;\n    protected StateAwareImageView mIconHolder;\n    protected ColorStateList mIconTintList;\n\n    public SublimeBaseItemView(Context context) {\n        this(context, null);\n    }\n\n    public SublimeBaseItemView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public SublimeBaseItemView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        mIconSize = context.getResources().getDimensionPixelSize(R.dimen.snv_navigation_icon_size);\n    }\n\n    protected void initializeViews() {\n        mText = (StateAwareTextView) findViewById(R.id.text);\n        mHint = (StateAwareTextView) findViewById(R.id.hint);\n        mIconHolder = (StateAwareImageView) findViewById(R.id.iconHolder);\n    }\n\n    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)\n    public void initialize(SublimeBaseMenuItem itemData, SublimeThemer themer) {\n        mItemData = itemData;\n        setVisibility(itemData.isVisible() ? View.VISIBLE : View.GONE);\n        setEnabled(itemData.isEnabled());\n\n        // Item Title styling\n        TextViewStyleProfile itemStyleProfile = themer.getItemStyleProfile();\n        setItemTextColor(itemStyleProfile.getTextColor());\n        if (itemStyleProfile.getTypeface() != null) {\n            setItemTypeface(itemStyleProfile.getTypeface(),\n                    itemStyleProfile.getTypefaceStyle());\n        } else {\n            setItemTypefaceStyle(itemStyleProfile.getTypefaceStyle());\n        }\n        setTitle(itemData.getTitle());\n\n        setIconTintList(themer.getIconTintList());\n        setIcon(itemData.getIcon());\n\n        boolean showHint = !TextUtils.isEmpty(itemData.getHint());\n        mHint.setVisibility(showHint ? View.VISIBLE : View.GONE);\n        if (showHint) {\n            // Hint styling\n            TextViewStyleProfile hintStyleProfile = themer.getItemHintStyleProfile();\n            setHintTextColor(hintStyleProfile.getTextColor());\n            if (hintStyleProfile.getTypeface() != null) {\n                setHintTypeface(hintStyleProfile.getTypeface(),\n                        hintStyleProfile.getTypefaceStyle());\n            } else {\n                setHintTypefaceStyle(hintStyleProfile.getTypefaceStyle());\n            }\n            mHint.setText(itemData.getHint());\n        }\n\n        setItemChecked(itemData.isChecked());\n        setItemBackground(themer.getItemBackground());\n    }\n\n    public SublimeBaseMenuItem getItemData() {\n        return mItemData;\n    }\n\n    public void setTitle(CharSequence title) {\n        mText.setText(title);\n    }\n\n    private Drawable prepareIcon(Drawable icon) {\n        icon = DrawableCompat.wrap(icon.getConstantState().newDrawable()).mutate();\n        icon.setBounds(0, 0, mIconSize, mIconSize);\n        DrawableCompat.setTintList(icon, mIconTintList);\n        return icon;\n    }\n\n    public void setIcon(Drawable icon) {\n        if (icon != null) {\n            mIconHolder.setVisibility(View.VISIBLE);\n            mIconHolder.setImageDrawable(prepareIcon(icon));\n        } else {\n            mIconHolder.setVisibility(View.GONE);\n        }\n    }\n\n    public void setIconTintList(ColorStateList tintList) {\n        mIconTintList = tintList;\n    }\n\n    public void setItemTextColor(ColorStateList textColor) {\n        mText.setTextColor(textColor);\n    }\n\n    public void setHintTextColor(ColorStateList hintTextColor) {\n        mHint.setTextColor(hintTextColor);\n    }\n\n    public void setItemTypeface(Typeface itemTypeface, int itemTypefaceStyle) {\n        mText.setTypeface(itemTypeface, itemTypefaceStyle);\n    }\n\n    public void setItemTypefaceStyle(int itemTypefaceStyle) {\n        mText.setTypeface(mText.getTypeface(), itemTypefaceStyle);\n    }\n\n    public void setHintTypeface(Typeface hintTypeface, int hintTypefaceStyle) {\n        mHint.setTypeface(hintTypeface, hintTypefaceStyle);\n    }\n\n    public void setHintTypefaceStyle(int hintTypefaceStyle) {\n        mHint.setTypeface(mHint.getTypeface(), hintTypefaceStyle);\n    }\n\n    @Override\n    public void setEnabled(boolean enabled) {\n        super.setEnabled(enabled);\n        mText.setEnabled(enabled);\n        mHint.setEnabled(enabled);\n        mIconHolder.setEnabled(enabled);\n    }\n\n    public void setItemChecked(boolean checked) {\n        mText.setItemChecked(mItemData.isChecked());\n        mHint.setItemChecked(mItemData.isChecked());\n        mIconHolder.setItemChecked(mItemData.isChecked());\n    }\n\n    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)\n    public void setItemBackground(Drawable itemBackground) {\n        if (isJBorHigher) {\n            setBackground(itemBackground);\n        } else {\n            setBackgroundDrawable(itemBackground);\n        }\n\n        refreshDrawableState();\n    }\n\n    @Override\n    protected int[] onCreateDrawableState(int extraSpace) {\n        int[] drawableState = super.onCreateDrawableState(extraSpace + 1);\n        if (mItemData != null && mItemData.isCheckable() && mItemData.isChecked()) {\n            mergeDrawableStates(drawableState, CHECKED_STATE_SET);\n        }\n\n        return drawableState;\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeBaseMenuItem.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.ActivityNotFoundException;\nimport android.content.Intent;\nimport android.graphics.Color;\nimport android.graphics.drawable.ColorDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport android.util.Log;\n\n/**\n * Base menu item implementation for all menu item types.\n */\npublic abstract class SublimeBaseMenuItem implements Parcelable {\n    private static final String TAG = SublimeBaseMenuItem.class.getSimpleName();\n\n    private static final Drawable TRANSPARENT_ICON = new ColorDrawable(Color.TRANSPARENT);\n\n    public enum ItemType {SEPARATOR, TEXT, CHECKBOX, SWITCH, BADGE, GROUP_HEADER, HEADER}\n\n    private final int mId;\n    private final int mGroup;\n    private CharSequence mTitle, mHint;\n    private Intent mIntent;\n    private boolean mShowsIconSpace;\n\n    /**\n     * The icon's drawable which is only created as needed\n     */\n    private Drawable mIconDrawable;\n\n    /**\n     * The icon's resource ID which is used to get the Drawable when it is\n     * needed (if the Drawable isn't already obtained--only one of the two is\n     * needed).\n     */\n    private int mIconResId = NO_ICON;\n\n    /**\n     * The menu to which this item belongs\n     */\n    private SublimeMenu mMenu;\n\n    private int mFlags = ENABLED | CHECKABLE;\n    private static final int CHECKABLE = 0x00000001;\n    private static final int CHECKED = 0x00000002;\n    private static final int HIDDEN = 0x00000004;\n    static final int ENABLED = 0x00000008;\n\n    /**\n     * Used for the icon resource ID if this item does not have an icon\n     */\n    static final int NO_ICON = 0;\n\n    private ItemType mItemType;\n    private boolean mValueProvidedAsync, mInvalidateEntireMenu;\n\n    private boolean mBlockUpdates;\n\n    /**\n     * Instantiates this menu item.\n     *\n     * @param menu parent menu.\n     * @param group ID of the Group that this item belongs to.\n     * @param id    Unique item ID.\n     * @param title The text to display for the item.\n     * @param hint The text to display as hint for this item.\n     * @param itemType One of {@link SublimeBaseMenuItem.ItemType} enums.\n     * @param valueProvidedAsync Indicates that the badge text will be provided later on.\n     *                           Used with TextWithBadge ItemType.\n     * @param showsIconSpace Whether to indent the item or not.\n     */\n    SublimeBaseMenuItem(SublimeMenu menu, int group, int id,\n                        CharSequence title, CharSequence hint,\n                        ItemType itemType, boolean valueProvidedAsync,\n                        boolean showsIconSpace) {\n        mMenu = menu;\n        mId = id;\n        mGroup = group;\n        mTitle = title;\n        mHint = hint;\n\n        if (itemType == null)\n            itemType = ItemType.TEXT;\n\n        mItemType = itemType;\n        mValueProvidedAsync = valueProvidedAsync;\n        mShowsIconSpace = showsIconSpace;\n    }\n\n    /**\n     * Restores this menu item. {@link SublimeBaseMenuItem#setParentMenu(SublimeMenu)} must\n     * be called after this.\n     *\n     * @param group ID of the Group that this item belongs to.\n     * @param id    Unique item ID.\n     * @param title The text to display for the item.\n     * @param hint The text to display as hint for this item.\n     * @param iconResId Restored iconResId.\n     * @param itemType One of {@link SublimeBaseMenuItem.ItemType} enums.\n     * @param valueProvidedAsync Indicates that the badge text will be provided later on.\n     *                           Used with TextWithBadge ItemType.\n     * @param showsIconSpace Whether to indent the item or not.\n     * @param flags Restored flags.\n     */\n    SublimeBaseMenuItem(int group, int id,\n                        CharSequence title, CharSequence hint,\n                        int iconResId,\n                        ItemType itemType, boolean valueProvidedAsync,\n                        boolean showsIconSpace, int flags) {\n        mId = id;\n        mGroup = group;\n        mTitle = title;\n        mHint = hint;\n        mIconResId = iconResId;\n\n        if (itemType == null) {\n            itemType = ItemType.TEXT;\n        }\n\n        mItemType = itemType;\n        mValueProvidedAsync = valueProvidedAsync;\n        mShowsIconSpace = showsIconSpace;\n        mFlags = flags;\n    }\n\n    protected void setParentMenu(SublimeMenu menu) {\n        mMenu = menu;\n    }\n\n    public abstract boolean invoke();\n\n    /**\n     * Invokes the item by calling various listeners or callbacks.\n     *\n     * @return true if the invocation was handled, false otherwise\n     */\n    protected boolean invoke(OnNavigationMenuEventListener.Event event,\n                             SublimeBaseMenuItem item) {\n        if (mMenu.dispatchMenuItemSelected(item, event)) {\n            return true;\n        }\n\n        if (mIntent != null) {\n            try {\n                if (Config.DEBUG) {\n                    Log.d(TAG, \"Context requested from parent menu\");\n                }\n                mMenu.getContext().startActivity(mIntent);\n                return true;\n            } catch (ActivityNotFoundException e) {\n                Log.e(TAG, \"Can't find activity to handle intent; ignoring\", e);\n            }\n        }\n\n        return false;\n    }\n\n    protected void attemptItemUpdate() {\n        if (mBlockUpdates) {\n            return;\n        }\n\n        if (mInvalidateEntireMenu) {\n            // invalidate entire menu\n            mInvalidateEntireMenu = false;\n            mMenu.onItemsChanged();\n        } else {\n            mMenu.onItemChanged(getItemId());\n        }\n    }\n\n    /**\n     * Indicate that the badge text will be provided later on. Works only with\n     * {@link SublimeBaseMenuItem.ItemType#BADGE}.\n     *\n     * @param valueProvidedAsync 'true' if badge text will be set later on.\n     * @return This {@link SublimeBaseMenuItem} for chaining.\n     */\n    public SublimeBaseMenuItem setValueProvidedAsync(boolean valueProvidedAsync) {\n        mValueProvidedAsync = valueProvidedAsync;\n        attemptItemUpdate();\n        return this;\n    }\n\n    /**\n     * Whether the badge text is ready to be displayed or not.\n     *\n     * @return 'true' if the badge text will be set later on, 'false' otherwise.\n     */\n    public boolean providesValueAsync() {\n        return mValueProvidedAsync;\n    }\n\n    public boolean isEnabled() {\n        return (mFlags & ENABLED) != 0;\n    }\n\n    public SublimeBaseMenuItem setEnabled(boolean enabled) {\n        if (enabled) {\n            mFlags |= ENABLED;\n        } else {\n            mFlags &= ~ENABLED;\n        }\n\n        attemptItemUpdate();\n        return this;\n    }\n\n    public int getGroupId() {\n        return mGroup;\n    }\n\n    public int getItemId() {\n        return mId;\n    }\n\n    public ItemType getItemType() {\n        return mItemType;\n    }\n\n    public Intent getIntent() {\n        return mIntent;\n    }\n\n    public SublimeBaseMenuItem setIntent(Intent intent) {\n        mIntent = intent;\n        return this;\n    }\n\n    public CharSequence getTitle() {\n        return mTitle;\n    }\n\n    public SublimeBaseMenuItem setTitle(CharSequence title) {\n        mTitle = title;\n        attemptItemUpdate();\n        return this;\n    }\n\n    public SublimeBaseMenuItem setTitle(int title) {\n        if (Config.DEBUG) {\n            Log.d(TAG, \"Context requested from parent menu\");\n        }\n        return setTitle(mMenu.getContext().getString(title));\n    }\n\n    public CharSequence getHint() {\n        return mHint;\n    }\n\n    public SublimeBaseMenuItem setHint(CharSequence hint) {\n        mHint = hint;\n        attemptItemUpdate();\n        return this;\n    }\n\n    public Drawable getIcon() {\n        if (mIconDrawable != null) {\n            return mIconDrawable;\n        }\n\n        if (mIconResId != NO_ICON) {\n            if (Config.DEBUG) {\n                Log.d(TAG, \"Context requested from parent menu\");\n            }\n            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {\n                mIconDrawable = mMenu.getContext().getResources().getDrawable(mIconResId, mMenu.getContext().getTheme());\n            } else {\n                mIconDrawable = mMenu.getContext().getResources().getDrawable(mIconResId);\n            }\n            return mIconDrawable;\n        }\n\n        if (mShowsIconSpace) {\n            return TRANSPARENT_ICON;\n        }\n\n        return null;\n    }\n\n    public boolean showsIconSpace() {\n        return mShowsIconSpace;\n    }\n\n    public SublimeBaseMenuItem setShowsIconSpace(boolean showsIconSpace) {\n        mShowsIconSpace = showsIconSpace;\n        attemptItemUpdate();\n        return this;\n    }\n\n    public SublimeBaseMenuItem blockUpdates() {\n        mBlockUpdates = true;\n        return this;\n    }\n\n    public SublimeBaseMenuItem allowUpdates() {\n        mBlockUpdates = false;\n        return this;\n    }\n\n    public SublimeBaseMenuItem setIcon(int iconResId) {\n        mIconDrawable = null;\n        mIconResId = iconResId;\n\n        // If we have a view, we need to push the Drawable to them\n        mInvalidateEntireMenu = true;\n\n        attemptItemUpdate();\n        return this;\n    }\n\n    public boolean isCheckable() {\n        return (mFlags & CHECKABLE) == CHECKABLE;\n    }\n\n    public SublimeBaseMenuItem setCheckable(boolean checkable) {\n        final int oldFlags = mFlags;\n        mFlags = (mFlags & ~CHECKABLE) | (checkable ? CHECKABLE : 0);\n        if (oldFlags != mFlags) {\n            attemptItemUpdate();\n        }\n\n        return this;\n    }\n\n    public boolean isChecked() {\n        return (mFlags & CHECKED) == CHECKED;\n    }\n\n    public SublimeBaseMenuItem setChecked(boolean checked) {\n        if (!isCheckable()) {\n            return this;\n        }\n\n        if (!checked) {\n            setCheckedInt(false);\n        } else {\n            mMenu.setItemChecked(this);\n            setCheckedInt(true);\n        }\n\n        return this;\n    }\n\n    public SublimeBaseMenuItem setCheckedInt(boolean checkedInt) {\n        final int oldFlags = mFlags;\n        mFlags = (mFlags & ~CHECKED) | (checkedInt ? CHECKED : 0);\n        if (oldFlags != mFlags) {\n            attemptItemUpdate();\n        }\n\n        return this;\n    }\n\n    public boolean isVisible() {\n        return (mFlags & HIDDEN) == 0;\n    }\n\n    /**\n     * Changes the visibility of the item. This method DOES NOT notify the parent menu of a change\n     * in this item, so this should only be called from methods that will eventually trigger this\n     * change.  If unsure, use {@link #setVisible(boolean)} instead.\n     *\n     * @param shown Whether to show (true) or hide (false).\n     * @return Whether the item's shown state was changed\n     */\n    boolean setVisibleInt(boolean shown) {\n        final int oldFlags = mFlags;\n        mFlags = (mFlags & ~HIDDEN) | (shown ? 0 : HIDDEN);\n        return oldFlags != mFlags;\n    }\n\n    public SublimeBaseMenuItem setVisible(boolean shown) {\n        // Try to set the shown state to the given state. If the shown state was changed\n        // (i.e. the previous state isn't the same as given state), notify the parent menu that\n        // the shown state has changed for this item\n        if (setVisibleInt(shown)) {\n            //mInvalidateEntireMenu = true;\n            attemptItemUpdate();\n        }\n\n        return this;\n    }\n\n    public String toString() {\n        return mTitle.toString();\n    }\n\n    public SublimeMenu getMenu() {\n        return mMenu;\n    }\n\n    protected int getFlags() {\n        return mFlags;\n    }\n\n    @Override\n    public boolean equals(Object o) {\n        if (!(o instanceof SublimeBaseMenuItem)) {\n            return false;\n        }\n\n        SublimeBaseMenuItem other = (SublimeBaseMenuItem) o;\n\n        if (getItemId() != other.getItemId()\n                || getItemType() != other.getItemType()\n                || getFlags() != other.getFlags()\n                || providesValueAsync() != other.providesValueAsync()) {\n            return false;\n        }\n\n        if (getTitle() == null) {\n            if (other.getTitle() != null) {\n                return false;\n            }\n        } else if (!getTitle().equals(other.getTitle())) {\n            return false;\n        }\n\n        if (getHint() == null) {\n            if (other.getHint() != null) {\n                return false;\n            }\n        } else if (!getHint().equals(other.getHint())) {\n            return false;\n        }\n\n        if (getIntent() == null) {\n            if (other.getIntent() != null) {\n                return false;\n            }\n        } else if (!getIntent().equals(other.getIntent())) {\n            return false;\n        }\n\n        if (getIcon() == null) {\n            if (other.getIcon() != null) {\n                return false;\n            }\n        } else if (!getIcon().equals(other.getIcon())) {\n            return false;\n        }\n\n        return super.equals(o);\n    }\n\n    //----------------------------------------------------------------//\n    //---------------------------Parcelable---------------------------//\n    //----------------------------------------------------------------//\n\n    @Override\n    public int describeContents() {\n        return 0;\n    }\n\n    @Override\n    public void writeToParcel(Parcel dest, int flags) {\n        dest.writeBundle(saveState());\n    }\n\n    private static final String SS_ID = \"ss.id\";\n    private static final String SS_GROUP_ID = \"ss.group.id\";\n    private static final String SS_TITLE = \"ss.title\";\n    private static final String SS_HINT = \"ss.hint\";\n    private static final String SS_INTENT = \"ss.intent\";\n    private static final String SS_SHOWS_ICON_SPACE = \"ss.shows.icon.space\";\n    private static final String SS_ITEM_TYPE = \"ss.item.type\";\n    private static final String SS_VALUE_PROVIDED_ASYNC = \"ss.value.provided.async\";\n    private static final String SS_ICON_RES_ID = \"ss.icon.res.id\";\n    private static final String SS_FLAGS = \"ss.flags\";\n\n    private Bundle saveState() {\n        Bundle bundle = new Bundle();\n\n        bundle.putInt(SS_ID, mId);\n        bundle.putInt(SS_GROUP_ID, mGroup);\n        bundle.putCharSequence(SS_TITLE, mTitle);\n        bundle.putCharSequence(SS_HINT, mHint);\n        bundle.putParcelable(SS_INTENT, mIntent);\n        bundle.putBoolean(SS_SHOWS_ICON_SPACE, mShowsIconSpace);\n        bundle.putString(SS_ITEM_TYPE, mItemType.name());\n        bundle.putBoolean(SS_VALUE_PROVIDED_ASYNC, mValueProvidedAsync);\n        bundle.putInt(SS_ICON_RES_ID, mIconResId);\n        bundle.putInt(SS_FLAGS, mFlags);\n\n        return bundle;\n    }\n\n    public static final Creator<SublimeBaseMenuItem> CREATOR\n            = new Creator<SublimeBaseMenuItem>() {\n        public SublimeBaseMenuItem createFromParcel(Parcel in) {\n            return createItemFromParcel(in);\n        }\n\n        public SublimeBaseMenuItem[] newArray(int size) {\n            return new SublimeBaseMenuItem[size];\n        }\n    };\n\n    private static SublimeBaseMenuItem createItemFromParcel(Parcel in) {\n        Bundle bundle = in.readBundle();\n\n        ItemType itemType = ItemType.valueOf(bundle.getString(SS_ITEM_TYPE));\n\n        int groupId = bundle.getInt(SS_GROUP_ID);\n        int id = bundle.getInt(SS_ID);\n        String title = bundle.getString(SS_TITLE);\n        String hint = bundle.getString(SS_HINT);\n        int iconResId = bundle.getInt(SS_ICON_RES_ID);\n        boolean valueProvidedAsync = bundle.getBoolean(SS_VALUE_PROVIDED_ASYNC);\n        boolean showsIconSpace = bundle.getBoolean(SS_SHOWS_ICON_SPACE);\n        int flags = bundle.getInt(SS_FLAGS);\n\n        switch (itemType) {\n            case SWITCH:\n                return new SublimeSwitchMenuItem(groupId, id, title,\n                        hint, iconResId, valueProvidedAsync, showsIconSpace, flags);\n            case CHECKBOX:\n                return new SublimeCheckboxMenuItem(groupId, id, title,\n                        hint, iconResId, valueProvidedAsync, showsIconSpace, flags);\n            case BADGE:\n                return SublimeTextWithBadgeMenuItem.createFromBundle(bundle, groupId, id, title,\n                        hint, iconResId, valueProvidedAsync, showsIconSpace, flags);\n            case SEPARATOR:\n                return new SublimeSeparatorMenuItem(groupId, id);\n            case HEADER:\n                return SublimeMenu.HEADER_STUB;\n            case GROUP_HEADER:\n                return new SublimeGroupHeaderMenuItem(groupId, id, title,\n                        hint, iconResId, valueProvidedAsync, showsIconSpace, flags);\n            default:\n                /* TEXT */\n                // TODO: This may be a problem. Will the default always be TEXT?\n                return new SublimeTextMenuItem(groupId, id, title,\n                        hint, iconResId, valueProvidedAsync, showsIconSpace, flags);\n        }\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeCheckboxItemView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.animation.StateListAnimator;\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.graphics.Color;\nimport android.graphics.drawable.Drawable;\nimport android.graphics.drawable.StateListDrawable;\nimport android.os.Build;\nimport android.support.v4.graphics.drawable.DrawableCompat;\nimport android.util.AttributeSet;\nimport android.util.Log;\nimport android.view.LayoutInflater;\nimport android.widget.CheckBox;\n\n/**\n * View implementation for Checkbox menu item.\n */\npublic class SublimeCheckboxItemView extends SublimeBaseItemView {\n\n    private CheckBox mCheckbox;\n\n    public SublimeCheckboxItemView(Context context) {\n        this(context, null);\n    }\n\n    public SublimeCheckboxItemView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public SublimeCheckboxItemView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        LayoutInflater.from(context).inflate(R.layout.sublime_menu_checkbox_item_content, this, true);\n        initializeViews();\n    }\n\n    @Override\n    protected void initializeViews() {\n        super.initializeViews();\n        mCheckbox = (CheckBox) findViewById(R.id.checkbox_ctrl);\n    }\n\n    @Override\n    public void initialize(SublimeBaseMenuItem itemData, SublimeThemer themer) {\n        setCheckableItemTintList(themer.getCheckableItemTintList());\n        super.initialize(itemData, themer);\n    }\n\n    @Override\n    public void setEnabled(boolean enabled) {\n        super.setEnabled(enabled);\n        mCheckbox.setEnabled(enabled);\n    }\n\n    @Override\n    public void setItemChecked(boolean checked) {\n        super.setItemChecked(checked);\n        mCheckbox.setChecked(checked);\n    }\n\n    public void setCheckableItemTintList(ColorStateList checkableItemTintList) {\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {\n            mCheckbox.setButtonTintList(checkableItemTintList);\n        } else {\n            Drawable dCheckbox = getResources().getDrawable(R.drawable.checkbox_pre_lollipop);\n\n            if (dCheckbox != null) {\n                dCheckbox = DrawableCompat.wrap(dCheckbox);\n                DrawableCompat.setTintList(dCheckbox, checkableItemTintList);\n                mCheckbox.setButtonDrawable(dCheckbox);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeCheckboxMenuItem.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\n/**\n * Checkbox menu item implementation.\n *\n * Created by Vikram.\n */\npublic class SublimeCheckboxMenuItem extends SublimeBaseMenuItem {\n\n    public SublimeCheckboxMenuItem(SublimeMenu menu, int group, int id,\n                                   CharSequence title, CharSequence hint,\n                                   boolean valueProvidedAsync,\n                                   boolean showsIconSpace) {\n        super(menu, group, id, title, hint, ItemType.CHECKBOX, valueProvidedAsync, showsIconSpace);\n    }\n\n    // Restores state\n    public SublimeCheckboxMenuItem(int group, int id,\n                                   CharSequence title, CharSequence hint,\n                                   int iconResId,\n                                   boolean valueProvidedAsync,\n                                   boolean showsIconSpace, int flags) {\n        super(group, id, title, hint, iconResId,\n                ItemType.CHECKBOX, valueProvidedAsync, showsIconSpace, flags);\n    }\n\n    @Override\n    public boolean invoke() {\n        if (isCheckable()) {\n            setChecked(!isChecked());\n            return invoke(isChecked() ?\n                    OnNavigationMenuEventListener.Event.CHECKED\n                    : OnNavigationMenuEventListener.Event.UNCHECKED, this);\n        } else {\n            return invoke(OnNavigationMenuEventListener.Event.CLICKED, this);\n        }\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeGroup.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.os.Parcel;\nimport android.os.Parcelable;\n\n/**\n * Used for grouping menu items together.\n *\n * Created by Vikram.\n */\npublic class SublimeGroup implements Parcelable {\n\n    public enum CheckableBehavior {NONE, SINGLE, ALL}\n\n    private SublimeMenu mMenu;\n    private int mGroupId;\n    private boolean mIsCollapsible, mStateCollapsed, mEnabled, mVisible;\n    private CheckableBehavior mCheckableBehavior;\n\n    public SublimeGroup(SublimeMenu menu, int groupId,\n                        boolean isCollapsible, boolean stateCollapsed,\n                        boolean enabled, boolean visible,\n                        CheckableBehavior checkableBehavior) {\n        mMenu = menu;\n        mGroupId = groupId;\n        mIsCollapsible = isCollapsible;\n        mStateCollapsed = stateCollapsed;\n        mEnabled = enabled;\n        mVisible = visible;\n        mCheckableBehavior = checkableBehavior;\n    }\n\n    /**\n     * Set this {@link SublimeGroup}'s Parent.\n     *\n     * @param menu parent menu\n     */\n    protected void setParentMenu(SublimeMenu menu) {\n        mMenu = menu;\n    }\n\n    /**\n     * Indicates whether this {@link SublimeGroup} is currently enabled/disabled.\n     *\n     * @return 'true' if this {@link SublimeGroup} is enabled, 'false' otherwise.\n     */\n    public boolean isEnabled() {\n        return mEnabled;\n    }\n\n    /**\n     * Sets the enabled/disabled state for this {@link SublimeGroup}.\n     *\n     * @param enabled 'true' if this {@link SublimeGroup} is now 'enabled',\n     *                'false' if it isn't.\n     * @return this {@link SublimeGroup} for chaining\n     */\n    public SublimeGroup setEnabled(boolean enabled) {\n        mEnabled = enabled;\n        mMenu.onGroupEnabledOrDisabled(getGroupId(), enabled);\n        return this;\n    }\n\n    /**\n     * Returns the id assigned to this {@link SublimeGroup}.\n     *\n     * @return group's id\n     */\n    public int getGroupId() {\n        return mGroupId;\n    }\n\n    /**\n     * Sets/changes the 'collapsible' behavior of this Group.\n     * If 'collapsible' is true, the group remains in its current\n     * state, whether 'collapsed' or 'expanded' - a chevron appears\n     * on the 'SublimeSubheaderItemView'.\n     * If 'collapsible' is set to false:\n     * - if group is 'collapsed', the group is expanded\n     * and the chevron disappears\n     * - if group is 'expanded', the chevron disappears\n     *\n     * @param collapsible 'true' to indicate that the group is\n     *                    now 'collapsible', 'false' otherwise\n     * @return this {@link SublimeGroup} for chaining\n     */\n    public SublimeGroup setIsCollapsible(boolean collapsible) {\n        mIsCollapsible = collapsible;\n        mMenu.onGroupCollapsibleStatusChanged(this);\n        return this;\n    }\n\n    /**\n     * Indicates if this {@link SublimeGroup} is collapsible.\n     * Note that a {@link SublimeGroup} is _not_ collapsible if it does not\n     * conatin any visible items.\n     *\n     * @return 'true' is this {@link SublimeGroup} is collapsible,\n     * 'false' otherwise\n     */\n    public boolean isCollapsible() {\n        return mIsCollapsible && mMenu.groupHasVisibleItems(getGroupId());\n    }\n\n    /**\n     * Sets the collapsed/expanded status of this {@link SublimeGroup}.\n     *\n     * @param collapsed 'true' to collapse this {@link SublimeGroup}, 'false'\n     *                  to expand it.\n     * @return this {@link SublimeGroup} for chaining\n     */\n    public SublimeGroup setStateCollapsed(boolean collapsed) {\n        mStateCollapsed = collapsed;\n        mMenu.onGroupExpandedOrCollapsed(getGroupId(), collapsed);\n        return this;\n    }\n\n    /**\n     * Indicates whether this {@link SublimeGroup} is currently collapsed.\n     *\n     * @return 'true' if this {@link SublimeGroup} is collapsed,\n     * 'false' if it is expanded\n     */\n    public boolean isCollapsed() {\n        return mStateCollapsed;\n    }\n\n    /**\n     * Set the checkable behavior for this Group. Following changes\n     * will happen:\n     * - NONE:     'setCheckable(false)' will be called on all group members.\n     * Group members that are currently checked will NOT lose their\n     * 'checked' state.\n     * - ALL:      'setCheckable(true)' will be called on all group members.\n     * Group members that are NOT currently checked will remain in\n     * their 'unchecked' state.\n     * - SINGLE:   'setChecked(false)' will be called on all group members\n     * except the first 'checked' item (if one is found).\n     *\n     * @param checkableBehavior The {@link SublimeGroup.CheckableBehavior} to set.\n     * @return this {@link SublimeGroup} for chaining\n     */\n    public SublimeGroup setCheckableBehavior(CheckableBehavior checkableBehavior) {\n        mCheckableBehavior = checkableBehavior;\n        mMenu.onGroupCheckableBehaviorChanged(getGroupId(), checkableBehavior);\n        return this;\n    }\n\n    /**\n     * Returns the {@link SublimeGroup.CheckableBehavior} set for this group.\n     *\n     * @return currently set {@link SublimeGroup.CheckableBehavior}\n     */\n    public CheckableBehavior getCheckableBehavior() {\n        return mCheckableBehavior;\n    }\n\n    /**\n     * Returns the visibility status of this group.\n     *\n     * @return 'true' if the group is visible, 'false' if invisible.\n     */\n    public boolean isVisible() {\n        return mVisible;\n    }\n\n    /**\n     * Set the visibility status of this group.\n     *\n     * @param visible 'true' if the group should now be visible, false otherwise\n     * @return this {@link SublimeGroup} for chaining\n     */\n    public SublimeGroup setVisible(boolean visible) {\n        mVisible = visible;\n        mMenu.onGroupVisibilityChanged(getGroupId(), visible);\n        return this;\n    }\n\n    //----------------------------------------------------------------//\n    //---------------------------Parcelable---------------------------//\n    //----------------------------------------------------------------//\n\n    @Override\n    public int describeContents() {\n        return 0;\n    }\n\n    @Override\n    public void writeToParcel(Parcel dest, int flags) {\n        dest.writeInt(mGroupId);\n        dest.writeByte((byte) (mIsCollapsible ? 1 : 0));\n        dest.writeByte((byte) (mStateCollapsed ? 1 : 0));\n        dest.writeByte((byte) (mEnabled ? 1 : 0));\n        dest.writeByte((byte) (mVisible ? 1 : 0));\n        dest.writeString(mCheckableBehavior.name());\n    }\n\n    protected SublimeGroup(Parcel in) {\n        mGroupId = in.readInt();\n        mIsCollapsible = in.readByte() != 0;\n        mStateCollapsed = in.readByte() != 0;\n        mEnabled = in.readByte() != 0;\n        mVisible = in.readByte() != 0;\n        mCheckableBehavior = CheckableBehavior.valueOf(in.readString());\n    }\n\n    public static final Creator<SublimeGroup> CREATOR\n            = new Creator<SublimeGroup>() {\n        public SublimeGroup createFromParcel(Parcel in) {\n            return new SublimeGroup(in);\n        }\n\n        public SublimeGroup[] newArray(int size) {\n            return new SublimeGroup[size];\n        }\n    };\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeGroupHeaderMenuItem.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\n/**\n * Group header menu item implementation.\n *\n * Created by Vikram.\n */\npublic class SublimeGroupHeaderMenuItem extends SublimeBaseMenuItem {\n\n    public SublimeGroupHeaderMenuItem(SublimeMenu menu, int group,\n                                      int id, CharSequence title,\n                                      CharSequence hint,\n                                      boolean valueProvidedAsync, boolean showsIconSpace) {\n        super(menu, group, id, title, hint, ItemType.GROUP_HEADER, valueProvidedAsync, showsIconSpace);\n    }\n\n    public SublimeGroupHeaderMenuItem(int group,\n                                      int id, CharSequence title,\n                                      CharSequence hint,\n                                      int iconResId,\n                                      boolean valueProvidedAsync, boolean showsIconSpace,\n                                      int flags) {\n        super(group, id, title, hint, iconResId, ItemType.GROUP_HEADER,\n                valueProvidedAsync, showsIconSpace, flags);\n    }\n\n    @Override\n    public boolean invoke() {\n        SublimeGroup group = getMenu().getGroup(getGroupId());\n\n        if (group == null) return false;\n\n        if (group.isCollapsible()) {\n            group.setStateCollapsed(!group.isCollapsed());\n        }\n\n        return invoke(group.isCollapsed() ?\n                OnNavigationMenuEventListener.Event.GROUP_COLLAPSED\n                : OnNavigationMenuEventListener.Event.GROUP_EXPANDED, this);\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenu.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.content.res.Resources;\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport android.support.annotation.Nullable;\nimport android.util.Log;\nimport android.util.SparseArray;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * Menu implementation.\n *\n * Created by Vikram.\n */\npublic class SublimeMenu implements Parcelable {\n    private static final String TAG = SublimeMenu.class.getSimpleName();\n\n    public static final int NO_GROUP_ID = -1;\n    public static final int NO_ITEM_ID = -1;\n\n    protected static final SublimeBaseMenuItem HEADER_STUB = new SublimeBaseMenuItem(null,\n            NO_GROUP_ID, NO_ITEM_ID, \"\", \"\", SublimeBaseMenuItem.ItemType.HEADER, false, false) {\n        @Override\n        public boolean invoke() {\n            return false;\n        }\n    };\n\n    private int mMenuResourceID = -1;\n\n    private Context mContext;\n\n    /**\n     * Callback that will receive the various menu-related events generated by this class. Use\n     * getCallback to get a reference to the callback.\n     */\n    private Callback mCallback;\n\n    /**\n     * Contains all of the items for this menu\n     */\n    private ArrayList<SublimeBaseMenuItem> mItems = new ArrayList<>();\n\n    /**\n     * Contains all of the groups for this menu\n     */\n    private ArrayList<SublimeGroup> mGroups = new ArrayList<>();\n\n    /**\n     * Contains only the items that are currently visible.  This will be created/refreshed from\n     * {@link #getVisibleItems()}\n     */\n    private ArrayList<SublimeBaseMenuItem> mVisibleItems = new ArrayList<>();\n\n    // We only require _one_ presenter\n    private SublimeMenuPresenter mPresenter;\n\n    private boolean mBlockUpdates;\n\n    private ArrayList<SublimeBaseMenuItem> mAdapterData = new ArrayList<>();\n\n    /**\n     * Called by menu to notify of close and selection changes.\n     */\n    public interface Callback {\n\n        /**\n         * Called when a menu item is selected.\n         *\n         * @param menu  The menu that is the parent of the item\n         * @param item  The menu item that is selected\n         * @param event EventType associated with this selection\n         * @return whether the menu item selection was handled\n         */\n        boolean onMenuItemSelected(SublimeMenu menu, SublimeBaseMenuItem item,\n                                   OnNavigationMenuEventListener.Event event);\n    }\n\n    public SublimeMenu(int menuResourceID) {\n        mMenuResourceID = menuResourceID;\n    }\n\n    public int getMenuResourceID() {\n        return mMenuResourceID;\n    }\n\n    /**\n     * Set a presenter to this menu.\n     *\n     * @param presenter The presenter to set\n     */\n    public void setMenuPresenter(Context context, @Nullable SublimeMenuPresenter presenter) {\n        mContext = context;\n        mPresenter = presenter;\n\n        if (presenter != null) {\n            if (Config.DEBUG) {\n                Log.d(TAG, \"Presenter set on menu\");\n            }\n            presenter.initForMenu(mContext, this);\n            presenter.invalidateEntireMenu();\n        }\n    }\n\n    public void setCallback(Callback cb) {\n        mCallback = cb;\n    }\n\n    public SublimeGroup addGroup(boolean isCollapsible,\n                                 boolean collapsed, boolean enabled,\n                                 boolean visible,\n                                 SublimeGroup.CheckableBehavior checkableBehavior) {\n        return addGroup(generateUniqueGroupID(), isCollapsible, collapsed,\n                enabled, visible, checkableBehavior);\n    }\n\n    protected SublimeGroup addGroup(int groupId, boolean isCollapsible,\n                                    boolean collapsed, boolean enabled,\n                                    boolean visible,\n                                    SublimeGroup.CheckableBehavior checkableBehavior) {\n        SublimeGroup group = new SublimeGroup(this,\n                groupId,\n                isCollapsible, collapsed, enabled,\n                visible, checkableBehavior);\n        mGroups.add(group);\n        return group;\n    }\n\n    private int generateUniqueGroupID() {\n        int groupId = 1;\n\n        if (mGroups.size() > 0) {\n            while (getGroup(groupId) != null) {\n                groupId++;\n            }\n        }\n\n        return groupId;\n    }\n\n    private int generateUniqueItemID() {\n        int menuItemId = 1;\n\n        if (mItems.size() > 0) {\n            while (getMenuItem(menuItemId) != null) {\n                menuItemId++;\n            }\n        }\n\n        return menuItemId;\n    }\n\n    /**\n     * Adds an item to the menu.  The other add methods funnel to this.\n     */\n    private SublimeBaseMenuItem addInternal(int group, int id, CharSequence title,\n                                            CharSequence hint,\n                                            SublimeBaseMenuItem.ItemType itemType,\n                                            boolean valueProvidedAsync,\n                                            CharSequence badgeText,\n                                            boolean showsIconSpace, boolean addedByUser) {\n        SublimeBaseMenuItem item;\n        boolean isGroupHeader = false;\n\n        switch (itemType) {\n            case SEPARATOR:\n                item = new SublimeSeparatorMenuItem(this, group, id);\n                break;\n            case BADGE:\n                item = new SublimeTextWithBadgeMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync, badgeText, showsIconSpace);\n                break;\n            case SWITCH:\n                item = new SublimeSwitchMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync, showsIconSpace);\n                break;\n            case CHECKBOX:\n                item = new SublimeCheckboxMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync,\n                        showsIconSpace);\n                break;\n            case GROUP_HEADER:\n                isGroupHeader = true;\n                item = new SublimeGroupHeaderMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync, showsIconSpace);\n                break;\n            default:\n                // TEXT\n                item = new SublimeTextMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync, showsIconSpace);\n                break;\n        }\n\n        // if itemType is 'GroupHeader', 'group' != NO_GROUP_ID\n        // since we check for this in 'addGroupHeaderItem(...)'\n        checkExistenceOfGroup(group);\n\n        if (isGroupHeader) {\n            checkIfGroupHeaderAlreadyExistsForGroup(group);\n            int index = findGroupIndex(group);\n\n            if (index >= 0) {\n                mItems.add(index, item);\n            } else {\n                mItems.add(item);\n            }\n        } else if (addedByUser) {\n            if (group != NO_GROUP_ID) {\n                int lastGroupIndex = findLastGroupIndex(group);\n\n                mItems.add(lastGroupIndex == mItems.size() ?\n                        lastGroupIndex : lastGroupIndex + 1, item);\n            } else {\n                mItems.add(item);\n            }\n        } else {\n            mItems.add(item);\n        }\n\n        onItemsChanged();\n\n        return item;\n    }\n\n    public enum Positioned {BEFORE, AFTER}\n\n    /**\n     * Adds an item to the menu and positions it using the given `pivot`.\n     *\n     * @param pivotID    Item ID that will be used for positioning the added item\n     * @param positioned before or after\n     * @param newItem    added item\n     * @return item that was just added\n     */\n    private SublimeBaseMenuItem addInternal(int pivotID, Positioned positioned,\n                                            SublimeBaseMenuItem newItem) {\n        int newItemGroupId = newItem.getGroupId();\n\n        // if itemType is 'GroupHeader', 'group' != NO_GROUP_ID\n        // since we check for this in 'addGroupHeaderItem(...)'\n        checkExistenceOfGroup(newItemGroupId);\n\n        int pivotIndex = findItemIndex(pivotID);\n        SublimeBaseMenuItem pivot = mItems.get(pivotIndex);\n\n        // GROUP_HEADER is a special item. In addition to the positional\n        // requirements given above, it should be placed at the beginning\n        // of the Group.\n        if (newItem.getItemType() == SublimeBaseMenuItem.ItemType.GROUP_HEADER) {\n            checkIfGroupHeaderAlreadyExistsForGroup(newItemGroupId);\n            int index = findGroupIndex(newItemGroupId);\n\n            if (index >= 0) { // we found a valid index for the group\n                mItems.add(index, newItem);\n            } else { // group exists, but does not contain any items at the moment\n                // try to use the `pivot` to place the first group item\n                if (positioned == Positioned.BEFORE) {\n                    if (pivot.getGroupId() == NO_GROUP_ID\n                            || pivot.getItemType()\n                            == SublimeBaseMenuItem.ItemType.GROUP_HEADER) {\n                        // `pivot` is not part of a Group\n                        // - or -\n                        // `pivot` is a GROUP_HEADER\n                        mItems.add(pivotIndex, newItem);\n                    } else {\n                        // we could not position the item as per the\n                        // requirements - add the item at the very end\n                        mItems.add(newItem);\n                    }\n                } else if (positioned == Positioned.AFTER) {\n                    if (pivot.getGroupId() == NO_GROUP_ID\n                            || pivotIndex\n                            == findLastGroupIndex(newItemGroupId)) {\n                        // `pivot` is not part of a Group\n                        // - or -\n                        // `pivot` is the very last item in a Group\n                        mItems.add(pivotIndex + 1, newItem);\n                    } else {\n                        // we could not position the item as per the\n                        // requirements - add the item at the very end\n                        mItems.add(newItem);\n                    }\n                }\n            }\n        } else { // item is not a GROUP_HEADER\n            if (newItemGroupId != NO_GROUP_ID) { // item is part of a Group\n                int lastGroupIndex = findLastGroupIndex(newItemGroupId);\n\n                if (lastGroupIndex == mItems.size()) { // no Group items found\n                    // try to use the `pivot` to position the new item\n                    if (positioned == Positioned.BEFORE) {\n                        if (pivot.getGroupId() == NO_GROUP_ID\n                                || pivotIndex == findGroupIndex(pivot.getGroupId())) {\n                            // `pivot` is not part of a Group\n                            // - or -\n                            // `pivot` is the very first item in a Group\n                            mItems.add(pivotIndex, newItem);\n                        } else {\n                            // we could not position the item as per the\n                            // requirements - add the item at the very end\n                            //mItems.add(lastGroupIndex + 1, item);\n                            mItems.add(newItem);\n                        }\n                    } else if (positioned == Positioned.AFTER) {\n                        if (pivot.getGroupId() == NO_GROUP_ID\n                                || pivotIndex == findLastGroupIndex(pivot.getGroupId())) {\n                            // `pivot` is not part of a Group\n                            // - or -\n                            // `pivot` is the very last item in a Group\n                            mItems.add(pivotIndex + 1, newItem);\n                        } else {\n                            // we could not position the item as per the\n                            // requirements - add the item at the very end\n                            //mItems.add(lastGroupIndex + 1, item);\n                            mItems.add(newItem);\n                        }\n                    }\n                } else {\n                    if (newItemGroupId == pivot.getGroupId()) {\n                        if (positioned == Positioned.BEFORE) {\n                            if (pivot.getItemType()\n                                    != SublimeBaseMenuItem.ItemType.GROUP_HEADER) {\n                                // `pivot` is not GroupHeader - add before\n                                mItems.add(pivotIndex, newItem);\n                            } else {\n                                // cannot add an item before the GroupHeader.\n                                // add item at the end of the Group\n                                mItems.add(lastGroupIndex + 1, newItem);\n                            }\n                        } else if (positioned == Positioned.AFTER) {\n                            // all positions after the `pivot` are valid\n                            mItems.add(pivotIndex + 1, newItem);\n                        }\n                    } else {\n                        // `newItem` & `pivot` belong to different Groups.\n                        // The only valid position for `newItem` in this case\n                        // is at the end of `newItem's` Group.\n                        mItems.add(lastGroupIndex + 1, newItem);\n                    }\n                }\n            } else {\n                // `newItem` is independent - no Group membership\n                if (positioned == Positioned.BEFORE) {\n                    if (pivot.getGroupId() == NO_GROUP_ID\n                            || findGroupIndex(pivot.getGroupId()) == pivotIndex) {\n                        // `pivot` is not part of a Group\n                        // - or -\n                        // `pivot` is the very first item in a Group\n                        mItems.add(pivotIndex, newItem);\n                    } else {\n                        // we could not position the item as per the\n                        // requirements - add the item at the very end\n                        mItems.add(newItem);\n                    }\n                } else if (positioned == Positioned.AFTER) {\n                    if (pivot.getGroupId() == NO_GROUP_ID\n                            || pivotIndex == findLastGroupIndex(pivot.getGroupId())) {\n                        // `pivot` is not part of a Group\n                        // - or -\n                        // `pivot` is the very last item in a Group\n                        mItems.add(pivotIndex + 1, newItem);\n                    } else {\n                        // we could not position the item as per the\n                        // requirements - add the item at the very end\n                        mItems.add(newItem);\n                    }\n                }\n            }\n        }\n\n        onItemsChanged();\n\n        return newItem;\n    }\n\n    /**\n     * Creates an item.  The other 'create' methods funnel to this.\n     */\n    private SublimeBaseMenuItem createInternal(int group, int id, CharSequence title,\n                                               CharSequence hint,\n                                               SublimeBaseMenuItem.ItemType itemType,\n                                               boolean valueProvidedAsync,\n                                               CharSequence badgeText,\n                                               boolean showsIconSpace) {\n        SublimeBaseMenuItem item;\n\n        switch (itemType) {\n            case SEPARATOR:\n                item = new SublimeSeparatorMenuItem(this, group, id);\n                break;\n            case BADGE:\n                item = new SublimeTextWithBadgeMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync, badgeText, showsIconSpace);\n                break;\n            case SWITCH:\n                item = new SublimeSwitchMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync, showsIconSpace);\n                break;\n            case CHECKBOX:\n                item = new SublimeCheckboxMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync,\n                        showsIconSpace);\n                break;\n            case GROUP_HEADER:\n                item = new SublimeGroupHeaderMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync, showsIconSpace);\n                break;\n            default:\n                // TEXT\n                item = new SublimeTextMenuItem(this, group, id, title,\n                        hint, valueProvidedAsync, showsIconSpace);\n                break;\n        }\n\n        return item;\n    }\n\n    /**\n     * This check is performed before adding an item to this menu\n     * that has positional instructions: addAfter(...), addBefore(...) etc..\n     * Throws {@link RuntimeException} if the item\n     * used for positioning does not exist.\n     *\n     * @param itemId ID of the item to check for\n     */\n    private void checkExistenceOfItem(int itemId) {\n        if (itemId == NO_ITEM_ID || getMenuItem(itemId) == null) {\n            throw new RuntimeException(\"'itemId' passed was invalid: '\" + itemId + \"'.\");\n        }\n    }\n\n    /**\n     * This check is performed before adding an item to this menu.\n     * If the item indicates its membership to a {@link SublimeGroup}\n     * (by supplying a 'groupID'), this check confirms that such a\n     * group does exist. Throws {@link RuntimeException} if a group\n     * with ID == 'groupId' is not found.\n     *\n     * @param groupId ID of the group to check for\n     */\n    private void checkExistenceOfGroup(int groupId) {\n        if (groupId != NO_GROUP_ID && getGroup(groupId) == null) {\n            throw new RuntimeException(\"'groupId' passed was invalid: '\" + groupId + \"'. Items can only \" +\n                    \"be added to existing Group(s)\");\n        }\n    }\n\n    /**\n     * This check is performed before adding an item of type\n     * {@link SublimeBaseMenuItem.ItemType#GROUP_HEADER}.\n     * A {@link RuntimeException} is thrown if the {@link SublimeGroup}\n     * already contains an item of this type. A {@link SublimeGroup}\n     * can only have one header.\n     *\n     * @param groupId ID of the group on which to perform this check.\n     */\n    private void checkIfGroupHeaderAlreadyExistsForGroup(int groupId) {\n        for (SublimeBaseMenuItem item : mItems) {\n            if (item.getGroupId() == groupId\n                    && item.getItemType() == SublimeBaseMenuItem.ItemType.GROUP_HEADER) {\n                throw new RuntimeException(\"Attempt to add 'GroupHeader' to \" +\n                        \"a 'Group' that already contains one.\");\n            }\n        }\n    }\n\n    public SublimeBaseMenuItem createTextItem(int groupId,\n                                              CharSequence title, CharSequence hint,\n                                              boolean showsIconSpace) {\n        return createInternal(groupId, generateUniqueItemID()/* itemId */,\n                title, hint, SublimeBaseMenuItem.ItemType.TEXT,\n                false /*valueProvidedAsync*/, null, showsIconSpace);\n    }\n\n    public SublimeBaseMenuItem addTextItem(int groupId,\n                                           CharSequence title, CharSequence hint,\n                                           boolean showsIconSpace) {\n        return addInternal(groupId, generateUniqueItemID()/* itemId */, title, hint, SublimeBaseMenuItem.ItemType.TEXT,\n                false /*valueProvidedAsync*/, null, showsIconSpace, true);\n    }\n\n    protected SublimeBaseMenuItem addTextItem(int groupId, int itemId,\n                                              CharSequence title, CharSequence hint,\n                                              boolean showsIconSpace) {\n        return addInternal(groupId, itemId, title, hint, SublimeBaseMenuItem.ItemType.TEXT,\n                false /*valueProvidedAsync*/, null, showsIconSpace, false);\n    }\n\n    public SublimeBaseMenuItem createTextWithBadgeItem(int groupId,\n                                                       CharSequence title, CharSequence hint,\n                                                       CharSequence badgeText,\n                                                       boolean showsIconSpace) {\n        return createInternal(groupId, generateUniqueItemID()/* itemId */, title,\n                hint, SublimeBaseMenuItem.ItemType.BADGE,\n                false /*valueProvidedAsync*/, badgeText, showsIconSpace);\n    }\n\n    public SublimeBaseMenuItem addTextWithBadgeItem(int groupId,\n                                                    CharSequence title, CharSequence hint,\n                                                    CharSequence badgeText,\n                                                    boolean showsIconSpace) {\n        return addInternal(groupId, generateUniqueItemID()/* itemId */, title,\n                hint, SublimeBaseMenuItem.ItemType.BADGE,\n                false /*valueProvidedAsync*/, badgeText, showsIconSpace, true);\n    }\n\n    protected SublimeBaseMenuItem addTextWithBadgeItem(int groupId, int itemId,\n                                                       CharSequence title, CharSequence hint,\n                                                       CharSequence badgeText,\n                                                       boolean showsIconSpace) {\n        return addInternal(groupId, itemId, title, hint, SublimeBaseMenuItem.ItemType.BADGE,\n                false /*valueProvidedAsync*/, badgeText, showsIconSpace, false);\n    }\n\n    public SublimeBaseMenuItem createCheckboxItem(int groupId,\n                                                  CharSequence title, CharSequence hint,\n                                                  boolean showsIconSpace) {\n        return createInternal(groupId, generateUniqueItemID()/* itemId */, title, hint, SublimeBaseMenuItem.ItemType.CHECKBOX,\n                false /*valueProvidedAsync*/, null, showsIconSpace);\n    }\n\n    public SublimeBaseMenuItem addCheckboxItem(int groupId,\n                                               CharSequence title, CharSequence hint,\n                                               boolean showsIconSpace) {\n        return addInternal(groupId, generateUniqueItemID()/* itemId */, title, hint, SublimeBaseMenuItem.ItemType.CHECKBOX,\n                false /*valueProvidedAsync*/, null, showsIconSpace, true);\n    }\n\n    protected SublimeBaseMenuItem addCheckboxItem(int groupId, int itemId,\n                                                  CharSequence title, CharSequence hint,\n                                                  boolean showsIconSpace) {\n        return addInternal(groupId, itemId, title,\n                hint, SublimeBaseMenuItem.ItemType.CHECKBOX,\n                false /*valueProvidedAsync*/, null, showsIconSpace, false);\n    }\n\n    public SublimeBaseMenuItem createSwitchItem(int groupId,\n                                                CharSequence title, CharSequence hint,\n                                                boolean showsIconSpace) {\n        return createInternal(groupId, generateUniqueItemID()/* itemId */, title,\n                hint, SublimeBaseMenuItem.ItemType.SWITCH,\n                false /*valueProvidedAsync*/, null, showsIconSpace);\n    }\n\n    public SublimeBaseMenuItem addSwitchItem(int groupId,\n                                             CharSequence title, CharSequence hint,\n                                             boolean showsIconSpace) {\n        return addInternal(groupId, generateUniqueItemID()/* itemId */, title,\n                hint, SublimeBaseMenuItem.ItemType.SWITCH,\n                false /*valueProvidedAsync*/, null, showsIconSpace, true);\n    }\n\n    protected SublimeBaseMenuItem addSwitchItem(int groupId, int itemId,\n                                                CharSequence title, CharSequence hint,\n                                                boolean showsIconSpace) {\n        return addInternal(groupId, itemId, title,\n                hint, SublimeBaseMenuItem.ItemType.SWITCH,\n                false /*valueProvidedAsync*/, null, showsIconSpace, false);\n    }\n\n    public SublimeBaseMenuItem createGroupHeaderItem(int groupId,\n                                                     CharSequence title, CharSequence hint,\n                                                     boolean showsIconSpace) {\n        if (groupId == NO_GROUP_ID) {\n            throw new RuntimeException(\"Attempt to create 'GroupHeader' without \" +\n                    \"providing a valid groupID\");\n        }\n\n        return createInternal(groupId, generateUniqueItemID()/* itemId */, title, hint,\n                SublimeBaseMenuItem.ItemType.GROUP_HEADER,\n                false /*valueProvidedAsync*/, null, showsIconSpace);\n    }\n\n    public SublimeBaseMenuItem addGroupHeaderItem(int groupId,\n                                                  CharSequence title, CharSequence hint,\n                                                  boolean showsIconSpace) {\n        if (groupId == NO_GROUP_ID) {\n            throw new RuntimeException(\"Attempt to add 'GroupHeader' without \" +\n                    \"providing a valid groupID\");\n        }\n\n        return addInternal(groupId, generateUniqueItemID()/* itemId */, title, hint,\n                SublimeBaseMenuItem.ItemType.GROUP_HEADER,\n                false /*valueProvidedAsync*/, null, showsIconSpace, true);\n    }\n\n    protected SublimeBaseMenuItem addGroupHeaderItem(int groupId, int itemId,\n                                                     CharSequence title, CharSequence hint,\n                                                     boolean showsIconSpace) {\n        return addInternal(groupId, itemId, title, hint,\n                SublimeBaseMenuItem.ItemType.GROUP_HEADER,\n                false /*valueProvidedAsync*/, null, showsIconSpace, false);\n    }\n\n    public SublimeBaseMenuItem createSeparatorItem(int groupId) {\n        return createInternal(groupId, generateUniqueItemID()/* itemId */, null, null,\n                SublimeBaseMenuItem.ItemType.SEPARATOR,\n                false /*valueProvidedAsync*/, null, false);\n    }\n\n    public SublimeBaseMenuItem addSeparatorItem(int groupId) {\n        return addInternal(groupId, generateUniqueItemID()/* itemId */, null, null,\n                SublimeBaseMenuItem.ItemType.SEPARATOR,\n                false /*valueProvidedAsync*/, null, false, true);\n    }\n\n    protected SublimeBaseMenuItem addSeparatorItem(int groupId, int itemId) {\n        return addInternal(groupId, itemId, null, null,\n                SublimeBaseMenuItem.ItemType.SEPARATOR,\n                false /*valueProvidedAsync*/, null, false, false);\n    }\n\n    public void addBefore(int pivotId, SublimeBaseMenuItem item) {\n        checkExistenceOfItem(pivotId);\n        addInternal(pivotId, Positioned.BEFORE, item);\n    }\n\n    public void addAfter(int pivotId, SublimeBaseMenuItem item) {\n        checkExistenceOfItem(pivotId);\n        addInternal(pivotId, Positioned.AFTER, item);\n    }\n\n    public void removeItem(int id) {\n        removeItemAtInt(findItemIndex(id), true);\n    }\n\n    public void removeGroup(int groupId) {\n        final int i = findGroupIndex(groupId);\n\n        if (i >= 0) {\n            final int maxRemovable = mItems.size() - i;\n            int numRemoved = 0;\n            while ((numRemoved++ < maxRemovable) && (mItems.get(i).getGroupId() == groupId)) {\n                // Don't force update for each one, this method will do it at the end\n                removeItemAtInt(i, false);\n            }\n\n            // Remove Group\n            int groups = mGroups.size();\n\n            for (int j = 0; j < groups; j++) {\n                SublimeGroup curGroup = mGroups.get(j);\n\n                if (curGroup.getGroupId() == groupId) {\n                    mGroups.remove(j);\n                    break;\n                }\n            }\n\n            // Notify menu views\n            onItemsChanged();\n        }\n    }\n\n    /**\n     * Remove the item at the given index and optionally forces menu views to\n     * update.\n     *\n     * @param index                     The index of the item to be removed. If this index is\n     *                                  invalid an exception is thrown.\n     * @param updateChildrenOnMenuViews Whether to force update on menu views.\n     *                                  Please make sure you eventually call this after your batch of\n     *                                  removals.\n     */\n    private void removeItemAtInt(int index, boolean updateChildrenOnMenuViews) {\n        if ((index < 0) || (index >= mItems.size())) return;\n\n        mItems.remove(index);\n\n        if (updateChildrenOnMenuViews) {\n            onItemsChanged();\n        }\n    }\n\n    public void clear() {\n        mItems.clear();\n        mGroups.clear();\n        onItemsChanged();\n    }\n\n    /**\n     * Performs required changes to other group items\n     * before the passed item's checked state is set to true.\n     *\n     * @param item Item on which setChecked(true) has been called\n     */\n    void setItemChecked(SublimeBaseMenuItem item) {\n        SublimeGroup group = getGroup(item.getGroupId());\n\n        if (group == null) return;\n\n        if (group.getCheckableBehavior() == SublimeGroup.CheckableBehavior.SINGLE) {\n            final int N = mItems.size();\n            for (int i = 0; i < N; i++) {\n                SublimeBaseMenuItem curItem = mItems.get(i);\n                if (curItem.getGroupId() == group.getGroupId()) {\n                    if (!curItem.isCheckable()) {\n                        continue;\n                    }\n\n                    // Check the item meant to be checked,\n                    // un-check the others (that are in the group)\n                    if (curItem != item) {\n                        curItem.setCheckedInt(false);\n                    }\n                }\n            }\n        }\n    }\n\n    protected List<SublimeBaseMenuItem> getItemsForGroup(int groupId) {\n        ArrayList<SublimeBaseMenuItem> groupItems = new ArrayList<>();\n\n        final int N = mItems.size();\n\n        for (int i = 0; i < N; i++) {\n            SublimeBaseMenuItem item = mItems.get(i);\n            if (item.getGroupId() == groupId) {\n                groupItems.add(item);\n            }\n        }\n\n        return groupItems;\n    }\n\n    protected int getVisibleItemCountForGroup(List<SublimeBaseMenuItem> groupItems) {\n        int visibleItems = 0;\n        for (SublimeBaseMenuItem menuItem : groupItems) {\n            if (menuItem.isVisible()) {\n                visibleItems++;\n            }\n        }\n\n        return visibleItems;\n    }\n\n    public boolean hasVisibleItems() {\n        final int size = size();\n\n        for (int i = 0; i < size; i++) {\n            SublimeBaseMenuItem item = mItems.get(i);\n            if (item.isVisible()) {\n                return true;\n            }\n        }\n\n        return false;\n    }\n\n    public boolean groupHasVisibleItems(int groupId) {\n        final int size = size();\n\n        for (int i = 0; i < size; i++) {\n            SublimeBaseMenuItem item = mItems.get(i);\n            if (item.getGroupId() == groupId && item.isVisible()) {\n                return true;\n            }\n        }\n\n        return false;\n    }\n\n    public SublimeBaseMenuItem getMenuItem(int itemId) {\n        final int size = size();\n        for (int i = 0; i < size; i++) {\n            SublimeBaseMenuItem item = mItems.get(i);\n            if (item.getItemId() == itemId) {\n                return item;\n            }\n        }\n\n        return null;\n    }\n\n    private int findItemIndex(int itemId) {\n        final int size = size();\n\n        for (int i = 0; i < size; i++) {\n            SublimeBaseMenuItem item = mItems.get(i);\n            if (item.getItemId() == itemId) {\n                return i;\n            }\n        }\n\n        return -1;\n    }\n\n    private int findGroupIndex(int groupId) {\n        final int size = size();\n\n        for (int i = 0; i < size; i++) {\n            final SublimeBaseMenuItem item = mItems.get(i);\n            if (item.getGroupId() == groupId) {\n                return i;\n            }\n        }\n\n        return -1;\n    }\n\n    /**\n     * Returns the last index at which a member of the indicated group\n     * exists. If the group currently does not have any members,\n     * size of the MenuItem-list is returned.\n     *\n     * @param groupId ID of the group whose last member's index needs to be\n     *                found\n     * @return index of the last member of the indicated group, or size of\n     * the MenuItem-list if no members are found.\n     */\n    private int findLastGroupIndex(int groupId) {\n        int i = 0, size = mItems.size();\n        boolean traversingGroup = false;\n        while (true) {\n            if (i < size) {\n                final SublimeBaseMenuItem item = mItems.get(i);\n\n                if (item.getGroupId() == groupId) {\n                    traversingGroup = true;\n                } else if (traversingGroup) {\n                    // Take one step back\n                    return i - 1;\n                }\n\n                i++;\n            } else {\n                return traversingGroup ? size - 1 : size;\n            }\n        }\n    }\n\n    public int size() {\n        return mItems.size();\n    }\n\n    public Context getContext() {\n        return mContext;\n    }\n\n    boolean dispatchMenuItemSelected(SublimeBaseMenuItem item,\n                                     OnNavigationMenuEventListener.Event event) {\n        return mCallback != null && mCallback.onMenuItemSelected(this, item, event);\n    }\n\n    public boolean performItemAction(SublimeBaseMenuItem item) {\n        return !(item == null || !item.isEnabled()) && item.invoke();\n    }\n\n    public ArrayList<SublimeBaseMenuItem> getVisibleItems() {\n        // Refresh the visible items\n        mVisibleItems.clear();\n\n        final int itemsSize = mItems.size();\n        SublimeBaseMenuItem item;\n        for (int i = 0; i < itemsSize; i++) {\n            item = mItems.get(i);\n            if (item.isVisible()) mVisibleItems.add(item);\n        }\n\n        return mVisibleItems;\n    }\n\n    //----------------------------------------------------------------//\n    //---------------------------Item changes-------------------------//\n    //----------------------------------------------------------------//\n\n    protected SublimeMenu blockUpdates() {\n        mBlockUpdates = true;\n        return this;\n    }\n\n    protected SublimeMenu allowUpdates() {\n        mBlockUpdates = false;\n        return this;\n    }\n\n    public void finalizeUpdates() {\n        if (mBlockUpdates) {\n            Log.e(TAG, \"Cannot finalize updates until 'allowUpdates()' is called.\");\n            return;\n        }\n\n        if (mPresenter == null) {\n            Log.e(TAG, \"Cannot finalize updates until a presenter is set.\");\n            return;\n        }\n\n        mPresenter.invalidateEntireMenu();\n    }\n\n    private void attemptUpdate() {\n        if (!mBlockUpdates) {\n            finalizeUpdates();\n        }\n    }\n\n    //----------------------------------------------------------------//\n    //---------------------------Adapter data-------------------------//\n    //----------------------------------------------------------------//\n\n    public static class Change {\n        protected enum ChangeType {\n            ITEM_INSERTED, ITEM_REMOVED,\n            ITEM_CHANGED, ITEM_MOVED,\n            RANGE_INSERTED, RANGE_REMOVED,\n            RANGE_CHANGED, INVALIDATE_ENTIRE_MENU\n        }\n\n        // Used with ChangeType: ITEM_INSERTED, ITEM_REMOVED, ITEM_CHANGED,\n        // RANGE_INSERTED, RANGE_REMOVED, RANGE_CHANGED\n        private int mAffectedPosition;\n\n        // Used with ChangeType: ITEM_MOVED\n        private int mMovedFromPosition;\n        private int mMovedToPosition;\n\n        // Used with ChangeType: RANGE_INSERTED, RANGE_REMOVED, RANGE_CHANGED\n        private int mNumberOfAffectedItems;\n\n        private ChangeType mChangeType;\n\n        public Change(ChangeType changeType, int affectedPosition, int movedFromPosition,\n                      int movedToPosition, int numberOfAffectedItems) {\n            mChangeType = changeType;\n            mAffectedPosition = affectedPosition;\n            mMovedFromPosition = movedFromPosition;\n            mMovedToPosition = movedToPosition;\n            mNumberOfAffectedItems = numberOfAffectedItems;\n        }\n\n        public ChangeType getChangeType() {\n            return mChangeType;\n        }\n\n        public int getAffectedPosition() {\n            return mAffectedPosition;\n        }\n\n        public int getNumberOfAffectedItems() {\n            return mNumberOfAffectedItems;\n        }\n\n        public int getMovedFromPosition() {\n            return mMovedFromPosition;\n        }\n\n        public int getMovedToPosition() {\n            return mMovedToPosition;\n        }\n    }\n\n    protected ArrayList<SublimeBaseMenuItem> getAdapterData() {\n        // Possibly redundant check unless this method is\n        // called from outside of SublimeMenuPresenterNew.\n        // We shouldn't return 'null' here.\n        if (mPresenter == null) return mAdapterData;\n\n        prepareMenuItems();\n        return mAdapterData;\n    }\n\n    /**\n     * Creates/refreshes the data that is presented by SublimeMenuPresenter.\n     */\n    private void prepareMenuItems() {\n        if (Config.DEBUG) {\n            Log.i(TAG, \"prepareMenuItems()\");\n        }\n\n        mAdapterData.clear();\n\n        boolean hasHeader = mPresenter != null && mPresenter.hasHeader();\n\n        if (hasHeader) {\n            mAdapterData.add(SublimeMenu.HEADER_STUB);\n        }\n\n        int i = 0;\n        SublimeGroup currentGroup = null;\n\n        for (int totalSize = getVisibleItems().size(); i < totalSize; ++i) {\n            SublimeBaseMenuItem item = getVisibleItems().get(i);\n\n            if (currentGroup == null || currentGroup.getGroupId() != item.getGroupId()) {\n                currentGroup = getGroup(item.getGroupId());\n            }\n\n            if (currentGroup != null\n                    && (!currentGroup.isVisible()\n                    || (currentGroup.isCollapsed()\n                    && item.getItemType() != SublimeBaseMenuItem.ItemType.GROUP_HEADER))) {\n                continue;\n            }\n\n            mAdapterData.add(item);\n        }\n    }\n\n    //----------------------------------------------------------------//\n    //-----------------------Adapter data changes---------------------//\n    //----------------------------------------------------------------//\n\n    /**\n     * Called when an item is changed. Type of change is evaluated\n     * by comparing the 'old' position &amp; the 'new' position of the item.\n     *\n     * @param itemId id of item that's been changed\n     */\n    public void onItemChanged(int itemId) {\n        if (mBlockUpdates || mPresenter == null) return;\n\n        int oldPos = getAdapterPosForId(itemId);\n\n        prepareMenuItems();\n\n        int newPos = getAdapterPosForId(itemId);\n\n        if (oldPos == -1 && newPos == -1) {\n            // No change to report\n            return;\n        }\n\n        if (oldPos == -1) {\n            mPresenter.reportChange(\n                    new Change(Change.ChangeType.ITEM_INSERTED, newPos, -1, -1, -1),\n                    mAdapterData);\n        } else if (newPos == -1) {\n            mPresenter.reportChange(\n                    new Change(Change.ChangeType.ITEM_REMOVED, oldPos, -1, -1, -1),\n                    mAdapterData);\n        } else if (oldPos == newPos) {\n            mPresenter.reportChange(\n                    new Change(Change.ChangeType.ITEM_CHANGED, newPos, -1, -1, -1),\n                    mAdapterData);\n        } else {\n            mPresenter.reportChange(\n                    new Change(Change.ChangeType.ITEM_MOVED, -1, oldPos, newPos, -1),\n                    mAdapterData);\n        }\n    }\n\n    /**\n     * Called by {@link SublimeBaseMenuItem} after a batch update.\n     */\n    void onItemsChanged() {\n        if (mBlockUpdates || mPresenter == null) return;\n\n        mPresenter.invalidateEntireMenu();\n    }\n\n    private int getAdapterPosForId(int itemId) {\n        for (int i = 0; i < mAdapterData.size(); i++) {\n            if (mAdapterData.get(i).getItemId() == itemId) {\n                return i;\n            }\n        }\n\n        return -1;\n    }\n\n    //----------------------------------------------------------------//\n    //--------------------------SublimeGroup--------------------------//\n    //----------------------------------------------------------------//\n\n    /**\n     * Finds and returns the SublimeGroup with id == groupId.\n     *\n     * @param groupId id of the group to find\n     * @return SublimeGroup with id == groupId if found, 'null' otherwise\n     */\n    public SublimeGroup getGroup(int groupId) {\n        for (int i = 0; i < mGroups.size(); i++) {\n            if (mGroups.get(i).getGroupId() == groupId) {\n                return mGroups.get(i);\n            }\n        }\n\n        return null;\n    }\n\n    /**\n     * Called when a Group is collapsed/expanded.\n     *\n     * @param groupId   id of group that's been collapsed/expanded\n     * @param collapsed 'true' if group has been collapsed, 'false' if expanded\n     */\n    protected void onGroupExpandedOrCollapsed(int groupId, boolean collapsed) {\n        if (mBlockUpdates || mPresenter == null) return;\n\n        List<SublimeBaseMenuItem> groupItems = getItemsForGroup(groupId);\n\n        if (groupItems.size() > 0) {\n            int headerPos = getAdapterPosForId(groupItems.get(0).getItemId());\n\n            int visibleItemCountForGroupBeforeUpdate = getVisibleItemCountForGroup(groupItems);\n            prepareMenuItems();\n            int visibleItemCountForGroupAfterUpdate = getVisibleItemCountForGroup(groupItems);\n\n            if (headerPos != -1) {\n                // GroupHeader qualifies for ITEM_CHANGED.\n                mPresenter.reportChange(\n                        new Change(Change.ChangeType.ITEM_CHANGED, headerPos, -1, -1, -1),\n                        mAdapterData);\n\n                if (collapsed) {\n                    // The '> 1' check determines if there are any\n                    // GroupItems that are *visible*.\n                    // '- 1' because the GroupHeader does not\n                    // qualify for RANGE_REMOVED.\n                    if (visibleItemCountForGroupBeforeUpdate > 1) {\n                        mPresenter.reportChange(\n                                new Change(Change.ChangeType.RANGE_REMOVED, headerPos + 1,\n                                        //-1, -1, groupItems.size() - 1),\n                                        -1, -1, visibleItemCountForGroupBeforeUpdate - 1),\n                                mAdapterData);\n                    }\n                } else {\n                    if (visibleItemCountForGroupAfterUpdate > 1) {\n                        mPresenter.reportChange(\n                                new Change(Change.ChangeType.RANGE_INSERTED, headerPos + 1,\n                                        //-1, -1, groupItems.size() - 1),\n                                        -1, -1, visibleItemCountForGroupAfterUpdate - 1),\n                                mAdapterData);\n                    }\n                }\n            } else {\n                // be safe\n                mPresenter.invalidateEntireMenu();\n            }\n        }\n    }\n\n    /**\n     * Called when a Group's visibility is changed.\n     *\n     * @param groupId id of group that is now visible/invisible\n     * @param visible 'true' if the group is now visible, 'false' otherwise\n     */\n    protected void onGroupVisibilityChanged(int groupId, boolean visible) {\n        if (mBlockUpdates || mPresenter == null) return;\n\n        List<SublimeBaseMenuItem> groupItems = getItemsForGroup(groupId);\n\n        if (groupItems.size() > 0) {\n            boolean invalidateEntireMenu = false;\n\n            if (visible) {\n                prepareMenuItems();\n                int headerPos = getAdapterPosForId(groupItems.get(0).getItemId());\n                if (headerPos != -1) {\n                    mPresenter.reportChange(\n                            new Change(Change.ChangeType.RANGE_INSERTED, headerPos,\n                                    //-1, -1, groupItems.size()),\n                                    -1, -1, getVisibleItemCountForGroup(groupItems)),\n                            mAdapterData);\n                } else {\n                    // be safe\n                    invalidateEntireMenu = true;\n                }\n            } else {\n                // Get position & count before preparing updated menu\n                int headerPos = getAdapterPosForId(groupItems.get(0).getItemId());\n                int visibleItemCountForGroup = getVisibleItemCountForGroup(groupItems);\n                prepareMenuItems();\n                if (headerPos != -1) {\n                    mPresenter.reportChange(\n                            new Change(Change.ChangeType.RANGE_REMOVED, headerPos,\n                                    //-1, -1, groupItems.size()),\n                                    -1, -1, visibleItemCountForGroup),\n                            mAdapterData);\n                } else {\n                    invalidateEntireMenu = true;\n                }\n            }\n\n            if (invalidateEntireMenu) {\n                // be safe\n                mPresenter.invalidateEntireMenu();\n            }\n        }\n    }\n\n    /**\n     * Called in response to change in 'collapsible' status of a group\n     *\n     * @param sublimeGroup group for which 'collapsible' status has changed\n     */\n    protected void onGroupCollapsibleStatusChanged(SublimeGroup sublimeGroup) {\n        if (mBlockUpdates || mPresenter == null) return;\n\n        List<SublimeBaseMenuItem> groupItems = getItemsForGroup(sublimeGroup.getGroupId());\n\n        if (groupItems.size() > 0) {\n            int headerPos = getAdapterPosForId(groupItems.get(0).getItemId());\n            if (headerPos != -1) {\n                if (sublimeGroup.isCollapsible() || !sublimeGroup.isCollapsed()) {\n                    // Todo: check if call to 'prepareMenuItems()' is required\n                    mPresenter.reportChange(\n                            new Change(Change.ChangeType.ITEM_CHANGED, headerPos,\n                                    -1, -1, -1),\n                            mAdapterData);\n                } else {\n                    sublimeGroup.setStateCollapsed(false);\n                }\n            } else {\n                // be safe\n                mPresenter.invalidateEntireMenu();\n            }\n        }\n    }\n\n    /**\n     * Called when a Group is enabled/disabled.\n     *\n     * @param groupId 'id' of group that's been enabled/disabled\n     * @param enabled 'true' if the group has been 'enabled', false\n     *                otherwise\n     */\n    protected void onGroupEnabledOrDisabled(int groupId, boolean enabled) {\n        if (mBlockUpdates || mPresenter == null) return;\n\n        List<SublimeBaseMenuItem> groupItems = getItemsForGroup(groupId);\n\n        for (SublimeBaseMenuItem item : groupItems) {\n            item.blockUpdates().setEnabled(enabled).allowUpdates();\n        }\n\n        if (groupItems.size() > 0) {\n            int firstPos = getAdapterPosForId(groupItems.get(0).getItemId());\n            if (firstPos != -1) {\n                mPresenter.reportChange(\n                        new Change(Change.ChangeType.RANGE_CHANGED, firstPos,\n                                //-1, -1, groupItems.size()),\n                                -1, -1, getVisibleItemCountForGroup(groupItems)),\n                        mAdapterData);\n            } else {\n                // be safe\n                mPresenter.invalidateEntireMenu();\n            }\n        }\n    }\n\n    /**\n     * Sets the 'checkable' behavior for this group. For more information,\n     * see {@link SublimeGroup#setCheckableBehavior(SublimeGroup.CheckableBehavior)}.\n     *\n     * @param groupId              'id' for which to set the new 'checkableBehavior'\n     * @param newCheckableBehavior the 'checkableBehavior' to set\n     */\n    protected void onGroupCheckableBehaviorChanged(\n            int groupId, SublimeGroup.CheckableBehavior newCheckableBehavior) {\n        List<SublimeBaseMenuItem> groupItems = getItemsForGroup(groupId);\n\n        // flag set when 'newCheckableBehavior' is 'SINGLE' & the first\n        // checked item is found.\n        boolean foundCheckedIfExclusive = false;\n\n        for (SublimeBaseMenuItem item : groupItems) {\n            switch (newCheckableBehavior) {\n                case NONE:\n                    item.setCheckable(false);\n                    break;\n                case ALL:\n                    item.setCheckable(true);\n                    break;\n                case SINGLE:\n                    if (foundCheckedIfExclusive && item.isCheckable()) {\n                        item.setChecked(false);\n                    } else {\n                        // Can an item be !checkable & checked?\n                        if (item.isCheckable() && item.isChecked()) {\n                            foundCheckedIfExclusive = true;\n                        }\n                    }\n                    break;\n            }\n        }\n    }\n\n    //----------------------------------------------------------------//\n    //---------------------------Parcelable---------------------------//\n    //----------------------------------------------------------------//\n\n    public SublimeMenu(Parcel in) {\n        readParcel(in);\n    }\n\n    private void readParcel(Parcel in) {\n        mMenuResourceID = in.readInt();\n\n        in.readTypedList(mItems, SublimeBaseMenuItem.CREATOR);\n\n        for (SublimeBaseMenuItem item : mItems) {\n            item.setParentMenu(this);\n        }\n\n        in.readTypedList(mGroups, SublimeGroup.CREATOR);\n\n        for (SublimeGroup group : mGroups) {\n            group.setParentMenu(this);\n        }\n    }\n\n    @Override\n    public int describeContents() {\n        return 0;\n    }\n\n    @Override\n    public void writeToParcel(Parcel dest, int flags) {\n        dest.writeInt(mMenuResourceID);\n        dest.writeTypedList(mItems);\n        dest.writeTypedList(mGroups);\n    }\n\n    public static final Creator CREATOR = new Creator() {\n        public SublimeMenu createFromParcel(Parcel in) {\n            return new SublimeMenu(in);\n        }\n\n        public SublimeMenu[] newArray(int size) {\n            return new SublimeMenu[size];\n        }\n    };\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenuInflater.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.content.res.TypedArray;\nimport android.content.res.XmlResourceParser;\nimport android.util.AttributeSet;\nimport android.util.Xml;\nimport android.view.InflateException;\n\nimport org.xmlpull.v1.XmlPullParser;\nimport org.xmlpull.v1.XmlPullParserException;\n\nimport java.io.IOException;\n\n/**\n * Custom menu inflater.\n */\npublic class SublimeMenuInflater {\n    private static final String TAG = SublimeMenuInflater.class.getSimpleName();\n\n    /**\n     * Menu tag name in XML.\n     */\n    private static final String XML_MENU = \"menu\";\n\n    /**\n     * Group tag name in XML.\n     */\n    private static final String XML_GROUP = \"Group\";\n\n    /**\n     * Text item tag name in XML.\n     */\n    private static final String XML_TEXT = \"Text\";\n\n    /**\n     * Text w/ badge item tag name in XML.\n     */\n    private static final String XML_TEXT_WITH_BADGE = \"TextWithBadge\";\n\n    /**\n     * Checkbox item tag name in XML.\n     */\n    private static final String XML_CHECKBOX = \"Checkbox\";\n\n    /**\n     * Switch item tag name in XML.\n     */\n    private static final String XML_SWITCH = \"Switch\";\n\n    /**\n     * GroupHeader item tag name in XML.\n     */\n    private static final String XML_GROUP_HEADER = \"GroupHeader\";\n\n    /**\n     * Separator item tag name in XML.\n     */\n    private static final String XML_SEPARATOR = \"Separator\";\n\n    private static final int NO_ID = -1;\n\n    private Context mContext;\n\n    /**\n     * Constructs a menu inflater.\n     *\n     * @param context Context of the calling entity.\n     */\n    public SublimeMenuInflater(Context context) {\n        mContext = context;\n    }\n\n    /**\n     * Inflate a menu hierarchy from the specified XML resource. Throws\n     * {@link InflateException} if there is an error.\n     *\n     * @param menuRes Resource ID for an XML layout resource to load (e.g.,\n     *                <code>R.menu.nav_main</code>)\n     * @param menu    The Menu to inflate into. The items and groups will be\n     *                added to this Menu.\n     */\n    public void inflate(int menuRes, SublimeMenu menu) {\n        XmlResourceParser parser = null;\n        try {\n            parser = mContext.getResources().getLayout(menuRes);\n            AttributeSet attrs = Xml.asAttributeSet(parser);\n\n            parseMenu(parser, attrs, menu);\n        } catch (XmlPullParserException e) {\n            throw new InflateException(\"Error inflating menu XML\", e);\n        } catch (IOException e) {\n            throw new InflateException(\"Error inflating menu XML\", e);\n        } finally {\n            if (parser != null) parser.close();\n        }\n    }\n\n    /**\n     * Called internally to fill the given menu.\n     *\n     * @param parser an XmlPullParser used to parse XML menu definition\n     * @param attrs  attributes\n     * @param menu   the menu to inflate into\n     * @throws XmlPullParserException error occurred while parsing XML\n     * @throws IOException            in case the given xml file cannot be accessed\n     *                                because of an I/O related issue.\n     */\n    private void parseMenu(XmlPullParser parser, AttributeSet attrs, SublimeMenu menu)\n            throws XmlPullParserException, IOException {\n        MenuState menuState = new MenuState(menu);\n\n        int eventType = parser.getEventType();\n        String tagName;\n        boolean lookingForEndOfUnknownTag = false;\n        String unknownTagName = null;\n\n        // This loop will skip to the menu start tag\n        do {\n            if (eventType == XmlPullParser.START_TAG) {\n                tagName = parser.getName();\n                if (tagName.equals(XML_MENU)) {\n                    // Go to next tag\n                    eventType = parser.next();\n                    break;\n                }\n\n                throw new RuntimeException(\"Expecting menu, got \" + tagName);\n            }\n            eventType = parser.next();\n        } while (eventType != XmlPullParser.END_DOCUMENT);\n\n        boolean reachedEndOfMenu = false;\n        while (!reachedEndOfMenu) {\n            switch (eventType) {\n                case XmlPullParser.START_TAG:\n                    if (lookingForEndOfUnknownTag) {\n                        break;\n                    }\n\n                    tagName = parser.getName();\n                    if (tagName.equals(XML_GROUP)) {\n                        // A Group item cannot have other Group items as children\n                        if (menuState.groupId != MenuState.defaultGroupId) {\n                            throw new RuntimeException(\"A 'Group' item cannot have \" +\n                                    \"other 'Group' items as children.\");\n                        }\n\n                        menuState.readGroup(attrs);\n                        menuState.addGroup();\n                    } else if (tagName.equals(XML_TEXT)\n                            || tagName.equals(XML_TEXT_WITH_BADGE)\n                            || tagName.equals(XML_CHECKBOX)\n                            || tagName.equals(XML_SWITCH)) {\n                        menuState.readMenuItem(attrs, tagName);\n                    } else if (tagName.equals(XML_SEPARATOR)) {\n                        menuState.readMenuItem(attrs, tagName);\n                    } else if (tagName.equals(XML_GROUP_HEADER)) {\n                        if (menuState.groupId == MenuState.defaultGroupId) {\n                            throw new RuntimeException(\"'GroupHeader' item should \" +\n                                    \"be placed inside a Group element.\");\n                        }\n\n                        menuState.readMenuItem(attrs, tagName);\n                    } else if (tagName.equals(XML_MENU)) {\n                        throw new RuntimeException(\"Sub-menus are not supported. \" +\n                                \"Similar functionality can be afforded \" +\n                                \"using the 'group' tag.\");\n                    } else {\n                        lookingForEndOfUnknownTag = true;\n                        unknownTagName = tagName;\n                    }\n                    break;\n\n                case XmlPullParser.END_TAG:\n                    tagName = parser.getName();\n                    if (lookingForEndOfUnknownTag && tagName.equals(unknownTagName)) {\n                        lookingForEndOfUnknownTag = false;\n                        unknownTagName = null;\n                    } else if (tagName.equals(XML_GROUP)) {\n                        if (menuState.isGroupCollapsible()\n                                && menuState.groupHeadersAdded != 1) {\n                            if (menuState.groupHeadersAdded < 1) {\n                                throw new RuntimeException(\"A 'GroupHeader' is required \" +\n                                        \"to create a 'collapsible' Group.\");\n                            } else {\n                                throw new RuntimeException(\"A 'collapsible' Group can only \" +\n                                        \"have ONE 'GroupHeader'. You have provided: \"\n                                        + menuState.groupHeadersAdded + \".\");\n                            }\n                        }\n\n                        menuState.resetGroup();\n                    } else if (tagName.equals(XML_TEXT)\n                            || tagName.equals(XML_TEXT_WITH_BADGE)\n                            || tagName.equals(XML_CHECKBOX)\n                            || tagName.equals(XML_SWITCH)\n                            || tagName.equals(XML_GROUP_HEADER)\n                            || tagName.equals(XML_SEPARATOR)) {\n                        // Add the item if it hasn't been added (if the item was\n                        // a submenu, it would have been added already)\n                        if (!menuState.hasAddedItem()) {\n                            menuState.addItem();\n                        }\n                    } else if (tagName.equals(XML_MENU)) {\n                        reachedEndOfMenu = true;\n                    }\n                    break;\n\n                case XmlPullParser.END_DOCUMENT:\n                    throw new RuntimeException(\"Unexpected end of document\");\n            }\n\n            eventType = parser.next();\n        }\n    }\n\n    /**\n     * State for the current menu.\n     * <p/>\n     * Groups can not be nested unless there is another menu (which will have\n     * its state class).\n     */\n    private class MenuState {\n        private SublimeMenu menu;\n\n        /*\n         * Group state is set on items as they are added, allowing an item to\n         * override its group state. (As opposed to set on items at the group end tag.)\n         */\n        private int groupId;\n        private boolean groupVisible;\n        private boolean groupEnabled;\n        private boolean groupIsCollapsible;\n        private boolean groupIsCollapsed;\n        private SublimeGroup.CheckableBehavior groupCheckableBehavior;\n        private int groupHeadersAdded;\n\n        private boolean itemAdded;\n        private int itemId;\n        private CharSequence itemTitle;\n        private CharSequence itemBadgeText;\n        private int itemIconResId;\n\n        private boolean itemCheckable;\n        private boolean itemChecked;\n        private boolean itemVisible;\n        private boolean itemEnabled;\n        private boolean itemShowIconSpace;\n\n        private SublimeBaseMenuItem.ItemType itemType;\n        private boolean valueProvidedAsync;\n        private CharSequence itemHint;\n\n        private static final int defaultGroupId = NO_ID;\n        private static final int defaultItemId = NO_ID;\n\n        private static final int defaultItemCheckable = 1;\n        private static final boolean defaultItemChecked = false;\n        private static final boolean defaultItemVisible = true;\n        private static final boolean defaultItemEnabled = true;\n        private static final boolean defaultItemShowIconSpace = false;\n        private static final boolean defaultGroupCollapsible = false;\n        private static final boolean defaultGroupCollapsed = false;\n        private static final int defaultGroupHeadersAdded = 0;\n\n        public MenuState(final SublimeMenu menu) {\n            this.menu = menu;\n            resetGroup();\n        }\n\n        public void addGroup() {\n            menu.addGroup(groupId, groupIsCollapsible, groupIsCollapsed,\n                    groupEnabled, groupVisible, groupCheckableBehavior);\n        }\n\n        public boolean isGroupCollapsible() {\n            return groupIsCollapsible;\n        }\n\n        public void resetGroup() {\n            groupId = defaultGroupId;\n            groupVisible = defaultItemVisible;\n            groupEnabled = defaultItemEnabled;\n            groupIsCollapsed = defaultGroupCollapsed;\n            groupIsCollapsible = defaultGroupCollapsible;\n            groupCheckableBehavior = SublimeGroup.CheckableBehavior.ALL;\n            groupHeadersAdded = defaultGroupHeadersAdded;\n        }\n\n        /**\n         * Called when the parser is pointing to a group tag.\n         */\n        public void readGroup(AttributeSet attrs) {\n            TypedArray a = mContext.obtainStyledAttributes(attrs, R.styleable.SublimeMenuGroup);\n\n            groupId = a.getResourceId(R.styleable.SublimeMenuGroup_android_id, defaultGroupId);\n            groupVisible = a.getBoolean(R.styleable.SublimeMenuGroup_android_visible, defaultItemVisible);\n            groupEnabled = a.getBoolean(R.styleable.SublimeMenuGroup_android_enabled, defaultItemEnabled);\n            groupIsCollapsible = a.getBoolean(R.styleable.SublimeMenuGroup_collapsible,\n                    defaultGroupCollapsible);\n            groupIsCollapsed = a.getBoolean(R.styleable.SublimeMenuGroup_collapsed,\n                    defaultGroupCollapsed);\n\n            groupCheckableBehavior = getGroupCheckableBehavior(\n                    a.getInt(R.styleable.SublimeMenuGroup_android_checkableBehavior,\n                            defaultItemCheckable));\n\n            a.recycle();\n        }\n\n        /**\n         * Returns {@link SublimeGroup.CheckableBehavior} corresponding to the\n         * passed value.\n         *\n         * @param checkable value defined in XML\n         * @return {@link SublimeGroup.CheckableBehavior} that corresponds to\n         * {@param checkable}.\n         */\n        private SublimeGroup.CheckableBehavior getGroupCheckableBehavior(final int checkable) {\n            switch (checkable) {\n                case 1:\n                    return SublimeGroup.CheckableBehavior.ALL;\n                case 2:\n                    return SublimeGroup.CheckableBehavior.SINGLE;\n                default:\n                    return SublimeGroup.CheckableBehavior.NONE;\n            }\n        }\n\n        /**\n         * Called when the parser is pointing to a generic item tag.\n         */\n        public void readMenuItem(AttributeSet attrs, String tagName) {\n            itemType = getItemType(tagName);\n\n            TypedArray a = mContext.obtainStyledAttributes(attrs, R.styleable.SublimeMenuGenericItem);\n\n            // Inherit attributes from the group as default value\n            itemId = a.getResourceId(R.styleable.SublimeMenuGenericItem_android_id, defaultItemId);\n            itemTitle = a.getText(R.styleable.SublimeMenuGenericItem_android_title);\n            itemHint = a.getText(R.styleable.SublimeMenuGenericItem_android_hint);\n            itemIconResId = a.getResourceId(R.styleable.SublimeMenuGenericItem_android_icon, 0);\n\n            itemCheckable = a.getBoolean(R.styleable.SublimeMenuGenericItem_android_checkable,\n                    (groupCheckableBehavior != SublimeGroup.CheckableBehavior.NONE));\n\n            itemChecked = a.getBoolean(R.styleable.SublimeMenuGenericItem_android_checked, defaultItemChecked);\n            itemVisible = a.getBoolean(R.styleable.SublimeMenuGenericItem_android_visible, groupVisible);\n            itemEnabled = a.getBoolean(R.styleable.SublimeMenuGenericItem_android_enabled, groupEnabled);\n            itemShowIconSpace = a.getBoolean(R.styleable.SublimeMenuGenericItem_showIconSpace,\n                    itemIconResId != 0);\n\n            valueProvidedAsync\n                    = a.getBoolean(R.styleable.SublimeMenuGenericItem_valueProvidedAsync, false);\n\n            itemBadgeText = a.getText(R.styleable.SublimeMenuGenericItem_badgeText);\n\n            a.recycle();\n\n            itemAdded = false;\n        }\n\n        private SublimeBaseMenuItem.ItemType getItemType(final String type) {\n            switch (type) {\n                case XML_CHECKBOX:\n                    return SublimeBaseMenuItem.ItemType.CHECKBOX;\n                case XML_SWITCH:\n                    return SublimeBaseMenuItem.ItemType.SWITCH;\n                case XML_TEXT_WITH_BADGE:\n                    return SublimeBaseMenuItem.ItemType.BADGE;\n                case XML_GROUP_HEADER:\n                    return SublimeBaseMenuItem.ItemType.GROUP_HEADER;\n                case XML_SEPARATOR:\n                    return SublimeBaseMenuItem.ItemType.SEPARATOR;\n                default:\n                    /* XML_TEXT */\n                    return SublimeBaseMenuItem.ItemType.TEXT;\n            }\n        }\n\n        private void setItem(SublimeBaseMenuItem item) {\n            // Ordering: 'setChecked(boolean)' checks if\n            // the item 'isCheckable()' before making changes.\n            item.setCheckable(itemCheckable)\n                    .setChecked(itemChecked)\n                    .setVisible(itemVisible)\n                    .setEnabled(itemEnabled)\n                    .setIcon(itemIconResId)\n                    .setHint(itemHint)\n                    .setShowsIconSpace(itemShowIconSpace)\n                    .setValueProvidedAsync(valueProvidedAsync);\n        }\n\n        public void addItem() {\n            itemAdded = true;\n\n            switch (itemType) {\n                case CHECKBOX:\n                    setItem(menu.addCheckboxItem(groupId, itemId,\n                            itemTitle, itemHint, itemShowIconSpace));\n                    break;\n                case SWITCH:\n                    setItem(menu.addSwitchItem(groupId, itemId,\n                            itemTitle, itemHint, itemShowIconSpace));\n                    break;\n                case BADGE:\n                    setItem(menu.addTextWithBadgeItem(groupId, itemId,\n                            itemTitle, itemHint, itemBadgeText, itemShowIconSpace));\n                    break;\n                case SEPARATOR:\n                    setItem(menu.addSeparatorItem(groupId, itemId));\n                    break;\n                case GROUP_HEADER:\n                    setItem(menu.addGroupHeaderItem(groupId, itemId,\n                            itemTitle, itemHint, itemShowIconSpace));\n                    groupHeadersAdded++;\n                    break;\n                default:\n                    /* TEXT */\n                    setItem(menu.addTextItem(groupId, itemId,\n                            itemTitle, itemHint, itemShowIconSpace));\n                    break;\n            }\n        }\n\n        public boolean hasAddedItem() {\n            return itemAdded;\n        }\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeMenuPresenter.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.support.annotation.LayoutRes;\nimport android.support.annotation.NonNull;\nimport android.support.v7.widget.LinearLayoutManager;\nimport android.support.v7.widget.RecyclerView;\nimport android.util.Log;\nimport android.util.Pair;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.view.ViewGroup;\nimport android.widget.LinearLayout;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\n/**\n * Presenter used to display a SublimeMenu.\n *\n * Created by Vikram.\n */\npublic class SublimeMenuPresenter {\n    private static final String TAG = \"Presenter\";\n    private SublimeNavMenuView mMenuView;\n    private LinearLayout mHeader;\n    private SublimeMenu mMenu;\n    private MenuRecyclerAdapter mAdapter;\n    private LayoutInflater mLayoutInflater;\n    private int mPaddingTopDefault;\n    private SublimeThemer mThemer;\n\n    private Context mContext;\n\n    private boolean mInitializing;\n\n    public SublimeMenuPresenter() {\n        mInitializing = true;\n    }\n\n    /**\n     * Upon creation, and until initializations are done,\n     * {@link SublimeMenuPresenter} blocks all calls for invalidation.\n     * We can now finalize the initialization phase to allow\n     * invalidation of the menu when required.\n     */\n    protected void setInitializationDone() {\n        mInitializing = false;\n        invalidateEntireMenu();\n    }\n\n    public void initForMenu(Context context, SublimeMenu menu) {\n        mContext = context;\n        mLayoutInflater = LayoutInflater.from(context);\n        mMenu = menu;\n        mPaddingTopDefault = context.getResources()\n                .getDimensionPixelOffset(R.dimen.snv_navigation_padding_top_default);\n\n        if (mThemer == null) {\n            mThemer = new SublimeThemer(context);\n        }\n    }\n\n    void setThemer(SublimeThemer sublimeThemer) {\n        mThemer = sublimeThemer;\n        invalidateEntireMenu();\n    }\n\n    public SublimeNavMenuView getMenuView(ViewGroup root) {\n        if (mMenuView == null) {\n            mMenuView = (SublimeNavMenuView) mLayoutInflater\n                    .inflate(R.layout.sublime_navigation_menu_view, root, false);\n            mMenuView.setLayoutManager(new LinearLayoutManager(root.getContext(),\n                    LinearLayoutManager.VERTICAL, false));\n            if (mAdapter == null) {\n                mAdapter = new MenuRecyclerAdapter();\n                mAdapter.setHasStableIds(false);\n            }\n\n            mHeader = (LinearLayout) mLayoutInflater\n                    .inflate(R.layout.sublime_menu_header_item, mMenuView, false);\n            mMenuView.setAdapter(mAdapter);\n        }\n\n        return mMenuView;\n    }\n\n    protected void reportChange(SublimeMenu.Change change,\n                                List<SublimeBaseMenuItem> freshData) {\n        if (mAdapter == null) return;\n\n        mAdapter.refreshData(freshData);\n\n        switch (change.getChangeType()) {\n            case ITEM_INSERTED:\n                mAdapter.notifyItemInserted(change.getAffectedPosition());\n                break;\n            case ITEM_REMOVED:\n                mAdapter.notifyItemRemoved(change.getAffectedPosition());\n                break;\n            case ITEM_CHANGED:\n                mAdapter.notifyItemChanged(change.getAffectedPosition());\n                break;\n            case ITEM_MOVED:\n                mAdapter.notifyItemMoved(change.getMovedFromPosition(),\n                        change.getMovedToPosition());\n                break;\n            case RANGE_INSERTED:\n                mAdapter.notifyItemRangeInserted(change.getAffectedPosition(),\n                        change.getNumberOfAffectedItems());\n                break;\n            case RANGE_REMOVED:\n                mAdapter.notifyItemRangeRemoved(change.getAffectedPosition(),\n                        change.getNumberOfAffectedItems());\n                break;\n            case RANGE_CHANGED:\n                mAdapter.notifyItemRangeChanged(change.getAffectedPosition(),\n                        change.getNumberOfAffectedItems());\n                break;\n            default:\n                /* INVALIDATE_ENTIRE_MENU */\n                mAdapter.notifyDataSetChanged();\n                break;\n        }\n    }\n\n    public void invalidateEntireMenu() {\n        if (mInitializing) return;\n\n        if (Config.DEBUG) {\n            Log.i(TAG, \"invalidateEntireMenu()\");\n        }\n\n        reportChange(\n                new SublimeMenu.Change(\n                        SublimeMenu.Change.ChangeType.INVALIDATE_ENTIRE_MENU,\n                        -1, -1, -1, -1),\n                mMenu.getAdapterData());\n    }\n\n    public View getHeaderView() {\n        return mHeader;\n    }\n\n    public View inflateHeaderView(@LayoutRes int res) {\n        View view = mLayoutInflater.inflate(res, mHeader, false);\n        addHeaderView(view);\n        return view;\n    }\n\n    public void addHeaderView(@NonNull View view) {\n        mHeader.addView(view);\n        mMenuView.setPadding(0, 0, 0, mMenuView.getPaddingBottom());\n        invalidateEntireMenu();\n    }\n\n    public void removeHeaderView(@NonNull View view) {\n        mHeader.removeView(view);\n        if (mHeader.getChildCount() == 0) {\n            mMenuView.setPadding(0, mPaddingTopDefault, 0, mMenuView.getPaddingBottom());\n        }\n\n        invalidateEntireMenu();\n    }\n\n    protected boolean hasHeader() {\n        return mHeader != null && mHeader.getChildCount() > 0;\n    }\n\n    ////////////////////// RV\n\n    public interface Holders {\n        void initialize(SublimeBaseMenuItem sublimeMenuItemDef, int boundPosition);\n    }\n\n    public abstract class BaseHolder extends RecyclerView.ViewHolder\n            implements Holders, View.OnClickListener {\n\n        protected int mPosition;\n\n        public BaseHolder(View itemView) {\n            super(itemView);\n            itemView.setOnClickListener(this);\n        }\n\n        @Override\n        public void onClick(View v) {\n            mMenu.performItemAction(mAdapter.getItem(getAdapterPosition()));\n        }\n\n        @Override\n        public void initialize(SublimeBaseMenuItem sublimeMenuItemDef, int boundPosition) {\n            mPosition = boundPosition;\n        }\n\n        public SublimeBaseMenuItem getBoundData() {\n            return mAdapter != null ? mAdapter.getItem(mPosition) : null;\n        }\n    }\n\n    private class MenuViewNavigationHeaderHolder extends BaseHolder {\n        public MenuViewNavigationHeaderHolder(View itemView) {\n            super(itemView);\n        }\n\n        @Override\n        public void initialize(SublimeBaseMenuItem sublimeMenuItemDef,\n                               int boundPosition) {\n            super.initialize(sublimeMenuItemDef, boundPosition);\n        }\n\n        @Override\n        public void onClick(View v) {\n            // No-op\n        }\n    }\n\n    private class MenuViewSeparatorHolder extends BaseHolder {\n        public MenuViewSeparatorHolder(View itemView) {\n            super(itemView);\n        }\n\n        @Override\n        public void initialize(SublimeBaseMenuItem sublimeMenuItemDef, int boundPosition) {\n            super.initialize(sublimeMenuItemDef, boundPosition);\n        }\n\n        @Override\n        public void onClick(View v) {\n            // No-op\n        }\n    }\n\n    private class MenuViewSubHeaderHolder extends BaseHolder {\n        public MenuViewSubHeaderHolder(View itemView) {\n            super(itemView);\n        }\n\n        @Override\n        public void initialize(SublimeBaseMenuItem sublimeMenuItemDef, int boundPosition) {\n            super.initialize(sublimeMenuItemDef, boundPosition);\n            SublimeSubheaderItemView itemSubHeader\n                    = (SublimeSubheaderItemView) itemView;\n            SublimeGroup group\n                    = SublimeMenuPresenter.this\n                    .mMenu.getGroup(sublimeMenuItemDef.getGroupId());\n            itemSubHeader.initialize(sublimeMenuItemDef, group,\n                    mThemer);\n        }\n    }\n\n    private class MenuViewTextHolder extends BaseHolder {\n        public MenuViewTextHolder(View itemView) {\n            super(itemView);\n        }\n\n        @Override\n        public void initialize(SublimeBaseMenuItem sublimeMenuItemDef, int boundPosition) {\n            super.initialize(sublimeMenuItemDef, boundPosition);\n            SublimeTextItemView itemTextView\n                    = (SublimeTextItemView) itemView;\n            itemTextView.initialize(sublimeMenuItemDef, mThemer);\n        }\n    }\n\n    private class MenuViewCheckboxHolder extends BaseHolder {\n        public MenuViewCheckboxHolder(View itemView) {\n            super(itemView);\n        }\n\n        @Override\n        public void initialize(SublimeBaseMenuItem sublimeMenuItemDef, int boundPosition) {\n            super.initialize(sublimeMenuItemDef, boundPosition);\n\n            SublimeCheckboxItemView itemCheckbox\n                    = (SublimeCheckboxItemView) itemView;\n            itemCheckbox.initialize(sublimeMenuItemDef, mThemer);\n        }\n    }\n\n    private class MenuViewSwitchHolder extends BaseHolder {\n        public MenuViewSwitchHolder(View itemView) {\n            super(itemView);\n        }\n\n        @Override\n        public void initialize(SublimeBaseMenuItem sublimeMenuItemDef, int boundPosition) {\n            super.initialize(sublimeMenuItemDef, boundPosition);\n\n            SublimeSwitchItemView itemSwitch\n                    = (SublimeSwitchItemView) itemView;\n            itemSwitch.initialize(sublimeMenuItemDef, mThemer);\n        }\n\n        @Override\n        public void onClick(View v) {\n            super.onClick(v);\n        }\n    }\n\n    private class MenuViewTextWithBadgeHolder extends BaseHolder {\n        public MenuViewTextWithBadgeHolder(View itemView) {\n            super(itemView);\n        }\n\n        @Override\n        public void initialize(SublimeBaseMenuItem sublimeMenuItemDef, int boundPosition) {\n            super.initialize(sublimeMenuItemDef, boundPosition);\n            SublimeTextWithBadgeItemView itemBadge\n                    = (SublimeTextWithBadgeItemView) itemView;\n            itemBadge.initialize(sublimeMenuItemDef, mThemer);\n        }\n    }\n\n    private class MenuRecyclerAdapter extends RecyclerView.Adapter<BaseHolder> {\n        private static final int VIEW_TYPE_NAVIGATION_HEADER = 0;\n        private static final int VIEW_TYPE_SEPARATOR = VIEW_TYPE_NAVIGATION_HEADER + 1;\n        private static final int VIEW_TYPE_SUBHEADER = VIEW_TYPE_SEPARATOR + 1;\n        private static final int VIEW_TYPE_TEXT = VIEW_TYPE_SUBHEADER + 1;\n        private static final int VIEW_TYPE_CHECKBOX = VIEW_TYPE_TEXT + 1;\n        private static final int VIEW_TYPE_SWITCH = VIEW_TYPE_CHECKBOX + 1;\n        private static final int VIEW_TYPE_BADGE = VIEW_TYPE_SWITCH + 1;\n        private final ArrayList<SublimeBaseMenuItem> mItems = new ArrayList<>();\n\n        MenuRecyclerAdapter() {\n            this.mItems.addAll(SublimeMenuPresenter.this.mMenu.getAdapterData());\n        }\n\n        @Override\n        public int getItemCount() {\n            return mItems.size();\n        }\n\n        @Override\n        public BaseHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) {\n            switch (viewType) {\n                case VIEW_TYPE_NAVIGATION_HEADER:\n                    return new MenuViewNavigationHeaderHolder(mHeader);\n                case VIEW_TYPE_SEPARATOR:\n                    return new MenuViewSeparatorHolder(SublimeMenuPresenter.this\n                            .mLayoutInflater.inflate(\n                                    R.layout.sublime_separator_item_view, viewGroup, false));\n                case VIEW_TYPE_SUBHEADER:\n                    return new MenuViewSubHeaderHolder(SublimeMenuPresenter.this\n                            .mLayoutInflater.inflate(\n                                    R.layout.sublime_subheader_item_view, viewGroup, false));\n                case VIEW_TYPE_CHECKBOX:\n                    return new MenuViewCheckboxHolder(SublimeMenuPresenter.this\n                            .mLayoutInflater.inflate(\n                                    R.layout.sublime_checkbox_item_view, viewGroup, false));\n                case VIEW_TYPE_SWITCH:\n                    return new MenuViewSwitchHolder(SublimeMenuPresenter.this\n                            .mLayoutInflater.inflate(\n                                    R.layout.sublime_switch_item_view, viewGroup, false));\n                case VIEW_TYPE_BADGE:\n                    return new MenuViewTextWithBadgeHolder(SublimeMenuPresenter\n                            .this.mLayoutInflater.inflate(\n                            R.layout.sublime_text_with_badge_item_view, viewGroup, false));\n                default:\n                    /* VIEW_TYPE_TEXT */\n                    return new MenuViewTextHolder(SublimeMenuPresenter.this\n                            .mLayoutInflater.inflate(\n                                    R.layout.sublime_text_item_view, viewGroup, false));\n            }\n        }\n\n        @Override\n        public void onBindViewHolder(BaseHolder menuViewHolder, int position) {\n            menuViewHolder.initialize(getItem(position), position);\n        }\n\n        public SublimeBaseMenuItem getItem(int position) {\n            return mItems.get(position);\n        }\n\n        @Override\n        public int getItemViewType(int position) {\n            return resolveItemViewType(getItem(position));\n        }\n\n        @Override\n        public long getItemId(int position) {\n            return (long) position;\n        }\n\n        private int resolveItemViewType(SublimeBaseMenuItem item) {\n            switch (item.getItemType()) {\n                case HEADER:\n                    return VIEW_TYPE_NAVIGATION_HEADER;\n                case SEPARATOR:\n                    return VIEW_TYPE_SEPARATOR;\n                case GROUP_HEADER:\n                    return VIEW_TYPE_SUBHEADER;\n                case CHECKBOX:\n                    return VIEW_TYPE_CHECKBOX;\n                case SWITCH:\n                    return VIEW_TYPE_SWITCH;\n                case BADGE:\n                    return VIEW_TYPE_BADGE;\n                default:\n                    return VIEW_TYPE_TEXT;\n            }\n        }\n\n        public void refreshData(List<SublimeBaseMenuItem> freshData) {\n            mItems.clear();\n            mItems.addAll(freshData);\n        }\n    }\n}"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeNavMenuView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.support.v7.widget.RecyclerView;\nimport android.util.AttributeSet;\n\n/**\n * Currently inert.\n *\n * Created by Vikram.\n */\npublic class SublimeNavMenuView extends RecyclerView {\n    public SublimeNavMenuView(Context context) {\n        this(context, null);\n    }\n\n    public SublimeNavMenuView(Context context, AttributeSet attrs) {\n        this(context, attrs, android.R.attr.listViewStyle);\n    }\n\n    public SublimeNavMenuView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeNavigationView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.annotation.TargetApi;\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.content.res.TypedArray;\nimport android.graphics.Typeface;\nimport android.os.Build;\nimport android.os.Bundle;\nimport android.os.Parcel;\nimport android.os.Parcelable;\nimport android.support.annotation.LayoutRes;\nimport android.support.annotation.MenuRes;\nimport android.support.annotation.NonNull;\nimport android.support.v4.view.ViewCompat;\nimport android.text.TextUtils;\nimport android.util.AttributeSet;\nimport android.util.Log;\nimport android.view.View;\n\n/**\n * Top level view that hosts a SublimeMenu\n */\npublic class SublimeNavigationView extends ScrimInsetsFrameLayout {\n\n    private static final String TAG = SublimeNavigationView.class.getSimpleName();\n\n    // Key used for saving state\n    private static final String SS_MENU = \"ss.menu\";\n\n    // Menu\n    private SublimeMenu mMenu;\n\n    // Presenter\n    private final SublimeMenuPresenter mPresenter;\n\n    // Listener\n    private OnNavigationMenuEventListener mEventListener;\n\n    // Max width set for this drawer\n    private int mMaxWidth;\n\n    // Custom MenuInflater\n    private SublimeMenuInflater mMenuInflater;\n\n    // Theme controller\n    private SublimeThemer mThemer;\n\n    public SublimeNavigationView(Context context) {\n        this(context, null);\n    }\n\n    public SublimeNavigationView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public SublimeNavigationView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n\n        TypedArray a = getContext().obtainStyledAttributes(attrs,\n                R.styleable.SublimeNavigationView, defStyleAttr,\n                R.style.SnvSublimeNavigationView);\n\n        try {\n            // Used for creating default resources\n            SublimeThemer.DefaultTheme defaultTheme = SublimeThemer.DefaultTheme.LIGHT;\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvDefaultTheme)) {\n                defaultTheme = a.getInt(R.styleable.SublimeNavigationView_snvDefaultTheme,\n                        0) == 0 ? SublimeThemer.DefaultTheme.LIGHT\n                        : SublimeThemer.DefaultTheme.DARK;\n            }\n\n            mThemer = new SublimeThemer(getContext(), defaultTheme);\n\n            mThemer.setDrawerBackground(a.getDrawable(\n                    R.styleable.SublimeNavigationView_android_background));\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_elevation)) {\n                mThemer.setElevation((float) a.getDimensionPixelSize(\n                        R.styleable.SublimeNavigationView_elevation, 0));\n            }\n\n            ViewCompat.setFitsSystemWindows(this,\n                    a.getBoolean(R.styleable.SublimeNavigationView_android_fitsSystemWindows,\n                            false));\n            mMaxWidth = a.getDimensionPixelSize(\n                    R.styleable.SublimeNavigationView_android_maxWidth, 0);\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvItemIconTint)) {\n                mThemer.setIconTintList(a.getColorStateList(\n                        R.styleable.SublimeNavigationView_snvItemIconTint));\n            }\n\n            mThemer.setGroupExpandDrawable(a.getDrawable(\n                    R.styleable.SublimeNavigationView_snvGroupExpandDrawable));\n\n            mThemer.setGroupCollapseDrawable(a.getDrawable(\n                    R.styleable.SublimeNavigationView_snvGroupCollapseDrawable));\n\n            // Text style profiles for Item, Hint, SubheaderItem & SubheaderHint\n            ColorStateList itemTextColor = null, hintTextColor = null,\n                    subheaderItemTextColor = null, subheaderHintTextColor = null,\n                    badgeTextColor = null;\n            Typeface itemTypeface = null, hintTypeface = null,\n                    subheaderItemTypeface = null, subheaderHintTypeface = null,\n                    badgeTypeface = null;\n            int itemTypefaceStyle = 0, hintTypefaceStyle = 0,\n                    subheaderItemTypefaceStyle = 0, subheaderHintTypefaceStyle = 0,\n                    badgeTypefaceStyle = 0;\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvItemTextColor)) {\n                itemTextColor = a.getColorStateList(\n                        R.styleable.SublimeNavigationView_snvItemTextColor);\n            }\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvHintTextColor)) {\n                hintTextColor = a.getColorStateList(\n                        R.styleable.SublimeNavigationView_snvHintTextColor);\n            }\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderItemTextColor)) {\n                subheaderItemTextColor = a.getColorStateList(\n                        R.styleable.SublimeNavigationView_snvSubheaderItemTextColor);\n            }\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderHintTextColor)) {\n                subheaderHintTextColor = a.getColorStateList(\n                        R.styleable.SublimeNavigationView_snvSubheaderHintTextColor);\n            }\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvBadgeTextColor)) {\n                badgeTextColor = a.getColorStateList(\n                        R.styleable.SublimeNavigationView_snvBadgeTextColor);\n            }\n\n            try {   // Catch the RuntimeException thrown if\n                    // the Typeface filename is incorrect\n                if (a.hasValue(R.styleable.SublimeNavigationView_snvItemTypefaceFilename)) {\n                    String itemTypefaceFilename = a.getString(\n                            R.styleable.SublimeNavigationView_snvItemTypefaceFilename);\n                    if (!TextUtils.isEmpty(itemTypefaceFilename)) {\n                        itemTypeface = Typeface.createFromAsset(context.getAssets(),\n                                itemTypefaceFilename);\n                    }\n                }\n\n                if (a.hasValue(R.styleable.SublimeNavigationView_snvHintTypefaceFilename)) {\n                    String hintTypefaceFilename = a.getString(\n                            R.styleable.SublimeNavigationView_snvHintTypefaceFilename);\n                    if (!TextUtils.isEmpty(hintTypefaceFilename)) {\n                        hintTypeface = Typeface.createFromAsset(context.getAssets(),\n                                hintTypefaceFilename);\n                    }\n                }\n\n                if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderItemTypefaceFilename)) {\n                    String subheaderItemTypefaceFilename = a.getString(\n                            R.styleable.SublimeNavigationView_snvSubheaderItemTypefaceFilename);\n                    if (!TextUtils.isEmpty(subheaderItemTypefaceFilename)) {\n                        subheaderItemTypeface = Typeface.createFromAsset(context.getAssets(),\n                                subheaderItemTypefaceFilename);\n                    }\n                }\n\n                if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderHintTypefaceFilename)) {\n                    String subheaderHintTypefaceFilename = a.getString(\n                            R.styleable.SublimeNavigationView_snvSubheaderHintTypefaceFilename);\n                    if (!TextUtils.isEmpty(subheaderHintTypefaceFilename)) {\n                        subheaderHintTypeface = Typeface.createFromAsset(context.getAssets(),\n                                subheaderHintTypefaceFilename);\n                    }\n                }\n\n                if (a.hasValue(R.styleable.SublimeNavigationView_snvBadgeTypefaceFilename)) {\n                    String badgeTypefaceFilename = a.getString(\n                            R.styleable.SublimeNavigationView_snvBadgeTypefaceFilename);\n                    if (!TextUtils.isEmpty(badgeTypefaceFilename)) {\n                        badgeTypeface = Typeface.createFromAsset(context.getAssets(),\n                                badgeTypefaceFilename);\n                    }\n                }\n            } catch (RuntimeException re) {\n                Log.e(TAG, \"Error loading Typeface from Assets. \" +\n                        \"Confirm that the Typeface filename is correct:\\n\" +\n                        \"    - filename should include the extension\\n\" +\n                        \"    - filename is case-sensitive\");\n            }\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvItemTypefaceStyle)) {\n                itemTypefaceStyle = a.getInt(\n                        R.styleable.SublimeNavigationView_snvItemTypefaceStyle, Typeface.NORMAL);\n\n                switch (itemTypefaceStyle) {\n                    case 1:\n                        itemTypefaceStyle = Typeface.BOLD;\n                        break;\n                    case 2:\n                        itemTypefaceStyle = Typeface.ITALIC;\n                        break;\n                    case 3:\n                        itemTypefaceStyle = Typeface.BOLD_ITALIC;\n                        break;\n                    default:\n                        // case 0: NORMAL\n                        itemTypefaceStyle = Typeface.NORMAL;\n                        break;\n                }\n            }\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvHintTypefaceStyle)) {\n                hintTypefaceStyle = a.getInt(\n                        R.styleable.SublimeNavigationView_snvHintTypefaceStyle, Typeface.NORMAL);\n\n                switch (hintTypefaceStyle) {\n                    case 1:\n                        hintTypefaceStyle = Typeface.BOLD;\n                        break;\n                    case 2:\n                        hintTypefaceStyle = Typeface.ITALIC;\n                        break;\n                    case 3:\n                        hintTypefaceStyle = Typeface.BOLD_ITALIC;\n                        break;\n                    default:\n                        // case 0: NORMAL\n                        hintTypefaceStyle = Typeface.NORMAL;\n                        break;\n                }\n            }\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderItemTypefaceStyle)) {\n                subheaderItemTypefaceStyle = a.getInt(\n                        R.styleable.SublimeNavigationView_snvSubheaderItemTypefaceStyle,\n                        Typeface.NORMAL);\n\n                switch (subheaderItemTypefaceStyle) {\n                    case 1:\n                        subheaderItemTypefaceStyle = Typeface.BOLD;\n                        break;\n                    case 2:\n                        subheaderItemTypefaceStyle = Typeface.ITALIC;\n                        break;\n                    case 3:\n                        subheaderItemTypefaceStyle = Typeface.BOLD_ITALIC;\n                        break;\n                    default:\n                        // case 0: NORMAL\n                        subheaderItemTypefaceStyle = Typeface.NORMAL;\n                        break;\n                }\n            }\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvSubheaderHintTypefaceStyle)) {\n                subheaderHintTypefaceStyle = a.getInt(\n                        R.styleable.SublimeNavigationView_snvSubheaderHintTypefaceStyle,\n                        Typeface.NORMAL);\n\n                switch (subheaderHintTypefaceStyle) {\n                    case 1:\n                        subheaderHintTypefaceStyle = Typeface.BOLD;\n                        break;\n                    case 2:\n                        subheaderHintTypefaceStyle = Typeface.ITALIC;\n                        break;\n                    case 3:\n                        subheaderHintTypefaceStyle = Typeface.BOLD_ITALIC;\n                        break;\n                    default:\n                        // case 0: NORMAL\n                        subheaderHintTypefaceStyle = Typeface.NORMAL;\n                        break;\n                }\n            }\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvBadgeTypefaceStyle)) {\n                badgeTypefaceStyle = a.getInt(\n                        R.styleable.SublimeNavigationView_snvBadgeTypefaceStyle,\n                        Typeface.NORMAL);\n\n                switch (badgeTypefaceStyle) {\n                    case 1:\n                        badgeTypefaceStyle = Typeface.BOLD;\n                        break;\n                    case 2:\n                        badgeTypefaceStyle = Typeface.ITALIC;\n                        break;\n                    case 3:\n                        badgeTypefaceStyle = Typeface.BOLD_ITALIC;\n                        break;\n                    default:\n                        // case 0: NORMAL\n                        badgeTypefaceStyle = Typeface.NORMAL;\n                        break;\n                }\n            }\n\n            // Item text styling\n            TextViewStyleProfile itemStyleProfile\n                    = new TextViewStyleProfile(context, defaultTheme);\n            itemStyleProfile.setTextColor(itemTextColor)\n                    .setTypeface(itemTypeface)\n                    .setTypefaceStyle(itemTypefaceStyle);\n            mThemer.setItemStyleProfile(itemStyleProfile);\n\n            // Hint text styling\n            TextViewStyleProfile hintStyleProfile\n                    = new TextViewStyleProfile(context, defaultTheme);\n            hintStyleProfile.setTextColor(hintTextColor)\n                    .setTypeface(hintTypeface)\n                    .setTypefaceStyle(hintTypefaceStyle);\n            mThemer.setItemHintStyleProfile(hintStyleProfile);\n\n            // Sub-header item text styling\n            TextViewStyleProfile subheaderItemStyleProfile\n                    = new TextViewStyleProfile(context, defaultTheme);\n            subheaderItemStyleProfile.setTextColor(subheaderItemTextColor)\n                    .setTypeface(subheaderItemTypeface)\n                    .setTypefaceStyle(subheaderItemTypefaceStyle);\n            mThemer.setSubheaderStyleProfile(subheaderItemStyleProfile);\n\n            // Sub-header hint text styling\n            TextViewStyleProfile subheaderHintStyleProfile\n                    = new TextViewStyleProfile(context, defaultTheme);\n            subheaderHintStyleProfile.setTextColor(subheaderHintTextColor)\n                    .setTypeface(subheaderHintTypeface)\n                    .setTypefaceStyle(subheaderHintTypefaceStyle);\n            mThemer.setSubheaderHintStyleProfile(subheaderHintStyleProfile);\n\n            // Badge text styling\n            TextViewStyleProfile badgeStyleProfile\n                    = new TextViewStyleProfile(context, defaultTheme);\n            badgeStyleProfile.setTextColor(badgeTextColor)\n                    .setTypeface(badgeTypeface)\n                    .setTypefaceStyle(badgeTypefaceStyle);\n            mThemer.setBadgeStyleProfile(badgeStyleProfile);\n\n            mThemer.setItemBackground(a.getDrawable(\n                    R.styleable.SublimeNavigationView_snvItemBackground));\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvMenu)) {\n                int menuResId = a.getResourceId(R.styleable.SublimeNavigationView_snvMenu, -1);\n\n                if (menuResId == -1) {\n                    throw new RuntimeException(\"Passed menuResId was not valid\");\n                }\n\n                mMenu = new SublimeMenu(menuResId);\n                inflateMenu(menuResId);\n            }\n\n            mMenu.setCallback(new SublimeMenu.Callback() {\n                public boolean onMenuItemSelected(SublimeMenu menu, SublimeBaseMenuItem item,\n                                                  OnNavigationMenuEventListener.Event event) {\n                    return SublimeNavigationView.this.mEventListener != null\n                            && SublimeNavigationView.this\n                            .mEventListener.onNavigationMenuEvent(event, item);\n                }\n            });\n\n            mPresenter = new SublimeMenuPresenter();\n            applyThemer();\n\n            mMenu.setMenuPresenter(getContext(), mPresenter);\n            addView(mPresenter.getMenuView(this));\n\n            if (a.hasValue(R.styleable.SublimeNavigationView_snvHeaderLayout)) {\n                inflateHeaderView(a.getResourceId(R.styleable.SublimeNavigationView_snvHeaderLayout, 0));\n            }\n        } finally {\n            a.recycle();\n        }\n\n        // Upon creation, and until initializations are done,\n        // SublimeMenuPresenter blocks all calls for invalidation.\n        // We can now finalize the initialization phase to allow\n        // invalidation of the menu when required.\n        mPresenter.setInitializationDone();\n    }\n\n    /**\n     * Provides a mechanism for switching between any number of Menus.\n     *\n     * @param newMenuResId id of the menu that you wish\n     *                     to switch to. Eg: R.menu.new_menu_id\n     */\n    public void switchMenuTo(@MenuRes int newMenuResId) {\n        if (newMenuResId < 1) {\n            Log.e(TAG, \"Could not switch to new menu: passed menuResourceId was invalid.\");\n            return;\n        }\n\n        mMenu = new SublimeMenu(newMenuResId);\n        inflateMenu(newMenuResId);\n\n        mMenu.setCallback(new SublimeMenu.Callback() {\n            public boolean onMenuItemSelected(SublimeMenu menu, SublimeBaseMenuItem item,\n                                              OnNavigationMenuEventListener.Event event) {\n                return SublimeNavigationView.this.mEventListener != null\n                        && SublimeNavigationView.this\n                        .mEventListener.onNavigationMenuEvent(event, item);\n            }\n        });\n\n        mMenu.setMenuPresenter(getContext(), mPresenter);\n    }\n\n    /**\n     * Provides a mechanism for switching between any number of Menus.\n     *\n     * @param newMenu Typically, this would\n     *                have been returned from a former call to\n     *                {@link SublimeNavigationView#getMenu()}.\n     */\n    public void switchMenuTo(@NonNull SublimeMenu newMenu) {\n        // Todo: pending removal of this NULL check\n        if (newMenu == null) {\n            Log.e(TAG, \"Could not switch to new menu: passed menu was 'null'.\");\n            return;\n        }\n\n        mMenu = newMenu;\n\n        mMenu.setCallback(new SublimeMenu.Callback() {\n            public boolean onMenuItemSelected(SublimeMenu menu, SublimeBaseMenuItem item,\n                                              OnNavigationMenuEventListener.Event event) {\n                return SublimeNavigationView.this.mEventListener != null\n                        && SublimeNavigationView.this\n                        .mEventListener.onNavigationMenuEvent(event, item);\n            }\n        });\n\n        mMenu.setMenuPresenter(getContext(), mPresenter);\n    }\n\n    /**\n     * Returns the currently set header view.\n     *\n     * @return Currently set header {@link View}. Null, if the header\n     * is not set.\n     */\n    public View getHeaderView() {\n        return mPresenter.getHeaderView();\n    }\n\n    @Override\n    protected Parcelable onSaveInstanceState() {\n        Parcelable superState = super.onSaveInstanceState();\n        SublimeNavigationView.SavedState state\n                = new SublimeNavigationView.SavedState(superState);\n        state.getMenuState().putParcelable(SS_MENU, mMenu);\n        return state;\n    }\n\n    @Override\n    protected void onRestoreInstanceState(Parcelable savedState) {\n        SublimeNavigationView.SavedState state\n                = (SublimeNavigationView.SavedState) savedState;\n        super.onRestoreInstanceState(state.getSuperState());\n\n        Bundle menuState = state.getMenuState();\n\n        if (menuState != null && menuState.containsKey(SS_MENU)) {\n            mMenu = menuState.getParcelable(SS_MENU);\n        }\n\n        if (mMenu != null) {\n            mMenu.setCallback(new SublimeMenu.Callback() {\n                public boolean onMenuItemSelected(SublimeMenu menu, SublimeBaseMenuItem item,\n                                                  OnNavigationMenuEventListener.Event event) {\n                    return SublimeNavigationView.this.mEventListener != null\n                            && SublimeNavigationView.this\n                            .mEventListener.onNavigationMenuEvent(event, item);\n                }\n            });\n            mMenu.setMenuPresenter(getContext(), mPresenter);\n        }\n    }\n\n    /**\n     * Sets the listener.\n     *\n     * @param listener Listener\n     */\n    public void setNavigationMenuEventListener(OnNavigationMenuEventListener listener) {\n        mEventListener = listener;\n    }\n\n    @Override\n    protected void onMeasure(int widthSpec, int heightSpec) {\n        switch (View.MeasureSpec.getMode(widthSpec)) {\n            case View.MeasureSpec.AT_MOST:\n                widthSpec = View.MeasureSpec.makeMeasureSpec(Math.min(View.MeasureSpec.getSize(widthSpec), mMaxWidth),\n                        View.MeasureSpec.EXACTLY);\n                break;\n            case View.MeasureSpec.UNSPECIFIED:\n                widthSpec = View.MeasureSpec.makeMeasureSpec(mMaxWidth, View.MeasureSpec.EXACTLY);\n            case View.MeasureSpec.EXACTLY:\n        }\n\n        super.onMeasure(widthSpec, heightSpec);\n    }\n\n    /**\n     * Inflates menu resource with the given ID into the\n     * current {@link SublimeMenu} item.\n     *\n     * @param menuResId ID of the resource to inflate.\n     */\n    private void inflateMenu(@MenuRes int menuResId) {\n        getMenuInflater().inflate(menuResId, mMenu);\n    }\n\n    /**\n     * Returns the current {@link SublimeMenu} item.\n     *\n     * @return current {@link SublimeMenu}.\n     */\n    @NonNull\n    public SublimeMenu getMenu() {\n        return mMenu;\n    }\n\n    /**\n     * Inflates and returns the view resource with the given ID.\n     *\n     * @param res view resource ID to inflate.\n     * @return inflated {@link View}.\n     */\n    private View inflateHeaderView(@LayoutRes int res) {\n        return mPresenter.inflateHeaderView(res);\n    }\n\n    /**\n     * Sets the given {@link View} as the header this Menu.\n     *\n     * @param view the {@link View} to add as header.\n     */\n    public void addHeaderView(@NonNull View view) {\n        mPresenter.addHeaderView(view);\n    }\n\n    /**\n     * Removes the given {@link View} from the header.\n     *\n     * @param view the {@link View} to remove from header.\n     */\n    public void removeHeaderView(@NonNull View view) {\n        mPresenter.removeHeaderView(view);\n    }\n\n    /**\n     * Used internally to create a custom inflater for xml\n     * definition of a {@link SublimeMenu}.\n     *\n     * @return inflater that can work with xml definition\n     * of a {@link SublimeMenu}.\n     */\n    @NonNull\n    private SublimeMenuInflater getMenuInflater() {\n        if (mMenuInflater == null) {\n            mMenuInflater = new SublimeMenuInflater(getContext());\n        }\n\n        return mMenuInflater;\n    }\n\n    /**\n     * Returns the currently used {@link SublimeThemer}.\n     * Note that several method that provide access to\n     * theme elements has been removed from {@link SublimeNavigationView}.\n     * For example, to gain access to the currently used\n     * Icon Tint List (accessible through 'NavigationView#getItemIconTintList()'),\n     * call {@link SublimeThemer#getIconTintList()}.\n     *\n     * @return Currently used {@link SublimeThemer}.\n     */\n    @NonNull\n    public SublimeThemer getCurrentThemer() {\n        return mThemer;\n    }\n\n    /**\n     * Style navigation view components through java (instead of xml).\n     * Note that {@link SublimeThemer} is currently not\n     * preserved when saving state.\n     *\n     * @param sublimeThemer A valid {@link SublimeThemer}. Method does nothing\n     *                      if this parameter is NULL.\n     */\n    public void updateThemer(@NonNull SublimeThemer sublimeThemer) {\n        // Todo: pending removal of this NULL check\n        if (sublimeThemer == null) {\n            Log.e(TAG, \"'updateThemer(SublimeThemer)' was called with a 'null' value\");\n            return;\n        }\n\n        mThemer = sublimeThemer;\n        applyThemer();\n    }\n\n    /**\n     * Used internally to apply the currently set {@link SublimeThemer}.\n     */\n    @TargetApi(Build.VERSION_CODES.JELLY_BEAN)\n    private void applyThemer() {\n        Log.i(TAG, \"applyThemer()\");\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {\n            setBackground(mThemer.getDrawerBackground());\n        } else {\n            setBackgroundDrawable(mThemer.getDrawerBackground());\n        }\n\n        ViewCompat.setElevation(this, mThemer.getElevation());\n\n        // propagate themer to the presenter\n        mPresenter.setThemer(mThemer);\n    }\n\n    //----------------------------------------------------------------//\n    //------------------------Preserving State------------------------//\n    //----------------------------------------------------------------//\n\n    public static class SavedState extends View.BaseSavedState {\n        public Bundle sMenuState;\n        public static final Creator<SublimeNavigationView.SavedState> CREATOR\n                = new Creator<SublimeNavigationView.SavedState>() {\n            public SublimeNavigationView.SavedState createFromParcel(Parcel parcel) {\n                return new SublimeNavigationView.SavedState(parcel);\n            }\n\n            public SublimeNavigationView.SavedState[] newArray(int size) {\n                return new SublimeNavigationView.SavedState[size];\n            }\n        };\n\n        public SavedState(Parcel in) {\n            super(in);\n            sMenuState = in.readBundle();\n        }\n\n        public SavedState(Parcelable superState) {\n            super(superState);\n            sMenuState = new Bundle();\n        }\n\n        public Bundle getMenuState() {\n            return sMenuState;\n        }\n\n        public void writeToParcel(@NonNull Parcel dest, int flags) {\n            super.writeToParcel(dest, flags);\n            dest.writeBundle(sMenuState);\n        }\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSeparatorItemView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.view.LayoutInflater;\n\n/**\n * View implementation for Separator menu item.\n *\n * Created by Vikram.\n */\npublic class SublimeSeparatorItemView extends SublimeBaseItemView {\n    public SublimeSeparatorItemView(Context context) {\n        this(context, null);\n    }\n\n    public SublimeSeparatorItemView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public SublimeSeparatorItemView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        LayoutInflater.from(context).inflate(R.layout.sublime_menu_separator_item_content,\n                this, true);\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSeparatorMenuItem.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\n/**\n * Separator menu item implementation.\n *\n * Created by Vikram.\n */\npublic class SublimeSeparatorMenuItem extends SublimeBaseMenuItem {\n    private static final String EMPTY_STRING = \"\";\n\n    public SublimeSeparatorMenuItem(SublimeMenu menu, int group, int id) {\n        super(menu, group, id, EMPTY_STRING, EMPTY_STRING, ItemType.SEPARATOR, false, false);\n    }\n\n    // Restores state //\n    public SublimeSeparatorMenuItem(int group, int id) {\n        super(group, id, EMPTY_STRING, EMPTY_STRING, NO_ICON,\n                ItemType.SEPARATOR, false, false, ENABLED);\n    }\n\n    @Override\n    public boolean invoke() {\n        return false;\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSubheaderItemView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.graphics.Typeface;\nimport android.graphics.drawable.Drawable;\nimport android.support.v4.graphics.drawable.DrawableCompat;\nimport android.util.AttributeSet;\nimport android.view.LayoutInflater;\nimport android.view.View;\nimport android.widget.ImageView;\n\n/**\n * View implementation for Subheader menu item.\n *\n * Created by Vikram.\n */\npublic class SublimeSubheaderItemView extends SublimeBaseItemView {\n\n    ImageView mExpandCollapse;\n    Drawable mExpandDrawable, mCollapseDrawable;\n\n    public SublimeSubheaderItemView(Context context) {\n        this(context, null);\n    }\n\n    public SublimeSubheaderItemView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public SublimeSubheaderItemView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        LayoutInflater.from(context).inflate(R.layout.sublime_menu_subheader_item_content, this, true);\n        initializeViews();\n    }\n\n    @Override\n    protected void initializeViews() {\n        super.initializeViews();\n        mExpandCollapse = (ImageView) findViewById(R.id.expand_collapse);\n    }\n\n    private void initializeDrawables(SublimeThemer themer) {\n        mExpandDrawable = themer.getGroupExpandDrawable();\n        mCollapseDrawable = themer.getGroupCollapseDrawable();\n    }\n\n    public void initialize(SublimeBaseMenuItem itemData, SublimeGroup groupData,\n                           SublimeThemer themer) {\n        initializeDrawables(themer);\n\n        // Subheader Item styling\n        TextViewStyleProfile subheaderItemStyleProfile = themer.getSubheaderStyleProfile();\n        setSubheaderItemTextColor(subheaderItemStyleProfile.getTextColor());\n        if (subheaderItemStyleProfile.getTypeface() != null) {\n            setSubheaderItemTypeface(subheaderItemStyleProfile.getTypeface(),\n                    subheaderItemStyleProfile.getTypefaceStyle());\n        } else {\n            setSubheaderItemTypefaceStyle(subheaderItemStyleProfile.getTypefaceStyle());\n        }\n\n        // Subheader Hint styling\n        TextViewStyleProfile subheaderHintStyleProfile = themer.getSubheaderHintStyleProfile();\n        setSubheaderHintTextColor(subheaderHintStyleProfile.getTextColor());\n        if (subheaderHintStyleProfile.getTypeface() != null) {\n            setSubheaderHintTypeface(subheaderHintStyleProfile.getTypeface(),\n                    subheaderHintStyleProfile.getTypefaceStyle());\n        } else {\n            setSubheaderHintTypefaceStyle(subheaderHintStyleProfile.getTypefaceStyle());\n        }\n\n        super.initialize(itemData, themer);\n        setExpandCollapseIconVisibility(groupData.isCollapsible());\n        setExpandCollapseIconState(groupData.isCollapsed());\n    }\n\n    @Override\n    public void setIconTintList(ColorStateList tintList) {\n        mExpandDrawable = DrawableCompat.wrap(mExpandDrawable\n                .getConstantState().newDrawable()).mutate();\n        DrawableCompat.setTintList(mExpandDrawable, tintList);\n\n        mCollapseDrawable = DrawableCompat.wrap(mCollapseDrawable\n                .getConstantState().newDrawable()).mutate();\n        DrawableCompat.setTintList(mCollapseDrawable, tintList);\n\n        super.setIconTintList(tintList);\n    }\n\n    @Override\n    public void setItemTextColor(ColorStateList textColor) {\n        // Block this call\n    }\n\n    @Override\n    public void setHintTextColor(ColorStateList hintTextColor) {\n        // Block this call\n    }\n\n    @Override\n    public void setItemTypeface(Typeface itemTypeface, int itemTypefaceStyle) {\n        // Block this call\n    }\n\n    @Override\n    public void setHintTypeface(Typeface hintTypeface, int hintTypefaceStyle) {\n        // Block this call\n    }\n\n    @Override\n    public void setItemTypefaceStyle(int itemTypefaceStyle) {\n        // Block this call\n    }\n\n    @Override\n    public void setHintTypefaceStyle(int hintTypefaceStyle) {\n        // Block this call\n    }\n\n    public void setSubheaderItemTextColor(ColorStateList subheaderTextColor) {\n        mText.setTextColor(subheaderTextColor);\n    }\n\n    public void setSubheaderHintTextColor(ColorStateList subheaderHintTextColor) {\n        mHint.setTextColor(subheaderHintTextColor);\n    }\n\n    public void setSubheaderItemTypeface(Typeface itemTypeface, int itemTypefaceStyle) {\n        mText.setTypeface(itemTypeface, itemTypefaceStyle);\n    }\n\n    public void setSubheaderHintTypeface(Typeface hintTypeface, int hintTypefaceStyle) {\n        mHint.setTypeface(hintTypeface, hintTypefaceStyle);\n    }\n\n    public void setSubheaderItemTypefaceStyle(int itemTypefaceStyle) {\n        mText.setTypeface(mText.getTypeface(), itemTypefaceStyle);\n    }\n\n    public void setSubheaderHintTypefaceStyle(int hintTypefaceStyle) {\n        mHint.setTypeface(mHint.getTypeface(), hintTypefaceStyle);\n    }\n\n    private void setExpandCollapseIconVisibility(boolean visible) {\n        mExpandCollapse.setVisibility(visible ? View.VISIBLE : View.GONE);\n    }\n\n    private void setExpandCollapseIconState(boolean collapsed) {\n        mExpandCollapse.setImageDrawable(\n                collapsed ? mExpandDrawable : mCollapseDrawable\n        );\n    }\n\n    @Override\n    public void setEnabled(boolean enabled) {\n        super.setEnabled(enabled);\n        mExpandCollapse.setEnabled(enabled);\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSwitchItemView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.graphics.drawable.Drawable;\nimport android.os.Build;\nimport android.support.v4.content.ContextCompat;\nimport android.support.v4.graphics.drawable.DrawableCompat;\nimport android.support.v7.widget.SwitchCompat;\nimport android.util.AttributeSet;\nimport android.view.LayoutInflater;\n\n/**\n * View implementation for Switch menu item.\n *\n * Created by Vikram.\n */\npublic class SublimeSwitchItemView extends SublimeBaseItemView {\n\n    private SwitchCompat mSwitch;\n\n    public SublimeSwitchItemView(Context context) {\n        this(context, null);\n    }\n\n    public SublimeSwitchItemView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public SublimeSwitchItemView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        LayoutInflater.from(context).inflate(R.layout.sublime_menu_switch_item_content, this, true);\n        initializeViews();\n    }\n\n    @Override\n    protected void initializeViews() {\n        super.initializeViews();\n        mSwitch = (SwitchCompat) findViewById(R.id.switch_ctrl);\n    }\n\n    @Override\n    public void initialize(SublimeBaseMenuItem itemData, SublimeThemer themer) {\n        setCheckableItemTintList(themer.getCheckableItemTintList());\n        super.initialize(itemData, themer);\n    }\n\n    @Override\n    public void setItemTextColor(ColorStateList textColor) {\n        super.setItemTextColor(textColor);\n        mSwitch.setTextColor(textColor);\n    }\n\n    @Override\n    public void setEnabled(boolean enabled) {\n        super.setEnabled(enabled);\n        mSwitch.setEnabled(enabled);\n    }\n\n    @Override\n    public void setItemChecked(boolean checked) {\n        super.setItemChecked(checked);\n        mSwitch.setChecked(checked);\n    }\n\n    public void setCheckableItemTintList(ColorStateList checkableItemTintList) {\n        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {\n            // Covers android M (23)\n            Drawable dTrack = getResources().getDrawable(R.drawable.snv_switch_track_material, getContext().getTheme());\n            Drawable dThumb = getResources().getDrawable(R.drawable.snv_switch_thumb_material_anim, getContext().getTheme());\n\n            if (dTrack != null && dThumb != null) {\n                DrawableCompat.setTintList(dTrack, checkableItemTintList);\n                DrawableCompat.setTintList(dThumb, checkableItemTintList);\n                mSwitch.setTrackDrawable(dTrack);\n                mSwitch.setThumbDrawable(dThumb);\n            }\n        } else {\n            Drawable dTrack = ContextCompat.getDrawable(getContext(), R.drawable.snv_switch_track);\n            Drawable dThumb = ContextCompat.getDrawable(getContext(), R.drawable.switch_thumb_pre_lollipop);\n\n            if (dTrack != null && dThumb != null) {\n                dTrack = DrawableCompat.wrap(dTrack);\n                DrawableCompat.setTintList(dTrack, checkableItemTintList);\n                dTrack.setAlpha(85 /* 0.3f */);\n\n                dThumb = DrawableCompat.wrap(dThumb);\n                DrawableCompat.setTintList(dThumb, checkableItemTintList);\n\n                mSwitch.setTrackDrawable(dTrack);\n                mSwitch.setThumbDrawable(dThumb);\n            }\n        }\n    }\n}"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeSwitchMenuItem.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\n/**\n * Switch menu item implementation.\n */\npublic class SublimeSwitchMenuItem extends SublimeBaseMenuItem {\n\n    public SublimeSwitchMenuItem(SublimeMenu menu, int group, int id,\n                                 CharSequence title, CharSequence hint,\n                                 boolean valueProvidedAsync, boolean showsIconSpace) {\n        super(menu, group, id, title, hint, ItemType.SWITCH, valueProvidedAsync, showsIconSpace);\n    }\n\n    // Restores state\n    public SublimeSwitchMenuItem(int group, int id,\n                                 CharSequence title, CharSequence hint,\n                                 int iconResId,\n                                 boolean valueProvidedAsync, boolean showsIconSpace,\n                                 int flags) {\n        super(group, id, title, hint, iconResId, ItemType.SWITCH, valueProvidedAsync, showsIconSpace, flags);\n    }\n\n    @Override\n    public boolean invoke() {\n        if (isCheckable()) {\n            setChecked(!isChecked());\n            return invoke(isChecked() ?\n                    OnNavigationMenuEventListener.Event.CHECKED\n                    : OnNavigationMenuEventListener.Event.UNCHECKED, this);\n        } else {\n            return invoke(OnNavigationMenuEventListener.Event.CLICKED, this);\n        }\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeTextItemView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.util.AttributeSet;\nimport android.view.LayoutInflater;\n\n/**\n * View implementation for Text menu item.\n *\n * Created by Vikram.\n */\npublic class SublimeTextItemView extends SublimeBaseItemView {\n\n\n    public SublimeTextItemView(Context context) {\n        this(context, null);\n    }\n\n    public SublimeTextItemView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public SublimeTextItemView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n\n        LayoutInflater.from(context).inflate(R.layout.sublime_menu_text_item_content, this, true);\n        initializeViews();\n    }\n\n    @Override\n    protected void initializeViews() {\n        super.initializeViews();\n    }\n\n    @Override\n    public void initialize(SublimeBaseMenuItem itemData, SublimeThemer themer) {\n        super.initialize(itemData, themer);\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeTextMenuItem.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\n/**\n * Text menu item implementation.\n *\n * Created by Vikram.\n */\npublic class SublimeTextMenuItem extends SublimeBaseMenuItem {\n\n    private static final String TAG = SublimeTextMenuItem.class.getSimpleName();\n\n    public SublimeTextMenuItem(SublimeMenu menu, int group, int id,\n                               CharSequence title, CharSequence hint,\n                               boolean valueProvidedAsync, boolean showsIconSpace) {\n        super(menu, group, id, title, hint, ItemType.TEXT, valueProvidedAsync, showsIconSpace);\n    }\n\n    public SublimeTextMenuItem(int group, int id,\n                               CharSequence title, CharSequence hint,\n                               int iconResId,\n                               boolean valueProvidedAsync, boolean showsIconSpace,\n                               int flags) {\n        super(group, id, title, hint, iconResId, ItemType.TEXT,\n                valueProvidedAsync, showsIconSpace, flags);\n    }\n\n    @Override\n    public boolean invoke() {\n        return invoke(OnNavigationMenuEventListener.Event.CLICKED, this);\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeTextWithBadgeItemView.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.graphics.Typeface;\nimport android.util.AttributeSet;\nimport android.view.LayoutInflater;\nimport android.widget.ProgressBar;\n\n/**\n * View implementation for Text with Badge menu item.\n *\n * Created by Vikram.\n */\npublic class SublimeTextWithBadgeItemView extends SublimeBaseItemView {\n    private StateAwareTextView mBadgeView;\n    private ProgressBar mProgress;\n\n    public SublimeTextWithBadgeItemView(Context context) {\n        this(context, null);\n    }\n\n    public SublimeTextWithBadgeItemView(Context context, AttributeSet attrs) {\n        this(context, attrs, 0);\n    }\n\n    public SublimeTextWithBadgeItemView(Context context, AttributeSet attrs, int defStyleAttr) {\n        super(context, attrs, defStyleAttr);\n        LayoutInflater.from(context)\n                .inflate(R.layout.sublime_menu_text_with_badge_item_content, this, true);\n        initializeViews();\n    }\n\n    @Override\n    protected void initializeViews() {\n        super.initializeViews();\n        mBadgeView = (StateAwareTextView) findViewById(R.id.badge);\n        mProgress = (ProgressBar) findViewById(R.id.progress);\n    }\n\n    @Override\n    public void initialize(SublimeBaseMenuItem itemData, SublimeThemer themer) {\n        super.initialize(itemData, themer);\n\n        TextViewStyleProfile badgeStyleProfile = themer.getBadgeStyleProfile();\n        setBadgeTextColor(badgeStyleProfile.getTextColor());\n        if (badgeStyleProfile.getTypeface() != null) {\n            setBadgeTypeface(badgeStyleProfile.getTypeface(),\n                    badgeStyleProfile.getTypefaceStyle());\n        } else {\n            setBadgeTypefaceStyle(badgeStyleProfile.getTypefaceStyle());\n        }\n\n        if (itemData.providesValueAsync()) {\n            mBadgeView.setVisibility(GONE);\n            mProgress.setVisibility(VISIBLE);\n        } else {\n            mProgress.setVisibility(GONE);\n            mBadgeView.setVisibility(VISIBLE);\n            mBadgeView.setText(((SublimeTextWithBadgeMenuItem) itemData).getBadgeText());\n        }\n    }\n\n    @Override\n    public void setEnabled(boolean enabled) {\n        super.setEnabled(enabled);\n        mBadgeView.setEnabled(enabled);\n        mProgress.setEnabled(enabled);\n    }\n\n    public void setBadgeTextColor(ColorStateList textColor) {\n        mBadgeView.setTextColor(textColor);\n    }\n\n    public void setBadgeTypeface(Typeface typeface, int typefaceStyle) {\n        mBadgeView.setTypeface(typeface, typefaceStyle);\n    }\n\n    public void setBadgeTypefaceStyle(int typefaceStyle) {\n        mBadgeView.setTypeface(mBadgeView.getTypeface(), typefaceStyle);\n    }\n\n    @Override\n    public void setItemChecked(boolean checked) {\n        super.setItemChecked(checked);\n        mBadgeView.setItemChecked(checked);\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeTextWithBadgeMenuItem.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.os.Bundle;\n\n/**\n * Text with Badge menu item implementation.\n *\n * Created by Vikram.\n */\npublic class SublimeTextWithBadgeMenuItem extends SublimeBaseMenuItem {\n\n    private static final String SS_BADGE_TEXT = \"ss.badge.text\";\n\n    private CharSequence mBadgeText;\n\n    public SublimeTextWithBadgeMenuItem(SublimeMenu menu, int group, int id,\n                                        CharSequence title, CharSequence hint,\n                                        boolean valueProvidedAsync,\n                                        CharSequence badgeText, boolean showsIconSpace) {\n        super(menu, group, id, title, hint, ItemType.BADGE, valueProvidedAsync, showsIconSpace);\n        mBadgeText = badgeText;\n    }\n\n    // Restores state\n    public SublimeTextWithBadgeMenuItem(int group, int id,\n                                        CharSequence title, CharSequence hint,\n                                        int iconResId,\n                                        boolean valueProvidedAsync,\n                                        CharSequence badgeText, boolean showsIconSpace,\n                                        int flags) {\n        super(group, id, title, hint, iconResId, ItemType.BADGE, valueProvidedAsync,\n                showsIconSpace, flags);\n        mBadgeText = badgeText;\n    }\n\n    static SublimeTextWithBadgeMenuItem createFromBundle(Bundle bundle, int group, int id,\n                                                         CharSequence title, CharSequence hint,\n                                                         int iconResId,\n                                                         boolean valueProvidedAsync,\n                                                         boolean showsIconSpace, int flags) {\n        String badgeText = bundle.getString(SS_BADGE_TEXT);\n        return new SublimeTextWithBadgeMenuItem(group, id, title, hint, iconResId,\n                valueProvidedAsync, badgeText, showsIconSpace, flags);\n    }\n\n    @Override\n    public boolean invoke() {\n        return invoke(OnNavigationMenuEventListener.Event.CLICKED, this);\n    }\n\n    /**\n     * Set/change badge text.\n     *\n     * @param badgeText The text that should be displayed as the badge.\n     * @return This {@link SublimeTextWithBadgeMenuItem} for chaining.\n     */\n    public SublimeTextWithBadgeMenuItem setBadgeText(CharSequence badgeText) {\n        mBadgeText = badgeText;\n        attemptItemUpdate();\n\n        return this;\n    }\n\n    /**\n     * Returns the text that should be displayed as the badge.\n     *\n     * @return text to display as the badge.\n     */\n    public CharSequence getBadgeText() {\n        return mBadgeText;\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/SublimeThemer.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.content.res.TypedArray;\nimport android.graphics.Color;\nimport android.graphics.drawable.ColorDrawable;\nimport android.graphics.drawable.Drawable;\nimport android.graphics.drawable.LayerDrawable;\nimport android.graphics.drawable.StateListDrawable;\nimport android.support.annotation.NonNull;\nimport android.support.v4.content.res.ResourcesCompat;\nimport android.util.Log;\nimport android.util.TypedValue;\n\n/**\n * Handles details about styling {@link SublimeNavigationView}.\n *\n * Created by Vikram.\n */\npublic class SublimeThemer {\n\n    private static final String TAG = SublimeThemer.class.getSimpleName();\n    private static final int[] EMPTY_STATE_SET = new int[]{};\n    private static final int[] CHECKED_STATE_SET = new int[]{R.attr.state_item_checked};\n    private static final int[] CHECKABLE_ITEM_CHECKED_STATE_SET = new int[]{android.R.attr.state_checked};\n    private static final int[] DISABLED_STATE_SET = new int[]{-android.R.attr.state_enabled};\n\n    public enum DefaultTheme {DARK, LIGHT}\n\n    private Context mContext;\n    private ColorStateList mIconTintList, mCheckableItemTintList;\n    private Drawable mItemBackground, mDrawerBackground;\n    private DefaultTheme mDefaultTheme;\n    private float mElevation;\n    private Drawable mGroupExpandDrawable, mGroupCollapseDrawable;\n\n    private TextViewStyleProfile mItemStyleProfile, mItemHintStyleProfile,\n            mSubheaderStyleProfile, mSubheaderHintStyleProfile, mBadgeStyleProfile;\n\n    public SublimeThemer(@NonNull Context context) {\n        this(context, DefaultTheme.LIGHT);\n    }\n\n    public SublimeThemer(@NonNull Context context, @NonNull DefaultTheme defaultTheme) {\n        mContext = context;\n        mDefaultTheme = defaultTheme;\n    }\n\n    public SublimeThemer setIconTintList(ColorStateList iconTintList) {\n        if (iconTintList == null) {\n            Log.e(TAG, \"'setIconTintList(ColorStateList)' was called with a 'null' value\");\n        }\n\n        mIconTintList = iconTintList;\n        return this;\n    }\n\n    public SublimeThemer setCheckableItemTintList(ColorStateList checkableItemTintList) {\n        if (checkableItemTintList == null) {\n            Log.e(TAG, \"'setCheckableItemTintList(ColorStateList)' was called with a 'null' value\");\n        }\n\n        mCheckableItemTintList = checkableItemTintList;\n        return this;\n    }\n\n    public SublimeThemer setItemStyleProfile(TextViewStyleProfile itemStyleProfile) {\n        if (itemStyleProfile == null) {\n            Log.e(TAG, \"'setItemStyleProfile(TextViewStyleProfile)' was \" +\n                    \"called with a 'null' value\");\n        }\n\n        mItemStyleProfile = itemStyleProfile;\n        return this;\n    }\n\n    public SublimeThemer setItemHintStyleProfile(TextViewStyleProfile itemHintStyleProfile) {\n        if (itemHintStyleProfile == null) {\n            Log.e(TAG, \"'setItemHintStyleProfile(TextViewStyleProfile)' was \" +\n                    \"called with a 'null' value\");\n        }\n\n        mItemHintStyleProfile = itemHintStyleProfile;\n        return this;\n    }\n\n    public SublimeThemer setSubheaderStyleProfile(TextViewStyleProfile subheaderStyleProfile) {\n        if (subheaderStyleProfile == null) {\n            Log.e(TAG, \"'setSubheaderStyleProfile(TextViewStyleProfile)' was \" +\n                    \"called with a 'null' value\");\n        }\n\n        mSubheaderStyleProfile = subheaderStyleProfile;\n        return this;\n    }\n\n    public SublimeThemer setSubheaderHintStyleProfile(TextViewStyleProfile subheaderHintStyleProfile) {\n        if (subheaderHintStyleProfile == null) {\n            Log.e(TAG, \"'setSubheaderHintStyleProfile(TextViewStyleProfile)' was \" +\n                    \"called with a 'null' value\");\n        }\n\n        mSubheaderHintStyleProfile = subheaderHintStyleProfile;\n        return this;\n    }\n\n    public SublimeThemer setBadgeStyleProfile(TextViewStyleProfile badgeStyleProfile) {\n        if (badgeStyleProfile == null) {\n            Log.e(TAG, \"'setBadgeStyleProfile(TextViewStyleProfile)' was \" +\n                    \"called with a 'null' value\");\n        }\n\n        mBadgeStyleProfile = badgeStyleProfile;\n        return this;\n    }\n\n    public SublimeThemer setGroupExpandDrawable(Drawable groupExpandDrawable) {\n        if (groupExpandDrawable == null) {\n            Log.e(TAG, \"'setGroupExpandDrawable(Drawable)' was called with a 'null' value\");\n        }\n\n        mGroupExpandDrawable = groupExpandDrawable;\n        return this;\n    }\n\n    public SublimeThemer setGroupCollapseDrawable(Drawable groupCollapseDrawable) {\n        if (groupCollapseDrawable == null) {\n            Log.e(TAG, \"'setGroupCollapseDrawable(Drawable)' was called with a 'null' value\");\n        }\n\n        mGroupCollapseDrawable = groupCollapseDrawable;\n        return this;\n    }\n\n    public SublimeThemer setItemBackground(Drawable itemBackground) {\n        if (itemBackground == null) {\n            Log.e(TAG, \"'setItemBackground(Drawable)' was called with a 'null' value\");\n        }\n\n        mItemBackground = itemBackground;\n        return this;\n    }\n\n    public SublimeThemer setDrawerBackground(Drawable drawerBackground) {\n        if (drawerBackground == null) {\n            Log.e(TAG, \"'setDrawerBackground(Drawable)' was called with a 'null' value\");\n        }\n\n        mDrawerBackground = drawerBackground;\n        return this;\n    }\n\n    public SublimeThemer setElevation(float elevation) {\n        if (elevation < 0f) {\n            Log.e(TAG, \"'setElevation(float)' was called with an invalid value\");\n            return this;\n        }\n\n        mElevation = elevation;\n        return this;\n    }\n\n    public ColorStateList getIconTintList() {\n        if (mIconTintList == null) {\n            setDefaultIconTintList();\n        }\n\n        return mIconTintList;\n    }\n\n    public ColorStateList getCheckableItemTintList() {\n        if (mCheckableItemTintList == null) {\n            setDefaultCheckableItemTintList();\n        }\n\n        return mCheckableItemTintList;\n    }\n\n    public Drawable getGroupExpandDrawable() {\n        if (mGroupExpandDrawable == null) {\n            mGroupExpandDrawable = ResourcesCompat.getDrawable(mContext.getResources(),\n                    R.drawable.snv_expand, mContext.getTheme());\n        }\n\n        // Return a new drawable since this method will be\n        // called multiple times\n        return mGroupExpandDrawable.getConstantState().newDrawable();\n    }\n\n    public Drawable getGroupCollapseDrawable() {\n        if (mGroupCollapseDrawable == null) {\n            mGroupCollapseDrawable = ResourcesCompat.getDrawable(mContext.getResources(),\n                    R.drawable.snv_collapse, mContext.getTheme());\n        }\n\n        // Return a new drawable since this method will be\n        // called multiple times\n        return mGroupCollapseDrawable.getConstantState().newDrawable();\n    }\n\n    public Drawable getItemBackground() {\n        if (mItemBackground == null) {\n            setDefaultItemBackground();\n        }\n\n        return mItemBackground.getConstantState().newDrawable();\n    }\n\n    public Drawable getDrawerBackground() {\n        if (mDrawerBackground == null) {\n            setDefaultDrawerBackground();\n        }\n\n        return mDrawerBackground;\n    }\n\n    public TextViewStyleProfile getItemStyleProfile() {\n        if (mItemStyleProfile == null) {\n            mItemStyleProfile = new TextViewStyleProfile(mContext, mDefaultTheme);\n        }\n\n        return mItemStyleProfile;\n    }\n\n    public TextViewStyleProfile getItemHintStyleProfile() {\n        if (mItemHintStyleProfile == null) {\n            mItemHintStyleProfile = new TextViewStyleProfile(mContext, mDefaultTheme);\n        }\n\n        return mItemHintStyleProfile;\n    }\n\n    public TextViewStyleProfile getSubheaderStyleProfile() {\n        if (mSubheaderStyleProfile == null) {\n            mSubheaderStyleProfile = new TextViewStyleProfile(mContext, mDefaultTheme);\n        }\n\n        return mSubheaderStyleProfile;\n    }\n\n    public TextViewStyleProfile getSubheaderHintStyleProfile() {\n        if (mSubheaderHintStyleProfile == null) {\n            mSubheaderHintStyleProfile = new TextViewStyleProfile(mContext, mDefaultTheme);\n        }\n\n        return mSubheaderHintStyleProfile;\n    }\n\n    public TextViewStyleProfile getBadgeStyleProfile() {\n        if (mBadgeStyleProfile == null) {\n            mBadgeStyleProfile = new TextViewStyleProfile(mContext, mDefaultTheme);\n        }\n\n        return mBadgeStyleProfile;\n    }\n\n    public DefaultTheme getDefaultTheme() {\n        return mDefaultTheme;\n    }\n\n    public float getElevation() {\n        return mElevation;\n    }\n\n    private void setDefaultIconTintList() {\n        TypedValue value = new TypedValue();\n        if (mContext.getTheme().resolveAttribute(android.R.attr.textColorPrimary, value, true)) {\n            ColorStateList baseColor = mContext.getResources().getColorStateList(value.resourceId);\n            if (mContext.getTheme().resolveAttribute(R.attr.colorPrimary, value, true)) {\n                int colorPrimary = value.data;\n                int defaultColor = baseColor.getDefaultColor();\n                mIconTintList = new ColorStateList(new int[][]{DISABLED_STATE_SET, CHECKED_STATE_SET, EMPTY_STATE_SET},\n                        new int[]{baseColor.getColorForState(DISABLED_STATE_SET, defaultColor), colorPrimary, defaultColor});\n            }\n        }\n\n        if (mIconTintList == null) {\n            // Defaults\n            boolean isLightTheme = mDefaultTheme == SublimeThemer.DefaultTheme.LIGHT;\n\n            int defDisabled = isLightTheme ?\n                    mContext.getResources().getColor(R.color.snv_primary_text_disabled_material_light)\n                    : mContext.getResources().getColor(R.color.snv_primary_text_disabled_material_dark);\n            int defChecked = isLightTheme ?\n                    mContext.getResources().getColor(R.color.snv_primary_material_light)\n                    : mContext.getResources().getColor(R.color.snv_primary_material_dark);\n            int defEmptySet = isLightTheme ?\n                    mContext.getResources().getColor(R.color.snv_primary_text_default_material_light)\n                    : mContext.getResources().getColor(R.color.snv_primary_text_default_material_dark);\n            mIconTintList = new ColorStateList(new int[][]{DISABLED_STATE_SET, CHECKED_STATE_SET, EMPTY_STATE_SET},\n                    new int[]{defDisabled, defChecked, defEmptySet});\n        }\n    }\n\n    private void setDefaultCheckableItemTintList() {\n        TypedValue value = new TypedValue();\n        if (mContext.getTheme().resolveAttribute(android.R.attr.textColorPrimary, value, true)) {\n            ColorStateList baseColor = mContext.getResources().getColorStateList(value.resourceId);\n            if (mContext.getTheme().resolveAttribute(R.attr.colorPrimary, value, true)) {\n                int colorPrimary = value.data;\n                int defaultColor = baseColor.getDefaultColor();\n                mCheckableItemTintList = new ColorStateList(new int[][]{DISABLED_STATE_SET,\n                        CHECKABLE_ITEM_CHECKED_STATE_SET, EMPTY_STATE_SET},\n                        new int[]{baseColor.getColorForState(DISABLED_STATE_SET, defaultColor),\n                                colorPrimary, defaultColor});\n            }\n        }\n\n        if (mCheckableItemTintList == null) {\n            // Defaults\n            boolean isLightTheme = mDefaultTheme == SublimeThemer.DefaultTheme.LIGHT;\n\n            int defDisabled = isLightTheme ?\n                    mContext.getResources().getColor(R.color.snv_primary_text_disabled_material_light)\n                    : mContext.getResources().getColor(R.color.snv_primary_text_disabled_material_dark);\n            int defChecked = isLightTheme ?\n                    mContext.getResources().getColor(R.color.snv_primary_material_light)\n                    : mContext.getResources().getColor(R.color.snv_primary_material_dark);\n            int defEmptySet = isLightTheme ?\n                    mContext.getResources().getColor(R.color.snv_primary_text_default_material_light)\n                    : mContext.getResources().getColor(R.color.snv_primary_text_default_material_dark);\n            mCheckableItemTintList = new ColorStateList(new int[][]{DISABLED_STATE_SET, CHECKABLE_ITEM_CHECKED_STATE_SET, EMPTY_STATE_SET},\n                    new int[]{defDisabled, defChecked, defEmptySet});\n        }\n    }\n\n    private void setDefaultItemBackground() {\n        TypedValue value = new TypedValue();\n        int colorControlHighlight = 0;\n        if (mContext.getTheme().resolveAttribute(R.attr.colorControlHighlight, value, true)) {\n            colorControlHighlight = value.data;\n        } else {\n            colorControlHighlight = mDefaultTheme == DefaultTheme.LIGHT ?\n                    mContext.getResources().getColor(R.color.snv_ripple_material_light)\n                    : mContext.getResources().getColor(R.color.snv_ripple_material_dark);\n        }\n\n        StateListDrawable drawable = new StateListDrawable();\n        LayerDrawable checked = new LayerDrawable(new Drawable[]{\n                new ColorDrawable(colorControlHighlight),\n                obtainSelectableItemBackground()\n        });\n        drawable.addState(CHECKED_STATE_SET, checked);\n        drawable.addState(EMPTY_STATE_SET, obtainSelectableItemBackground());\n        mItemBackground = drawable;\n    }\n\n    private Drawable obtainSelectableItemBackground() {\n        // Create an array of the attributes we want to resolve\n        int[] attrs = new int[]{R.attr.selectableItemBackground}; // index 0\n\n        // Obtain the styled attributes\n        TypedArray ta = mContext.obtainStyledAttributes(attrs);\n\n        Drawable drawableFromTheme = null;\n\n        if (ta.hasValue(0)) {\n            // Get the value of the 'selectableItemBackground' attribute that was\n            // set in the theme. The parameter is the index\n            // of the attribute in the 'attrs' array.\n            drawableFromTheme = ta.getDrawable(0); // index\n        }\n\n        // Finally free resources used by TypedArray\n        ta.recycle();\n\n        return drawableFromTheme;\n    }\n\n    private void setDefaultDrawerBackground() {\n        TypedValue value = new TypedValue();\n        if (mContext.getTheme().resolveAttribute(android.R.attr.colorBackground, value, true)) {\n            mDrawerBackground = new ColorDrawable(value.data);\n        } else {\n            mDrawerBackground = new ColorDrawable(mDefaultTheme == DefaultTheme.LIGHT ?\n                    mContext.getResources().getColor(R.color.snv_background_material_light)\n                    : mContext.getResources().getColor(R.color.snv_background_material_dark));\n        }\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/java/com/appeaser/sublimenavigationviewlibrary/TextViewStyleProfile.java",
    "content": "/*\n * Copyright 2015 Vikram Kakkar\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\npackage com.appeaser.sublimenavigationviewlibrary;\n\nimport android.content.Context;\nimport android.content.res.ColorStateList;\nimport android.graphics.Typeface;\nimport android.support.annotation.NonNull;\nimport android.util.Log;\nimport android.util.TypedValue;\n\n/**\n * Keeps track of TextView styling based\n * on its role: Item, Hint, Group header etc.\n *\n * Created by Vikram\n */\npublic class TextViewStyleProfile {\n\n    private static final String TAG = TextViewStyleProfile.class.getSimpleName();\n\n    private static final int[] EMPTY_STATE_SET = new int[]{};\n    private static final int[] CHECKED_STATE_SET = new int[]{R.attr.state_item_checked};\n    private static final int[] DISABLED_STATE_SET = new int[]{-android.R.attr.state_enabled};\n\n    private ColorStateList mTextColor;\n    private Typeface mTypeface;\n    private int mTypefaceStyle = Typeface.NORMAL;\n\n    private Context mContext;\n    // Used to create the default colors.\n    private SublimeThemer.DefaultTheme mDefaultTheme;\n\n    public TextViewStyleProfile(@NonNull Context context, @NonNull SublimeThemer.DefaultTheme defaultTheme) {\n        mContext = context;\n        mDefaultTheme = defaultTheme;\n    }\n\n    /**\n     * Sets the text color to the given {@link ColorStateList}.\n     * 'null' is a valid argument, in which case, a default\n     * text color will be used.\n     * See {@link TextViewStyleProfile#setDefaultItemTextColor()}\n     * for details about the default text color.\n     *\n     * @param textColor The text color to use.\n     * @return This {@link TextViewStyleProfile} for chaining.\n     */\n    public TextViewStyleProfile setTextColor(ColorStateList textColor) {\n        if (textColor == null) {\n            Log.e(TAG, \"'setTextColor(ColorStateList)' was called with a 'null' value\");\n        }\n\n        mTextColor = textColor;\n        return this;\n    }\n\n    /**\n     * Sets the typeface to the given value. 'null' is valid argument,\n     * in which case, the system default typeface will be used.\n     *\n     * @param typeface The typeface to use.\n     * @return This {@link TextViewStyleProfile} for chaining.\n     */\n    public TextViewStyleProfile setTypeface(Typeface typeface) {\n        if (typeface == null) {\n            Log.e(TAG, \"'setTypeface(Typeface)' was called with a 'null' value\");\n        }\n\n        mTypeface = typeface;\n        return this;\n    }\n\n    /**\n     * Sets the typeface style to the given value. The typeface style\n     * defaults to Typeface.NORMAL if the value isn't one of\n     * Typeface.NORMAL, Typeface.BOLD, Typeface.ITALIC, Typeface.BOLD_ITALIC.\n     *\n     * @param typefaceStyle The style to set.\n     * @return This {@link TextViewStyleProfile} for chaining.\n     */\n    public TextViewStyleProfile setTypefaceStyle(int typefaceStyle) {\n        if (typefaceStyle < Typeface.NORMAL || typefaceStyle > Typeface.BOLD_ITALIC) {\n            Log.e(TAG, \"'setTypefaceStyle(int)' was called with a invalid value \" +\n                    \"- allowed values are Typeface.NORMAL, Typeface.BOLD, \" +\n                    \"Typeface.ITALIC and Typeface.BOLD_ITALIC.\");\n            mTypefaceStyle = Typeface.NORMAL;\n        } else {\n            mTypefaceStyle = typefaceStyle;\n        }\n\n        return this;\n    }\n\n    /**\n     * Returns the currently set text color.\n     *\n     * @return {@link ColorStateList} that will be used\n     *          as the text color.\n     */\n    public ColorStateList getTextColor() {\n        if (mTextColor == null) {\n            setDefaultItemTextColor();\n        }\n\n        return mTextColor;\n    }\n\n    /**\n     * Returns the (custom) Typeface.\n     *\n     * @return given Typeface. May be 'null'.\n     */\n    public Typeface getTypeface() {\n        return mTypeface;\n    }\n\n    /**\n     * Returns the currently set text style: normal, bold,\n     * italic, bold_italic.\n     *\n     * @return one of Typeface.NORMAL, Typeface.BOLD,\n     *         Typeface.ITALIC, Typeface.BOLD_ITALIC.\n     */\n    public int getTypefaceStyle() {\n        return mTypefaceStyle;\n    }\n\n    /**\n     * Creates and sets the default item text color.\n     */\n    private void setDefaultItemTextColor() {\n        TypedValue value = new TypedValue();\n        if (mContext.getTheme().resolveAttribute(android.R.attr.textColorPrimary, value, true)) {\n            ColorStateList baseColor = mContext.getResources().getColorStateList(value.resourceId);\n            if (mContext.getTheme().resolveAttribute(R.attr.colorPrimary, value, true)) {\n                int colorPrimary = value.data;\n                int defaultColor = baseColor.getDefaultColor();\n                mTextColor = new ColorStateList(new int[][]{DISABLED_STATE_SET, CHECKED_STATE_SET, EMPTY_STATE_SET},\n                        new int[]{baseColor.getColorForState(DISABLED_STATE_SET, defaultColor), colorPrimary, defaultColor});\n            }\n        }\n\n        if (mTextColor == null) {\n            // Defaults\n            boolean isLightTheme = mDefaultTheme == SublimeThemer.DefaultTheme.LIGHT;\n\n            int defDisabled = isLightTheme ?\n                    mContext.getResources().getColor(R.color.snv_primary_text_disabled_material_light)\n                    : mContext.getResources().getColor(R.color.snv_primary_text_disabled_material_dark);\n            int defChecked = isLightTheme ?\n                    mContext.getResources().getColor(R.color.snv_primary_material_light)\n                    : mContext.getResources().getColor(R.color.snv_primary_material_dark);\n            int defEmptySet = isLightTheme ?\n                    mContext.getResources().getColor(R.color.snv_primary_text_default_material_light)\n                    : mContext.getResources().getColor(R.color.snv_primary_text_default_material_dark);\n            mTextColor = new ColorStateList(new int[][]{DISABLED_STATE_SET, CHECKED_STATE_SET, EMPTY_STATE_SET},\n                    new int[]{defDisabled, defChecked, defEmptySet});\n        }\n    }\n}\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/color-v23/snv_c_switch_track_material.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2014 The Android Open Source Project\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\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:state_enabled=\"false\"\n        android:color=\"?android:attr/colorForeground\"\n        android:alpha=\"?android:attr/disabledAlpha\" />\n    <item android:state_checked=\"true\"\n        android:color=\"?attr/colorControlActivated\" />\n    <item android:color=\"?android:attr/colorForeground\" />\n</selector>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/color-v23/white_disabled_material.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 The Android Open Source Project\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\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:color=\"@android:color/white\"\n        android:alpha=\"?android:attr/disabledAlpha\" />\n</selector>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/drawable/checkbox_pre_lollipop.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:state_checked=\"true\" android:drawable=\"@drawable/snv_check_on\" />\n    <item android:drawable=\"@drawable/snv_check_off\" />\n</selector>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/drawable/switch_thumb_pre_lollipop.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<selector xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:state_checked=\"true\" android:drawable=\"@drawable/snv_switch_thumb_on\" />\n    <item android:drawable=\"@drawable/snv_switch_thumb_off\" />\n</selector>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/drawable-v21/snv_switch_thumb_material_anim.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2014 The Android Open Source Project\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\n<animated-selector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:constantSize=\"true\">\n    <item android:state_enabled=\"false\" android:id=\"@+id/off\">\n        <nine-patch\n            android:src=\"@drawable/btn_switch_to_on_mtrl_00001\"\n            android:gravity=\"center\"\n            android:tintMode=\"multiply\"\n            android:tint=\"?attr/colorSwitchThumbNormal\" />\n    </item>\n    <item\n        android:state_checked=\"true\"\n        android:id=\"@+id/on\">\n        <nine-patch\n            android:src=\"@drawable/btn_switch_to_on_mtrl_00012\"\n            android:gravity=\"center\"\n            android:tintMode=\"multiply\"\n            android:tint=\"?attr/colorControlActivated\" />\n    </item>\n    <item android:id=\"@+id/off\">\n        <nine-patch\n            android:src=\"@drawable/btn_switch_to_on_mtrl_00001\"\n            android:gravity=\"center\"\n            android:tintMode=\"multiply\"\n            android:tint=\"?attr/colorSwitchThumbNormal\" />\n    </item>\n    <transition\n        android:fromId=\"@+id/off\"\n        android:toId=\"@+id/on\">\n        <animation-list>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00001\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00002\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00003\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00004\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00005\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00006\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00007\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00008\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00009\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00010\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00011\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_on_mtrl_00012\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n        </animation-list>\n    </transition>\n    <transition android:fromId=\"@+id/on\" android:toId=\"@+id/off\">\n        <animation-list>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00001\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00002\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00003\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00004\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00005\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00006\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorControlActivated\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00007\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00008\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00009\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00010\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00011\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n            <item android:duration=\"15\">\n                <nine-patch android:src=\"@drawable/btn_switch_to_off_mtrl_00012\" android:gravity=\"center\" android:tintMode=\"multiply\" android:tint=\"?attr/colorSwitchThumbNormal\" />\n            </item>\n        </animation-list>\n    </transition>\n</animated-selector>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/drawable-v21/snv_switch_track_material.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2014 The Android Open Source Project\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\n<selector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n    <item android:state_enabled=\"false\">\n        <nine-patch android:src=\"@drawable/snv_switch_track\"\n            android:tint=\"?android:attr/colorForeground\"\n            android:alpha=\"0.1\" />\n    </item>\n    <item android:state_checked=\"true\">\n        <nine-patch android:src=\"@drawable/snv_switch_track\"\n            android:tint=\"?attr/colorControlActivated\"\n            android:alpha=\"0.3\" />\n    </item>\n    <item>\n        <nine-patch android:src=\"@drawable/snv_switch_track\"\n            android:tint=\"?android:attr/colorForeground\"\n            android:alpha=\"0.3\" />\n    </item>\n</selector>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/drawable-v23/snv_switch_track_material.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 The Android Open Source Project\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\n<layer-list xmlns:android=\"http://schemas.android.com/apk/res/android\">\n    <item android:gravity=\"center_vertical|fill_horizontal\"\n        android:start=\"4dp\"\n        android:end=\"4dp\">\n        <shape android:shape=\"rectangle\"\n            android:tint=\"@color/snv_c_switch_track_material\">\n            <corners android:radius=\"7dp\" />\n            <solid android:color=\"@color/white_disabled_material\" />\n            <size android:height=\"14dp\" />\n        </shape>\n    </item>\n</layer-list>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/include_icon_holder.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<com.appeaser.sublimenavigationviewlibrary.StateAwareImageView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:id=\"@+id/iconHolder\"\n    android:layout_width=\"@dimen/snv_navigation_icon_size\"\n    android:layout_height=\"@dimen/snv_navigation_icon_size\"\n    android:layout_weight=\"0\"\n    android:layout_marginRight=\"@dimen/snv_navigation_icon_padding\"\n    android:contentDescription=\"Navigation item icon\"/>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/include_text_hint_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n    android:layout_width=\"0dp\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"vertical\"\n    android:layout_weight=\"1\">\n\n    <com.appeaser.sublimenavigationviewlibrary.StateAwareTextView\n        android:id=\"@+id/text\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:gravity=\"start\"\n        android:textAppearance=\"?attr/snvItemTextAppearance\"\n        app:saTextAppearance=\"@style/SnvDefaultItemTextAppearance\"\n        android:maxLines=\"1\"\n        android:ellipsize=\"end\"/>\n\n    <com.appeaser.sublimenavigationviewlibrary.StateAwareTextView\n        android:id=\"@+id/hint\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:gravity=\"start\"\n        android:textAppearance=\"?attr/snvHintTextAppearance\"\n        app:saTextAppearance=\"@style/SnvDefaultHintTextAppearance\"\n        android:maxLines=\"1\"\n        android:ellipsize=\"end\"/>\n\n</LinearLayout>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_checkbox_item_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<com.appeaser.sublimenavigationviewlibrary.SublimeCheckboxItemView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"?attr/listPreferredItemHeightSmall\"\n    android:paddingLeft=\"?attr/listPreferredItemPaddingLeft\"\n    android:paddingRight=\"?attr/listPreferredItemPaddingRight\"\n    android:gravity=\"center_vertical\"\n    android:background=\"?attr/selectableItemBackground\"/>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_menu_checkbox_item_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<merge xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <include layout=\"@layout/include_icon_holder\"/>\n\n    <include layout=\"@layout/include_text_hint_content\"/>\n\n    <CheckBox\n        android:id=\"@+id/checkbox_ctrl\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"0\"\n        android:clickable=\"false\"\n        android:background=\"?attr/selectableItemBackground\" />\n\n</merge>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_menu_header_item.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\"\n    android:orientation=\"vertical\"\n    android:paddingBottom=\"@dimen/snv_navigation_separator_vertical_padding\" />"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_menu_separator_item_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<View xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"1dp\"\n    android:background=\"?android:attr/listDivider\"\n    android:paddingTop=\"@dimen/snv_navigation_padding_top_default\"\n    android:paddingBottom=\"@dimen/snv_navigation_padding_bottom\"/>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_menu_subheader_item_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<merge xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n    <include layout=\"@layout/include_icon_holder\"/>\n\n    <LinearLayout\n        android:layout_width=\"0dp\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"vertical\"\n        android:layout_weight=\"1\">\n\n        <com.appeaser.sublimenavigationviewlibrary.StateAwareTextView\n            android:id=\"@+id/text\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:textColor=\"?android:textColorSecondary\"\n            android:gravity=\"start\"\n            android:textAppearance=\"?attr/snvSubheaderItemTextAppearance\"\n            app:saTextAppearance=\"@style/SnvDefaultSubheaderItemTextAppearance\"\n            android:maxLines=\"1\"\n            android:ellipsize=\"end\"/>\n\n        <com.appeaser.sublimenavigationviewlibrary.StateAwareTextView\n            android:id=\"@+id/hint\"\n            android:layout_width=\"match_parent\"\n            android:layout_height=\"wrap_content\"\n            android:textColor=\"?android:textColorSecondary\"\n            android:gravity=\"start\"\n            android:textAppearance=\"?attr/snvSubheaderHintTextAppearance\"\n            app:saTextAppearance=\"@style/SnvDefaultSubheaderHintTextAppearance\"\n            android:maxLines=\"1\"\n            android:ellipsize=\"end\"/>\n\n    </LinearLayout>\n\n    <ImageView\n        android:id=\"@+id/expand_collapse\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"0\"\n        android:contentDescription=\"Expand/Collapse\"/>\n\n</merge>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_menu_switch_item_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<merge xmlns:android=\"http://schemas.android.com/apk/res/android\">\n\n    <include layout=\"@layout/include_icon_holder\"/>\n\n    <include layout=\"@layout/include_text_hint_content\"/>\n\n    <android.support.v7.widget.SwitchCompat\n        xmlns:app=\"http://schemas.android.com/apk/res-auto\"\n        android:id=\"@+id/switch_ctrl\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        app:showText=\"false\"\n        android:focusable=\"false\"\n        android:clickable=\"false\" />\n\n</merge>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_menu_text_item_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<merge>\n    <include layout=\"@layout/include_icon_holder\"/>\n    <include layout=\"@layout/include_text_hint_content\"/>\n</merge>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_menu_text_with_badge_item_content.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<merge xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    xmlns:app=\"http://schemas.android.com/apk/res-auto\">\n\n    <include layout=\"@layout/include_icon_holder\"/>\n\n    <include layout=\"@layout/include_text_hint_content\"/>\n\n    <com.appeaser.sublimenavigationviewlibrary.StateAwareTextView\n        android:id=\"@+id/badge\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"0\"\n        android:gravity=\"center_horizontal\"\n        android:minWidth=\"32dp\"\n        android:textAppearance=\"?attr/snvBadgeTextAppearance\"\n        app:saTextAppearance=\"@style/SnvDefaultBadgeTextAppearance\"\n        android:maxLines=\"1\"\n        android:ellipsize=\"end\"/>\n\n    <ProgressBar\n        android:id=\"@+id/progress\"\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:layout_weight=\"0\"\n        android:minWidth=\"32dp\"\n        style=\"?android:attr/progressBarStyleSmall\"\n        android:visibility=\"gone\"/>\n\n</merge>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_navigation_menu_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<com.appeaser.sublimenavigationviewlibrary.SublimeNavMenuView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    android:paddingTop=\"@dimen/snv_navigation_padding_top_default\"\n    android:paddingBottom=\"@dimen/snv_navigation_padding_bottom\"\n    android:clipToPadding=\"false\" />"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_separator_item_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<com.appeaser.sublimenavigationviewlibrary.SublimeSeparatorItemView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"wrap_content\" />"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_subheader_item_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<com.appeaser.sublimenavigationviewlibrary.SublimeSubheaderItemView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"?attr/listPreferredItemHeightSmall\"\n    android:paddingLeft=\"?attr/listPreferredItemPaddingLeft\"\n    android:paddingRight=\"?attr/listPreferredItemPaddingRight\"\n    android:orientation=\"horizontal\"\n    android:gravity=\"center_vertical\"\n    android:background=\"?attr/selectableItemBackground\"/>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_switch_item_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<com.appeaser.sublimenavigationviewlibrary.SublimeSwitchItemView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"?attr/listPreferredItemHeightSmall\"\n    android:paddingLeft=\"?attr/listPreferredItemPaddingLeft\"\n    android:paddingRight=\"?attr/listPreferredItemPaddingRight\"\n    android:gravity=\"center_vertical\"\n    android:background=\"?attr/selectableItemBackground\"/>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_text_item_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<com.appeaser.sublimenavigationviewlibrary.SublimeTextItemView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"?attr/listPreferredItemHeightSmall\"\n    android:paddingLeft=\"?attr/listPreferredItemPaddingLeft\"\n    android:paddingRight=\"?attr/listPreferredItemPaddingRight\"\n    android:gravity=\"center_vertical\"\n    android:orientation=\"horizontal\"\n    android:background=\"?attr/selectableItemBackground\"/>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/layout/sublime_text_with_badge_item_view.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<com.appeaser.sublimenavigationviewlibrary.SublimeTextWithBadgeItemView\n    xmlns:android=\"http://schemas.android.com/apk/res/android\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"?attr/listPreferredItemHeightSmall\"\n    android:orientation=\"horizontal\"\n    android:paddingLeft=\"?attr/listPreferredItemPaddingLeft\"\n    android:paddingRight=\"?attr/listPreferredItemPaddingRight\"\n    android:gravity=\"center_vertical\"\n    android:background=\"?attr/selectableItemBackground\"/>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/values/attrs.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n\n    <!-- Applies to\n         com.appeaser.sublimenavigationviewlibrary.StateAwareTextView -->\n    <declare-styleable name=\"StateAwareTextView\">\n        <!-- Used to provide a default text-appearance -->\n        <attr format=\"reference\" name=\"saTextAppearance\"/>\n        <attr name=\"android:textAppearance\"/>\n    </declare-styleable>\n\n    <declare-styleable name=\"SublimeMenuItemState\">\n        <!-- Affords similar functionality to @android:attr/state_checked -->\n        <attr name=\"state_item_checked\" format=\"boolean\" />\n    </declare-styleable>\n\n    <!-- Holds user-provided text appearance styles. -->\n    <attr name=\"snvItemTextAppearance\" format=\"reference\"/>\n    <attr name=\"snvHintTextAppearance\" format=\"reference\"/>\n    <attr name=\"snvSubheaderItemTextAppearance\" format=\"reference\"/>\n    <attr name=\"snvSubheaderHintTextAppearance\" format=\"reference\"/>\n    <attr name=\"snvBadgeTextAppearance\" format=\"reference\"/>\n\n    <!-- Used with TextWithBadge menu item to display a\n         ProgressBar when the badge value is provided dynamically. -->\n    <attr name=\"valueProvidedAsync\" format=\"boolean\"/>\n\n    <!-- Indicates whether the menu Group is collapsible.\n         If the menu Group is collapsible, a chevron is shown. -->\n    <attr name=\"collapsible\" format=\"boolean\"/>\n\n    <!-- Sets the initial state of a menu Group. -->\n    <attr name=\"collapsed\" format=\"boolean\"/>\n\n    <declare-styleable name=\"SublimeMenuGroup\">\n        <attr name=\"android:id\"/>\n        <attr name=\"android:checkableBehavior\"/>\n        <attr name=\"android:visible\"/>\n        <attr name=\"android:enabled\"/>\n        <attr name=\"collapsed\" />\n        <attr name=\"collapsible\" />\n    </declare-styleable>\n\n    <!-- Base attributes that are available to all Item objects. -->\n    <declare-styleable name=\"SublimeMenuGenericItem\">\n\n        <!-- The ID of the item. -->\n        <attr name=\"android:id\" />\n\n        <!-- The title associated with the item. -->\n        <attr name=\"android:title\"/>\n\n        <!-- The hint associated with the item. -->\n        <attr name=\"android:hint\"/>\n\n        <!-- The icon associated with this item.  This icon will not always be shown, so\n             the title should be sufficient in describing this item. -->\n        <attr name=\"android:icon\" />\n\n        <!-- Whether the item is capable of displaying a check mark. -->\n        <attr name=\"android:checkable\"/>\n\n        <!-- Whether the item is checked.  Note that you must first have enabled checking with\n             the checkable attribute or else the check mark will not appear. -->\n        <attr name=\"android:checked\" />\n\n        <!-- Whether the item is shown/visible. -->\n        <attr name=\"android:visible\" />\n\n        <!-- Whether the item is enabled. -->\n        <attr name=\"android:enabled\" />\n\n        <attr name=\"valueProvidedAsync\" />\n\n        <attr name=\"badgeText\" format=\"string\" />\n\n        <attr name=\"showIconSpace\" format=\"boolean\" />\n\n    </declare-styleable>\n\n    <declare-styleable name=\"SnvScrimInsetsFrameLayout\">\n        <attr format=\"color|reference\" name=\"snvInsetForeground\"/>\n    </declare-styleable>\n\n    <!-- Used for providing default style implementations.\n         For eg: itemBackground, itemTextColor etc. -->\n    <attr name=\"snvDefaultTheme\" format=\"enum\">\n        <enum name=\"light\" value=\"0\"/>\n        <enum name=\"dark\" value=\"1\"/>\n    </attr>\n\n    <!-- enum values for typeface style -->\n    <attr name=\"snvItemTypefaceStyle\" format=\"enum\">\n        <enum name=\"normal\" value=\"0\"/>\n        <enum name=\"bold\" value=\"1\"/>\n        <enum name=\"italic\" value=\"2\"/>\n        <enum name=\"bold_italic\" value=\"3\"/>\n    </attr>\n\n    <!-- enum values for typeface style -->\n    <attr name=\"snvHintTypefaceStyle\" format=\"enum\">\n        <enum name=\"normal\" value=\"0\"/>\n        <enum name=\"bold\" value=\"1\"/>\n        <enum name=\"italic\" value=\"2\"/>\n        <enum name=\"bold_italic\" value=\"3\"/>\n    </attr>\n\n    <!-- enum values for typeface style -->\n    <attr name=\"snvSubheaderItemTypefaceStyle\" format=\"enum\">\n        <enum name=\"normal\" value=\"0\"/>\n        <enum name=\"bold\" value=\"1\"/>\n        <enum name=\"italic\" value=\"2\"/>\n        <enum name=\"bold_italic\" value=\"3\"/>\n    </attr>\n\n    <!-- enum values for typeface style -->\n    <attr name=\"snvSubheaderHintTypefaceStyle\" format=\"enum\">\n        <enum name=\"normal\" value=\"0\"/>\n        <enum name=\"bold\" value=\"1\"/>\n        <enum name=\"italic\" value=\"2\"/>\n        <enum name=\"bold_italic\" value=\"3\"/>\n    </attr>\n\n    <!-- enum values for typeface style -->\n    <attr name=\"snvBadgeTypefaceStyle\" format=\"enum\">\n        <enum name=\"normal\" value=\"0\"/>\n        <enum name=\"bold\" value=\"1\"/>\n        <enum name=\"italic\" value=\"2\"/>\n        <enum name=\"bold_italic\" value=\"3\"/>\n    </attr>\n\n    <declare-styleable name=\"SublimeNavigationView\">\n        <!-- Drawer background -->\n        <attr name=\"android:background\"/>\n        <attr name=\"android:fitsSystemWindows\"/>\n\n        <!-- Drawer's max-width -->\n        <attr name=\"android:maxWidth\"/>\n\n        <!-- Drawer's elevation -->\n        <attr name=\"elevation\"/>\n\n        <!-- Menu resource to inflate -->\n        <attr format=\"reference\" name=\"snvMenu\"/>\n\n        <!-- ColorStateList that handles DISABLED, CHECKED & DEFAULT\n             state colors. Used for tinting MenuItem's icon,\n             Checkbox, Switch, Chevron(in case of menu Group) -->\n        <attr format=\"color\" name=\"snvItemIconTint\"/>\n\n        <!-- ColorStateList that handles DISABLED, CHECKED & DEFAULT\n             state colors. -->\n        <attr format=\"color\" name=\"snvItemTextColor\"/>\n        <attr format=\"color\" name=\"snvHintTextColor\"/>\n        <attr format=\"color\" name=\"snvSubheaderItemTextColor\"/>\n        <attr format=\"color\" name=\"snvSubheaderHintTextColor\"/>\n        <attr format=\"color\" name=\"snvBadgeTextColor\"/>\n\n        <!-- Filename of Typeface stored in 'assets' folder -->\n        <attr format=\"string\" name=\"snvItemTypefaceFilename\"/>\n        <attr format=\"string\" name=\"snvHintTypefaceFilename\"/>\n        <attr format=\"string\" name=\"snvSubheaderItemTypefaceFilename\"/>\n        <attr format=\"string\" name=\"snvSubheaderHintTypefaceFilename\"/>\n        <attr format=\"string\" name=\"snvBadgeTypefaceFilename\"/>\n\n        <!-- Typeface style - NORMAL, BOLD, ITALIC, BOLD_ITALIC -->\n        <attr name=\"snvItemTypefaceStyle\"/>\n        <attr name=\"snvHintTypefaceStyle\"/>\n        <attr name=\"snvSubheaderItemTypefaceStyle\"/>\n        <attr name=\"snvSubheaderHintTypefaceStyle\"/>\n        <attr name=\"snvBadgeTypefaceStyle\"/>\n\n        <!-- Background for individual MenuItem layout -->\n        <attr format=\"reference|color\" name=\"snvItemBackground\"/>\n\n        <!-- Layout resource ID for header -->\n        <attr format=\"reference\" name=\"snvHeaderLayout\"/>\n\n        <attr name=\"snvDefaultTheme\"/>\n\n        <!-- Drawable used when a menu Group is (collapsible & currently collapsed). -->\n        <attr format=\"reference\" name=\"snvGroupExpandDrawable\"/>\n\n        <!-- Drawable used when a menu Group is (collapsible & currently expanded). -->\n        <attr format=\"reference\" name=\"snvGroupCollapseDrawable\"/>\n    </declare-styleable>\n\n</resources>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/values/colors.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n\n    <color name=\"snv_secondary_text_disabled_material_light\">#24000000</color>\n    <color name=\"snv_secondary_text_disabled_material_dark\">#36ffffff</color>\n\n    <color name=\"snv_primary_material_light\">#ff212121</color>\n    <color name=\"snv_primary_material_dark\">#fff5f5f5</color>\n\n    <color name=\"snv_secondary_text_default_material_light\">#8a000000</color>\n    <color name=\"snv_secondary_text_default_material_dark\">#b3ffffff</color>\n\n    <color name=\"snv_ripple_material_light\">#1f000000</color>\n    <color name=\"snv_ripple_material_dark\">#42ffffff</color>\n\n    <color name=\"snv_background_material_light\">#fffafafa</color>\n    <color name=\"snv_background_material_dark\">#ff303030</color>\n\n    <color name=\"snv_primary_text_default_material_light\">#de000000</color>\n    <color name=\"snv_primary_text_default_material_dark\">#ffffffff</color>\n\n    <color name=\"snv_primary_text_disabled_material_light\">#39000000</color>\n    <color name=\"snv_primary_text_disabled_material_dark\">#4Dffffff</color>\n\n</resources>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/values/dimens.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n\n    <dimen name=\"snv_navigation_icon_padding\">32dp</dimen>\n    <dimen name=\"snv_navigation_icon_size\">24dp</dimen>\n    <dimen name=\"snv_navigation_elevation\">12dp</dimen>\n    <dimen name=\"snv_navigation_max_width\">320dp</dimen>\n    <dimen name=\"snv_navigation_padding_top_default\">0dp</dimen>\n    <dimen name=\"snv_navigation_padding_bottom\">8dp</dimen>\n    <dimen name=\"snv_navigation_separator_vertical_padding\">8dp</dimen>\n\n</resources>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/values/strings.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n    <string name=\"app_name\">SublimeNavigationViewLibrary</string>\n</resources>\n"
  },
  {
    "path": "sublimenavigationviewlibrary/src/main/res/values/styles.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!-- Copyright (C) 2015 Vikram Kakkar\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<resources>\n\n    <style name=\"SnvDefaultTextAppearance\" parent=\"TextAppearance.AppCompat.Body2\">\n        <item name=\"android:textSize\">16sp</item>\n    </style>\n\n    <style name=\"SnvDefaultItemTextAppearance\" parent=\"TextAppearance.AppCompat.Body2\">\n        <item name=\"android:textSize\">16sp</item>\n    </style>\n\n    <style name=\"SnvDefaultHintTextAppearance\" parent=\"TextAppearance.AppCompat.Body2\">\n        <item name=\"android:textSize\">12sp</item>\n    </style>\n\n    <style name=\"SnvDefaultSubheaderItemTextAppearance\" parent=\"TextAppearance.AppCompat.Body2\">\n        <item name=\"android:textSize\">16sp</item>\n    </style>\n\n    <style name=\"SnvDefaultSubheaderHintTextAppearance\" parent=\"TextAppearance.AppCompat.Body1\">\n        <item name=\"android:textSize\">12sp</item>\n    </style>\n\n    <style name=\"SnvDefaultBadgeTextAppearance\" parent=\"TextAppearance.AppCompat.Body2\">\n        <item name=\"android:textSize\">16sp</item>\n    </style>\n\n    <style name=\"SnvScrimInsetsFrameLayout\" parent=\"\">\n        <item name=\"snvInsetForeground\">#4000</item>\n    </style>\n\n    <style name=\"SnvSublimeNavigationView\" parent=\"\">\n        <item name=\"elevation\">@dimen/snv_navigation_elevation</item>\n        <item name=\"android:background\">#999900</item>\n        <item name=\"android:fitsSystemWindows\">true</item>\n        <item name=\"android:maxWidth\">@dimen/snv_navigation_max_width</item>\n    </style>\n\n</resources>"
  },
  {
    "path": "sublimenavigationviewlibrary/src/test/java/com/appeaser/sublimenavigationviewlibrary/ExampleUnitTest.java",
    "content": "package com.appeaser.sublimenavigationviewlibrary;\n\nimport org.junit.Test;\n\nimport static org.junit.Assert.*;\n\n/**\n * To work on unit tests, switch the Test Artifact in the Build Variants view.\n */\npublic class ExampleUnitTest {\n    @Test\n    public void addition_isCorrect() throws Exception {\n        assertEquals(4, 2 + 2);\n    }\n}"
  },
  {
    "path": "sublimenavigationviewlibrary/sublimenavigationviewlibrary.iml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module external.linked.project.id=\":sublimenavigationviewlibrary\" external.linked.project.path=\"$MODULE_DIR$\" external.root.project.path=\"$MODULE_DIR$/..\" external.system.id=\"GRADLE\" external.system.module.group=\"com.appeaser.sublimenavigationviewlibrary\" external.system.module.version=\"0.0.1\" type=\"JAVA_MODULE\" version=\"4\">\n  <component name=\"FacetManager\">\n    <facet type=\"android-gradle\" name=\"Android-Gradle\">\n      <configuration>\n        <option name=\"GRADLE_PROJECT_PATH\" value=\":sublimenavigationviewlibrary\" />\n      </configuration>\n    </facet>\n    <facet type=\"android\" name=\"Android\">\n      <configuration>\n        <option name=\"SELECTED_BUILD_VARIANT\" value=\"debug\" />\n        <option name=\"SELECTED_TEST_ARTIFACT\" value=\"_android_test_\" />\n        <option name=\"ASSEMBLE_TASK_NAME\" value=\"assembleDebug\" />\n        <option name=\"COMPILE_JAVA_TASK_NAME\" value=\"compileDebugSources\" />\n        <option name=\"ASSEMBLE_TEST_TASK_NAME\" value=\"assembleDebugAndroidTest\" />\n        <option name=\"COMPILE_JAVA_TEST_TASK_NAME\" value=\"compileDebugAndroidTestSources\" />\n        <afterSyncTasks>\n          <task>generateDebugAndroidTestSources</task>\n          <task>generateDebugSources</task>\n        </afterSyncTasks>\n        <option name=\"ALLOW_USER_CONFIGURATION\" value=\"false\" />\n        <option name=\"MANIFEST_FILE_RELATIVE_PATH\" value=\"/src/main/AndroidManifest.xml\" />\n        <option name=\"RES_FOLDER_RELATIVE_PATH\" value=\"/src/main/res\" />\n        <option name=\"RES_FOLDERS_RELATIVE_PATH\" value=\"file://$MODULE_DIR$/src/main/res\" />\n        <option name=\"ASSETS_FOLDER_RELATIVE_PATH\" value=\"/src/main/assets\" />\n        <option name=\"LIBRARY_PROJECT\" value=\"true\" />\n      </configuration>\n    </facet>\n  </component>\n  <component name=\"NewModuleRootManager\" LANGUAGE_LEVEL=\"JDK_1_7\" inherit-compiler-output=\"false\">\n    <output url=\"file://$MODULE_DIR$/build/intermediates/classes/debug\" />\n    <output-test url=\"file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug\" />\n    <exclude-output />\n    <content url=\"file://$MODULE_DIR$\">\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/r/debug\" isTestSource=\"false\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/aidl/debug\" isTestSource=\"false\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/buildConfig/debug\" isTestSource=\"false\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/rs/debug\" isTestSource=\"false\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/res/rs/debug\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/res/resValues/debug\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/r/androidTest/debug\" isTestSource=\"true\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug\" isTestSource=\"true\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug\" isTestSource=\"true\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug\" isTestSource=\"true\" generated=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/res\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/resources\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/assets\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/aidl\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/java\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/jni\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/debug/rs\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/res\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/resources\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/assets\" type=\"java-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/aidl\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/java\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/jni\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/main/rs\" isTestSource=\"false\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/res\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/resources\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/assets\" type=\"java-test-resource\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/aidl\" isTestSource=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/java\" isTestSource=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/jni\" isTestSource=\"true\" />\n      <sourceFolder url=\"file://$MODULE_DIR$/src/androidTest/rs\" isTestSource=\"true\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/annotations\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/assets\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/bundles\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/classes\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/dependency-cache\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/incremental\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/lint\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/res\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/rs\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/intermediates/symbols\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/outputs\" />\n      <excludeFolder url=\"file://$MODULE_DIR$/build/tmp\" />\n    </content>\n    <orderEntry type=\"jdk\" jdkName=\"Android API 23 Platform\" jdkType=\"Android SDK\" />\n    <orderEntry type=\"sourceFolder\" forTests=\"false\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"recyclerview-v7-23.1.1\" level=\"project\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"support-v4-23.1.1\" level=\"project\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"support-annotations-23.1.1\" level=\"project\" />\n    <orderEntry type=\"library\" exported=\"\" name=\"appcompat-v7-23.1.1\" level=\"project\" />\n  </component>\n</module>"
  }
]