├── HidingToolbar ├── .idea │ ├── .name │ ├── copyright │ │ └── profiles_settings.xml │ ├── scopes │ │ └── scope_settings.xml │ ├── encodings.xml │ ├── vcs.xml │ ├── modules.xml │ ├── misc.xml │ ├── gradle.xml │ └── compiler.xml ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ └── layout │ │ │ │ │ ├── activity_main.xml │ │ │ │ │ └── list_item.xml │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── foosample │ │ │ │ └── bar │ │ │ │ └── hidingtoolbar │ │ │ │ ├── RecyclerItemViewHolder.java │ │ │ │ ├── RecyclerAdapter.java │ │ │ │ ├── MyScrollListener.java │ │ │ │ └── MainActivity.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── foosample │ │ │ └── bar │ │ │ └── hidingtoolbar │ │ │ └── ApplicationTest.java │ ├── proguard-rules.pro │ └── build.gradle ├── settings.gradle ├── .gitignore ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── ReadMe.md ├── build.gradle ├── HidingToolbar.iml ├── gradle.properties ├── LICENSE ├── gradlew.bat └── gradlew ├── ConcurrentTasks ├── .idea │ ├── .name │ ├── copyright │ │ └── profiles_settings.xml │ ├── scopes │ │ └── scope_settings.xml │ ├── encodings.xml │ ├── vcs.xml │ ├── modules.xml │ ├── misc.xml │ ├── gradle.xml │ └── compiler.xml ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-v21 │ │ │ │ │ └── styles.xml │ │ │ │ ├── values │ │ │ │ │ ├── styles.xml │ │ │ │ │ ├── dimens.xml │ │ │ │ │ └── strings.xml │ │ │ │ ├── values-sw600dp │ │ │ │ │ └── dimens.xml │ │ │ │ ├── values-w820dp │ │ │ │ │ └── dimens.xml │ │ │ │ └── layout │ │ │ │ │ ├── activity_b.xml │ │ │ │ │ └── activity_a.xml │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── foosample │ │ │ │ └── bar │ │ │ │ └── concurrenttasks │ │ │ │ ├── ActivityB.java │ │ │ │ └── ActivityA.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── foosample │ │ │ └── bar │ │ │ └── concurrenttasks │ │ │ └── ApplicationTest.java │ ├── build.gradle │ ├── proguard-rules.pro │ └── app.iml ├── settings.gradle ├── .gitignore ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── build.gradle ├── ReadMe.md ├── ConcurrentTasks.iml ├── gradle.properties ├── LICENSE ├── gradlew.bat └── gradlew ├── RecyclerViewCardView ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── styles.xml │ │ │ │ └── dimens.xml │ │ │ ├── menu │ │ │ │ └── menu_main.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ └── layout │ │ │ │ ├── activity_main.xml │ │ │ │ └── card_view.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── foosample │ │ │ │ └── bar │ │ │ │ └── myapplication │ │ │ │ ├── Palette.java │ │ │ │ ├── PaletteViewHolder.java │ │ │ │ ├── MyRecyclerAdapter.java │ │ │ │ └── MainActivity.java │ │ └── AndroidManifest.xml │ └── androidTest │ │ └── java │ │ └── com │ │ └── foosample │ │ └── bar │ │ └── myapplication │ │ └── ApplicationTest.java ├── ReadMe.md ├── proguard-rules.pro ├── build.gradle └── LICENSE ├── FloatingActionButton ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── styles.xml │ │ │ │ │ └── dimens.xml │ │ │ │ ├── drawable-hdpi │ │ │ │ │ ├── fab_ic_add.png │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ ├── fab_ic_add.png │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ ├── fab_ic_add.png │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ │ ├── fab_ic_add.png │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xxxhdpi │ │ │ │ │ └── fab_ic_add.png │ │ │ │ ├── drawable-v21 │ │ │ │ │ └── fab_ripple.xml │ │ │ │ ├── values-v21 │ │ │ │ │ └── styles.xml │ │ │ │ ├── layout │ │ │ │ │ ├── list_item.xml │ │ │ │ │ └── activity_main.xml │ │ │ │ ├── anim-v21 │ │ │ │ │ └── fab_elevation.xml │ │ │ │ ├── layout-v21 │ │ │ │ │ └── activity_main.xml │ │ │ │ └── drawable │ │ │ │ │ └── fab_shape.xml │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── foosample │ │ │ │ └── bar │ │ │ │ └── floatingactionbutton │ │ │ │ ├── RecyclerItemViewHolder.java │ │ │ │ ├── RecyclerAdapter.java │ │ │ │ └── MainActivity.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── foosample │ │ │ └── bar │ │ │ └── floatingactionbutton │ │ │ └── ApplicationTest.java │ ├── proguard-rules.pro │ └── build.gradle ├── .idea │ ├── .name │ ├── copyright │ │ └── profiles_settings.xml │ ├── scopes │ │ └── scope_settings.xml │ ├── encodings.xml │ ├── vcs.xml │ ├── modules.xml │ ├── gradle.xml │ ├── compiler.xml │ └── misc.xml ├── settings.gradle ├── .gitignore ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── ReadMe.md ├── build.gradle ├── FloatingActionButton.iml ├── gradle.properties ├── LICENSE ├── gradlew.bat └── gradlew ├── LollipopNotifications ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── drawable-hdpi │ │ │ │ │ ├── tile.9.png │ │ │ │ │ ├── ic_public.png │ │ │ │ │ ├── ic_secret.png │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── ic_private.png │ │ │ │ │ ├── ic_contact_picture.png │ │ │ │ │ ├── ic_launcher_notification.png │ │ │ │ │ ├── ic_private_notification.png │ │ │ │ │ ├── ic_public_notification.png │ │ │ │ │ └── ic_secret_notification.png │ │ │ │ ├── drawable-mdpi │ │ │ │ │ ├── ic_public.png │ │ │ │ │ ├── ic_secret.png │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── ic_private.png │ │ │ │ │ ├── ic_contact_picture.png │ │ │ │ │ ├── ic_launcher_notification.png │ │ │ │ │ ├── ic_private_notification.png │ │ │ │ │ ├── ic_public_notification.png │ │ │ │ │ └── ic_secret_notification.png │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── drawable-xhdpi │ │ │ │ │ ├── ic_private.png │ │ │ │ │ ├── ic_public.png │ │ │ │ │ ├── ic_secret.png │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── ic_contact_picture.png │ │ │ │ │ ├── ic_private_notification.png │ │ │ │ │ ├── ic_public_notification.png │ │ │ │ │ ├── ic_secret_notification.png │ │ │ │ │ └── ic_launcher_notification.png │ │ │ │ ├── drawable-xxhdpi │ │ │ │ │ ├── ic_public.png │ │ │ │ │ ├── ic_secret.png │ │ │ │ │ ├── ic_launcher.png │ │ │ │ │ ├── ic_private.png │ │ │ │ │ ├── ic_contact_picture.png │ │ │ │ │ ├── ic_public_notification.png │ │ │ │ │ ├── ic_secret_notification.png │ │ │ │ │ ├── ic_launcher_notification.png │ │ │ │ │ └── ic_private_notification.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ └── layout │ │ │ │ │ └── custom_notification.xml │ │ │ └── AndroidManifest.xml │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── foosample │ │ │ └── bar │ │ │ └── lollipopnotifications │ │ │ └── ApplicationTest.java │ ├── build.gradle │ └── proguard-rules.pro ├── .idea │ ├── .name │ ├── copyright │ │ └── profiles_settings.xml │ ├── scopes │ │ └── scope_settings.xml │ ├── encodings.xml │ ├── vcs.xml │ ├── modules.xml │ ├── misc.xml │ ├── gradle.xml │ └── compiler.xml ├── settings.gradle ├── .gitignore ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── ReadMe.md ├── build.gradle ├── gradle.properties ├── LollipopNotifications.iml ├── LICENSE ├── gradlew.bat └── gradlew ├── LollipopTransitions ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── dimens.xml │ │ │ │ │ ├── styles.xml │ │ │ │ │ └── colors.xml │ │ │ │ ├── menu │ │ │ │ │ └── menu_main.xml │ │ │ │ ├── values-w820dp │ │ │ │ │ └── dimens.xml │ │ │ │ └── layout │ │ │ │ │ ├── activity_a.xml │ │ │ │ │ ├── activity_c.xml │ │ │ │ │ └── activity_b.xml │ │ │ ├── AndroidManifest.xml │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── foosample │ │ │ │ └── bar │ │ │ │ └── transitions │ │ │ │ ├── ActivityA.java │ │ │ │ ├── ActivityC.java │ │ │ │ └── ActivityB.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── foosample │ │ │ └── bar │ │ │ └── transitions │ │ │ └── ApplicationTest.java │ ├── build.gradle │ └── proguard-rules.pro ├── .idea │ ├── .name │ ├── copyright │ │ └── profiles_settings.xml │ ├── scopes │ │ └── scope_settings.xml │ ├── encodings.xml │ ├── vcs.xml │ ├── modules.xml │ ├── misc.xml │ ├── gradle.xml │ └── compiler.xml ├── settings.gradle ├── .gitignore ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── ReadMe.md ├── build.gradle ├── LollipopTransitions.iml ├── gradle.properties ├── LICENSE ├── gradlew.bat └── gradlew ├── README.md └── .gitignore /HidingToolbar/.idea/.name: -------------------------------------------------------------------------------- 1 | HidingToolbar -------------------------------------------------------------------------------- /ConcurrentTasks/.idea/.name: -------------------------------------------------------------------------------- 1 | ConcurrentTasks -------------------------------------------------------------------------------- /ConcurrentTasks/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /HidingToolbar/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /RecyclerViewCardView/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /FloatingActionButton/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /HidingToolbar/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /LollipopNotifications/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /LollipopTransitions/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /ConcurrentTasks/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /FloatingActionButton/.idea/.name: -------------------------------------------------------------------------------- 1 | FloatingActionButton -------------------------------------------------------------------------------- /LollipopTransitions/.idea/.name: -------------------------------------------------------------------------------- 1 | LollipopTransitions -------------------------------------------------------------------------------- /FloatingActionButton/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /LollipopNotifications/.idea/.name: -------------------------------------------------------------------------------- 1 | LollipopNotifications -------------------------------------------------------------------------------- /LollipopNotifications/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /LollipopTransitions/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /ConcurrentTasks/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | -------------------------------------------------------------------------------- /HidingToolbar/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | -------------------------------------------------------------------------------- /HidingToolbar/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /ConcurrentTasks/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /FloatingActionButton/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | HidingToolbar 3 | 4 | -------------------------------------------------------------------------------- /LollipopNotifications/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | -------------------------------------------------------------------------------- /LollipopTransitions/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | /local.properties 3 | /.idea/workspace.xml 4 | /.idea/libraries 5 | .DS_Store 6 | /build 7 | -------------------------------------------------------------------------------- /FloatingActionButton/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /LollipopNotifications/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /LollipopTransitions/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /HidingToolbar/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/HidingToolbar/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /ConcurrentTasks/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/ConcurrentTasks/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FloatingActionButton 3 | 4 | -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | LollipopNotifications 3 | 4 | -------------------------------------------------------------------------------- /LollipopTransitions/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopTransitions/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /FloatingActionButton/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /LollipopNotifications/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # android 2 | Android sample codes. 3 | 4 | Full tutorials are published at Xmodulo. 5 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/HidingToolbar/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/HidingToolbar/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/ConcurrentTasks/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/ConcurrentTasks/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/ConcurrentTasks/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/HidingToolbar/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/HidingToolbar/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/RecyclerViewCardView/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/RecyclerViewCardView/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/ConcurrentTasks/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/tile.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/tile.9.png -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/RecyclerViewCardView/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/RecyclerViewCardView/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-hdpi/fab_ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/drawable-hdpi/fab_ic_add.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-mdpi/fab_ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/drawable-mdpi/fab_ic_add.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/ic_public.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/ic_public.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/ic_secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/ic_secret.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-mdpi/ic_public.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-mdpi/ic_public.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-mdpi/ic_secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-mdpi/ic_secret.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopTransitions/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopTransitions/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopTransitions/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopTransitions/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-xhdpi/fab_ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/drawable-xhdpi/fab_ic_add.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-xxhdpi/fab_ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/drawable-xxhdpi/fab_ic_add.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/ic_private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/ic_private.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-mdpi/ic_private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-mdpi/ic_private.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_private.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_public.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_public.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_secret.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_public.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_public.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_secret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_secret.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-xxxhdpi/fab_ic_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/FloatingActionButton/app/src/main/res/drawable-xxxhdpi/fab_ic_add.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_private.png -------------------------------------------------------------------------------- /ConcurrentTasks/.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /HidingToolbar/.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/ic_contact_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/ic_contact_picture.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-mdpi/ic_contact_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-mdpi/ic_contact_picture.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_contact_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_contact_picture.png -------------------------------------------------------------------------------- /FloatingActionButton/.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /LollipopNotifications/.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_contact_picture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_contact_picture.png -------------------------------------------------------------------------------- /LollipopTransitions/.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/ic_launcher_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/ic_launcher_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/ic_private_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/ic_private_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/ic_public_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/ic_public_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-hdpi/ic_secret_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-hdpi/ic_secret_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-mdpi/ic_launcher_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-mdpi/ic_launcher_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-mdpi/ic_private_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-mdpi/ic_private_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-mdpi/ic_public_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-mdpi/ic_public_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-mdpi/ic_secret_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-mdpi/ic_secret_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_private_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_private_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_public_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_public_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_secret_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_secret_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_public_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_public_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_secret_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_secret_notification.png -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | RecyclerViewAndCardView 3 | 4 | Settings 5 | 6 | -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_launcher_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xhdpi/ic_launcher_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_launcher_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_launcher_notification.png -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_private_notification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xmodulo/android/HEAD/LollipopNotifications/app/src/main/res/drawable-xxhdpi/ic_private_notification.png -------------------------------------------------------------------------------- /ConcurrentTasks/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /ConcurrentTasks/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /HidingToolbar/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /HidingToolbar/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /FloatingActionButton/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /FloatingActionButton/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /LollipopNotifications/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LollipopTransitions/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /LollipopTransitions/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /LollipopNotifications/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /RecyclerViewCardView/ReadMe.md: -------------------------------------------------------------------------------- 1 | # RecyclerViewCardView 2 | 3 | This is a simple implementation of the Android Lollipop RecyclerView and CardView APIs. 4 | 5 | The complete tutorial is available [here](http://xmodulo.com/recyclerview-cardview-android.html) 6 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #4CAF50 4 | #388E3C 5 | #FF5722 6 | 7 | -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /LollipopNotifications/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Lollipopnotifications 2 | 3 | This is a sample android application that shows the different possible notifications using the Android Lollipop API. 4 | 5 | The complete tutorial is available [here](http://xmodulo.com/implement-notifications-android.html) 6 | -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 32dp 4 | 32dp 5 | 36sp 6 | -------------------------------------------------------------------------------- /ConcurrentTasks/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Apr 10 15:27:10 PDT 2013 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-2.2.1-all.zip 7 | -------------------------------------------------------------------------------- /FloatingActionButton/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Implement Floating Action Bar (FAB) 2 | 3 | This is a sample program that implements a Floating Action Bar for both pre-Lollipop and Lollipop devices. 4 | 5 | The complete tutorial is available [here](http://xmodulo.com/implement-floating-action-button-android-apps.html) 6 | -------------------------------------------------------------------------------- /LollipopTransitions/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Apr 10 15:27:10 PDT 2013 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-2.2.1-all.zip 7 | -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 24sp 6 | 7 | -------------------------------------------------------------------------------- /HidingToolbar/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Hide/Show Toolbar in response to scrolling a RecyclerView 2 | 3 | This is a sample program that hides or shows a Toolbar in response to scrolling a RecyclerView upwards or downwards. 4 | 5 | The complete tutorial is available [here](http://xmodulo.com/hide-show-toolbar-scrolling-android.html) 6 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #4CAF50 4 | #388E3C 5 | #FF5722 6 | #E64A19 7 | -------------------------------------------------------------------------------- /LollipopTransitions/ReadMe.md: -------------------------------------------------------------------------------- 1 | # LollipopTransitions 2 | 3 | This is a simple implementation of the Android Lollipop Transition APIs. 4 | 5 | There are examples for both Content Transitions and Shared Element Transitions 6 | 7 | The complete tutorial is available [here](http://xmodulo.com/activity-transition-animations-android.html) 8 | -------------------------------------------------------------------------------- /HidingToolbar/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Apr 10 15:27:10 PDT 2013 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-2.2.1-all.zip 7 | distributionUrl=file\:///home/obaro/Downloads/gradle-2.3-all.zip 8 | -------------------------------------------------------------------------------- /FloatingActionButton/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Apr 10 15:27:10 PDT 2013 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-2.2.1-all.zip 7 | distributionUrl=file\:///home/obaro/Downloads/gradle-2.3-all.zip 8 | -------------------------------------------------------------------------------- /LollipopNotifications/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Apr 10 15:27:10 PDT 2013 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-2.2.1-all.zip 7 | distributionUrl=file\:///home/obaro/Downloads/gradle-2.3-all.zip 8 | -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | LollipopTransitions 3 | 4 | Hello world! 5 | Settings 6 | One Shared Element 7 | Two Shared Elements 8 | 9 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/drawable-v21/fab_ripple.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the Dalvik VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | 15 | # Gradle files 16 | .gradle/ 17 | build/ 18 | 19 | # Local configuration file (sdk path, etc) 20 | local.properties 21 | 22 | # Proguard folder generated by Eclipse 23 | proguard/ 24 | 25 | # Log Files 26 | *.log 27 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 4 | 6 | 7 | -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /HidingToolbar/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | 16dp 7 | 24dp 8 | 32dp 9 | 10 | -------------------------------------------------------------------------------- /ConcurrentTasks/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /FloatingActionButton/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /LollipopTransitions/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /LollipopNotifications/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ConcurrentTasks/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /HidingToolbar/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /LollipopNotifications/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /LollipopTransitions/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 36sp 7 | 8 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/androidTest/java/com/foosample/bar/hidingtoolbar/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.hidingtoolbar; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /LollipopTransitions/app/src/androidTest/java/com/foosample/bar/transitions/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.transitions; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /RecyclerViewCardView/src/androidTest/java/com/foosample/bar/myapplication/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.myapplication; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/androidTest/java/com/foosample/bar/concurrenttasks/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.concurrenttasks; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /FloatingActionButton/app/src/androidTest/java/com/foosample/bar/floatingactionbutton/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.floatingactionbutton; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /LollipopNotifications/app/src/androidTest/java/com/foosample/bar/lollipopnotifications/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.lollipopnotifications; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /HidingToolbar/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:1.1.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /ConcurrentTasks/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:1.1.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /FloatingActionButton/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:1.1.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /LollipopNotifications/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:1.1.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /LollipopTransitions/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:1.1.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16dp 5 | 16dp 6 | 7 | 56dp 8 | 16dp 9 | 16dp 10 | 8dp 11 | 12dp 12 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ConcurrentTasks/ReadMe.md: -------------------------------------------------------------------------------- 1 | # Concurrent Tasks with Android L 2 | 3 | This is a sample program that explores the new Document Centric (Concurrent Task) Android Lollipop APIs. 4 | 5 | ActivityA can start ActivityB in one of three ways 6 | 7 | 1. Default method that replaces ActivityA with ActivityB 8 | 9 | 2. As a concurrent task that is replaced each time 10 | 11 | 3. As multiple concurrent tasks. 12 | 13 | ActivityA can also close a random ActivityB, and each ActivityB can switch to ActivityA or close itself. 14 | 15 | The complete tutorial is available [here](http://xmodulo.com/document-centric-apps-concurrent-tasks-android.html) 16 | -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /HidingToolbar/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /FloatingActionButton/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /LollipopNotifications/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /ConcurrentTasks/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 21 5 | buildToolsVersion "21.1.2" 6 | 7 | defaultConfig { 8 | applicationId "com.foosample.bar.concurrenttasks" 9 | minSdkVersion 21 10 | targetSdkVersion 21 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(dir: 'libs', include: ['*.jar']) 24 | } 25 | -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ConcurrentTasks Sample 3 | 4 | Hello world! 5 | Settings 6 | 7 | Switch to Activity_B 8 | Single Concurrent Activity_B 9 | Multiple Concurrent Activity_B 10 | Close Random Activity_B 11 | Finish Activity 12 | Go to ActivityA 13 | 14 | -------------------------------------------------------------------------------- /LollipopTransitions/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 21 5 | buildToolsVersion "21.1.2" 6 | 7 | defaultConfig { 8 | applicationId "com.foosample.bar.contenttransition" 9 | minSdkVersion 21 10 | targetSdkVersion 21 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(dir: 'libs', include: ['*.jar']) 24 | compile 'com.android.support:appcompat-v7:21.0.3' 25 | } 26 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/java/com/foosample/bar/myapplication/Palette.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.myapplication; 2 | 3 | /** 4 | * Created by obaro on 15/03/2015. 5 | */ 6 | public class Palette { 7 | private String name; 8 | private String hexValue; 9 | private int intValue; 10 | 11 | public Palette(String name, String hexValue, int intValue) { 12 | this.name = name; 13 | this.hexValue = hexValue; 14 | this.intValue = intValue; 15 | } 16 | 17 | public String getName() { 18 | return name; 19 | } 20 | 21 | public String getHexValue() { 22 | return hexValue; 23 | } 24 | 25 | public int getIntValue() { 26 | return intValue; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ConcurrentTasks/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /LollipopNotifications/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 21 5 | buildToolsVersion "21.1.2" 6 | 7 | defaultConfig { 8 | applicationId "com.foosample.bar.lollipopnotifications" 9 | minSdkVersion 14 10 | targetSdkVersion 21 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(dir: 'libs', include: ['*.jar']) 24 | compile 'com.android.support:appcompat-v7:21.0.3' 25 | } 26 | -------------------------------------------------------------------------------- /LollipopTransitions/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 6 | 7 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /ConcurrentTasks/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/obaro/Software/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /HidingToolbar/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/obaro/Software/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /FloatingActionButton/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/obaro/Software/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /LollipopTransitions/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/obaro/Software/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /RecyclerViewCardView/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/obaro/Software/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 8 | 9 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /LollipopNotifications/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /home/obaro/Software/android-sdk-linux/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 12 | 13 | 18 | 19 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/res/layout/list_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 16 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/layout/list_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 16 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /ConcurrentTasks/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /HidingToolbar/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/java/com/foosample/bar/myapplication/PaletteViewHolder.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.myapplication; 2 | 3 | import android.support.v7.widget.CardView; 4 | import android.support.v7.widget.RecyclerView; 5 | import android.view.View; 6 | import android.widget.TextView; 7 | 8 | /** 9 | * Created by obaro on 15/03/2015. 10 | */ 11 | public class PaletteViewHolder extends RecyclerView.ViewHolder { 12 | 13 | protected TextView titleText; 14 | protected TextView contentText; 15 | protected CardView card; 16 | 17 | public PaletteViewHolder(View itemView) { 18 | super(itemView); 19 | titleText = (TextView) itemView.findViewById(R.id.name); 20 | contentText = (TextView) itemView.findViewById(R.id.hexValue); 21 | card = (CardView) itemView; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /FloatingActionButton/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /LollipopNotifications/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /LollipopTransitions/.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /HidingToolbar/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 21 5 | buildToolsVersion "21.1.2" 6 | 7 | defaultConfig { 8 | applicationId "com.foosample.bar.hidingtoolbar" 9 | minSdkVersion 14 10 | targetSdkVersion 21 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(dir: 'libs', include: ['*.jar']) 24 | compile 'com.android.support:appcompat-v7:21.0.3' 25 | compile 'com.android.support:recyclerview-v7:21.0.3' 26 | compile 'com.android.support:cardview-v7:21.0.3' 27 | } 28 | -------------------------------------------------------------------------------- /RecyclerViewCardView/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 21 5 | buildToolsVersion "21.1.2" 6 | 7 | defaultConfig { 8 | applicationId "com.foosample.bar.myapplication" 9 | minSdkVersion 14 10 | targetSdkVersion 21 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(dir: 'libs', include: ['*.jar']) 24 | compile 'com.android.support:appcompat-v7:21.0.3' 25 | compile 'com.android.support:cardview-v7:21.0.3' 26 | compile 'com.android.support:recyclerview-v7:21.0.3' 27 | } 28 | -------------------------------------------------------------------------------- /FloatingActionButton/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 21 5 | buildToolsVersion "21.1.2" 6 | 7 | defaultConfig { 8 | applicationId "com.foosample.bar.floatingactionbutton" 9 | minSdkVersion 14 10 | targetSdkVersion 21 11 | versionCode 1 12 | versionName "1.0" 13 | } 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | compile fileTree(dir: 'libs', include: ['*.jar']) 24 | compile 'com.android.support:appcompat-v7:21.0.3' 25 | compile 'com.android.support:cardview-v7:21.0.3' 26 | compile 'com.android.support:recyclerview-v7:21.0.3' 27 | } 28 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/anim-v21/fab_elevation.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /HidingToolbar/HidingToolbar.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /ConcurrentTasks/ConcurrentTasks.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /LollipopTransitions/LollipopTransitions.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /FloatingActionButton/FloatingActionButton.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /HidingToolbar/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /ConcurrentTasks/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /LollipopTransitions/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /FloatingActionButton/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/java/com/foosample/bar/hidingtoolbar/RecyclerItemViewHolder.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.hidingtoolbar; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.view.View; 5 | import android.widget.TextView; 6 | 7 | /** 8 | * Created by obaro on 10/04/2015. 9 | */ 10 | public class RecyclerItemViewHolder extends RecyclerView.ViewHolder { 11 | private final TextView mItemTextView; 12 | 13 | public RecyclerItemViewHolder(final View parent, TextView itemTextView) { 14 | super(parent); 15 | mItemTextView = itemTextView; 16 | } 17 | public static RecyclerItemViewHolder newInstance(View parent) { 18 | TextView itemTextView = (TextView) parent.findViewById(R.id.itemTextView); 19 | return new RecyclerItemViewHolder(parent, itemTextView); 20 | } 21 | public void setItemText(CharSequence text) { 22 | mItemTextView.setText(text); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /LollipopNotifications/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /LollipopNotifications/LollipopNotifications.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/java/com/foosample/bar/floatingactionbutton/RecyclerItemViewHolder.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.floatingactionbutton; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.view.View; 5 | import android.widget.TextView; 6 | 7 | /** 8 | * Created by obaro on 10/04/2015. 9 | */ 10 | public class RecyclerItemViewHolder extends RecyclerView.ViewHolder { 11 | private final TextView mItemTextView; 12 | 13 | public RecyclerItemViewHolder(final View parent, TextView itemTextView) { 14 | super(parent); 15 | mItemTextView = itemTextView; 16 | } 17 | public static RecyclerItemViewHolder newInstance(View parent) { 18 | TextView itemTextView = (TextView) parent.findViewById(R.id.itemTextView); 19 | return new RecyclerItemViewHolder(parent, itemTextView); 20 | } 21 | public void setItemText(CharSequence text) { 22 | mItemTextView.setText(text); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /LollipopNotifications/app/src/main/res/layout/custom_notification.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 16 | 17 | 25 | 26 | -------------------------------------------------------------------------------- /HidingToolbar/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Obaro Ogbo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /ConcurrentTasks/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Obaro Ogbo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /FloatingActionButton/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Obaro Ogbo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /LollipopNotifications/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Obaro Ogbo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /LollipopTransitions/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Obaro Ogbo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /RecyclerViewCardView/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Obaro Ogbo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. -------------------------------------------------------------------------------- /LollipopTransitions/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 22 | 23 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/layout-v21/activity_main.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 12 | 13 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 14 | 15 | 27 | 28 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/java/com/foosample/bar/hidingtoolbar/RecyclerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.hidingtoolbar; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.view.LayoutInflater; 5 | import android.view.View; 6 | import android.view.ViewGroup; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * Created by obaro on 10/04/2015. 12 | */ 13 | public class RecyclerAdapter extends RecyclerView.Adapter { 14 | private List mItemList; 15 | 16 | public RecyclerAdapter(List itemList) { 17 | mItemList = itemList; 18 | } 19 | @Override 20 | public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 21 | final View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false); 22 | return RecyclerItemViewHolder.newInstance(view); 23 | } 24 | @Override 25 | public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { 26 | RecyclerItemViewHolder holder = (RecyclerItemViewHolder) viewHolder; 27 | String itemText = mItemList.get(position); 28 | holder.setItemText(itemText); 29 | } 30 | @Override 31 | public int getItemCount() { 32 | return mItemList == null ? 0 : mItemList.size(); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /FloatingActionButton/app/src/main/java/com/foosample/bar/floatingactionbutton/RecyclerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.floatingactionbutton; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.view.LayoutInflater; 5 | import android.view.View; 6 | import android.view.ViewGroup; 7 | 8 | import java.util.List; 9 | 10 | /** 11 | * Created by obaro on 10/04/2015. 12 | */ 13 | public class RecyclerAdapter extends RecyclerView.Adapter { 14 | private List mItemList; 15 | 16 | public RecyclerAdapter(List itemList) { 17 | mItemList = itemList; 18 | } 19 | @Override 20 | public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 21 | final View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item, parent, false); 22 | return RecyclerItemViewHolder.newInstance(view); 23 | } 24 | @Override 25 | public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) { 26 | RecyclerItemViewHolder holder = (RecyclerItemViewHolder) viewHolder; 27 | String itemText = mItemList.get(position); 28 | holder.setItemText(itemText); 29 | } 30 | @Override 31 | public int getItemCount() { 32 | return mItemList == null ? 0 : mItemList.size(); 33 | } 34 | 35 | public void addItem(String string) { 36 | mItemList.add(string); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /HidingToolbar/app/src/main/java/com/foosample/bar/hidingtoolbar/MyScrollListener.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.hidingtoolbar; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.support.v7.widget.RecyclerView; 6 | import android.util.Log; 7 | 8 | /** 9 | * Created by obaro on 10/04/2015. 10 | */ 11 | public abstract class MyScrollListener extends RecyclerView.OnScrollListener { 12 | 13 | 14 | private int toolbarOffset = 0; 15 | private int toolbarHeight; 16 | 17 | public MyScrollListener(Context context) { 18 | int[] actionBarAttr = new int[] { android.R.attr.actionBarSize }; 19 | TypedArray a = context.obtainStyledAttributes(actionBarAttr); 20 | toolbarHeight = (int) a.getDimension(0, 0) + 10; 21 | a.recycle(); 22 | } 23 | 24 | @Override 25 | public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 26 | super.onScrolled(recyclerView, dx, dy); 27 | 28 | clipToolbarOffset(); 29 | onMoved(toolbarOffset); 30 | 31 | if((toolbarOffset < toolbarHeight && dy>0) || (toolbarOffset > 0 && dy<0)) { 32 | toolbarOffset += dy; 33 | } 34 | } 35 | 36 | private void clipToolbarOffset() { 37 | if(toolbarOffset > toolbarHeight) { 38 | toolbarOffset = toolbarHeight; 39 | } else if(toolbarOffset < 0) { 40 | toolbarOffset = 0; 41 | } 42 | } 43 | 44 | public abstract void onMoved(int distance); 45 | } 46 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/java/com/foosample/bar/myapplication/MyRecyclerAdapter.java: -------------------------------------------------------------------------------- 1 | package com.foosample.bar.myapplication; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.view.LayoutInflater; 5 | import android.view.View; 6 | import android.view.ViewGroup; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | /** 12 | * Created by obaro on 15/03/2015. 13 | */ 14 | public class MyRecyclerAdapter extends RecyclerView.Adapter { 15 | 16 | private List palettes; 17 | 18 | public MyRecyclerAdapter(List palettes) { 19 | this.palettes = new ArrayList<>(); 20 | this.palettes.addAll(palettes); 21 | } 22 | 23 | @Override 24 | public PaletteViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { 25 | View itemView = LayoutInflater. 26 | from(viewGroup.getContext()). 27 | inflate(R.layout.card_view, viewGroup, false); 28 | 29 | return new PaletteViewHolder(itemView); 30 | } 31 | 32 | @Override 33 | public void onBindViewHolder(PaletteViewHolder paletteViewHolder, int i) { 34 | Palette palette = palettes.get(i); 35 | paletteViewHolder.titleText.setText(palette.getName()); 36 | paletteViewHolder.contentText.setText(palette.getHexValue()); 37 | paletteViewHolder.card.setCardBackgroundColor(palette.getIntValue()); 38 | } 39 | 40 | @Override 41 | public int getItemCount() { 42 | return palettes.size(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /RecyclerViewCardView/src/main/res/layout/card_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 15 | 16 | 24 | 25 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /ConcurrentTasks/app/src/main/res/layout/activity_b.xml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 15 | 16 |