├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── action.yml ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── frogobox │ │ └── appuikit │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── frogobox │ │ │ └── appuikit │ │ │ ├── Constant.kt │ │ │ ├── FrogoRvAdapter.kt │ │ │ ├── MainActivity.kt │ │ │ ├── RecyclerGridFragment.kt │ │ │ ├── RecyclerListFragment.kt │ │ │ ├── RecyclerViewActivity.kt │ │ │ ├── RecyclerViewDetailActivity.kt │ │ │ ├── core │ │ │ ├── BaseActivity.kt │ │ │ ├── BaseFragment.kt │ │ │ └── BasePagerAdapter.kt │ │ │ └── model │ │ │ ├── Layout.kt │ │ │ └── Main.kt │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ ├── ic_artist.xml │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── activity_recycler_view.xml │ │ ├── activity_recycler_view_detail.xml │ │ ├── fragment_recycler_grid.xml │ │ └── fragment_recycler_list.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── frogobox │ └── appuikit │ └── ExampleUnitTest.kt ├── build.gradle ├── docs ├── image │ ├── ss_banner.png │ ├── ss_drawables.png │ ├── ss_grid_type_1.png │ ├── ss_grid_type_2.png │ ├── ss_grid_type_3.png │ ├── ss_grid_type_4.png │ ├── ss_grid_type_5.png │ ├── ss_grid_type_6.png │ ├── ss_grid_type_7.png │ ├── ss_home_grid.png │ ├── ss_home_list.png │ ├── ss_list_type_1.png │ ├── ss_list_type_10.png │ ├── ss_list_type_11.png │ ├── ss_list_type_12.png │ ├── ss_list_type_2.png │ ├── ss_list_type_3.png │ ├── ss_list_type_4.png │ ├── ss_list_type_5.png │ ├── ss_list_type_6.png │ ├── ss_list_type_7.png │ ├── ss_list_type_8.png │ └── ss_list_type_9.png ├── recyclerview_grid.md └── recyclerview_list.md ├── frogouikit ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── frogobox │ │ └── frogodesignkit │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ └── res │ │ ├── drawable │ │ ├── frogo_bg_accent_16dp.xml │ │ ├── frogo_bg_accent_32dp.xml │ │ ├── frogo_bg_accent_4dp.xml │ │ ├── frogo_bg_accent_8dp.xml │ │ ├── frogo_bg_amber_16dp.xml │ │ ├── frogo_bg_amber_32dp.xml │ │ ├── frogo_bg_amber_4dp.xml │ │ ├── frogo_bg_amber_8dp.xml │ │ ├── frogo_bg_black_16dp.xml │ │ ├── frogo_bg_black_32dp.xml │ │ ├── frogo_bg_black_4dp.xml │ │ ├── frogo_bg_black_8dp.xml │ │ ├── frogo_bg_blue_16dp.xml │ │ ├── frogo_bg_blue_32dp.xml │ │ ├── frogo_bg_blue_4dp.xml │ │ ├── frogo_bg_blue_8dp.xml │ │ ├── frogo_bg_card_16dp.xml │ │ ├── frogo_bg_card_32dp.xml │ │ ├── frogo_bg_card_4dp.xml │ │ ├── frogo_bg_card_8dp.xml │ │ ├── frogo_bg_cyan_16dp.xml │ │ ├── frogo_bg_cyan_32dp.xml │ │ ├── frogo_bg_cyan_4dp.xml │ │ ├── frogo_bg_cyan_8dp.xml │ │ ├── frogo_bg_dark_yellow_16dp.xml │ │ ├── frogo_bg_dark_yellow_32dp.xml │ │ ├── frogo_bg_dark_yellow_4dp.xml │ │ ├── frogo_bg_dark_yellow_8dp.xml │ │ ├── frogo_bg_deep_purple_16dp.xml │ │ ├── frogo_bg_deep_purple_32dp.xml │ │ ├── frogo_bg_deep_purple_4dp.xml │ │ ├── frogo_bg_deep_purple_8dp.xml │ │ ├── frogo_bg_green_16dp.xml │ │ ├── frogo_bg_green_32dp.xml │ │ ├── frogo_bg_green_4dp.xml │ │ ├── frogo_bg_green_8dp.xml │ │ ├── frogo_bg_indigo_16dp.xml │ │ ├── frogo_bg_indigo_32dp.xml │ │ ├── frogo_bg_indigo_4dp.xml │ │ ├── frogo_bg_indigo_8dp.xml │ │ ├── frogo_bg_light_blue_16dp.xml │ │ ├── frogo_bg_light_blue_32dp.xml │ │ ├── frogo_bg_light_blue_4dp.xml │ │ ├── frogo_bg_light_blue_8dp.xml │ │ ├── frogo_bg_light_green_16dp.xml │ │ ├── frogo_bg_light_green_32dp.xml │ │ ├── frogo_bg_light_green_4dp.xml │ │ ├── frogo_bg_light_green_8dp.xml │ │ ├── frogo_bg_lime_16dp.xml │ │ ├── frogo_bg_lime_32dp.xml │ │ ├── frogo_bg_lime_4dp.xml │ │ ├── frogo_bg_lime_8dp.xml │ │ ├── frogo_bg_orange_16dp.xml │ │ ├── frogo_bg_orange_32dp.xml │ │ ├── frogo_bg_orange_4dp.xml │ │ ├── frogo_bg_orange_8dp.xml │ │ ├── frogo_bg_pink_16dp.xml │ │ ├── frogo_bg_pink_32dp.xml │ │ ├── frogo_bg_pink_4dp.xml │ │ ├── frogo_bg_pink_8dp.xml │ │ ├── frogo_bg_primary_16dp.xml │ │ ├── frogo_bg_primary_32dp.xml │ │ ├── frogo_bg_primary_4dp.xml │ │ ├── frogo_bg_primary_8dp.xml │ │ ├── frogo_bg_primary_dark_16dp.xml │ │ ├── frogo_bg_primary_dark_32dp.xml │ │ ├── frogo_bg_primary_dark_4dp.xml │ │ ├── frogo_bg_primary_dark_8dp.xml │ │ ├── frogo_bg_purple_16dp.xml │ │ ├── frogo_bg_purple_32dp.xml │ │ ├── frogo_bg_purple_4dp.xml │ │ ├── frogo_bg_purple_8dp.xml │ │ ├── frogo_bg_red_16dp.xml │ │ ├── frogo_bg_red_32dp.xml │ │ ├── frogo_bg_red_4dp.xml │ │ ├── frogo_bg_red_8dp.xml │ │ ├── frogo_bg_teal_16dp.xml │ │ ├── frogo_bg_teal_32dp.xml │ │ ├── frogo_bg_teal_4dp.xml │ │ ├── frogo_bg_teal_8dp.xml │ │ ├── frogo_bg_white_16dp.xml │ │ ├── frogo_bg_white_32dp.xml │ │ ├── frogo_bg_white_4dp.xml │ │ ├── frogo_bg_white_8dp.xml │ │ ├── frogo_bg_yellow_16dp.xml │ │ ├── frogo_bg_yellow_32dp.xml │ │ ├── frogo_bg_yellow_4dp.xml │ │ ├── frogo_bg_yellow_8dp.xml │ │ ├── frogo_bg_yellow_lime_16dp.xml │ │ ├── frogo_bg_yellow_lime_32dp.xml │ │ ├── frogo_bg_yellow_lime_4dp.xml │ │ ├── frogo_bg_yellow_lime_8dp.xml │ │ └── frogo_ic_empty_view.xml │ │ ├── layout │ │ ├── frogo_container_empty_view.xml │ │ ├── frogo_empty_view.xml │ │ ├── frogo_rv_grid_type_1.xml │ │ ├── frogo_rv_grid_type_2.xml │ │ ├── frogo_rv_grid_type_3.xml │ │ ├── frogo_rv_grid_type_4.xml │ │ ├── frogo_rv_grid_type_5.xml │ │ ├── frogo_rv_grid_type_6.xml │ │ ├── frogo_rv_grid_type_7.xml │ │ ├── frogo_rv_list_type_1.xml │ │ ├── frogo_rv_list_type_10.xml │ │ ├── frogo_rv_list_type_11.xml │ │ ├── frogo_rv_list_type_12.xml │ │ ├── frogo_rv_list_type_2.xml │ │ ├── frogo_rv_list_type_3.xml │ │ ├── frogo_rv_list_type_4.xml │ │ ├── frogo_rv_list_type_5.xml │ │ ├── frogo_rv_list_type_6.xml │ │ ├── frogo_rv_list_type_7.xml │ │ ├── frogo_rv_list_type_8.xml │ │ └── frogo_rv_list_type_9.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── frogobox │ └── frogodesignkit │ └── ExampleUnitTest.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: https://saweria.co/amirisback 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | /.gradle 3 | .gradle 4 | .idea 5 | /local.properties 6 | /.idea/libraries 7 | /.idea/modules.xml 8 | /.idea/workspace.xml 9 | .DS_Store 10 | build 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | 15 | built application files 16 | .apk 17 | .ap_ 18 | 19 | files for the dex VM 20 | *.dex 21 | 22 | Java class files 23 | *.class 24 | 25 | generated files 26 | bin/ 27 | gen/ 28 | .externalNativeBuild/ 29 | 30 | Local configuration file (sdk path, etc) 31 | local.properties 32 | app/version.properties 33 | 34 | # SonarQube 35 | .sonar/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![ScreenShoot Apps](https://raw.githubusercontent.com/amirisback/amirisback/master/docs/image/deprecated.png?raw=true) 2 | 3 | ## frogo-ui-kit - Please Use [frogo-android-ui-kit](https://github.com/frogobox/frogo-android-ui-kit) 4 | [![](https://jitpack.io/v/amirisback/frogo-ui-kit.svg?style=flat-square)](https://jitpack.io/#amirisback/frogo-ui-kit)
5 | UI Kit for helping you in apps development 6 | 7 | ## Screen Shoot 8 | | UI KIT LIST | UI KIT GRID | 9 | |:------------------:|:----------------------------:| 10 | | | | 11 | 12 | 13 | ## Version Release 14 | This Is Latest Release 15 | 16 | $version_release = 2.1.0 17 | 18 | What's New?? 19 | 20 | * Update Build Gradle Latest Version * 21 | * Enchance Performance * 22 | * Add: Dimens Value * 23 | * Rename Package Name * 24 | 25 | ## Download this project 26 | 27 | ### Step 1. Add the JitPack repository to your build file (build.gradle : Project) 28 | 29 | Add it in your root build.gradle at the end of repositories: 30 | 31 | allprojects { 32 | repositories { 33 | ... 34 | maven { url 'https://jitpack.io' } 35 | } 36 | } 37 | 38 | ### Step 2. Add the dependency (build.gradle : Module) 39 | 40 | dependencies { 41 | // library frogo-ui-kit 42 | implementation 'com.github.amirisback:frogo-ui-kit:2.1.0' 43 | } 44 | 45 | ## Documentation 46 | - Layouts 47 | - RecyclerView List [Click Here](https://github.com/amirisback/frogo-ui-kit/blob/master/docs/recyclerview_list.md) 48 | - RecyclerView Grid [Click Here](https://github.com/amirisback/frogo-ui-kit/blob/master/docs/recyclerview_grid.md) 49 | - Drawables [Click Here](https://github.com/amirisback/frogo-ui-kit/wiki/Drawable) 50 | - Dimens [Click Here](https://github.com/amirisback/frogo-ui-kit/wiki/Dimens) 51 | - Colors [Click Here](https://github.com/amirisback/frogo-ui-kit/wiki/Colors) 52 | - Strings [Click Here](https://github.com/amirisback/frogo-ui-kit/wiki/Strings) 53 | - Styles [Click Here](https://github.com/amirisback/frogo-ui-kit/wiki/Styles) 54 | 55 | 56 | ## Colaborator 57 | Very open to anyone, I'll write your name under this, please contribute by sending an email to me 58 | 59 | - Mail To faisalamircs@gmail.com 60 | - Subject : Github _ [Github-Username-Account] _ [Language] _ [Repository-Name] 61 | - Example : Github_amirisback_kotlin_admob-helper-implementation 62 | 63 | Name Of Contribute 64 | - Muhammad Faisal Amir 65 | - Waiting List 66 | - Waiting List 67 | 68 | Waiting for your contribute 69 | 70 | ## Attention !!! 71 | - Please enjoy and don't forget fork and give a star 72 | - Don't Forget Follow My Github Account 73 | -------------------------------------------------------------------------------- /action.yml: -------------------------------------------------------------------------------- 1 | name: 'Frogo-UI-Kit' 2 | description: 'Library Easy UI Kit Based on Design Guideline, Full and Clear Documentation, :books:' 3 | author: 'Muhammad Faisal Amir' 4 | branding: 5 | icon: archive 6 | color: green 7 | inputs: 8 | myInput: 9 | description: 'Input to use' 10 | required: false 11 | default: 'world' 12 | runs: 13 | using: 'docker' 14 | image: 'Dockerfile' 15 | args: 16 | - ${{ inputs.myInput }} -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | apply plugin: 'kotlin-android' 3 | apply plugin: 'kotlin-kapt' 4 | 5 | android { 6 | 7 | // Declaration library name 8 | def nameLibrary = "Frogo UI Kit" 9 | 10 | // Declaration apk / aab name 11 | def nameLibrarySub = nameLibrary.toLowerCase().replace(" ", "-") 12 | 13 | def versionCodeLibrary = (versionMajor * 100) + (versionMinor * 10) + (versionPatch) 14 | def versionNameLibrary = "$versionMajor.$versionMinor.$versionPatch" 15 | 16 | buildFeatures { 17 | viewBinding = true 18 | } 19 | 20 | compileOptions { 21 | sourceCompatibility JavaVersion.VERSION_1_8 22 | targetCompatibility JavaVersion.VERSION_1_8 23 | } 24 | 25 | kotlinOptions { 26 | jvmTarget = '1.8' 27 | } 28 | 29 | compileSdkVersion projectCompileSdkVersion 30 | buildToolsVersion projectBuildToolsVersion 31 | 32 | buildFeatures { 33 | viewBinding = true 34 | } 35 | 36 | defaultConfig { 37 | applicationId "com.frogobox.appuikit" 38 | minSdkVersion projectMinSdkVersion 39 | targetSdkVersion projectTargetSdkVersion 40 | versionCode versionCodeLibrary 41 | versionName versionNameLibrary 42 | 43 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 44 | } 45 | 46 | buildTypes { 47 | release { 48 | minifyEnabled false 49 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 50 | } 51 | } 52 | } 53 | 54 | dependencies { 55 | implementation fileTree(dir: "libs", include: ["*.jar"]) 56 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 57 | 58 | implementation 'androidx.core:core-ktx:1.6.0' 59 | implementation 'androidx.appcompat:appcompat:1.3.0' 60 | implementation 'androidx.constraintlayout:constraintlayout:2.0.4' 61 | implementation 'androidx.legacy:legacy-support-v4:1.0.0' 62 | 63 | implementation 'com.google.android.material:material:1.4.0' 64 | implementation 'com.google.code.gson:gson:2.8.6' 65 | 66 | implementation 'com.github.amirisback:frogo-recycler-view:3.7.2' 67 | implementation project(':frogouikit') 68 | 69 | testImplementation 'junit:junit:4.13.2' 70 | androidTestImplementation 'androidx.test.ext:junit:1.1.3' 71 | androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' 72 | 73 | } -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/androidTest/java/com/frogobox/appuikit/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("com.frogobox.frogouikit", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/Constant.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit 2 | 3 | import com.frogobox.appuikit.model.Layout 4 | 5 | /* 6 | * Created by faisalamir on 21/05/21 7 | * FrogoUIKit 8 | * ----------------------------------------- 9 | * Name : Muhammad Faisal Amir 10 | * E-mail : faisalamircs@gmail.com 11 | * Github : github.com/amirisback 12 | * ----------------------------------------- 13 | * Copyright (C) 2021 FrogoBox Inc. 14 | * All rights reserved 15 | * 16 | */ 17 | object Constant { 18 | 19 | const val TYPE_LIST = "List" 20 | const val TYPE_GRID = "Grid" 21 | 22 | fun dummyData(): MutableList { 23 | val data = mutableListOf() 24 | for (i in 1..10) { 25 | data.add("1") 26 | } 27 | return data 28 | } 29 | 30 | fun dataRvList() : MutableList { 31 | val data = mutableListOf() 32 | data.add(Layout("frogo_rv_list_type_1",TYPE_LIST, R.layout.frogo_rv_list_type_1)) 33 | data.add(Layout("frogo_rv_list_type_2",TYPE_LIST, R.layout.frogo_rv_list_type_2)) 34 | data.add(Layout("frogo_rv_list_type_3",TYPE_LIST, R.layout.frogo_rv_list_type_3)) 35 | data.add(Layout("frogo_rv_list_type_4",TYPE_LIST, R.layout.frogo_rv_list_type_4)) 36 | data.add(Layout("frogo_rv_list_type_5",TYPE_LIST, R.layout.frogo_rv_list_type_5)) 37 | data.add(Layout("frogo_rv_list_type_6",TYPE_LIST, R.layout.frogo_rv_list_type_6)) 38 | data.add(Layout("frogo_rv_list_type_7",TYPE_LIST, R.layout.frogo_rv_list_type_7)) 39 | data.add(Layout("frogo_rv_list_type_8",TYPE_LIST, R.layout.frogo_rv_list_type_8)) 40 | data.add(Layout("frogo_rv_list_type_9",TYPE_LIST, R.layout.frogo_rv_list_type_9)) 41 | data.add(Layout("frogo_rv_list_type_10",TYPE_LIST, R.layout.frogo_rv_list_type_10)) 42 | data.add(Layout("frogo_rv_list_type_11",TYPE_LIST, R.layout.frogo_rv_list_type_11)) 43 | data.add(Layout("frogo_rv_list_type_12",TYPE_LIST, R.layout.frogo_rv_list_type_12)) 44 | return data 45 | } 46 | 47 | fun dataRvGrid() : MutableList { 48 | val data = mutableListOf() 49 | data.add(Layout("frogo_rv_grid_type_1",TYPE_GRID, R.layout.frogo_rv_grid_type_1)) 50 | data.add(Layout("frogo_rv_grid_type_2",TYPE_GRID, R.layout.frogo_rv_grid_type_2)) 51 | data.add(Layout("frogo_rv_grid_type_3",TYPE_GRID, R.layout.frogo_rv_grid_type_3)) 52 | data.add(Layout("frogo_rv_grid_type_4",TYPE_GRID, R.layout.frogo_rv_grid_type_4)) 53 | data.add(Layout("frogo_rv_grid_type_5",TYPE_GRID, R.layout.frogo_rv_grid_type_5)) 54 | data.add(Layout("frogo_rv_grid_type_6",TYPE_GRID, R.layout.frogo_rv_grid_type_6)) 55 | data.add(Layout("frogo_rv_grid_type_7",TYPE_GRID, R.layout.frogo_rv_grid_type_7)) 56 | return data 57 | } 58 | 59 | } -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit 2 | 3 | import android.content.Intent 4 | import android.os.Bundle 5 | import android.view.View 6 | import android.widget.TextView 7 | import com.frogobox.appuikit.core.BaseActivity 8 | import com.frogobox.appuikit.model.Main 9 | import com.frogobox.recycler.core.IFrogoViewAdapter 10 | 11 | class MainActivity : BaseActivity() { 12 | 13 | override fun onCreate(savedInstanceState: Bundle?) { 14 | super.onCreate(savedInstanceState) 15 | setContentView(mainBinding.root) 16 | setupRecyclerView() 17 | } 18 | 19 | private fun data() : MutableList
{ 20 | val data = mutableListOf
() 21 | data.add(Main("RecyclerView Layout", Intent(this, RecyclerViewActivity::class.java))) 22 | return data 23 | } 24 | 25 | private fun setupRecyclerView() { 26 | mainBinding.frogoRv.injector
() 27 | .addCustomView(R.layout.frogo_rv_list_type_1) 28 | .addData(data()) 29 | .addCallback(object : IFrogoViewAdapter
{ 30 | override fun onItemClicked(data: Main) { 31 | startActivity(data.intent) 32 | } 33 | override fun onItemLongClicked(data: Main) {} 34 | override fun setupInitComponent(view: View, data: Main) { 35 | view.findViewById(R.id.frogo_rv_list_type_1_tv_title).text = data.name 36 | } 37 | }) 38 | .createLayoutLinearVertical(false) 39 | .build() 40 | } 41 | 42 | } -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/RecyclerGridFragment.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit 2 | 3 | import android.content.Intent 4 | import android.os.Bundle 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.widget.ImageView 9 | import android.widget.TextView 10 | import com.frogobox.appuikit.core.BaseFragment 11 | import com.frogobox.appuikit.databinding.FragmentRecyclerGridBinding 12 | import com.frogobox.appuikit.model.Layout 13 | import com.frogobox.recycler.core.IFrogoViewAdapter 14 | import com.google.gson.Gson 15 | 16 | class RecyclerGridFragment : BaseFragment() { 17 | 18 | override fun onCreateView( 19 | inflater: LayoutInflater, container: ViewGroup?, 20 | savedInstanceState: Bundle? 21 | ): View? { 22 | // Inflate the layout for this fragment 23 | recyclerGridBinding = FragmentRecyclerGridBinding.inflate(inflater, container, false) 24 | return recyclerGridBinding?.root 25 | } 26 | 27 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 28 | super.onViewCreated(view, savedInstanceState) 29 | setupRecyclerView() 30 | } 31 | 32 | private fun intentToLayoutSample(data: Layout) { 33 | val dataString = Gson().toJson(data) 34 | val intent = Intent(mActivity, RecyclerViewDetailActivity::class.java) 35 | intent.putExtra("EXTRA_DATA", dataString) 36 | startActivity(intent) 37 | } 38 | 39 | private fun setupRecyclerView() { 40 | recyclerGridBinding?.frogoRv?.injector() 41 | ?.addCustomView(R.layout.frogo_rv_grid_type_1) 42 | ?.addData(Constant.dataRvGrid()) 43 | ?.addCallback(object : IFrogoViewAdapter { 44 | override fun onItemClicked(data: Layout) { 45 | intentToLayoutSample(data) 46 | } 47 | override fun onItemLongClicked(data: Layout) {} 48 | override fun setupInitComponent(view: View, data: Layout) { 49 | view.findViewById(R.id.frogo_rv_grid_type_1_tv_title).text = data.name 50 | view.findViewById(R.id.frogo_rv_grid_type_1_iv_poster) 51 | .setImageResource(R.drawable.ic_artist) 52 | } 53 | }) 54 | ?.createLayoutGrid(2) 55 | ?.build() 56 | } 57 | 58 | } -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/RecyclerListFragment.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit 2 | 3 | import android.content.Intent 4 | import android.os.Bundle 5 | import android.view.LayoutInflater 6 | import android.view.View 7 | import android.view.ViewGroup 8 | import android.widget.TextView 9 | import com.frogobox.appuikit.core.BaseFragment 10 | import com.frogobox.appuikit.databinding.FragmentRecyclerListBinding 11 | import com.frogobox.appuikit.model.Layout 12 | import com.frogobox.recycler.core.IFrogoViewAdapter 13 | import com.google.gson.Gson 14 | 15 | 16 | class RecyclerListFragment : BaseFragment() { 17 | 18 | override fun onCreateView( 19 | inflater: LayoutInflater, container: ViewGroup?, 20 | savedInstanceState: Bundle? 21 | ): View? { 22 | // Inflate the layout for this fragment 23 | recyclerListBinding = FragmentRecyclerListBinding.inflate(inflater, container, false) 24 | return recyclerListBinding?.root 25 | } 26 | 27 | override fun onViewCreated(view: View, savedInstanceState: Bundle?) { 28 | super.onViewCreated(view, savedInstanceState) 29 | setupRecyclerView() 30 | } 31 | 32 | private fun intentToLayoutSample(data: Layout) { 33 | val dataString = Gson().toJson(data) 34 | val intent = Intent(mActivity, RecyclerViewDetailActivity::class.java) 35 | intent.putExtra("EXTRA_DATA", dataString) 36 | startActivity(intent) 37 | } 38 | 39 | private fun setupRecyclerView() { 40 | recyclerListBinding?.frogoRv?.injector() 41 | ?.addCustomView(R.layout.frogo_rv_list_type_1) 42 | ?.addData(Constant.dataRvList()) 43 | ?.addCallback(object : IFrogoViewAdapter { 44 | override fun onItemClicked(data: Layout) { intentToLayoutSample(data) } 45 | override fun onItemLongClicked(data: Layout) {} 46 | override fun setupInitComponent(view: View, data: Layout) { 47 | view.findViewById(R.id.frogo_rv_list_type_1_tv_title).text = data.name 48 | } 49 | }) 50 | ?.createLayoutLinearVertical(false) 51 | ?.build() 52 | } 53 | 54 | } -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/RecyclerViewActivity.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit 2 | 3 | import android.os.Bundle 4 | import com.frogobox.appuikit.core.BaseActivity 5 | import com.frogobox.appuikit.core.BasePagerAdapter 6 | 7 | class RecyclerViewActivity : BaseActivity() { 8 | 9 | override fun onCreate(savedInstanceState: Bundle?) { 10 | super.onCreate(savedInstanceState) 11 | setContentView(recyclerViewBinding.root) 12 | setupDetailActivity("List UI RecyclerView") 13 | setupViewPager() 14 | } 15 | 16 | private fun setupViewPager() { 17 | val pagerAdapter = BasePagerAdapter(this) 18 | pagerAdapter.setupPagerFragment(RecyclerListFragment(), "List") 19 | pagerAdapter.setupPagerFragment(RecyclerGridFragment(),"Grid") 20 | 21 | recyclerViewBinding.apply { 22 | viewpager.adapter = pagerAdapter 23 | setupTabTitles(tablayout, viewpager, pagerAdapter.titles) 24 | } 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/RecyclerViewDetailActivity.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit 2 | 3 | import android.os.Bundle 4 | import com.frogobox.appuikit.Constant.TYPE_GRID 5 | import com.frogobox.appuikit.Constant.dummyData 6 | import com.frogobox.appuikit.FrogoRvAdapter.frogoRvAdaper 7 | import com.frogobox.appuikit.core.BaseActivity 8 | import com.frogobox.appuikit.model.Layout 9 | import com.frogobox.recycler.core.IFrogoViewAdapter 10 | import com.google.gson.Gson 11 | 12 | class RecyclerViewDetailActivity : BaseActivity() { 13 | 14 | override fun onCreate(savedInstanceState: Bundle?) { 15 | super.onCreate(savedInstanceState) 16 | setContentView(recyclerViewDetailBinding.root) 17 | setupDetailActivity(extraData().name) 18 | setupRecyclerView(frogoRv()) 19 | } 20 | 21 | private fun extraData() : Layout { 22 | val extra = intent.getStringExtra("EXTRA_DATA") 23 | return Gson().fromJson(extra, Layout::class.java) 24 | } 25 | 26 | private fun frogoRv() : IFrogoViewAdapter{ 27 | return frogoRvAdaper(extraData().name, this) 28 | } 29 | 30 | private fun setupRecyclerView(adapter: IFrogoViewAdapter) { 31 | 32 | val scale = resources.displayMetrics.density 33 | val dpAsPixels = (16 * scale + 0.5f) 34 | 35 | if (extraData().type == TYPE_GRID) { 36 | recyclerViewDetailBinding.frogoRv.apply { 37 | injector() 38 | .addCustomView(extraData().layout) 39 | .addCallback(adapter) 40 | .addData(dummyData()) 41 | .createLayoutGrid(2) 42 | .build() 43 | 44 | updatePadding(left = dpAsPixels.toInt()) 45 | } 46 | } else { 47 | recyclerViewDetailBinding.frogoRv.injector() 48 | .addCustomView(extraData().layout) 49 | .addCallback(adapter) 50 | .addData(dummyData()) 51 | .createLayoutLinearVertical(false) 52 | .build() 53 | } 54 | 55 | } 56 | 57 | } -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/core/BaseActivity.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit.core 2 | 3 | import android.os.Bundle 4 | import android.view.LayoutInflater 5 | import android.view.Menu 6 | import android.view.MenuItem 7 | import androidx.appcompat.app.AppCompatActivity 8 | import androidx.viewpager2.widget.ViewPager2 9 | import com.frogobox.appuikit.databinding.ActivityMainBinding 10 | import com.frogobox.appuikit.databinding.ActivityRecyclerViewBinding 11 | import com.frogobox.appuikit.databinding.ActivityRecyclerViewDetailBinding 12 | import com.google.android.material.tabs.TabLayout 13 | import com.google.android.material.tabs.TabLayoutMediator 14 | 15 | /* 16 | * Created by faisalamir on 20/05/21 17 | * FrogoUIKit 18 | * ----------------------------------------- 19 | * Name : Muhammad Faisal Amir 20 | * E-mail : faisalamircs@gmail.com 21 | * Github : github.com/amirisback 22 | * ----------------------------------------- 23 | * Copyright (C) 2021 FrogoBox Inc. 24 | * All rights reserved 25 | * 26 | */ 27 | abstract class BaseActivity : AppCompatActivity() { 28 | 29 | protected lateinit var mainBinding: ActivityMainBinding 30 | protected lateinit var recyclerViewBinding: ActivityRecyclerViewBinding 31 | protected lateinit var recyclerViewDetailBinding: ActivityRecyclerViewDetailBinding 32 | 33 | protected lateinit var mActivity: AppCompatActivity 34 | 35 | override fun onCreate(savedInstanceState: Bundle?) { 36 | super.onCreate(savedInstanceState) 37 | mActivity = this 38 | setupViewBinding() 39 | } 40 | 41 | protected fun setupDetailActivity(title: String) { 42 | supportActionBar?.title = title 43 | supportActionBar?.elevation = 0f 44 | supportActionBar?.setDisplayHomeAsUpEnabled(true) 45 | } 46 | 47 | override fun onCreateOptionsMenu(menu: Menu?): Boolean { 48 | return true 49 | } 50 | 51 | override fun onOptionsItemSelected(item: MenuItem): Boolean { 52 | return when (item.itemId) { 53 | android.R.id.home -> { 54 | finish() 55 | true 56 | } 57 | else -> super.onOptionsItemSelected(item) 58 | } 59 | } 60 | 61 | protected fun setupTabTitles( 62 | tabLayout: TabLayout, 63 | viewPager2: ViewPager2, 64 | titles: MutableList 65 | ) { 66 | TabLayoutMediator(tabLayout, viewPager2) { tab: TabLayout.Tab, position: Int -> 67 | tab.text = titles[position] 68 | }.attach() 69 | } 70 | 71 | private fun setupViewBinding() { 72 | // genereate view binding 73 | mainBinding = ActivityMainBinding.inflate(baseLayoutInflater()) 74 | recyclerViewBinding = ActivityRecyclerViewBinding.inflate(baseLayoutInflater()) 75 | recyclerViewDetailBinding = ActivityRecyclerViewDetailBinding.inflate(baseLayoutInflater()) 76 | } 77 | 78 | private fun baseLayoutInflater(): LayoutInflater { 79 | return LayoutInflater.from(this) 80 | } 81 | 82 | } -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/core/BaseFragment.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit.core 2 | 3 | import android.os.Bundle 4 | import androidx.fragment.app.Fragment 5 | import com.frogobox.appuikit.databinding.FragmentRecyclerGridBinding 6 | import com.frogobox.appuikit.databinding.FragmentRecyclerListBinding 7 | 8 | /* 9 | * Created by faisalamir on 21/05/21 10 | * FrogoUIKit 11 | * ----------------------------------------- 12 | * Name : Muhammad Faisal Amir 13 | * E-mail : faisalamircs@gmail.com 14 | * Github : github.com/amirisback 15 | * ----------------------------------------- 16 | * Copyright (C) 2021 FrogoBox Inc. 17 | * All rights reserved 18 | * 19 | */ 20 | abstract class BaseFragment : Fragment() { 21 | 22 | protected lateinit var mActivity: BaseActivity 23 | 24 | protected var recyclerGridBinding: FragmentRecyclerGridBinding? = null 25 | protected var recyclerListBinding: FragmentRecyclerListBinding? = null 26 | 27 | override fun onCreate(savedInstanceState: Bundle?) { 28 | super.onCreate(savedInstanceState) 29 | mActivity = (activity as BaseActivity) 30 | } 31 | 32 | override fun onDestroy() { 33 | recyclerGridBinding = null 34 | recyclerListBinding = null 35 | super.onDestroy() 36 | } 37 | 38 | } -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/core/BasePagerAdapter.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit.core 2 | 3 | import androidx.fragment.app.Fragment 4 | import androidx.fragment.app.FragmentActivity 5 | import androidx.viewpager2.adapter.FragmentStateAdapter 6 | 7 | 8 | /** 9 | * Created by Faisal Amir 10 | * FrogoBox Inc License 11 | * ========================================= 12 | * SpeechBooster 13 | * Copyright (C) 04/09/2019. 14 | * All rights reserved 15 | * ----------------------------------------- 16 | * Name : Muhammad Faisal Amir 17 | * E-mail : faisalamircs@gmail.com 18 | * Github : github.com/amirisback 19 | * LinkedIn : linkedin.com/in/faisalamircs 20 | * ----------------------------------------- 21 | * FrogoBox Software Industries 22 | * com.frogobox.speechbooster.util.helper 23 | * 24 | */ 25 | 26 | class BasePagerAdapter(fragmentActivity: FragmentActivity) : FragmentStateAdapter(fragmentActivity) { 27 | 28 | val fragments = ArrayList() 29 | val titles = ArrayList() 30 | 31 | fun setupPagerFragment(fragment: Fragment, title: String) { 32 | fragments.add(fragment) 33 | titles.add(title) 34 | } 35 | 36 | override fun createFragment(position: Int): Fragment { 37 | return fragments[position] 38 | } 39 | 40 | override fun getItemCount(): Int { 41 | return fragments.size 42 | } 43 | 44 | } -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/model/Layout.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit.model 2 | 3 | /* 4 | * Created by faisalamir on 20/05/21 5 | * FrogoUIKit 6 | * ----------------------------------------- 7 | * Name : Muhammad Faisal Amir 8 | * E-mail : faisalamircs@gmail.com 9 | * Github : github.com/amirisback 10 | * ----------------------------------------- 11 | * Copyright (C) 2021 FrogoBox Inc. 12 | * All rights reserved 13 | * 14 | */ 15 | 16 | data class Layout( 17 | val name: String, 18 | val type: String, 19 | val layout: Int, 20 | ) -------------------------------------------------------------------------------- /app/src/main/java/com/frogobox/appuikit/model/Main.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit.model 2 | 3 | import android.content.Intent 4 | 5 | /* 6 | * Created by faisalamir on 21/05/21 7 | * FrogoUIKit 8 | * ----------------------------------------- 9 | * Name : Muhammad Faisal Amir 10 | * E-mail : faisalamircs@gmail.com 11 | * Github : github.com/amirisback 12 | * ----------------------------------------- 13 | * Copyright (C) 2021 FrogoBox Inc. 14 | * All rights reserved 15 | * 16 | */ 17 | data class Main( 18 | val name: String, 19 | val intent: Intent 20 | ) 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_artist.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 33 | 36 | 39 | 42 | 45 | 48 | 51 | 54 | 57 | 60 | 63 | 66 | 69 | 72 | 75 | 76 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_recycler_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 22 | 23 | 24 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_recycler_view_detail.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_recycler_grid.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_recycler_list.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FrogoUIKit 3 | 4 | Hello blank fragment 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/test/java/com/frogobox/appuikit/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.appuikit 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | 4 | ext { 5 | 6 | versionMajor = 2 7 | versionMinor = 1 8 | versionPatch = 0 9 | 10 | projectCompileSdkVersion = 30 11 | projectBuildToolsVersion = "30.0.3" 12 | projectMinSdkVersion = 21 13 | projectTargetSdkVersion = projectCompileSdkVersion 14 | 15 | kotlin_version = "1.5.21" 16 | 17 | } 18 | 19 | repositories { 20 | google() 21 | mavenCentral() 22 | } 23 | 24 | dependencies { 25 | classpath 'com.android.tools.build:gradle:4.2.2' 26 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 27 | 28 | // NOTE: Do not place your application dependencies here; they belong 29 | // in the individual module build.gradle files 30 | } 31 | } 32 | 33 | allprojects { 34 | repositories { 35 | google() 36 | mavenCentral() 37 | maven { url 'https://jitpack.io' } 38 | } 39 | } 40 | 41 | task clean(type: Delete) { 42 | delete rootProject.buildDir 43 | } -------------------------------------------------------------------------------- /docs/image/ss_banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_banner.png -------------------------------------------------------------------------------- /docs/image/ss_drawables.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_drawables.png -------------------------------------------------------------------------------- /docs/image/ss_grid_type_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_grid_type_1.png -------------------------------------------------------------------------------- /docs/image/ss_grid_type_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_grid_type_2.png -------------------------------------------------------------------------------- /docs/image/ss_grid_type_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_grid_type_3.png -------------------------------------------------------------------------------- /docs/image/ss_grid_type_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_grid_type_4.png -------------------------------------------------------------------------------- /docs/image/ss_grid_type_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_grid_type_5.png -------------------------------------------------------------------------------- /docs/image/ss_grid_type_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_grid_type_6.png -------------------------------------------------------------------------------- /docs/image/ss_grid_type_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_grid_type_7.png -------------------------------------------------------------------------------- /docs/image/ss_home_grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_home_grid.png -------------------------------------------------------------------------------- /docs/image/ss_home_list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_home_list.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_1.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_10.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_11.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_12.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_2.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_3.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_4.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_5.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_6.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_7.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_8.png -------------------------------------------------------------------------------- /docs/image/ss_list_type_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/docs/image/ss_list_type_9.png -------------------------------------------------------------------------------- /docs/recyclerview_grid.md: -------------------------------------------------------------------------------- 1 | ## RecyclerView Grid 2 | documentation about ui layout frogo_rv_grid_type 3 | 4 | | No | Name | Attribute | Screenshoot | 5 | | -- | :------------------: | :-------------------------: | :-----------------------:| 6 | | 1 | frogo_rv_grid_type_1.xml |
  • (TextView), frogo_rv_grid_type_1_tv_title
  • (ImageView), frogo_rv_grid_type_1_iv_poster
| | 7 | | 2 | frogo_rv_grid_type_2.xml |
  • (TextView), frogo_rv_grid_type_2_tv_title
  • (TextView), frogo_rv_grid_type_2_tv_subtitle
  • (ImageView), frogo_rv_grid_type_2_iv_poster
| | 8 | | 3 | frogo_rv_grid_type_3.xml |
  • (TextView), frogo_rv_grid_type_3_tv_title
  • (TextView), frogo_rv_grid_type_3_tv_subtitle
  • (TextView), frogo_rv_grid_type_3_tv_subtitle
  • (ImageView), frogo_rv_grid_type_3_iv_poster
| | 9 | | 4 | frogo_rv_grid_type_4.xml |
  • (TextView), frogo_rv_grid_type_4_tv_title
  • (CircleImageView), frogo_rv_grid_type_4_civ_poster
| | 10 | | 5 | frogo_rv_grid_type_5.xml |
  • (TextView), frogo_rv_grid_type_5_tv_title
  • (TextView), frogo_rv_grid_type_5_tv_subtitle
  • (CircleImageView), frogo_rv_grid_type_5_civ_poster
| | 11 | | 6 | frogo_rv_grid_type_6.xml |
  • (TextView), frogo_rv_grid_type_6_tv_title
  • (TextView), frogo_rv_grid_type_6_tv_subtitle
  • (TextView), frogo_rv_grid_type_6_tv_desc
  • (CircleImageView), frogo_rv_grid_type_6_civ_poster
| | 12 | | 7 | frogo_rv_grid_type_7.xml |
  • (ImageView), frogo_rv_grid_type_7_iv_poster
| | 13 | -------------------------------------------------------------------------------- /docs/recyclerview_list.md: -------------------------------------------------------------------------------- 1 | ## RecyclerView List 2 | documentation about ui layout frogo_rv_list_type 3 | 4 | | No | Name | Attribute | Screenshoot | 5 | | -- | :------------------: | :-------------------------: | :-----------------------:| 6 | | 1 | frogo_rv_list_type_1.xml |
  • (TextView), frogo_rv_list_type_1_tv_title
| | 7 | | 2 | frogo_rv_list_type_2.xml |
  • (TextView), frogo_rv_list_type_2_tv_title
  • (TextView), frogo_rv_list_type_2_tv_subtitle
| | 8 | | 3 | frogo_rv_list_type_3.xml |
  • (TextView), frogo_rv_list_type_3_tv_title
  • (TextView), frogo_rv_list_type_3_tv_subtitle
  • (TextView), frogo_rv_list_type_3_tv_subtitle
| | 9 | | 4 | frogo_rv_list_type_4.xml |
  • (TextView), frogo_rv_list_type_4_tv_title
  • (ImageView), frogo_rv_list_type_4_iv_poster
| | 10 | | 5 | frogo_rv_list_type_5.xml |
  • (TextView), frogo_rv_list_type_5_tv_title
  • (TextView), frogo_rv_list_type_5_tv_subtitle
  • (ImageView), frogo_rv_list_type_5_iv_poster
| | 11 | | 6 | frogo_rv_list_type_6.xml |
  • (TextView), frogo_rv_list_type_6_tv_title
  • (TextView), frogo_rv_list_type_6_tv_subtitle
  • (TextView), frogo_rv_list_type_6_tv_desc
  • (ImageView), frogo_rv_list_type_6_iv_poster
| | 12 | | 7 | frogo_rv_list_type_7.xml |
  • (TextView), frogo_rv_list_type_7_tv_title
  • (CircleImageView), frogo_rv_list_type_7_civ_poster
| | 13 | | 8 | frogo_rv_list_type_8.xml |
  • (TextView), frogo_rv_list_type_8_tv_title
  • (TextView), frogo_rv_list_type_8_tv_subtitle
  • (CircleImageView), frogo_rv_list_type_8_civ_poster
| | 14 | | 9 | frogo_rv_list_type_9.xml |
  • (TextView), frogo_rv_list_type_9_tv_title
  • (ImageView), frogo_rv_list_type_9_iv_poster
| | 15 | | 10 | frogo_rv_list_type_10.xml |
  • (TextView), frogo_rv_list_type_10_tv_title
  • (TextView), frogo_rv_list_type_10_tv_subtitle
  • (ImageView), frogo_rv_list_type_10_iv_poster
| | 16 | | 11 | frogo_rv_list_type_11.xml |
  • (TextView), frogo_rv_list_type_11_tv_title
  • (TextView), frogo_rv_list_type_11_tv_subtitle
  • (TextView), frogo_rv_list_type_11_tv_desc
  • (ImageView), frogo_rv_list_type_11_iv_poster
| | 17 | | 12 | frogo_rv_list_type_12.xml |
  • (TextView), frogo_rv_list_type_12_tv_title
| | 18 | -------------------------------------------------------------------------------- /frogouikit/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /frogouikit/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | apply plugin: 'kotlin-android' 3 | 4 | android { 5 | 6 | // Declaration library name 7 | def nameLibrary = "Frogo UI Kit" 8 | 9 | // Declaration apk / aab name 10 | def nameLibrarySub = nameLibrary.toLowerCase().replace(" ", "-") 11 | 12 | def versionCodeLibrary = (versionMajor * 100) + (versionMinor * 10) + (versionPatch) 13 | def versionNameLibrary = "$versionMajor.$versionMinor.$versionPatch" 14 | 15 | buildFeatures { 16 | viewBinding = true 17 | } 18 | 19 | compileOptions { 20 | sourceCompatibility JavaVersion.VERSION_1_8 21 | targetCompatibility JavaVersion.VERSION_1_8 22 | } 23 | 24 | kotlinOptions { 25 | jvmTarget = '1.8' 26 | } 27 | 28 | compileSdkVersion projectCompileSdkVersion 29 | buildToolsVersion projectBuildToolsVersion 30 | 31 | defaultConfig { 32 | minSdkVersion projectMinSdkVersion 33 | targetSdkVersion projectTargetSdkVersion 34 | versionCode versionCodeLibrary 35 | versionName versionNameLibrary 36 | 37 | testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 38 | consumerProguardFiles "consumer-rules.pro" 39 | } 40 | 41 | buildTypes { 42 | release { 43 | minifyEnabled false 44 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 45 | } 46 | } 47 | } 48 | 49 | dependencies { 50 | 51 | implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" 52 | implementation 'androidx.appcompat:appcompat:1.3.0' 53 | 54 | // github lib circle-image-view 55 | implementation 'de.hdodenhof:circleimageview:3.1.0' 56 | 57 | } -------------------------------------------------------------------------------- /frogouikit/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/frogouikit/consumer-rules.pro -------------------------------------------------------------------------------- /frogouikit/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /frogouikit/src/androidTest/java/com/frogobox/frogodesignkit/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.frogodesignkit 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("com.frogobox.frogodesignkit.test", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /frogouikit/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_accent_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_accent_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_accent_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_accent_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_amber_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_amber_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_amber_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_amber_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_black_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_black_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_black_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_black_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_blue_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_blue_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_blue_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_blue_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_card_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_card_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_card_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_card_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_cyan_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_cyan_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_cyan_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_cyan_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_dark_yellow_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_dark_yellow_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_dark_yellow_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_dark_yellow_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_deep_purple_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_deep_purple_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_deep_purple_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_deep_purple_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_green_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_green_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_green_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_green_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_indigo_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_indigo_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_indigo_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_indigo_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_light_blue_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_light_blue_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_light_blue_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_light_blue_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_light_green_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_light_green_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_light_green_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_light_green_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_lime_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_lime_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_lime_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_lime_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_orange_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_orange_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_orange_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_orange_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_pink_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_pink_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_pink_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_pink_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_primary_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_primary_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_primary_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_primary_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_primary_dark_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_primary_dark_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_primary_dark_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_primary_dark_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_purple_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_purple_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_purple_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_purple_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_red_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_red_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_red_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_red_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_teal_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_teal_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_teal_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_teal_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_white_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_white_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_white_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_white_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_yellow_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_yellow_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_yellow_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_yellow_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_yellow_lime_16dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_yellow_lime_32dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_yellow_lime_4dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_bg_yellow_lime_8dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/drawable/frogo_ic_empty_view.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 12 | 15 | 18 | 21 | 24 | 27 | 30 | 33 | 36 | 37 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_container_empty_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_empty_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 27 | 28 | 33 | 34 | 44 | 45 | 50 | 51 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_grid_type_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 34 | 35 | 39 | 40 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_grid_type_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 34 | 35 | 39 | 40 | 44 | 45 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_grid_type_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 34 | 35 | 39 | 40 | 44 | 45 | 50 | 51 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_grid_type_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 34 | 35 | 39 | 40 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_grid_type_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 34 | 35 | 39 | 40 | 44 | 45 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_grid_type_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 34 | 35 | 39 | 40 | 44 | 45 | 50 | 51 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_grid_type_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | 16 | 21 | 22 | 29 | 30 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 30 | 31 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_10.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 34 | 35 | 39 | 40 | 44 | 45 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_11.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 34 | 35 | 39 | 40 | 44 | 45 | 50 | 51 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 30 | 31 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 30 | 31 | 35 | 36 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 30 | 31 | 35 | 36 | 41 | 42 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 24 | 25 | 31 | 32 | 39 | 40 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_5.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 24 | 25 | 31 | 32 | 40 | 41 | 45 | 46 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_6.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 24 | 25 | 33 | 34 | 42 | 43 | 47 | 48 | 52 | 53 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 24 | 25 | 31 | 32 | 39 | 40 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 24 | 25 | 31 | 32 | 40 | 41 | 45 | 46 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/layout/frogo_rv_list_type_9.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 25 | 26 | 34 | 35 | 39 | 40 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | 16 | 17 | 18 | #6200EE 19 | #3700B3 20 | #03DAC5 21 | 22 | 23 | #FFFFFF 24 | #000000 25 | #F44336 26 | #E91E63 27 | #9C27B0 28 | #673AB7 29 | #3F51B5 30 | #2196F3 31 | #03A9F4 32 | #00BCD4 33 | #009688 34 | #4CAF50 35 | #8BC34A 36 | #CDDC39 37 | #CDDC39 38 | #FFEB3B 39 | #FFC107 40 | #FF9800 41 | #FF5722 42 | 43 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | 16 | 17 | 18 | 19 | 0dp 20 | 1dp 21 | 2dp 22 | 4dp 23 | 6dp 24 | 8dp 25 | 10dp 26 | 27 | 12dp 28 | 14dp 29 | 16dp 30 | 18dp 31 | 20dp 32 | 33 | 22dp 34 | 24dp 35 | 26dp 36 | 28dp 37 | 30dp 38 | 39 | 32dp 40 | 34dp 41 | 36dp 42 | 38dp 43 | 40dp 44 | 45 | 42dp 46 | 44dp 47 | 46dp 48 | 48dp 49 | 50dp 50 | 51 | 52dp 52 | 54dp 53 | 56dp 54 | 58dp 55 | 60dp 56 | 57 | 62dp 58 | 64dp 59 | 66dp 60 | 68dp 61 | 70dp 62 | 63 | 72dp 64 | 74dp 65 | 76dp 66 | 78dp 67 | 80dp 68 | 69 | 82dp 70 | 84dp 71 | 86dp 72 | 88dp 73 | 90dp 74 | 75 | 92dp 76 | 94dp 77 | 96dp 78 | 98dp 79 | 100dp 80 | 81 | 102dp 82 | 104dp 83 | 106dp 84 | 108dp 85 | 110dp 86 | 87 | 112dp 88 | 114dp 89 | 116dp 90 | 118dp 91 | 120dp 92 | 93 | 122dp 94 | 124dp 95 | 126dp 96 | 128dp 97 | 130dp 98 | 99 | 132dp 100 | 134dp 101 | 136dp 102 | 138dp 103 | 140dp 104 | 105 | 142dp 106 | 144dp 107 | 146dp 108 | 148dp 109 | 150dp 110 | 111 | 152dp 112 | 154dp 113 | 156dp 114 | 158dp 115 | 160dp 116 | 117 | 162dp 118 | 164dp 119 | 166dp 120 | 168dp 121 | 170dp 122 | 123 | 172dp 124 | 174dp 125 | 176dp 126 | 178dp 127 | 180dp 128 | 129 | 182dp 130 | 184dp 131 | 186dp 132 | 188dp 133 | 190dp 134 | 135 | 192dp 136 | 194dp 137 | 196dp 138 | 198dp 139 | 200dp 140 | 141 | 142 | 1sp 143 | 2sp 144 | 4sp 145 | 6sp 146 | 8sp 147 | 9sp 148 | 10sp 149 | 11sp 150 | 12sp 151 | 13sp 152 | 14sp 153 | 15sp 154 | 16sp 155 | 18sp 156 | 20sp 157 | 22sp 158 | 24sp 159 | 26sp 160 | 28sp 161 | 30sp 162 | 32sp 163 | 34sp 164 | 36sp 165 | 166 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | 16 | 17 | 18 | 19 | is Empty Data 20 | No data found 21 | Please insert data here !!! 22 | This Is Image 23 | Lorem Ipsum 24 | Lorem Ipsum is simply dummy text 25 | Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry\'s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book 26 | 27 | -------------------------------------------------------------------------------- /frogouikit/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | 28 | 29 | 33 | 34 | 38 | 39 | 43 | 44 | 48 | 49 | 53 | 54 | 55 | 56 | 62 | 63 | 67 | 68 | 73 | 74 | 75 | 76 | 84 | 85 | 93 | 94 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /frogouikit/src/test/java/com/frogobox/frogodesignkit/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.frogobox.frogodesignkit 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | android.useAndroidX=true 18 | # Automatically convert third-party libraries to use AndroidX 19 | android.enableJetifier=true 20 | # Kotlin code style for this project: "official" or "obsolete": 21 | kotlin.code.style=official -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/caravancodes/frogo-ui-kit-deprecated/9cec8878d534e9206e68ef75e05f3d2842f75b40/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Oct 26 04:30:51 ICT 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip 7 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Attempt to set APP_HOME 10 | # Resolve links: $0 may be a link 11 | PRG="$0" 12 | # Need this for relative symlinks. 13 | while [ -h "$PRG" ] ; do 14 | ls=`ls -ld "$PRG"` 15 | link=`expr "$ls" : '.*-> \(.*\)$'` 16 | if expr "$link" : '/.*' > /dev/null; then 17 | PRG="$link" 18 | else 19 | PRG=`dirname "$PRG"`"/$link" 20 | fi 21 | done 22 | SAVED="`pwd`" 23 | cd "`dirname \"$PRG\"`/" >/dev/null 24 | APP_HOME="`pwd -P`" 25 | cd "$SAVED" >/dev/null 26 | 27 | APP_NAME="Gradle" 28 | APP_BASE_NAME=`basename "$0"` 29 | 30 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 31 | DEFAULT_JVM_OPTS="" 32 | 33 | # Use the maximum available, or set MAX_FD != -1 to use that value. 34 | MAX_FD="maximum" 35 | 36 | warn () { 37 | echo "$*" 38 | } 39 | 40 | die () { 41 | echo 42 | echo "$*" 43 | echo 44 | exit 1 45 | } 46 | 47 | # OS specific support (must be 'true' or 'false'). 48 | cygwin=false 49 | msys=false 50 | darwin=false 51 | nonstop=false 52 | case "`uname`" in 53 | CYGWIN* ) 54 | cygwin=true 55 | ;; 56 | Darwin* ) 57 | darwin=true 58 | ;; 59 | MINGW* ) 60 | msys=true 61 | ;; 62 | NONSTOP* ) 63 | nonstop=true 64 | ;; 65 | esac 66 | 67 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 68 | 69 | # Determine the Java command to use to start the JVM. 70 | if [ -n "$JAVA_HOME" ] ; then 71 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 72 | # IBM's JDK on AIX uses strange locations for the executables 73 | JAVACMD="$JAVA_HOME/jre/sh/java" 74 | else 75 | JAVACMD="$JAVA_HOME/bin/java" 76 | fi 77 | if [ ! -x "$JAVACMD" ] ; then 78 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 79 | 80 | Please set the JAVA_HOME variable in your environment to match the 81 | location of your Java installation." 82 | fi 83 | else 84 | JAVACMD="java" 85 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 86 | 87 | Please set the JAVA_HOME variable in your environment to match the 88 | location of your Java installation." 89 | fi 90 | 91 | # Increase the maximum file descriptors if we can. 92 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 93 | MAX_FD_LIMIT=`ulimit -H -n` 94 | if [ $? -eq 0 ] ; then 95 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 96 | MAX_FD="$MAX_FD_LIMIT" 97 | fi 98 | ulimit -n $MAX_FD 99 | if [ $? -ne 0 ] ; then 100 | warn "Could not set maximum file descriptor limit: $MAX_FD" 101 | fi 102 | else 103 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 104 | fi 105 | fi 106 | 107 | # For Darwin, add options to specify how the application appears in the dock 108 | if $darwin; then 109 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 110 | fi 111 | 112 | # For Cygwin, switch paths to Windows format before running java 113 | if $cygwin ; then 114 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 115 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 116 | JAVACMD=`cygpath --unix "$JAVACMD"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Escape application args 158 | save () { 159 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 160 | echo " " 161 | } 162 | APP_ARGS=$(save "$@") 163 | 164 | # Collect all arguments for the java command, following the shell quoting and substitution rules 165 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 166 | 167 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 168 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 169 | cd "$(dirname "$0")" 170 | fi 171 | 172 | exec "$JAVACMD" "$@" 173 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | set DIRNAME=%~dp0 12 | if "%DIRNAME%" == "" set DIRNAME=. 13 | set APP_BASE_NAME=%~n0 14 | set APP_HOME=%DIRNAME% 15 | 16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 17 | set DEFAULT_JVM_OPTS= 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windows variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | 53 | :win9xME_args 54 | @rem Slurp the command line arguments. 55 | set CMD_LINE_ARGS= 56 | set _SKIP=2 57 | 58 | :win9xME_args_slurp 59 | if "x%~1" == "x" goto execute 60 | 61 | set CMD_LINE_ARGS=%* 62 | 63 | :execute 64 | @rem Setup the command line 65 | 66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 67 | 68 | @rem Execute Gradle 69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 70 | 71 | :end 72 | @rem End local scope for the variables with windows NT shell 73 | if "%ERRORLEVEL%"=="0" goto mainEnd 74 | 75 | :fail 76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 77 | rem the _cmd.exe /c_ return code! 78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 79 | exit /b 1 80 | 81 | :mainEnd 82 | if "%OS%"=="Windows_NT" endlocal 83 | 84 | :omega 85 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':frogouikit' 2 | include ':app' 3 | rootProject.name = "FrogoUIKit" --------------------------------------------------------------------------------