├── core ├── .gitignore ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ ├── res │ │ └── values │ │ │ ├── colors.xml │ │ │ └── attrs.xml │ │ └── java │ │ └── com │ │ ├── github │ │ └── heyalex │ │ │ └── cornersheet │ │ │ ├── behavior │ │ │ └── CornerSheetBehavior.kt │ │ │ └── Utils.kt │ │ └── google │ │ └── android │ │ └── material │ │ └── bottomsheet │ │ └── CornerMaterialSheetBehavior.kt ├── gradle.properties ├── proguard-rules.pro └── build.gradle ├── app ├── .gitignore ├── src │ └── main │ │ ├── res │ │ ├── drawable │ │ │ ├── sup_sample_ic.png │ │ │ ├── ic_keyboard_arrow_down_24dp.xml │ │ │ ├── ic_message_24dp.xml │ │ │ └── ic_launcher_background.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 │ │ │ ├── integers.xml │ │ │ ├── strings.xml │ │ │ ├── colors.xml │ │ │ └── styles.xml │ │ ├── values-w600dp │ │ │ └── integers.xml │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ ├── transition │ │ │ └── fade.xml │ │ ├── values-v21 │ │ │ └── styles.xml │ │ ├── layout │ │ │ ├── example_activity.xml │ │ │ ├── shop_item.xml │ │ │ ├── support_fragment.xml │ │ │ ├── support_header.xml │ │ │ ├── shop_fragment.xml │ │ │ ├── support_activity.xml │ │ │ ├── detail_shop_item_fragment.xml │ │ │ ├── support_content.xml │ │ │ └── activity_main.xml │ │ └── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── heyalex │ │ │ └── cornerdrawer │ │ │ └── example │ │ │ ├── ExampleActivity.kt │ │ │ ├── support │ │ │ ├── shop │ │ │ │ ├── ShopAdapter.kt │ │ │ │ ├── DetailShopFragment.kt │ │ │ │ ├── ShopItem.kt │ │ │ │ └── ShopFragment.kt │ │ │ ├── ShopActivity.kt │ │ │ └── SupportFragment.kt │ │ │ └── BehaviorSampleActivity.kt │ │ └── AndroidManifest.xml ├── proguard-rules.pro └── build.gradle ├── drawer ├── .gitignore ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ ├── res │ │ └── values │ │ │ └── attrs.xml │ │ └── java │ │ └── com │ │ └── github │ │ └── heyalex │ │ ├── CornerDrawer.kt │ │ └── cornersheet │ │ └── behavior │ │ └── CornerSheetHeaderBehavior.kt ├── gradle.properties ├── proguard-rules.pro └── build.gradle ├── settings.gradle ├── raw ├── app-debug.apk ├── ceramic mug.jpg ├── dinner_set.jpg ├── shop_sample.gif ├── spoon_set.jpg ├── tableware.jpg ├── ceramic_jugs.jpg ├── dinner_set_2.jpg ├── water_jugs_2.jpg ├── ceramic_mugs_2.jpg ├── dinnerware_set_2.jpg ├── dinnerware_set_3.jpg ├── linen napkins.jpeg ├── linen_napkins_2.jpg ├── corner_sample_pic.png ├── square_dinner_set.jpeg ├── antique_cutting_boards.jpg ├── behavior_states_sample.png └── corner_behavior_sample.gif ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── .github └── workflows │ └── publish.yaml ├── release-bintray.gradle ├── gradle.properties ├── LICENSE.txt ├── jcenter ├── maven-install.gradle └── bintray.gradle ├── gradlew.bat ├── gradlew └── README.md /core/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /drawer/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':drawer', ':core' 2 | -------------------------------------------------------------------------------- /drawer/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /core/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /raw/app-debug.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/app-debug.apk -------------------------------------------------------------------------------- /raw/ceramic mug.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/ceramic mug.jpg -------------------------------------------------------------------------------- /raw/dinner_set.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/dinner_set.jpg -------------------------------------------------------------------------------- /raw/shop_sample.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/shop_sample.gif -------------------------------------------------------------------------------- /raw/spoon_set.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/spoon_set.jpg -------------------------------------------------------------------------------- /raw/tableware.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/tableware.jpg -------------------------------------------------------------------------------- /raw/ceramic_jugs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/ceramic_jugs.jpg -------------------------------------------------------------------------------- /raw/dinner_set_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/dinner_set_2.jpg -------------------------------------------------------------------------------- /raw/water_jugs_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/water_jugs_2.jpg -------------------------------------------------------------------------------- /raw/ceramic_mugs_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/ceramic_mugs_2.jpg -------------------------------------------------------------------------------- /raw/dinnerware_set_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/dinnerware_set_2.jpg -------------------------------------------------------------------------------- /raw/dinnerware_set_3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/dinnerware_set_3.jpg -------------------------------------------------------------------------------- /raw/linen napkins.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/linen napkins.jpeg -------------------------------------------------------------------------------- /raw/linen_napkins_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/linen_napkins_2.jpg -------------------------------------------------------------------------------- /raw/corner_sample_pic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/corner_sample_pic.png -------------------------------------------------------------------------------- /raw/square_dinner_set.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/square_dinner_set.jpeg -------------------------------------------------------------------------------- /raw/antique_cutting_boards.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/antique_cutting_boards.jpg -------------------------------------------------------------------------------- /raw/behavior_states_sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/behavior_states_sample.png -------------------------------------------------------------------------------- /raw/corner_behavior_sample.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/raw/corner_behavior_sample.gif -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/drawable/sup_sample_ic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/drawable/sup_sample_ic.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HeyAlex/CornerSheet/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /core/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFF 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 2 4 | -------------------------------------------------------------------------------- /app/src/main/res/values-w600dp/integers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | CornerDrawer 3 | Support 4 | 5 | -------------------------------------------------------------------------------- /core/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_NAME=CornerSheet 2 | POM_DESCRIPTION=Behavior to expand view from corner 3 | POM_BINTRAY_NAME=com.github.heyalex.cornersheet:core 4 | POM_ARTIFACT_ID=core 5 | POM_PACKAGING=aar 6 | POM_VERSION=v1.0.1 -------------------------------------------------------------------------------- /drawer/gradle.properties: -------------------------------------------------------------------------------- 1 | POM_NAME=CornerSheet 2 | POM_DESCRIPTION=View that expands from corner 3 | POM_BINTRAY_NAME=com.github.heyalex.cornersheet:drawer 4 | POM_ARTIFACT_ID=drawer 5 | POM_PACKAGING=aar 6 | POM_VERSION=v1.0.1 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat Apr 23 09:44:01 MSK 2022 2 | distributionBase=GRADLE_USER_HOME 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /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/transition/fade.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | /> 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | #000 8 | #000 9 | 10 | -------------------------------------------------------------------------------- /drawer/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_keyboard_arrow_down_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_message_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /core/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.github/workflows/publish.yaml: -------------------------------------------------------------------------------- 1 | name: Publish Bintray 2 | on: 3 | release: 4 | types: [published] 5 | 6 | jobs: 7 | publish: 8 | runs-on: ubuntu-latest 9 | 10 | steps: 11 | - uses: actions/checkout@v1 12 | - name: Set up JDK 1.8 13 | uses: actions/setup-java@v1 14 | with: 15 | java-version: 1.8 16 | - name: Grant Permission to Execute 17 | run: chmod +x gradlew 18 | - name: Publish Library 19 | env: 20 | bintrayUser: ${{ secrets.BINTRAY_USER }} 21 | bintrayApiKey: ${{ secrets.BINTRAY_API_KEY }} 22 | run: ./gradlew bintrayUpload -------------------------------------------------------------------------------- /core/src/main/java/com/github/heyalex/cornersheet/behavior/CornerSheetBehavior.kt: -------------------------------------------------------------------------------- 1 | package com.github.heyalex.cornersheet.behavior 2 | 3 | import android.content.Context 4 | import android.util.AttributeSet 5 | import android.view.View 6 | import com.google.android.material.bottomsheet.CornerMaterialSheetBehavior 7 | 8 | open class CornerSheetBehavior : CornerMaterialSheetBehavior { 9 | constructor() : super() 10 | constructor(context: Context, attrs: AttributeSet) : super(context, attrs) 11 | 12 | companion object { 13 | const val STATE_EXPANDED = 3 14 | const val STATE_COLLAPSED = 4 15 | const val STATE_HIDDEN = 5 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 15 | 16 | 34dp 17 | 18 | 19 | -------------------------------------------------------------------------------- /core/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/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 22 | -------------------------------------------------------------------------------- /drawer/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 22 | -------------------------------------------------------------------------------- /release-bintray.gradle: -------------------------------------------------------------------------------- 1 | //ext { 2 | // bintrayRepo = 'CornerSheet' 3 | // bintrayName = POM_BINTRAY_NAME 4 | // 5 | // publishedGroupId = 'com.github.heyalex.cornersheet' 6 | // libraryName = 'cornersheet' 7 | // artifact = POM_ARTIFACT_ID 8 | // packagingType = POM_PACKAGING 9 | // 10 | // libraryDescription = POM_DESCRIPTION 11 | // 12 | // siteUrl = 'https://github.com/HeyAlex/CornerSheet' 13 | // gitUrl = 'https://github.com/HeyAlex/CornerSheet.git' 14 | // 15 | // libraryVersion = POM_VERSION 16 | // 17 | // developerId = 'heyalex' 18 | // developerName = 'Alex Fialko' 19 | // developerEmail = 'alexfialko@hotmail.com' 20 | // 21 | // licenseName = 'MIT/X11 License' 22 | // licenseUrl = 'http://opensource.org/licenses/MIT' 23 | // allLicenses = ["MIT"] 24 | //} 25 | // 26 | //apply from: rootProject.file('jcenter/maven-install.gradle') 27 | //apply from: rootProject.file('jcenter/bintray.gradle') -------------------------------------------------------------------------------- /app/src/main/java/com/github/heyalex/cornerdrawer/example/ExampleActivity.kt: -------------------------------------------------------------------------------- 1 | package com.github.heyalex.cornerdrawer.example 2 | 3 | import android.app.Activity 4 | import android.content.Intent 5 | import android.os.Bundle 6 | import android.widget.Button 7 | import com.github.heyalex.cornerdrawer.example.support.ShopActivity 8 | 9 | class ExampleActivity : Activity() { 10 | override fun onCreate(savedInstanceState: Bundle?) { 11 | super.onCreate(savedInstanceState) 12 | setContentView(R.layout.example_activity) 13 | 14 | findViewById