├── .bundle └── config ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE.md ├── ci-gradle.properties ├── config │ └── configuration.json └── workflows │ └── ci.yml ├── .gitignore ├── DEV ├── default-detekt-config.yml ├── extractor │ ├── extract.js │ └── test.css ├── fa-extractor │ └── fontawesome_extractor.sh ├── font-modifying-mac │ ├── google_material_design.ttf │ └── info.txt ├── functiongraphic │ └── functiongraphic.png ├── github │ ├── 2017-11-18 12.39.39.jpg │ ├── 2017-11-18 12.39.46.jpg │ ├── 2017-11-18 12.39.48.jpg │ ├── 2017-11-18 12.39.54.jpg │ ├── 2017-11-18 12.39.57.jpg │ ├── 2017-11-18 12.40.00.jpg │ ├── 2017-11-18 12.40.04.jpg │ ├── banner.png │ ├── screenshots1.jpg │ └── wiki │ │ ├── button_sample_1.PNG │ │ ├── button_sample_2.PNG │ │ ├── check_box_sample_1.PNG │ │ ├── check_box_sample_2.PNG │ │ ├── checkable_text_view_sample_1.PNG │ │ ├── checkable_text_view_sample_2.PNG │ │ ├── image_button_sample_1.PNG │ │ ├── image_view_sample_1.PNG │ │ ├── text_view_sample_1.PNG │ │ ├── text_view_sample_2.PNG │ │ └── text_view_sample_3.PNG └── icon │ ├── icon.png │ ├── icon.psd │ ├── icon_x144.png │ ├── icon_x196.png │ ├── icon_x512.png │ ├── icon_x72.png │ └── icon_x96.png ├── Dangerfile ├── FAQ.md ├── FAQ └── textview_ioobe.md ├── Gemfile ├── Gemfile.lock ├── LICENSE ├── MIGRATION.md ├── README.md ├── _config.yml ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ └── font │ │ │ └── materialdrawerfont.ttf │ ├── ic_launcher-web.png │ ├── java │ │ └── com │ │ │ └── mikepenz │ │ │ └── iconics │ │ │ └── sample │ │ │ ├── CustomApplication.kt │ │ │ ├── IconsFragment.kt │ │ │ ├── MainActivity.kt │ │ │ ├── PlaygroundActivity.kt │ │ │ ├── SpaceItemDecoration.kt │ │ │ ├── item │ │ │ └── IconItem.kt │ │ │ ├── typeface │ │ │ └── CustomFont.kt │ │ │ └── utils │ │ │ └── getThemeColor.kt │ └── res │ │ ├── color │ │ ├── color_states_bg.xml │ │ ├── color_states_bg_contour.xml │ │ ├── color_states_bottom_navigation_icons.xml │ │ ├── color_states_contour.xml │ │ └── color_states_icon.xml │ │ ├── drawable-v21 │ │ └── button_rect_list_normal.xml │ │ ├── drawable-v24 │ │ └── gmd_favorite.xml │ │ ├── drawable │ │ ├── button_rect_list_normal.xml │ │ └── gmd_favorite.png │ │ ├── font │ │ └── fontello.ttf │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── activity_playground.xml │ │ ├── icons_fragment.xml │ │ ├── row_icon.xml │ │ └── row_icon_array.xml │ │ ├── menu │ │ ├── menu_main.xml │ │ ├── menu_navigation.xml │ │ └── menu_playground.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ ├── ic_launcher_foreground.png │ │ └── ic_launcher_round.png │ │ ├── values-v21 │ │ └── themes.xml │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ic_launcher_background.xml │ │ ├── ids.xml │ │ ├── strings.xml │ │ └── themes.xml │ └── test │ └── java │ └── StringFieldsGenerator.kt ├── build.gradle ├── community-material-typeface-library ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties ├── icons.go ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── community │ │ └── material │ │ ├── CommunityMaterial.kt │ │ └── Initializer.kt │ └── res │ ├── font │ └── community_material_design_icons_font_v7_0_96.ttf │ └── values │ └── library_material_design_icons_community_strings.xml ├── configurations.gradle ├── detekt.gradle ├── devicon-typeface-library ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── devicon │ │ ├── DevIcon.kt │ │ └── Initializer.kt │ └── res │ ├── font │ └── devicon_font_v2_0_0_1.ttf │ └── values │ ├── font_addon.xml │ └── library_devicon_strings.xml ├── entypo-typeface-library ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── entypo │ │ ├── Entypo.kt │ │ └── Initializer.kt │ └── res │ ├── font │ └── entypo_font_v1_0_0_1.ttf │ └── values │ ├── font_addon.xml │ └── library_entypo_strings.xml ├── fontawesome-typeface-library ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── fontawesome │ │ ├── FontAwesome.kt │ │ ├── FontAwesomeBrand.kt │ │ ├── FontAwesomeRegular.kt │ │ └── Initializer.kt │ └── res │ ├── font │ ├── fontawesome_brand_font_v5_13_3.ttf │ ├── fontawesome_regular_font_v5_13_3.ttf │ └── fontawesome_solid_font_v5_13_3.ttf │ └── values │ ├── font_fontawesome.xml │ └── library_font_awesome_strings.xml ├── foundation-icons-typeface-library ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── foundationicons │ │ ├── FoundationIcons.kt │ │ └── Initializer.kt │ └── res │ ├── font │ └── foundation_icons_font_v3_0_0_1.ttf │ └── values │ ├── font_addon.xml │ └── library_foundation_icon_fonts_strings.xml ├── google-material-typeface ├── google-material-typeface-library │ ├── build.gradle │ ├── consumer-proguard-rules.pro │ ├── gradle.properties │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── mikepenz │ │ │ └── iconics │ │ │ └── typeface │ │ │ └── library │ │ │ └── googlematerial │ │ │ ├── GoogleMaterial.kt │ │ │ └── Initializer.kt │ │ └── res │ │ ├── font │ │ └── google_material_font_filled_v4_0_0_0_original.ttf │ │ └── values │ │ └── library_google_material_design_icons_strings.xml ├── google-material-typeface-outlined-library │ ├── build.gradle │ ├── consumer-proguard-rules.pro │ ├── gradle.properties │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── mikepenz │ │ │ └── iconics │ │ │ └── typeface │ │ │ └── library │ │ │ └── googlematerial │ │ │ ├── OutlinedGoogleMaterial.kt │ │ │ └── OutlinedInitializer.kt │ │ └── res │ │ ├── font │ │ └── google_material_font_outlined_v4_0_0_0_original.ttf │ │ └── values │ │ └── library_google_material_design_icons_strings.xml ├── google-material-typeface-rounded-library │ ├── build.gradle │ ├── consumer-proguard-rules.pro │ ├── gradle.properties │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── mikepenz │ │ │ └── iconics │ │ │ └── typeface │ │ │ └── library │ │ │ └── googlematerial │ │ │ ├── RoundedGoogleMaterial.kt │ │ │ └── RoundedInitializer.kt │ │ └── res │ │ ├── font │ │ └── google_material_font_rounded_v4_0_0_0_original.ttf │ │ └── values │ │ └── library_google_material_design_icons_strings.xml └── google-material-typeface-sharp-library │ ├── build.gradle │ ├── consumer-proguard-rules.pro │ ├── gradle.properties │ └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── googlematerial │ │ ├── SharpGoogleMaterial.kt │ │ └── SharpInitializer.kt │ └── res │ ├── font │ └── google_material_font_sharp_v4_0_0_0_original.ttf │ └── values │ └── library_google_material_design_icons_strings.xml ├── gradle-release.gradle ├── gradle.properties ├── gradle ├── compile.groovy └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── iconics-compose ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── mikepenz │ └── iconics │ └── compose │ ├── IconicsPainter.kt │ └── Image.kt ├── iconics-core ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ ├── Iconics.kt │ │ ├── IconicsArrayBuilder.kt │ │ ├── IconicsBrush.kt │ │ ├── IconicsColor.kt │ │ ├── IconicsDrawable.kt │ │ ├── IconicsExtractor.kt │ │ ├── IconicsSize.kt │ │ ├── WrappedDrawable.java │ │ ├── animation │ │ ├── BlinkAlphaProcessor.kt │ │ ├── BlinkScaleProcessor.kt │ │ ├── IconicsAnimatedDrawable.kt │ │ ├── IconicsAnimationExtensions.kt │ │ ├── IconicsAnimationListener.kt │ │ ├── IconicsAnimationPauseListener.kt │ │ ├── IconicsAnimationProcessor.kt │ │ └── SpinProcessor.kt │ │ ├── context │ │ ├── IconicsAttrsApplier.kt │ │ ├── IconicsAttrsExtractor.kt │ │ ├── IconicsContextWrapper.kt │ │ ├── IconicsFactory.kt │ │ ├── IconicsLayoutInflater.kt │ │ ├── IconicsLayoutInflater2.kt │ │ ├── InternalLayoutInflater.kt │ │ └── ReflectionUtils.kt │ │ ├── dsl │ │ └── IconicsDrawableDsl.kt │ │ ├── typeface │ │ └── GenericFont.kt │ │ └── utils │ │ ├── IconicsConverters.kt │ │ ├── IconicsDrawableExtensions.kt │ │ ├── IconicsDrawableProducerExtensions.kt │ │ ├── IconicsExtensions.kt │ │ ├── IconicsLogger.kt │ │ ├── IconicsMenuInflaterUtil.kt │ │ ├── IconicsTypefaceSpan.kt │ │ ├── IconicsUtils.kt │ │ ├── InternalIconicsUtils.kt │ │ ├── StyleContainer.kt │ │ └── TextStyleContainer.kt │ └── res │ └── values │ ├── attrs.xml │ ├── ids.xml │ └── library_androidiconics_strings.xml ├── iconics-typeface-api ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── mikepenz │ └── iconics │ └── typeface │ ├── IIcon.kt │ ├── ITypeface.kt │ ├── IconicsHolder.kt │ ├── IconicsInitializer.kt │ └── utils │ └── IconicsPreconditions.kt ├── iconics-views ├── .gitignore ├── build.gradle ├── gradle.properties ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ ├── internal │ │ ├── CheckableIconBundle.kt │ │ ├── CheckedCompoundIconicsDrawables.kt │ │ ├── CompoundIconicsDrawables.kt │ │ ├── CompoundIconsBundle.kt │ │ └── IconicsViewsAttrsApplier.kt │ │ └── view │ │ ├── IconicsButton.kt │ │ ├── IconicsCheckBox.kt │ │ ├── IconicsCheckableTextView.kt │ │ ├── IconicsCompoundButton.kt │ │ ├── IconicsImageButton.kt │ │ ├── IconicsImageView.kt │ │ └── IconicsTextView.kt │ └── res │ └── values │ ├── attrs.xml │ └── string.xml ├── ionicons-typeface-library ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── ionicons │ │ ├── Initializer.kt │ │ └── Ionicons.kt │ └── res │ ├── font │ └── ionicons_font_v2_0_1_1.ttf │ └── values │ ├── font_addon.xml │ └── library_ionicons_strings.xml ├── material-design-dx-typeface-library ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── materialdesigndx │ │ ├── Initializer.kt │ │ └── MaterialDesignDx.kt │ └── res │ ├── font │ └── material_design_dx_font_v5_0_1.ttf │ └── values │ ├── font_materail_design_dx.xml │ └── library_material_design_dx_strings.xml ├── material-design-iconic-typeface-library ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── materialdesigniconic │ │ ├── Initializer.kt │ │ └── MaterialDesignIconic.kt │ └── res │ ├── font │ └── material_design_iconic_font_v2_2_0.ttf │ └── values │ ├── font_material_design_iconic.xml │ └── library_material_design_iconic_icons_strings.xml ├── meteocons-typeface-library ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── meteoconcs │ │ ├── Initializer.kt │ │ └── Meteoconcs.kt │ └── res │ ├── font │ └── meteocons_v1_1_1.ttf │ └── values │ ├── font_meteocons.xml │ ├── library_meteocons_strings.xml │ └── license_meteocons_custom_strings.xml ├── octicons-typeface-library ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── octicons │ │ ├── Initializer.kt │ │ └── Octicons.kt │ └── res │ ├── font │ └── octicons_v11_1_0.ttf │ └── values │ ├── font_community_octicons.xml │ └── library_octicons_strings.xml ├── phosphor-typeface-library ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── phosphor │ │ ├── Initializer.kt │ │ └── Phosphor.kt │ └── res │ ├── font │ └── phosphor_v1_0_0.ttf │ └── values │ └── library_phosphor_strings.xml ├── pixeden-7-stroke-typeface-library ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── pixeden7stroke │ │ ├── Initializer.kt │ │ └── Pixeden7Stroke.kt │ └── res │ ├── font │ └── pixeden_7_stroke_font_v1_2_0.ttf │ └── values │ ├── font_addon.xml │ └── library_pixden7stroke_strings.xml ├── release.sh ├── settings.gradle ├── simple-icons-typeface-library ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── simpleicons │ │ ├── Initializer.kt │ │ └── SimpleIcons.kt │ └── res │ ├── font │ └── simple_icons_font_v17_0_0.ttf │ └── values │ └── font_description.xml ├── typeicons-typeface-library ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mikepenz │ │ └── iconics │ │ └── typeface │ │ └── library │ │ └── typeicons │ │ ├── Initializer.kt │ │ └── Typeicons.kt │ └── res │ ├── font │ └── typeicons_font_v2_0_7_1.ttf │ └── values │ ├── font_addon.xml │ └── library_typicons_strings.xml └── weather-icons-typeface-library ├── .gitignore ├── build.gradle ├── consumer-proguard-rules.pro ├── gradle.properties ├── proguard-rules.pro └── src └── main ├── AndroidManifest.xml ├── java └── com │ └── mikepenz │ └── iconics │ └── typeface │ └── library │ └── weathericons │ ├── Initializer.kt │ └── WeatherIcons.kt └── res ├── font └── weather_icons_v2_0_10.ttf └── values ├── font_meteocons.xml └── library_weather_icons_strings.xml /.bundle/config: -------------------------------------------------------------------------------- 1 | --- 2 | BUNDLE_PATH: "vendor/bundle" 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [mikepenz] 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## About this issue 2 | 3 | - Briefly describe the issue 4 | - How can the issue be reproduced / sample code 5 | 6 | ## Details 7 | - [ ] Used library version 8 | - [ ] Used support library version 9 | - [ ] Used gradle build tools version 10 | - [ ] Used tooling / Android Studio version 11 | - [ ] Other used libraries, potential conflicting libraries 12 | 13 | ## Checklist 14 | 15 | - [ ] Searched for [similar issues](https://github.com/mikepenz/Android-Iconics/issues) 16 | - [ ] Checked out the [sample application](https://github.com/mikepenz/Android-Iconics/tree/develop/app) 17 | - [ ] Read the [README](https://github.com/mikepenz/Android-Iconics/blob/develop/README.md) 18 | - [ ] Checked out the [CHANGELOG](https://github.com/mikepenz/Android-Iconics/releases) 19 | - [ ] Read the [FAQ](https://github.com/mikepenz/Android-Iconics/blob/develop/FAQ.md) 20 | - [ ] Checked out the [MIGRATION GUIDE](https://github.com/mikepenz/Android-Iconics/blob/develop/MIGRATION.md) 21 | -------------------------------------------------------------------------------- /.github/ci-gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.daemon=true 2 | org.gradle.parallel=true 3 | org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=2048m 4 | -------------------------------------------------------------------------------- /.github/config/configuration.json: -------------------------------------------------------------------------------- 1 | { 2 | "categories": [ 3 | { 4 | "title": "## 🚀 Features", 5 | "labels": [ 6 | "feature" 7 | ] 8 | }, 9 | { 10 | "title": "## 🐛 Fixes", 11 | "labels": [ 12 | "fix" 13 | ] 14 | }, 15 | { 16 | "title": "## 🧪 Tests", 17 | "labels": [ 18 | "test" 19 | ] 20 | }, 21 | { 22 | "title": "## 💬 Other", 23 | "labels": [ 24 | "other" 25 | ] 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | *.iml 15 | .idea/* 16 | 17 | # Gradle files 18 | .gradle/ 19 | build/ 20 | 21 | # Local configuration file (sdk path, etc) 22 | local.properties 23 | /captures 24 | 25 | # Proguard folder generated by Eclipse 26 | proguard/ 27 | 28 | # Log Files 29 | *.log 30 | functiongraphic.psd 31 | 32 | vendor/* 33 | .kotlin -------------------------------------------------------------------------------- /DEV/extractor/extract.js: -------------------------------------------------------------------------------- 1 | var fs = require('fs'); 2 | 3 | var PATTERN_KEY = /([^\.]+?)(?=:before { content: )/g; 4 | var PATTERN_VALUE = /\\e(\d*|\w*)'/g; 5 | 6 | fs.readFile("test.css", 'utf8', function(err, data) { 7 | match = PATTERN_KEY.exec(data); 8 | match2 = PATTERN_VALUE.exec(data); 9 | while (match != null) { 10 | var key = match[0]; 11 | var value = match2[0]; 12 | 13 | key = key.replace(/-/g, '_'); 14 | value = value.replace(/\\e/g, '\\ue'); 15 | 16 | console.log(key + "('" + value + "),"); 17 | // matched text: match[0] 18 | // match start: match.index 19 | // capturing group n: match[n] 20 | match = PATTERN_KEY.exec(data); 21 | match2 = PATTERN_VALUE.exec(data); 22 | } 23 | }); -------------------------------------------------------------------------------- /DEV/fa-extractor/fontawesome_extractor.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | URL="https://fortawesome.github.io/Font-Awesome/cheatsheet/" 4 | PATTERN_VALUE="&#x([0-9a-zA-Z]+)" 5 | PATTERN_KEY="(fa-[a-zA-Z0-9_-]+)" 6 | 7 | curl -silent "$URL" | sed -En " 8 | # Look for the value pattern 9 | /$PATTERN_VALUE/ { 10 | # If found, read the next line 11 | N 12 | # Look for the key pattern 13 | /$PATTERN_KEY/ { 14 | # If found, print the formated key/value pair 15 | s/.*$PATTERN_VALUE.*\n.*$PATTERN_KEY.*/\2('\\\u\1'),/ 16 | # Replace '-' by '_' in order to have proper enum name 17 | s/-/_/g 18 | # Only print these results 19 | p 20 | } 21 | }" | sort 22 | 23 | 24 | 25 | #** 26 | # * Copyright 2013 Joan Zapata 27 | #* 28 | #* Licensed under the Apache License, Version 2.0 (the "License"); 29 | #* you may not use this file except in compliance with the License. 30 | #* You may obtain a copy of the License at 31 | #* 32 | #* http://www.apache.org/licenses/LICENSE-2.0 33 | #* 34 | #* Unless required by applicable law or agreed to in writing, software 35 | #* distributed under the License is distributed on an "AS IS" BASIS, 36 | #* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 37 | #* See the License for the specific language governing permissions and 38 | #* limitations under the License. 39 | #*/ 40 | -------------------------------------------------------------------------------- /DEV/font-modifying-mac/google_material_design.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/font-modifying-mac/google_material_design.ttf -------------------------------------------------------------------------------- /DEV/font-modifying-mac/info.txt: -------------------------------------------------------------------------------- 1 | #http://mbauman.net/geek/2009/03/15/minor-truetype-font-editing-on-a-mac/ 2 | #dumping 3 | ftxdumperfuser -t cmap -A d MaterialIcons-Regular.ttf 4 | #add-back 5 | ftxdumperfuser -t cmap -A f MaterialIcons-Regular.ttf -------------------------------------------------------------------------------- /DEV/functiongraphic/functiongraphic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/functiongraphic/functiongraphic.png -------------------------------------------------------------------------------- /DEV/github/2017-11-18 12.39.39.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/2017-11-18 12.39.39.jpg -------------------------------------------------------------------------------- /DEV/github/2017-11-18 12.39.46.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/2017-11-18 12.39.46.jpg -------------------------------------------------------------------------------- /DEV/github/2017-11-18 12.39.48.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/2017-11-18 12.39.48.jpg -------------------------------------------------------------------------------- /DEV/github/2017-11-18 12.39.54.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/2017-11-18 12.39.54.jpg -------------------------------------------------------------------------------- /DEV/github/2017-11-18 12.39.57.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/2017-11-18 12.39.57.jpg -------------------------------------------------------------------------------- /DEV/github/2017-11-18 12.40.00.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/2017-11-18 12.40.00.jpg -------------------------------------------------------------------------------- /DEV/github/2017-11-18 12.40.04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/2017-11-18 12.40.04.jpg -------------------------------------------------------------------------------- /DEV/github/banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/banner.png -------------------------------------------------------------------------------- /DEV/github/screenshots1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/screenshots1.jpg -------------------------------------------------------------------------------- /DEV/github/wiki/button_sample_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/button_sample_1.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/button_sample_2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/button_sample_2.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/check_box_sample_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/check_box_sample_1.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/check_box_sample_2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/check_box_sample_2.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/checkable_text_view_sample_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/checkable_text_view_sample_1.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/checkable_text_view_sample_2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/checkable_text_view_sample_2.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/image_button_sample_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/image_button_sample_1.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/image_view_sample_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/image_view_sample_1.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/text_view_sample_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/text_view_sample_1.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/text_view_sample_2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/text_view_sample_2.PNG -------------------------------------------------------------------------------- /DEV/github/wiki/text_view_sample_3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/github/wiki/text_view_sample_3.PNG -------------------------------------------------------------------------------- /DEV/icon/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/icon/icon.png -------------------------------------------------------------------------------- /DEV/icon/icon.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/icon/icon.psd -------------------------------------------------------------------------------- /DEV/icon/icon_x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/icon/icon_x144.png -------------------------------------------------------------------------------- /DEV/icon/icon_x196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/icon/icon_x196.png -------------------------------------------------------------------------------- /DEV/icon/icon_x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/icon/icon_x512.png -------------------------------------------------------------------------------- /DEV/icon/icon_x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/icon/icon_x72.png -------------------------------------------------------------------------------- /DEV/icon/icon_x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/DEV/icon/icon_x96.png -------------------------------------------------------------------------------- /FAQ.md: -------------------------------------------------------------------------------- 1 | # FAQ / WIKI 2 | 3 | This is the official **Android-Iconics** FAQ/Wiki. People can contribute to it through pull requests. 4 | Each question and it's answer is hosted in a separate file within the FAQ folder. 5 | 6 | ## Overview 7 | 8 | * [TextView crashes with IOOBE using the IconicsLayoutInflator2](FAQ/textview_ioobe.md) -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | # frozen_string_literal: true 2 | 3 | source "https://rubygems.org" 4 | 5 | git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } 6 | 7 | gem 'danger' 8 | gem 'danger-android_lint' 9 | gem 'danger-kotlin_detekt' -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | title: Android-Iconics 2 | description: Android-Iconics - Use any icon font, or vector (.svg) as drawable in your application. 3 | show_downloads: true 4 | theme: jekyll-theme-minimal 5 | 6 | gems: 7 | - jekyll-mentions 8 | - jekyll-readme-index -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Entwicklung/android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/main/assets/font/materialdrawerfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/assets/font/materialdrawerfont.ttf -------------------------------------------------------------------------------- /app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /app/src/main/java/com/mikepenz/iconics/sample/CustomApplication.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.sample 18 | 19 | import androidx.multidex.MultiDexApplication 20 | import com.google.android.material.color.DynamicColors 21 | import com.mikepenz.iconics.Iconics 22 | import com.mikepenz.iconics.sample.typeface.CustomFont 23 | import com.mikepenz.iconics.typeface.GenericFont 24 | 25 | class CustomApplication : MultiDexApplication() { 26 | override fun onCreate() { 27 | super.onCreate() 28 | 29 | DynamicColors.applyToActivitiesIfAvailable(this) 30 | 31 | //register custom fonts like this (or also provide a font definition file) 32 | Iconics.registerFont(CustomFont) 33 | 34 | //Generic font creation process 35 | GenericFont("GenericFont", "SampleGenericFont", "gnf", "font/materialdrawerfont.ttf") 36 | .also { 37 | it.registerIcon("person", '\ue800') 38 | it.registerIcon("up", '\ue801') 39 | it.registerIcon("down", '\ue802') 40 | Iconics.registerFont(it) 41 | } 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /app/src/main/java/com/mikepenz/iconics/sample/SpaceItemDecoration.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.sample 18 | 19 | import android.graphics.Rect 20 | import android.view.View 21 | import androidx.recyclerview.widget.RecyclerView 22 | import com.mikepenz.iconics.utils.IconicsUtils 23 | 24 | /** 25 | * @author pa.gulko zTrap (28.10.2017) 26 | */ 27 | class SpaceItemDecoration : RecyclerView.ItemDecoration() { 28 | override fun getItemOffsets( 29 | outRect: Rect, 30 | view: View, 31 | parent: RecyclerView, 32 | state: RecyclerView.State 33 | ) { 34 | val space = IconicsUtils.convertDpToPx(view.context, 8) 35 | val position = parent.getChildAdapterPosition(view) 36 | if (position < 2) { 37 | outRect.top = space 38 | } 39 | if ((position + 1) % 2 == 0) { 40 | outRect.right = space 41 | } 42 | outRect.left = space 43 | outRect.bottom = outRect.left 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /app/src/main/java/com/mikepenz/iconics/sample/utils/getThemeColor.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.sample.utils 2 | 3 | import android.content.Context 4 | import android.util.TypedValue 5 | import androidx.core.content.ContextCompat 6 | 7 | fun Context.getThemeColor(attr: Int): Int { 8 | val tv = TypedValue() 9 | return if (this.theme.resolveAttribute(attr, tv, true)) { 10 | if (tv.resourceId != 0) { 11 | ContextCompat.getColor(this, tv.resourceId) 12 | } else { 13 | tv.data 14 | } 15 | } else { 16 | 0 17 | } 18 | } -------------------------------------------------------------------------------- /app/src/main/res/color/color_states_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/color/color_states_bg_contour.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/color/color_states_bottom_navigation_icons.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/color/color_states_contour.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/color/color_states_icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v21/button_rect_list_normal.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/gmd_favorite.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_rect_list_normal.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/gmd_favorite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/drawable/gmd_favorite.png -------------------------------------------------------------------------------- /app/src/main/res/font/fontello.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/font/fontello.ttf -------------------------------------------------------------------------------- /app/src/main/res/layout/icons_fragment.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/layout/row_icon_array.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 23 | 24 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_navigation.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 20 | 21 | 24 | 25 | 28 | 29 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/menu/menu_playground.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 26 | 27 | 34 | 35 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values-v21/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 32 | 33 | -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 21 | 64dp 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 16dp 20 | 16dp 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | #2196F3 20 | -------------------------------------------------------------------------------- /app/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | Android-Iconics 21 | MainActivity 22 | Playground 23 | Automatic Mapping 24 | Old Automatic Mapping 25 | 26 | Randomize 27 | Shadow 28 | Respect font bounds 29 | Open Source 30 | Playground 31 | Automatic Mapping 32 | Old Automatic Mapping 33 | Suche 34 | 35 | -------------------------------------------------------------------------------- /community-material-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.community.material.CommunityMaterial { *; } 2 | -------------------------------------------------------------------------------- /community-material-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Community Material Icons Typeface Library 18 | POM_ARTIFACT_ID=community-material-typeface 19 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /community-material-typeface-library/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Entwicklung/android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /community-material-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /community-material-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/community/material/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.community.material 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(CommunityMaterial) 11 | return CommunityMaterial 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /community-material-typeface-library/src/main/res/font/community_material_design_icons_font_v7_0_96.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/community-material-typeface-library/src/main/res/font/community_material_design_icons_font_v7_0_96.ttf -------------------------------------------------------------------------------- /detekt.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "io.gitlab.arturbosch.detekt" 2 | 3 | detekt { 4 | toolVersion = "${versions.detekt}" 5 | //input = files("src/main/kotlin") 6 | config = files(buildscript.sourceFile.getParent().toString() + "/DEV/default-detekt-config.yml") 7 | 8 | } -------------------------------------------------------------------------------- /devicon-typeface-library/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | apply plugin: 'com.android.library' 18 | apply plugin: 'kotlin-android' 19 | apply from: "../gradle/compile.groovy" 20 | 21 | android { 22 | compileSdkVersion setup.compileSdk 23 | buildToolsVersion setup.buildTools 24 | 25 | defaultConfig { 26 | minSdkVersion setup.minSdk 27 | targetSdkVersion setup.targetSdk 28 | consumerProguardFiles 'consumer-proguard-rules.pro' 29 | versionCode 20008 30 | versionName "2.0.0.8-kotlin" 31 | 32 | resValue "string", "devicon_version", "${versionName}" 33 | } 34 | buildTypes { 35 | release { 36 | minifyEnabled false 37 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 38 | } 39 | } 40 | 41 | lintOptions { 42 | abortOnError false 43 | } 44 | namespace 'com.mikepenz.iconics.typeface.library.devicon' 45 | } 46 | if (project.hasProperty('pushall') || project.hasProperty('DevIcononly')) { 47 | apply from: '../gradle-release.gradle' 48 | } 49 | 50 | dependencies { 51 | implementation project(':iconics-typeface-api') 52 | } 53 | -------------------------------------------------------------------------------- /devicon-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.devicon.DevIcon { *; } 2 | -------------------------------------------------------------------------------- /devicon-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics DevIcon Typeface Library 18 | POM_ARTIFACT_ID=devicon-typeface 19 | POM_PACKAGING=aar 20 | -------------------------------------------------------------------------------- /devicon-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /devicon-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/devicon/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.devicon 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(DevIcon) 11 | return DevIcon 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /devicon-typeface-library/src/main/res/font/devicon_font_v2_0_0_1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/devicon-typeface-library/src/main/res/font/devicon_font_v2_0_0_1.ttf -------------------------------------------------------------------------------- /devicon-typeface-library/src/main/res/values/font_addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.devicon.DevIcon 20 | 21 | -------------------------------------------------------------------------------- /devicon-typeface-library/src/main/res/values/library_devicon_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | year;author;libraryName;libraryWebsite 20 | Konpa (Julien Monty) 21 | https://github.com/konpa 22 | Devicon 23 | Devicon is a set of icons representing programming languages, designing & development tools. You can use it as a font or directly copy/paste the svg code into your project. 24 | http://devicon.fr/ 25 | @string/devicon_version 26 | mit 27 | true 28 | https://github.com/konpa/devicon 29 | 30 | -------------------------------------------------------------------------------- /entypo-typeface-library/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | apply plugin: 'com.android.library' 18 | apply plugin: 'kotlin-android' 19 | apply from: "../gradle/compile.groovy" 20 | 21 | android { 22 | compileSdkVersion setup.compileSdk 23 | buildToolsVersion setup.buildTools 24 | 25 | defaultConfig { 26 | minSdkVersion setup.minSdk 27 | targetSdkVersion setup.targetSdk 28 | consumerProguardFiles 'consumer-proguard-rules.pro' 29 | versionCode 10008 30 | versionName "1.0.0.8-kotlin" 31 | 32 | resValue "string", "entypo_version", "${versionName}" 33 | } 34 | buildTypes { 35 | release { 36 | minifyEnabled false 37 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 38 | } 39 | } 40 | 41 | lintOptions { 42 | abortOnError false 43 | } 44 | namespace 'com.mikepenz.iconics.typeface.library.entypo' 45 | } 46 | if (project.hasProperty('pushall') || project.hasProperty('Entypoonly')) { 47 | apply from: '../gradle-release.gradle' 48 | } 49 | 50 | dependencies { 51 | implementation project(':iconics-typeface-api') 52 | } 53 | -------------------------------------------------------------------------------- /entypo-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.entypo.Entypo { *; } 2 | -------------------------------------------------------------------------------- /entypo-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Entypo Typeface Library 18 | POM_ARTIFACT_ID=entypo-typeface 19 | POM_PACKAGING=aar 20 | -------------------------------------------------------------------------------- /entypo-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /entypo-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/entypo/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.entypo 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(Entypo) 11 | return Entypo 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /entypo-typeface-library/src/main/res/font/entypo_font_v1_0_0_1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/entypo-typeface-library/src/main/res/font/entypo_font_v1_0_0_1.ttf -------------------------------------------------------------------------------- /entypo-typeface-library/src/main/res/values/font_addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.entypo.Entypo 20 | 21 | -------------------------------------------------------------------------------- /entypo-typeface-library/src/main/res/values/library_entypo_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | year;author;libraryName;libraryWebsite 20 | Daniel Bruce 21 | http://www.danielbruce.se/ 22 | Entypo+ 23 | Entypo+ is the third version of a free suite of premium quality pictograms. 24 | http://www.entypo.com/ 25 | @string/entypo_version 26 | cc40 27 | false 28 | 29 | 30 | -------------------------------------------------------------------------------- /fontawesome-typeface-library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /fontawesome-typeface-library/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | apply plugin: 'com.android.library' 18 | apply plugin: 'kotlin-android' 19 | apply from: "../gradle/compile.groovy" 20 | 21 | android { 22 | compileSdkVersion setup.compileSdk 23 | buildToolsVersion setup.buildTools 24 | 25 | defaultConfig { 26 | minSdkVersion setup.minSdk 27 | targetSdkVersion setup.targetSdk 28 | consumerProguardFiles 'consumer-proguard-rules.pro' 29 | versionCode 51331 30 | versionName "5.13.3.1-kotlin" 31 | 32 | resValue "string", "fontawesome_version", "${versionName}" 33 | } 34 | buildTypes { 35 | release { 36 | minifyEnabled false 37 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 38 | } 39 | } 40 | 41 | lintOptions { 42 | abortOnError false 43 | } 44 | namespace 'com.mikepenz.iconics.typeface.library.fontawesome' 45 | } 46 | if (project.hasProperty('pushall') || project.hasProperty('fontawesomeonly')) { 47 | apply from: '../gradle-release.gradle' 48 | } 49 | 50 | dependencies { 51 | implementation project(':iconics-typeface-api') 52 | } 53 | -------------------------------------------------------------------------------- /fontawesome-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.fontawesome.FontAwesome { *; } 2 | -------------------------------------------------------------------------------- /fontawesome-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics FontAwesome Typeface Library 18 | POM_ARTIFACT_ID=fontawesome-typeface 19 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /fontawesome-typeface-library/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Entwicklung/android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /fontawesome-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /fontawesome-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/fontawesome/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.fontawesome 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(FontAwesome) 11 | IconicsHolder.registerFont(FontAwesomeBrand) 12 | IconicsHolder.registerFont(FontAwesomeRegular) 13 | return FontAwesome 14 | } 15 | 16 | override fun dependencies(): List>> { 17 | return listOf(IconicsInitializer::class.java) 18 | } 19 | } -------------------------------------------------------------------------------- /fontawesome-typeface-library/src/main/res/font/fontawesome_brand_font_v5_13_3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/fontawesome-typeface-library/src/main/res/font/fontawesome_brand_font_v5_13_3.ttf -------------------------------------------------------------------------------- /fontawesome-typeface-library/src/main/res/font/fontawesome_regular_font_v5_13_3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/fontawesome-typeface-library/src/main/res/font/fontawesome_regular_font_v5_13_3.ttf -------------------------------------------------------------------------------- /fontawesome-typeface-library/src/main/res/font/fontawesome_solid_font_v5_13_3.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/fontawesome-typeface-library/src/main/res/font/fontawesome_solid_font_v5_13_3.ttf -------------------------------------------------------------------------------- /fontawesome-typeface-library/src/main/res/values/font_fontawesome.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.fontawesome.FontAwesome 20 | -------------------------------------------------------------------------------- /foundation-icons-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.foundationicons.FoundationIcons { *; } 2 | -------------------------------------------------------------------------------- /foundation-icons-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Foundation Icons Typeface Library 18 | POM_ARTIFACT_ID=foundation-icons-typeface 19 | POM_PACKAGING=aar 20 | -------------------------------------------------------------------------------- /foundation-icons-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /foundation-icons-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/foundationicons/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.foundationicons 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(FoundationIcons) 11 | return FoundationIcons 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /foundation-icons-typeface-library/src/main/res/font/foundation_icons_font_v3_0_0_1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/foundation-icons-typeface-library/src/main/res/font/foundation_icons_font_v3_0_0_1.ttf -------------------------------------------------------------------------------- /foundation-icons-typeface-library/src/main/res/values/font_addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.foundationicons.FoundationIcons 20 | 21 | -------------------------------------------------------------------------------- /foundation-icons-typeface-library/src/main/res/values/library_foundation_icon_fonts_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | year;author;libraryName;libraryWebsite 20 | ZURB Inc. 21 | http://zurb.com/ 22 | Foundation_Icon_Fonts 23 | A custom collection of 283 icons that are stored in a handy web font. 24 | http://zurb.com/playground/foundation-icon-fonts-3 25 | @string/foundation_version 26 | mit 27 | false 28 | 29 | 30 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.googlematerial.GoogleMaterial { *; } 2 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | POM_NAME=Android-Iconics Google Material Typeface Library 17 | POM_ARTIFACT_ID=google-material-typeface 18 | POM_PACKAGING=aar 19 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/googlematerial/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.googlematerial 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(GoogleMaterial) 11 | return GoogleMaterial 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-library/src/main/res/font/google_material_font_filled_v4_0_0_0_original.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/google-material-typeface/google-material-typeface-library/src/main/res/font/google_material_font_filled_v4_0_0_0_original.ttf -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-outlined-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.googlematerial.OutlinedGoogleMaterial { *; } 2 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-outlined-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | POM_NAME=Android-Iconics Google Material Typeface Outlined Library 17 | POM_ARTIFACT_ID=google-material-typeface-outlined 18 | POM_PACKAGING=aar 19 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-outlined-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-outlined-library/src/main/java/com/mikepenz/iconics/typeface/library/googlematerial/OutlinedInitializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.googlematerial 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class OutlinedInitializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(OutlinedGoogleMaterial) 11 | return OutlinedGoogleMaterial 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-outlined-library/src/main/res/font/google_material_font_outlined_v4_0_0_0_original.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/google-material-typeface/google-material-typeface-outlined-library/src/main/res/font/google_material_font_outlined_v4_0_0_0_original.ttf -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-rounded-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.googlematerial.RoundedGoogleMaterial { *; } 2 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-rounded-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | POM_NAME=Android-Iconics Google Material Typeface Rounded Library 17 | POM_ARTIFACT_ID=google-material-typeface-rounded 18 | POM_PACKAGING=aar 19 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-rounded-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-rounded-library/src/main/java/com/mikepenz/iconics/typeface/library/googlematerial/RoundedInitializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.googlematerial 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class RoundedInitializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(RoundedGoogleMaterial) 11 | return RoundedGoogleMaterial 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-rounded-library/src/main/res/font/google_material_font_rounded_v4_0_0_0_original.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/google-material-typeface/google-material-typeface-rounded-library/src/main/res/font/google_material_font_rounded_v4_0_0_0_original.ttf -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-sharp-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.googlematerial.SharpGoogleMaterial { *; } 2 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-sharp-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | POM_NAME=Android-Iconics Google Material Typeface Sharp Library 17 | POM_ARTIFACT_ID=google-material-typeface-sharp 18 | POM_PACKAGING=aar 19 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-sharp-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-sharp-library/src/main/java/com/mikepenz/iconics/typeface/library/googlematerial/SharpInitializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.googlematerial 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class SharpInitializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(SharpGoogleMaterial) 11 | return SharpGoogleMaterial 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /google-material-typeface/google-material-typeface-sharp-library/src/main/res/font/google_material_font_sharp_v4_0_0_0_original.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/google-material-typeface/google-material-typeface-sharp-library/src/main/res/font/google_material_font_sharp_v4_0_0_0_original.ttf -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | GROUP=com.mikepenz 17 | 18 | POM_DESCRIPTION=Android-Iconics Library 19 | 20 | POM_URL=https://github.com/mikepenz/Android-Iconics 21 | 22 | POM_SCM_URL=https://github.com/mikepenz/Android-Iconics 23 | POM_SCM_CONNECTION=scm:git@github.com:mikepenz/Android-Iconics.git 24 | POM_SCM_DEV_CONNECTION=scm:git@github.com:mikepenz/Android-Iconics.git 25 | POM_SCM_URL_ISSUES=https://github.com/mikepenz/Android-Iconics/issues 26 | 27 | POM_GITHUB_REPO=mikepenz/Android-Iconics 28 | POM_GITHUB_README=README.md 29 | 30 | POM_LICENCE_NAME=Apache-2.0 31 | POM_LICENCE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt 32 | POM_LICENCE_DIST=repo 33 | 34 | POM_DEVELOPER_ID=mikepenz 35 | POM_DEVELOPER_NAME=Mike Penz 36 | 37 | android.useAndroidX=true 38 | android.defaults.buildfeatures.buildconfig=true 39 | android.nonTransitiveRClass=false 40 | android.nonFinalResIds=false -------------------------------------------------------------------------------- /gradle/compile.groovy: -------------------------------------------------------------------------------- 1 | apply plugin: "kotlin-android" 2 | 3 | android { 4 | compileOptions { 5 | sourceCompatibility = JavaVersion.VERSION_17 6 | targetCompatibility = JavaVersion.VERSION_17 7 | 8 | kotlinOptions { 9 | jvmTarget = "17" 10 | } 11 | } 12 | 13 | java { 14 | sourceCompatibility = JavaVersion.VERSION_17 15 | targetCompatibility = JavaVersion.VERSION_17 16 | } 17 | 18 | kotlinOptions { 19 | jvmTarget = "17" 20 | } 21 | } 22 | 23 | java { 24 | toolchain { 25 | languageVersion = JavaLanguageVersion.of(17) 26 | } 27 | } 28 | 29 | kotlin { 30 | jvmToolchain { 31 | languageVersion = JavaLanguageVersion.of(17) 32 | } 33 | } -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /iconics-compose/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /iconics-compose/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/iconics-compose/consumer-proguard-rules.pro -------------------------------------------------------------------------------- /iconics-compose/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | POM_NAME=Android-Iconics Library 17 | POM_ARTIFACT_ID=iconics-compose 18 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /iconics-compose/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /iconics-core/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /iconics-core/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep public class * extends com.mikepenz.iconics.animation.IconicsAnimationProcessor { *; } 2 | -------------------------------------------------------------------------------- /iconics-core/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Library 18 | POM_ARTIFACT_ID=iconics-core 19 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /iconics-core/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 19 | 20 | 21 | 26 | 29 | 32 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/IconicsExtractor.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics 18 | 19 | /** 20 | * @author pa.gulko zTrap (20.01.2018) 21 | */ 22 | internal interface IconicsExtractor { 23 | companion object { 24 | const val DEF_COLOR: Int = Int.MIN_VALUE 25 | const val DEF_RESOURCE: Int = -1 26 | val DEF_SIZE: Number = -1 27 | } 28 | } -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/WrappedDrawable.java: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics; 2 | 3 | import android.graphics.drawable.Drawable; 4 | 5 | import androidx.annotation.Nullable; 6 | 7 | /** 8 | * Note: This wrapper class is required to fix a compile time issue of a non correct nullable annotation in the [Drawable] class. 9 | * 10 | * @suppress 11 | */ 12 | public abstract class WrappedDrawable extends Drawable { 13 | 14 | // Note `IntArray` here can be null!! 15 | // Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter stateSet 16 | // at com.mikepenz.iconics.IconicsDrawable.setState(IconicsDrawable.kt) 17 | // Keep library at Compile 28 to allow nullable type 18 | @Override 19 | public boolean setState(@Nullable int[] stateSet) { 20 | if (stateSet != null) { 21 | return super.setState(stateSet); 22 | } else { 23 | return false; 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationExtensions.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.animation 18 | 19 | import android.view.View 20 | import com.mikepenz.iconics.IconicsDrawable 21 | 22 | fun View.tryToEnableIconicsAnimation(drawable: IconicsDrawable?): IconicsDrawable? { 23 | (drawable as? IconicsAnimatedDrawable)?.let { drawable.animateIn(this) } 24 | return drawable 25 | } 26 | 27 | fun View.tryToEnableIconicsAnimation(vararg drawables: IconicsDrawable?) { 28 | drawables.mapNotNull { (it as? IconicsAnimatedDrawable) }.forEach { it.animateIn(this) } 29 | } -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/animation/IconicsAnimationPauseListener.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.animation 18 | 19 | import android.os.Build 20 | 21 | import androidx.annotation.RequiresApi 22 | 23 | /** 24 | * @author pa.gulko zTrap (01.12.2018) 25 | */ 26 | @RequiresApi(Build.VERSION_CODES.KITKAT) 27 | interface IconicsAnimationPauseListener { 28 | /** 29 | * Notifies that the processor was paused. 30 | * 31 | * @param processor The processor being paused. 32 | * @see IconicsAnimationProcessor.pause 33 | */ 34 | @RequiresApi(Build.VERSION_CODES.KITKAT) 35 | fun onAnimationPause(processor: IconicsAnimationProcessor) { 36 | } 37 | 38 | /** 39 | * Notifies that the processor was resumed, after being 40 | * previously paused. 41 | * 42 | * @param processor The processor being resumed. 43 | * @see IconicsAnimationProcessor.resume 44 | */ 45 | @RequiresApi(Build.VERSION_CODES.KITKAT) 46 | fun onAnimationResume(processor: IconicsAnimationProcessor) { 47 | } 48 | } -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/context/IconicsContextWrapper.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.context 18 | 19 | import android.content.Context 20 | import android.content.ContextWrapper 21 | import android.view.LayoutInflater 22 | 23 | /** 24 | * Base created by Christopher Jenkins 25 | * https://github.com/chrisjenx/Calligraphy 26 | */ 27 | @Deprecated(message = "Use the IconicsImageView or IconicsTextView instead") 28 | class IconicsContextWrapper private constructor(base: Context) : ContextWrapper(base) { 29 | 30 | private val inflater by lazy { 31 | InternalLayoutInflater(LayoutInflater.from(baseContext), this, false) 32 | } 33 | 34 | override fun getSystemService(name: String): Any? { 35 | return if (Context.LAYOUT_INFLATER_SERVICE == name) { 36 | inflater 37 | } else { 38 | super.getSystemService(name) 39 | } 40 | } 41 | 42 | companion object { 43 | @JvmStatic fun wrap(base: Context): ContextWrapper = IconicsContextWrapper(base) 44 | } 45 | } -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/context/IconicsLayoutInflater.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | @file:Suppress("DEPRECATION") 18 | 19 | package com.mikepenz.iconics.context 20 | 21 | import android.content.Context 22 | import android.util.AttributeSet 23 | import android.view.View 24 | 25 | import androidx.appcompat.app.AppCompatDelegate 26 | import androidx.core.view.LayoutInflaterFactory 27 | 28 | /** 29 | * Created by mikepenz on 01.12.15. 30 | */ 31 | @Deprecated(message = "Use the IconicsImageView or IconicsTextView instead") 32 | class IconicsLayoutInflater( 33 | private val appCompatDelegate: AppCompatDelegate 34 | ) : LayoutInflaterFactory { 35 | 36 | override fun onCreateView( 37 | parent: View?, 38 | name: String, 39 | context: Context, 40 | attrs: AttributeSet 41 | ): View? { 42 | val view = appCompatDelegate.createView(parent, name, context, attrs) 43 | return IconicsFactory.onViewCreated(view, context, attrs) 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/utils/IconicsLogger.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.utils 2 | 3 | import android.util.Log 4 | 5 | /** 6 | * @author pa.gulko zTrap (01.04.2019) 7 | */ 8 | interface IconicsLogger { 9 | fun log(priority: Int, tag: String, msg: String, t: Throwable? = null) 10 | 11 | companion object { 12 | @JvmField val DEFAULT = object : IconicsLogger { 13 | override fun log(priority: Int, tag: String, msg: String, t: Throwable?) { 14 | Log.println(priority, tag, msg) 15 | t?.let { Log.println(priority, tag, Log.getStackTraceString(it)) } 16 | } 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/utils/IconicsTypefaceSpan.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.utils 18 | 19 | import android.graphics.Paint 20 | import android.graphics.Typeface 21 | import android.text.TextPaint 22 | import android.text.style.TypefaceSpan 23 | 24 | class IconicsTypefaceSpan(family: String, private val newType: Typeface) : TypefaceSpan(family) { 25 | 26 | override fun updateDrawState(ds: TextPaint) { 27 | applyCustomTypeFace(ds, newType) 28 | } 29 | 30 | override fun updateMeasureState(paint: TextPaint) { 31 | applyCustomTypeFace(paint, newType) 32 | } 33 | 34 | private fun applyCustomTypeFace(paint: Paint, tf: Typeface) { 35 | val oldStyle: Int 36 | val old = paint.typeface 37 | oldStyle = old?.style ?: 0 38 | 39 | val fake = oldStyle and tf.style.inv() 40 | if (fake and Typeface.BOLD != 0) { 41 | paint.isFakeBoldText = true 42 | } 43 | 44 | if (fake and Typeface.ITALIC != 0) { 45 | paint.textSkewX = -0.25f 46 | } 47 | 48 | paint.typeface = tf 49 | } 50 | } -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/utils/StyleContainer.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.utils 18 | 19 | import android.text.ParcelableSpan 20 | import android.text.Spannable 21 | import android.text.style.CharacterStyle 22 | import com.mikepenz.iconics.typeface.ITypeface 23 | 24 | internal class StyleContainer( 25 | var startIndex: Int = 0, 26 | var endIndex: Int = 0, 27 | var icon: String? = null, 28 | var font: ITypeface? = null, 29 | var span: ParcelableSpan? = null, 30 | var style: CharacterStyle? = null, 31 | var flags: Int = Spannable.SPAN_EXCLUSIVE_EXCLUSIVE 32 | ) 33 | -------------------------------------------------------------------------------- /iconics-core/src/main/java/com/mikepenz/iconics/utils/TextStyleContainer.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.utils 18 | 19 | import android.text.SpannableStringBuilder 20 | import java.util.LinkedList 21 | 22 | internal class TextStyleContainer( 23 | var spannableStringBuilder: SpannableStringBuilder, 24 | var styleContainers: LinkedList 25 | ) -------------------------------------------------------------------------------- /iconics-core/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /iconics-typeface-api/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /iconics-typeface-api/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep public class * extends com.mikepenz.iconics.animation.IconicsAnimationProcessor { *; } 2 | -------------------------------------------------------------------------------- /iconics-typeface-api/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Typeface API Library 18 | POM_ARTIFACT_ID=iconics-typeface-api 19 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /iconics-typeface-api/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /iconics-typeface-api/src/main/java/com/mikepenz/iconics/typeface/IIcon.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2020 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.typeface 18 | 19 | import androidx.compose.runtime.Immutable 20 | 21 | /** 22 | * Created by mikepenz on 06.11.14. 23 | */ 24 | @Immutable 25 | interface IIcon { 26 | val formattedName: String 27 | get() = "{$name}" 28 | 29 | val name: String 30 | 31 | val character: Char 32 | 33 | val typeface: ITypeface 34 | } -------------------------------------------------------------------------------- /iconics-typeface-api/src/main/java/com/mikepenz/iconics/typeface/ITypeface.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.typeface 18 | 19 | import android.graphics.Typeface 20 | import androidx.annotation.FontRes 21 | import androidx.core.content.res.ResourcesCompat 22 | 23 | /** 24 | * Created by mikepenz on 01.11.14. 25 | */ 26 | interface ITypeface { 27 | 28 | val rawTypeface: Typeface 29 | get() = runCatching { 30 | ResourcesCompat.getFont(IconicsHolder.applicationContext, fontRes) 31 | }.getOrNull() ?: Typeface.DEFAULT 32 | 33 | @get:FontRes val fontRes: Int 34 | 35 | val characters: Map 36 | 37 | /** The Mapping Prefix to identify this font must have a length of 3 */ 38 | val mappingPrefix: String 39 | 40 | val fontName: String 41 | 42 | val version: String 43 | 44 | val iconCount: Int 45 | 46 | val icons: List 47 | 48 | val author: String 49 | 50 | val url: String 51 | 52 | val description: String 53 | 54 | val license: String 55 | 56 | val licenseUrl: String 57 | 58 | fun getIcon(key: String): IIcon 59 | } -------------------------------------------------------------------------------- /iconics-typeface-api/src/main/java/com/mikepenz/iconics/typeface/IconicsInitializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface 2 | 3 | import android.content.Context 4 | import androidx.startup.Initializer 5 | 6 | class IconicsInitializer : Initializer { 7 | override fun create(context: Context): IconicsHolder { 8 | IconicsHolder.applicationContext = context 9 | return IconicsHolder 10 | } 11 | 12 | override fun dependencies(): List>> { 13 | return emptyList() 14 | } 15 | } -------------------------------------------------------------------------------- /iconics-typeface-api/src/main/java/com/mikepenz/iconics/typeface/utils/IconicsPreconditions.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.utils 2 | 3 | import androidx.annotation.RestrictTo 4 | 5 | /** 6 | * @author pa.gulko zTrap (19.03.2019) 7 | */ 8 | @RestrictTo(RestrictTo.Scope.LIBRARY_GROUP_PREFIX) 9 | object IconicsPreconditions { 10 | 11 | @JvmStatic fun checkMappingPrefix(s: String) { 12 | if (s.length == 3) return 13 | throw IllegalArgumentException("The mapping prefix of a font must be 3 characters long.") 14 | } 15 | } -------------------------------------------------------------------------------- /iconics-views/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /iconics-views/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Library 18 | POM_ARTIFACT_ID=iconics-views 19 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /iconics-views/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in C:\Android\sdk_3_0/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Uncomment this to preserve the line number information for 20 | # debugging stack traces. 21 | #-keepattributes SourceFile,LineNumberTable 22 | 23 | # If you keep the line number information, uncomment this to 24 | # hide the original source file name. 25 | #-renamesourcefileattribute SourceFile 26 | -------------------------------------------------------------------------------- /iconics-views/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /iconics-views/src/main/java/com/mikepenz/iconics/internal/CheckableIconBundle.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.internal 18 | 19 | import android.content.Context 20 | import android.graphics.drawable.StateListDrawable 21 | import com.mikepenz.iconics.IconicsDrawable 22 | import com.mikepenz.iconics.utils.IconicsUtils 23 | 24 | /** 25 | * @author pa.gulko zTrap (07.07.2017) 26 | */ 27 | internal class CheckableIconBundle { 28 | var animateChanges: Boolean = false 29 | var checkedIcon: IconicsDrawable? = null 30 | var uncheckedIcon: IconicsDrawable? = null 31 | 32 | fun createIcons(ctx: Context) { 33 | checkedIcon = IconicsDrawable(ctx) 34 | uncheckedIcon = IconicsDrawable(ctx) 35 | } 36 | 37 | fun createStates(ctx: Context): StateListDrawable { 38 | return IconicsUtils.getCheckableIconStateList( 39 | ctx, 40 | uncheckedIcon, 41 | checkedIcon, 42 | animateChanges 43 | ) 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /iconics-views/src/main/java/com/mikepenz/iconics/internal/CheckedCompoundIconicsDrawables.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.internal 18 | 19 | import com.mikepenz.iconics.IconicsDrawable 20 | 21 | /** 22 | * @author pa.gulko zTrap (09.07.2017) 23 | */ 24 | internal interface CheckedCompoundIconicsDrawables { 25 | 26 | var checkedIconicsDrawableStart: IconicsDrawable? 27 | 28 | var checkedIconicsDrawableTop: IconicsDrawable? 29 | 30 | var checkedIconicsDrawableEnd: IconicsDrawable? 31 | 32 | var checkedIconicsDrawableBottom: IconicsDrawable? 33 | 34 | fun setCheckedDrawableForAll(drawable: IconicsDrawable?) 35 | } 36 | -------------------------------------------------------------------------------- /iconics-views/src/main/java/com/mikepenz/iconics/internal/CompoundIconicsDrawables.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.internal 18 | 19 | import com.mikepenz.iconics.IconicsDrawable 20 | 21 | /** 22 | * @author pa.gulko zTrap (06.07.2017) 23 | */ 24 | internal interface CompoundIconicsDrawables { 25 | 26 | var iconicsDrawableStart: IconicsDrawable? 27 | 28 | var iconicsDrawableTop: IconicsDrawable? 29 | 30 | var iconicsDrawableEnd: IconicsDrawable? 31 | 32 | var iconicsDrawableBottom: IconicsDrawable? 33 | 34 | fun setDrawableForAll(drawable: IconicsDrawable?) 35 | } 36 | -------------------------------------------------------------------------------- /iconics-views/src/main/java/com/mikepenz/iconics/internal/CompoundIconsBundle.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.internal 18 | 19 | import android.widget.TextView 20 | import androidx.core.widget.TextViewCompat 21 | import com.mikepenz.iconics.IconicsDrawable 22 | 23 | /** 24 | * @author pa.gulko zTrap (06.07.2017) 25 | */ 26 | internal class CompoundIconsBundle { 27 | var startIcon: IconicsDrawable? = null 28 | var topIcon: IconicsDrawable? = null 29 | var endIcon: IconicsDrawable? = null 30 | var bottomIcon: IconicsDrawable? = null 31 | 32 | fun setIcons(textView: TextView) { 33 | val drawables = TextViewCompat.getCompoundDrawablesRelative(textView) 34 | 35 | TextViewCompat.setCompoundDrawablesRelativeWithIntrinsicBounds( 36 | textView, 37 | startIcon ?: drawables[0], 38 | topIcon ?: drawables[1], 39 | endIcon ?: drawables[2], 40 | bottomIcon ?: drawables[3] 41 | ) 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /iconics-views/src/main/java/com/mikepenz/iconics/view/IconicsCheckBox.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.view 18 | 19 | import android.content.Context 20 | import android.util.AttributeSet 21 | 22 | /** 23 | * @author pa.gulko zTrap (06.07.2017) 24 | */ 25 | open class IconicsCheckBox @JvmOverloads constructor( 26 | context: Context, 27 | attrs: AttributeSet? = null, 28 | defStyle: Int = androidx.appcompat.R.attr.checkboxStyle 29 | ) : IconicsCompoundButton(context, attrs, defStyle) { 30 | 31 | override fun getAccessibilityClassName(): CharSequence { 32 | return IconicsCheckBox::class.java.name 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /iconics-views/src/main/java/com/mikepenz/iconics/view/IconicsImageButton.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.view 18 | 19 | import android.content.Context 20 | import android.util.AttributeSet 21 | import android.widget.ImageButton 22 | 23 | open class IconicsImageButton @JvmOverloads constructor( 24 | context: Context, 25 | attrs: AttributeSet? = null, 26 | defStyle: Int = android.R.attr.buttonStyle 27 | ) : IconicsImageView(context, attrs, defStyle) { 28 | 29 | init { 30 | isFocusable = true 31 | } 32 | 33 | override fun onSetAlpha(alpha: Int): Boolean = false 34 | 35 | override fun getAccessibilityClassName(): CharSequence = ImageButton::class.java.name 36 | } 37 | -------------------------------------------------------------------------------- /iconics-views/src/main/java/com/mikepenz/iconics/view/IconicsImageView.kt: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.mikepenz.iconics.view 18 | 19 | import android.content.Context 20 | import android.util.AttributeSet 21 | import android.widget.ImageView 22 | import androidx.appcompat.widget.AppCompatImageView 23 | import com.mikepenz.iconics.IconicsDrawable 24 | import com.mikepenz.iconics.animation.tryToEnableIconicsAnimation 25 | import com.mikepenz.iconics.internal.IconicsViewsAttrsApplier 26 | 27 | open class IconicsImageView @JvmOverloads constructor( 28 | context: Context, 29 | attrs: AttributeSet? = null, 30 | defStyle: Int = 0 31 | ) : AppCompatImageView(context, attrs, defStyle) { 32 | 33 | var icon: IconicsDrawable? 34 | get() = drawable as? IconicsDrawable 35 | set(icon) = setImageDrawable(tryToEnableIconicsAnimation(icon)) 36 | 37 | init { 38 | //set the scale type for this view 39 | scaleType = ImageView.ScaleType.CENTER_INSIDE 40 | 41 | icon = IconicsViewsAttrsApplier.getIconicsImageViewDrawable(context, attrs) 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /iconics-views/src/main/res/values/string.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | 0 21 | -1 22 | -1 23 | 0 24 | -1 25 | 0 26 | -1 27 | -------------------------------------------------------------------------------- /ionicons-typeface-library/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | apply plugin: 'com.android.library' 18 | apply plugin: 'kotlin-android' 19 | apply from: "../gradle/compile.groovy" 20 | 21 | android { 22 | compileSdkVersion setup.compileSdk 23 | buildToolsVersion setup.buildTools 24 | 25 | defaultConfig { 26 | minSdkVersion setup.minSdk 27 | targetSdkVersion setup.targetSdk 28 | consumerProguardFiles 'consumer-proguard-rules.pro' 29 | versionCode 20108 30 | versionName "2.0.1.8-kotlin" 31 | 32 | resValue "string", "iconics_version", "${versionName}" 33 | } 34 | buildTypes { 35 | release { 36 | minifyEnabled false 37 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 38 | } 39 | } 40 | 41 | lintOptions { 42 | abortOnError false 43 | } 44 | namespace 'com.mikepenz.iconics.typeface.library.ionicons' 45 | } 46 | if (project.hasProperty('pushall') || project.hasProperty('Ioniconsonly')) { 47 | apply from: '../gradle-release.gradle' 48 | } 49 | 50 | dependencies { 51 | implementation project(':iconics-typeface-api') 52 | } 53 | -------------------------------------------------------------------------------- /ionicons-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.ionicons.Ionicons { *; } 2 | -------------------------------------------------------------------------------- /ionicons-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Ionicons Typeface Library 18 | POM_ARTIFACT_ID=ionicons-typeface 19 | POM_PACKAGING=aar 20 | -------------------------------------------------------------------------------- /ionicons-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /ionicons-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/ionicons/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.ionicons 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(Ionicons) 11 | return Ionicons 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ionicons-typeface-library/src/main/res/font/ionicons_font_v2_0_1_1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/ionicons-typeface-library/src/main/res/font/ionicons_font_v2_0_1_1.ttf -------------------------------------------------------------------------------- /ionicons-typeface-library/src/main/res/values/font_addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.ionicons.Ionicons 20 | 21 | -------------------------------------------------------------------------------- /ionicons-typeface-library/src/main/res/values/library_ionicons_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | year;author;libraryName;libraryWebsite 20 | Drifty 21 | http://drifty.com/ 22 | Ionicons 23 | The premium icon font for Ionic. 24 | http://ionicons.com/ 25 | @string/iconics_version 26 | mit 27 | true 28 | https://github.com/driftyco/ionicons 29 | 30 | 2016 31 | 32 | -------------------------------------------------------------------------------- /material-design-dx-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.materialdesigndx.MaterialDesignDx { *; } 2 | -------------------------------------------------------------------------------- /material-design-dx-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | POM_NAME=Android-Iconics Material Design Icons DX Typeface Library 17 | POM_ARTIFACT_ID=material-design-icons-dx-typeface 18 | POM_PACKAGING=aar 19 | -------------------------------------------------------------------------------- /material-design-dx-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /material-design-dx-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/materialdesigndx/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.materialdesigndx 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(MaterialDesignDx) 11 | return MaterialDesignDx 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /material-design-dx-typeface-library/src/main/res/font/material_design_dx_font_v5_0_1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/material-design-dx-typeface-library/src/main/res/font/material_design_dx_font_v5_0_1.ttf -------------------------------------------------------------------------------- /material-design-dx-typeface-library/src/main/res/values/font_materail_design_dx.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | com.mikepenz.iconics.typeface.library.materialdesigndx.MaterialDesignDx 19 | 20 | -------------------------------------------------------------------------------- /material-design-iconic-typeface-library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /material-design-iconic-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.materialdesigniconic.MaterialDesignIconic { *; } 2 | -------------------------------------------------------------------------------- /material-design-iconic-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Material-Design-Iconic Typeface Library 18 | POM_ARTIFACT_ID=material-design-iconic-typeface 19 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /material-design-iconic-typeface-library/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Entwicklung/android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /material-design-iconic-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /material-design-iconic-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/materialdesigniconic/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.materialdesigniconic 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(MaterialDesignIconic) 11 | return MaterialDesignIconic 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /material-design-iconic-typeface-library/src/main/res/font/material_design_iconic_font_v2_2_0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/material-design-iconic-typeface-library/src/main/res/font/material_design_iconic_font_v2_2_0.ttf -------------------------------------------------------------------------------- /material-design-iconic-typeface-library/src/main/res/values/font_material_design_iconic.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.materialdesigniconic.MaterialDesignIconic 20 | -------------------------------------------------------------------------------- /meteocons-typeface-library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /meteocons-typeface-library/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | apply plugin: 'com.android.library' 18 | apply plugin: 'kotlin-android' 19 | apply from: "../gradle/compile.groovy" 20 | 21 | android { 22 | compileSdkVersion setup.compileSdk 23 | buildToolsVersion setup.buildTools 24 | 25 | defaultConfig { 26 | minSdkVersion setup.minSdk 27 | targetSdkVersion setup.targetSdk 28 | consumerProguardFiles 'consumer-proguard-rules.pro' 29 | versionCode 11008 30 | versionName "1.1.0.8-kotlin" 31 | 32 | resValue "string", "meteocons_version", "${versionName}" 33 | } 34 | buildTypes { 35 | release { 36 | minifyEnabled false 37 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 38 | } 39 | } 40 | 41 | lintOptions { 42 | abortOnError false 43 | } 44 | namespace 'com.mikepenz.iconics.typeface.library.meteoconcs' 45 | } 46 | if (project.hasProperty('pushall') || project.hasProperty('meteoconsonly')) { 47 | apply from: '../gradle-release.gradle' 48 | } 49 | 50 | dependencies { 51 | implementation project(':iconics-typeface-api') 52 | } 53 | -------------------------------------------------------------------------------- /meteocons-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.meteoconcs.Meteoconcs { *; } 2 | -------------------------------------------------------------------------------- /meteocons-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Meteocons Typeface Library 18 | POM_ARTIFACT_ID=meteocons-typeface 19 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /meteocons-typeface-library/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Entwicklung/android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /meteocons-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /meteocons-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/meteoconcs/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.meteoconcs 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(Meteoconcs) 11 | return Meteoconcs 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /meteocons-typeface-library/src/main/res/font/meteocons_v1_1_1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/meteocons-typeface-library/src/main/res/font/meteocons_v1_1_1.ttf -------------------------------------------------------------------------------- /meteocons-typeface-library/src/main/res/values/font_meteocons.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.meteoconcs.Meteoconcs 20 | -------------------------------------------------------------------------------- /meteocons-typeface-library/src/main/res/values/library_meteocons_strings.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | author;libraryName;libraryWebsite 19 | Alessio Atzeni 20 | http://www.alessioatzeni.com/ 21 | Meteocons 22 | Meteocons is a set of weather icons, it containing 40+ icons available in PSD, CSH, EPS, SVG, Desktop font and Web font. All icon and updates are free and always will be. 23 | http://www.alessioatzeni.com/meteocons/ 24 | @string/meteocons_version 25 | meteocons_custom 26 | false 27 | 28 | 29 | -------------------------------------------------------------------------------- /octicons-typeface-library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /octicons-typeface-library/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | apply plugin: 'com.android.library' 18 | apply plugin: 'kotlin-android' 19 | apply from: "../gradle/compile.groovy" 20 | 21 | android { 22 | compileSdkVersion setup.compileSdk 23 | buildToolsVersion setup.buildTools 24 | 25 | defaultConfig { 26 | minSdkVersion setup.minSdk 27 | targetSdkVersion setup.targetSdk 28 | consumerProguardFiles 'consumer-proguard-rules.pro' 29 | versionCode 111009 30 | versionName "11.1.0.9-kotlin" 31 | 32 | resValue "string", "octicons_version", "${versionName}" 33 | } 34 | buildTypes { 35 | release { 36 | minifyEnabled false 37 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 38 | } 39 | } 40 | 41 | lintOptions { 42 | abortOnError false 43 | } 44 | namespace 'com.mikepenz.iconics.typeface.library.octicons' 45 | } 46 | if (project.hasProperty('pushall') || project.hasProperty('octicons')) { 47 | apply from: '../gradle-release.gradle' 48 | } 49 | 50 | dependencies { 51 | implementation project(':iconics-typeface-api') 52 | } 53 | -------------------------------------------------------------------------------- /octicons-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.octicons.Octicons { *; } 2 | -------------------------------------------------------------------------------- /octicons-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Octicons Typeface Library 18 | POM_ARTIFACT_ID=octicons-typeface 19 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /octicons-typeface-library/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Entwicklung/android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /octicons-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /octicons-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/octicons/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.octicons 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(Octicons) 11 | return Octicons 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /octicons-typeface-library/src/main/res/font/octicons_v11_1_0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/octicons-typeface-library/src/main/res/font/octicons_v11_1_0.ttf -------------------------------------------------------------------------------- /octicons-typeface-library/src/main/res/values/font_community_octicons.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.octicons.Octicons 20 | -------------------------------------------------------------------------------- /octicons-typeface-library/src/main/res/values/library_octicons_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | year;author;libraryName;libraryWebsite 20 | GitHub Inc. 21 | https://github.com/ 22 | Octicons 23 | Octicons are a scalable set of icons handcrafted with love by GitHub. 24 | https://github.com/primer/octicons 25 | @string/octicons_version 26 | mit 27 | true 28 | https://github.com/primer/octicons 29 | 30 | 2020 31 | 32 | -------------------------------------------------------------------------------- /phosphor-typeface-library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /phosphor-typeface-library/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2020 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | apply plugin: 'com.android.library' 18 | apply plugin: 'kotlin-android' 19 | apply from: "../gradle/compile.groovy" 20 | 21 | android { 22 | compileSdkVersion setup.compileSdk 23 | buildToolsVersion setup.buildTools 24 | 25 | defaultConfig { 26 | minSdkVersion setup.minSdk 27 | targetSdkVersion setup.targetSdk 28 | consumerProguardFiles 'consumer-proguard-rules.pro' 29 | versionCode 10001 30 | versionName "1.0.0.1-kotlin" 31 | 32 | resValue "string", "phosphor_version", "${versionName}" 33 | } 34 | buildTypes { 35 | release { 36 | minifyEnabled false 37 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 38 | } 39 | } 40 | 41 | lintOptions { 42 | abortOnError false 43 | } 44 | namespace 'com.mikepenz.iconics.typeface.library.phosphor' 45 | } 46 | if (project.hasProperty('pushall') || project.hasProperty('phosphor')) { 47 | apply from: '../gradle-release.gradle' 48 | } 49 | 50 | dependencies { 51 | implementation project(':iconics-typeface-api') 52 | } 53 | -------------------------------------------------------------------------------- /phosphor-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.phosphor.Phosphor { *; } 2 | -------------------------------------------------------------------------------- /phosphor-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | POM_NAME=Android-Iconics Phosphor Typeface Library 17 | POM_ARTIFACT_ID=phosphor-typeface 18 | POM_PACKAGING=aar -------------------------------------------------------------------------------- /phosphor-typeface-library/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Entwicklung/android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /phosphor-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /phosphor-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/phosphor/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.phosphor 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(Phosphor) 11 | return Phosphor 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /phosphor-typeface-library/src/main/res/font/phosphor_v1_0_0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/phosphor-typeface-library/src/main/res/font/phosphor_v1_0_0.ttf -------------------------------------------------------------------------------- /phosphor-typeface-library/src/main/res/values/library_phosphor_strings.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | year;author;libraryName;libraryWebsite 19 | Helena Zhang, Toby Fried 20 | https://phosphoricons.com/ 21 | Phosphor Icons 22 | Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really. 23 | https://phosphoricons.com/ 24 | @string/phosphor_version 25 | mit 26 | true 27 | https://github.com/phosphor-icons/phosphor-home 28 | 29 | 2020 30 | 31 | -------------------------------------------------------------------------------- /pixeden-7-stroke-typeface-library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /pixeden-7-stroke-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.pixeden7stroke.Pixeden7Stroke { *; } 2 | -------------------------------------------------------------------------------- /pixeden-7-stroke-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Pixeden 7 Stroke Typeface Library 18 | POM_ARTIFACT_ID=pixeden-7-stroke-typeface 19 | POM_PACKAGING=aar 20 | -------------------------------------------------------------------------------- /pixeden-7-stroke-typeface-library/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Entwicklung/android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /pixeden-7-stroke-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /pixeden-7-stroke-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/pixeden7stroke/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.pixeden7stroke 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(Pixeden7Stroke) 11 | return Pixeden7Stroke 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } -------------------------------------------------------------------------------- /pixeden-7-stroke-typeface-library/src/main/res/font/pixeden_7_stroke_font_v1_2_0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/pixeden-7-stroke-typeface-library/src/main/res/font/pixeden_7_stroke_font_v1_2_0.ttf -------------------------------------------------------------------------------- /pixeden-7-stroke-typeface-library/src/main/res/values/font_addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.pixeden7stroke.Pixeden7Stroke 20 | 21 | -------------------------------------------------------------------------------- /simple-icons-typeface-library/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | apply plugin: 'com.android.library' 18 | apply plugin: 'kotlin-android' 19 | apply from: "../gradle/compile.groovy" 20 | 21 | android { 22 | compileSdkVersion setup.compileSdk 23 | buildToolsVersion setup.buildTools 24 | 25 | defaultConfig { 26 | minSdkVersion setup.minSdk 27 | targetSdkVersion setup.targetSdk 28 | consumerProguardFiles 'consumer-proguard-rules.pro' 29 | versionCode 170003 30 | versionName "17.0.0.3" 31 | 32 | resValue "string", "Simple_Icons_version", "${versionName}" 33 | } 34 | buildTypes { 35 | release { 36 | minifyEnabled false 37 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 38 | } 39 | } 40 | namespace 'com.mikepenz.iconics.typeface.library.simpleicons' 41 | } 42 | if (project.hasProperty('pushall') || project.hasProperty('simpleicons')) { 43 | apply from: '../gradle-release.gradle' 44 | } 45 | 46 | dependencies { 47 | implementation project(':iconics-typeface-api') 48 | } 49 | 50 | -------------------------------------------------------------------------------- /simple-icons-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.simpleicons.SimpleIcons { *; } 2 | -------------------------------------------------------------------------------- /simple-icons-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | POM_NAME=Android-Iconics Simple Icons Typeface Library 17 | POM_ARTIFACT_ID=simple-icons-typeface 18 | POM_PACKAGING=aar 19 | -------------------------------------------------------------------------------- /simple-icons-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /simple-icons-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/simpleicons/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.simpleicons 2 | 3 | import android.content.Context 4 | import androidx.startup.Initializer 5 | import com.mikepenz.iconics.typeface.ITypeface 6 | import com.mikepenz.iconics.typeface.IconicsHolder 7 | import com.mikepenz.iconics.typeface.IconicsInitializer 8 | 9 | class Initializer : Initializer { 10 | override fun create(context: Context): ITypeface { 11 | IconicsHolder.registerFont(SimpleIcons) 12 | return SimpleIcons 13 | } 14 | 15 | override fun dependencies(): List>> { 16 | return listOf(IconicsInitializer::class.java) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /simple-icons-typeface-library/src/main/res/font/simple_icons_font_v17_0_0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/simple-icons-typeface-library/src/main/res/font/simple_icons_font_v17_0_0.ttf -------------------------------------------------------------------------------- /simple-icons-typeface-library/src/main/res/values/font_description.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | Simple-Icons 21 | https://simpleicons.org/ 22 | Simple-Icons 23 | Icons for Popular Brands 24 | https://simpleicons.org/ 25 | @string/Simple_Icons_version 26 | CC0 1.0 Universal 27 | true 28 | https://simpleicons.org/ 29 | 30 | 2022 31 | 32 | -------------------------------------------------------------------------------- /typeicons-typeface-library/build.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2019 Mike Penz 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | apply plugin: 'com.android.library' 18 | apply plugin: 'kotlin-android' 19 | apply from: "../gradle/compile.groovy" 20 | 21 | android { 22 | compileSdkVersion setup.compileSdk 23 | buildToolsVersion setup.buildTools 24 | 25 | defaultConfig { 26 | minSdkVersion setup.minSdk 27 | targetSdkVersion setup.targetSdk 28 | consumerProguardFiles 'consumer-proguard-rules.pro' 29 | versionCode 20708 30 | versionName "2.0.7.8-kotlin" 31 | 32 | resValue "string", "typeicons_version", "${versionName}" 33 | } 34 | buildTypes { 35 | release { 36 | minifyEnabled false 37 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 38 | } 39 | } 40 | 41 | lintOptions { 42 | abortOnError false 43 | } 44 | namespace 'com.mikepenz.iconics.typeface.library.typeicons' 45 | } 46 | if (project.hasProperty('pushall') || project.hasProperty('Typeiconsonly')) { 47 | apply from: '../gradle-release.gradle' 48 | } 49 | 50 | dependencies { 51 | implementation project(':iconics-typeface-api') 52 | } 53 | -------------------------------------------------------------------------------- /typeicons-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.typeicons.Typeicons { *; } 2 | -------------------------------------------------------------------------------- /typeicons-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Typeicons Typeface Library 18 | POM_ARTIFACT_ID=typeicons-typeface 19 | POM_PACKAGING=aar 20 | -------------------------------------------------------------------------------- /typeicons-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /typeicons-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/typeicons/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.typeicons 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(Typeicons) 11 | return Typeicons 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /typeicons-typeface-library/src/main/res/font/typeicons_font_v2_0_7_1.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/typeicons-typeface-library/src/main/res/font/typeicons_font_v2_0_7_1.ttf -------------------------------------------------------------------------------- /typeicons-typeface-library/src/main/res/values/font_addon.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.typeicons.Typeicons 20 | 21 | -------------------------------------------------------------------------------- /typeicons-typeface-library/src/main/res/values/library_typicons_strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | year;author;libraryName;libraryWebsite 20 | Stephen Hutchings 21 | http://s-ings.com/ 22 | Typicons 23 | 24 | http://typicons.com/ 25 | @string/typeicons_version 26 | sil_ofl_1_1 27 | true 28 | https://github.com/stephenhutchings/typicons.font 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /weather-icons-typeface-library/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /weather-icons-typeface-library/consumer-proguard-rules.pro: -------------------------------------------------------------------------------- 1 | -keep class com.mikepenz.iconics.typeface.library.weathericons.WeatherIcons { *; } 2 | -------------------------------------------------------------------------------- /weather-icons-typeface-library/gradle.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Mike Penz 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); 5 | # you may not use this file except in compliance with the License. 6 | # You may obtain a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, 12 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | # See the License for the specific language governing permissions and 14 | # limitations under the License. 15 | # 16 | 17 | POM_NAME=Android-Iconics Weather Icons Typeface Library 18 | POM_ARTIFACT_ID=weather-icons-typeface 19 | POM_PACKAGING=aar 20 | -------------------------------------------------------------------------------- /weather-icons-typeface-library/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /Entwicklung/android-sdk/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /weather-icons-typeface-library/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 20 | 21 | 22 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /weather-icons-typeface-library/src/main/java/com/mikepenz/iconics/typeface/library/weathericons/Initializer.kt: -------------------------------------------------------------------------------- 1 | package com.mikepenz.iconics.typeface.library.weathericons 2 | 3 | import android.content.Context 4 | import com.mikepenz.iconics.typeface.ITypeface 5 | import com.mikepenz.iconics.typeface.IconicsHolder 6 | import com.mikepenz.iconics.typeface.IconicsInitializer 7 | 8 | class Initializer : androidx.startup.Initializer { 9 | override fun create(context: Context): ITypeface { 10 | IconicsHolder.registerFont(WeatherIcons) 11 | return WeatherIcons 12 | } 13 | 14 | override fun dependencies(): List>> { 15 | return listOf(IconicsInitializer::class.java) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /weather-icons-typeface-library/src/main/res/font/weather_icons_v2_0_10.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mikepenz/Android-Iconics/9109ca172ae6cc696b8028837910e6ccaed8bd3f/weather-icons-typeface-library/src/main/res/font/weather_icons_v2_0_10.ttf -------------------------------------------------------------------------------- /weather-icons-typeface-library/src/main/res/values/font_meteocons.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | com.mikepenz.iconics.typeface.library.weathericons.WeatherIcons 20 | 21 | --------------------------------------------------------------------------------