From 451d14ad9565a0a3ff40a4cb25665e7a8258fde5 Mon Sep 17 00:00:00 2001 From: Carlos Martinez Date: Sun, 2 Feb 2020 18:46:51 -0300 Subject: [PATCH] integrate lottie and create view for users --- app/src/main/res/layout/activity_main.xml | 2 +- app/src/main/res/values/styles.xml | 3 +- base/build.gradle | 1 + .../hako/base/extensions/ViewExtensions.kt | 10 ++++ .../java/com/hako/base/widgets/LikeButton.kt | 46 +++++++++++++++++++ base/src/main/res/drawable/bg_card.xml | 9 ++++ base/src/main/res/layout/like_button.xml | 19 ++++++++ base/src/main/res/raw/like_animation.json | 1 + base/src/main/res/values/colors.xml | 8 ++++ base/versions.gradle | 2 + build.gradle | 4 -- .../friendlist/feature/UserlistFragment.kt | 8 +++- .../src/main/res/layout/fragment_userlist.xml | 15 +++--- .../src/main/res/layout/item_user_card.xml | 40 ++++++++++++++++ 14 files changed, 152 insertions(+), 16 deletions(-) create mode 100644 base/src/main/java/com/hako/base/extensions/ViewExtensions.kt create mode 100644 base/src/main/java/com/hako/base/widgets/LikeButton.kt create mode 100644 base/src/main/res/drawable/bg_card.xml create mode 100644 base/src/main/res/layout/like_button.xml create mode 100644 base/src/main/res/raw/like_animation.json create mode 100644 base/src/main/res/values/colors.xml create mode 100644 userlist/src/main/res/layout/item_user_card.xml diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index cf47f54..dd69f9f 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -5,4 +5,4 @@ android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="match_parent" android:layout_height="match_parent" - app:defaultNavHost="true" /> \ No newline at end of file + app:defaultNavHost="true"/> \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5885930..f69921a 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,11 +1,10 @@ - diff --git a/base/build.gradle b/base/build.gradle index b6dffda..57e4157 100644 --- a/base/build.gradle +++ b/base/build.gradle @@ -52,6 +52,7 @@ dependencies { api deps.rx.android api deps.okhttp_logging_interceptor api deps.timber + api deps.lottie //Testing api deps.testing.junit api deps.testing.koin diff --git a/base/src/main/java/com/hako/base/extensions/ViewExtensions.kt b/base/src/main/java/com/hako/base/extensions/ViewExtensions.kt new file mode 100644 index 0000000..93700d1 --- /dev/null +++ b/base/src/main/java/com/hako/base/extensions/ViewExtensions.kt @@ -0,0 +1,10 @@ +package com.hako.base.extensions + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.annotation.LayoutRes + +fun ViewGroup.inflate(@LayoutRes layout: Int, attachToRoot: Boolean = false) = + LayoutInflater + .from(context) + .inflate(layout, this, attachToRoot) diff --git a/base/src/main/java/com/hako/base/widgets/LikeButton.kt b/base/src/main/java/com/hako/base/widgets/LikeButton.kt new file mode 100644 index 0000000..357dbe1 --- /dev/null +++ b/base/src/main/java/com/hako/base/widgets/LikeButton.kt @@ -0,0 +1,46 @@ +package com.hako.base.widgets + +import android.content.Context +import android.util.AttributeSet +import android.widget.FrameLayout +import com.hako.base.R +import com.hako.base.extensions.inflate +import kotlinx.android.synthetic.main.like_button.view.* + +private const val LIKE_MIN_FRAME = 0 +private const val LIKE_MAX_FRAME = 28 +private const val LIKE_ANIM_SPEED = 1f +private const val DISLIKE_MIN_FRAME = 28 +private const val DISLIKE_MAX_FRAME = 70 +private const val DISLIKE_ANIM_SPEED = 2f + +class LikeButton @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : FrameLayout(context, attrs, defStyleAttr) { + + init { + inflate(R.layout.like_button, true) + } + + fun like() { + like_button_animation_view.frame = LIKE_MAX_FRAME + } + + fun dislike() { + like_button_animation_view.frame = LIKE_MIN_FRAME + } + + fun playLike() { + like_button_animation_view.setMinAndMaxFrame(LIKE_MIN_FRAME, LIKE_MAX_FRAME) + like_button_animation_view.speed = LIKE_ANIM_SPEED + like_button_animation_view.playAnimation() + } + + fun playDislike() { + like_button_animation_view.setMinAndMaxFrame(DISLIKE_MIN_FRAME, DISLIKE_MAX_FRAME) + like_button_animation_view.speed = DISLIKE_ANIM_SPEED + like_button_animation_view.playAnimation() + } +} \ No newline at end of file diff --git a/base/src/main/res/drawable/bg_card.xml b/base/src/main/res/drawable/bg_card.xml new file mode 100644 index 0000000..a7029e8 --- /dev/null +++ b/base/src/main/res/drawable/bg_card.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/base/src/main/res/layout/like_button.xml b/base/src/main/res/layout/like_button.xml new file mode 100644 index 0000000..29c09f0 --- /dev/null +++ b/base/src/main/res/layout/like_button.xml @@ -0,0 +1,19 @@ + + + + + + \ No newline at end of file diff --git a/base/src/main/res/raw/like_animation.json b/base/src/main/res/raw/like_animation.json new file mode 100644 index 0000000..28a586a --- /dev/null +++ b/base/src/main/res/raw/like_animation.json @@ -0,0 +1 @@ +{"v":"5.5.1","fr":30,"ip":0,"op":70,"w":160,"h":160,"nm":"Love and Unlove","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"crack-L/love Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[79,127,0],"ix":2},"a":{"a":0,"k":[99,147,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[9.19,3.12],[-4.54,-21.16],[-6.73,-7.61],[-14.68,-9.59],[-0.53,-0.35],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[-4.52,-8.61],[-21.01,-7.14],[2.14,9.93],[11.62,13.14],[0.32,0.21],[0,0],[0,0],[0,0]],"v":[[15.875,30.375],[40.875,21.375],[8.875,8.375],[34.875,-4.625],[11.875,-13.625],[20.875,-24.135],[-0.305,-43.235],[-36.335,-10.415],[-21.345,15.735],[18.745,49.565],[19.875,50.375],[19.875,43.375],[24.875,37.375]],"c":true}]},{"t":16,"s":[{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[9.19,3.12],[-4.54,-21.16],[-6.73,-7.61],[-14.68,-9.59],[-0.53,-0.35],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[-4.52,-8.61],[-21.01,-7.14],[2.14,9.93],[11.62,13.14],[0.32,0.21],[0,0],[0,0],[0,0]],"v":[[15.875,30.375],[24.494,20.732],[8.875,8.375],[22.795,-3.103],[11.875,-13.625],[20.875,-24.135],[-0.305,-43.235],[-36.335,-10.415],[-21.345,15.735],[18.745,49.565],[19.875,50.375],[19.875,43.375],[24.875,37.375]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.83,0.18,0.18,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[98.568,146.527],"ix":2},"a":{"a":0,"k":[19.443,49.902],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":1,"s":[-10.469]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":2,"s":[-5.938]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":3,"s":[-9.942]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4,"s":[-4.716]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":5,"s":[-8.401]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":6,"s":[-4.873]},{"t":19,"s":[-15]}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":15,"s":[100]},{"t":26,"s":[1]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"crack-R/love Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[79,127,0],"ix":2},"a":{"a":0,"k":[99,147,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[{"i":[[4.55,-21.16],[6.729,-7.61],[14.68,-9.59],[0,0],[0.32,0.21],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.04,1.44],[-9.229,3.13]],"o":[[-2.13,9.93],[-11.611,13.14],[-0.51,0.33],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[4.51,-8.64],[21.01,-7.14]],"v":[[32.365,-10.715],[17.375,15.435],[-22.715,49.265],[-24.875,50.675],[-25.435,50.315],[-25.915,43.075],[-20.915,37.075],[-29.915,30.075],[-4.915,21.075],[-36.915,8.075],[-10.915,-4.925],[-33.915,-13.925],[-24.875,-24.365],[-3.656,-43.535]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":5,"s":[{"i":[[4.55,-21.16],[6.729,-7.61],[14.68,-9.59],[0,0],[0.32,0.21],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-1.592,2.962],[-9.229,3.13]],"o":[[-2.13,9.93],[-11.611,13.14],[-0.51,0.33],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[3.978,-7.912],[21.01,-7.14]],"v":[[32.365,-10.715],[17.375,15.435],[-22.715,49.265],[-24.875,50.675],[-25.435,50.315],[-25.915,43.075],[-20.915,37.075],[-27.419,29.73],[-6.748,20.272],[-33.29,9.53],[-11.387,-3.666],[-28.853,-14.095],[-24.875,-24.365],[-3.656,-43.535]],"c":true}]},{"t":16,"s":[{"i":[[4.55,-21.16],[6.729,-7.61],[14.68,-9.59],[0,0],[0.32,0.21],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.152,-0.028],[-2.807,6.31],[-9.229,3.13]],"o":[[-2.13,9.93],[-11.611,13.14],[-0.51,0.33],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.026,-3.877],[2.807,-6.31],[21.01,-7.14]],"v":[[32.365,-10.715],[17.375,15.435],[-22.715,49.265],[-24.875,50.675],[-25.435,50.315],[-25.915,43.075],[-20.915,37.075],[-21.929,28.97],[-10.78,18.505],[-25.315,12.731],[-12.424,-0.897],[-28.309,-12.321],[-24.875,-24.365],[-3.656,-43.535]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.83,0.18,0.18,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":0,"s":[98.993,147.034],"to":[0,0],"ti":[0,0]},{"t":14,"s":[98.993,147.034]}],"ix":2},"a":{"a":0,"k":[-25.922,50.109],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":1,"s":[10.938]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":2,"s":[0.208]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":3,"s":[4.265]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":4,"s":[0.091]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":5,"s":[9.333]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":6,"s":[4.848]},{"t":16,"s":[15]}],"ix":6},"o":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":0,"s":[100]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":15,"s":[100]},{"t":26,"s":[1]}],"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"love/love disable","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":7,"s":[34]},{"t":14,"s":[99]}],"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[-5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":3,"s":[5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":6,"s":[-5]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":9,"s":[-3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":11,"s":[3]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":13,"s":[-2]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":15,"s":[2]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":17,"s":[-1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":19,"s":[1]},{"t":21,"s":[0]}],"ix":10},"p":{"a":0,"k":[80,127.607,0],"ix":2},"a":{"a":0,"k":[99.038,147.6,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar maxDev, spd, decay, t, x, y;\nmaxDev = 10;\nspd = 30;\ndecay = 3;\nt = $bm_sub(time, inPoint);\nx = $bm_sum($bm_transform.scale[0], $bm_div($bm_mul(maxDev, Math.sin($bm_mul(spd, t))), Math.exp($bm_mul(decay, t))));\ny = $bm_div($bm_mul($bm_transform.scale[0], $bm_transform.scale[1]), x);\n$bm_rt = [\n x,\n y\n];"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.509,0.333],[11.614,13.14],[2.134,9.936],[-21.012,-7.139],[-4.515,-8.635],[-9.227,3.135],[4.543,-21.158],[6.73,-7.616],[14.683,-9.592]],"o":[[0,0],[-14.682,-9.592],[-6.73,-7.616],[-4.542,-21.158],[9.227,3.135],[4.515,-8.635],[21.011,-7.139],[-2.133,9.936],[-11.614,13.14],[-0.508,0.333]],"v":[[0,50.676],[-2.165,49.266],[-42.255,15.439],[-57.246,-10.717],[-21.221,-43.537],[0,-24.365],[21.221,-43.537],[57.245,-10.717],[42.255,15.439],[2.164,49.266]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.793550848961,0.793550848961,0.793550848961,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[99.038,108.457],"ix":2},"a":{"a":0,"k":[0,11.274],"ix":1},"s":{"a":0,"k":[100,100],"ix":3,"x":"var $bm_rt;\nvar maxDev, spd, decay, t, x, y;\nmaxDev = 10;\nspd = 30;\ndecay = 6;\nt = $bm_sub(time, inPoint);\nx = $bm_sum($bm_transform.scale[0], $bm_div($bm_mul(maxDev, Math.sin($bm_mul(spd, t))), Math.exp($bm_mul(decay, t))));\ny = $bm_div($bm_mul($bm_transform.scale[0], $bm_transform.scale[1]), x);\n$bm_rt = [\n x,\n y\n];"},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0}]},{"id":"comp_1","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"love/love enable","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[80,98.107,0],"ix":2},"a":{"a":0,"k":[99.038,117.735,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6,"x":"var $bm_rt;\nvar maxDev, spd, decay, t, x, y;\nmaxDev = 10;\nspd = 40;\ndecay = 4.5;\nt = $bm_sub(time, inPoint);\nx = $bm_sum($bm_transform.scale[0], $bm_div($bm_mul(maxDev, Math.sin($bm_mul(spd, t))), Math.exp($bm_mul(decay, t))));\ny = $bm_div($bm_mul($bm_transform.scale[0], $bm_transform.scale[1]), x);\n$bm_rt = [\n x,\n y\n];"}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0.509,0.333],[11.614,13.14],[2.134,9.936],[-21.012,-7.139],[-4.515,-8.635],[-9.227,3.135],[4.543,-21.158],[6.73,-7.616],[14.683,-9.592]],"o":[[0,0],[-14.682,-9.592],[-6.73,-7.616],[-4.542,-21.158],[9.227,3.135],[4.515,-8.635],[21.011,-7.139],[-2.133,9.936],[-11.614,13.14],[-0.508,0.333]],"v":[[0,50.676],[-2.165,49.266],[-42.255,15.439],[-57.246,-10.717],[-21.221,-43.537],[0,-24.365],[21.221,-43.537],[57.245,-10.717],[42.255,15.439],[2.164,49.266]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0.793550848961,0.793550848961,0.793550848961,1]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":1,"s":[0.792156875134,0.792156875134,0.792156875134,1]},{"t":2,"s":[0.798314929008,0.04177454859,0.258352786303,1]}],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[99.038,91.234],"ix":2},"a":{"a":0,"k":[0,-5.949],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":0,"s":[100,100]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":1,"s":[107,107]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":2,"s":[91,91]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":4,"s":[107,107]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":6,"s":[91,91]},{"i":{"x":[0.833,0.833],"y":[0.833,0.833]},"o":{"x":[0.167,0.167],"y":[0.167,0.167]},"t":9,"s":[107,107]},{"t":11,"s":[100,100]}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":60,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"dislike","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[80,80,0],"ix":2},"a":{"a":0,"k":[80,80,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":160,"h":160,"ip":30,"op":90,"st":30,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"like","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[80,80,0],"ix":2},"a":{"a":0,"k":[80,80,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":160,"h":160,"ip":0,"op":30,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/base/src/main/res/values/colors.xml b/base/src/main/res/values/colors.xml new file mode 100644 index 0000000..2a9146f --- /dev/null +++ b/base/src/main/res/values/colors.xml @@ -0,0 +1,8 @@ + + + #EEEEEE + + #00000000 + + #FFFFFF + \ No newline at end of file diff --git a/base/versions.gradle b/base/versions.gradle index be2f710..050b956 100644 --- a/base/versions.gradle +++ b/base/versions.gradle @@ -19,6 +19,7 @@ versions.junit = "4.13" versions.test = "1.2.0" versions.test_ext = "1.1.1" versions.espresso = "3.2.0" +versions.lottie = "3.3.1" def deps = [:] @@ -75,5 +76,6 @@ deps.testing = testing deps.okhttp_logging_interceptor = "com.squareup.okhttp3:logging-interceptor:$versions.okhttp_logging_interceptor" deps.timber = "com.jakewharton.timber:timber:$versions.timber" +deps.lottie = "com.airbnb.android:lottie:$versions.lottie" ext.deps = deps diff --git a/build.gradle b/build.gradle index 46f5087..155de55 100644 --- a/build.gradle +++ b/build.gradle @@ -39,7 +39,3 @@ detekt { task clean(type: Delete) { delete rootProject.buildDir } - -repositories { - google() -} diff --git a/userlist/src/main/java/com/hako/friendlist/feature/UserlistFragment.kt b/userlist/src/main/java/com/hako/friendlist/feature/UserlistFragment.kt index 05c0fbf..ad27523 100644 --- a/userlist/src/main/java/com/hako/friendlist/feature/UserlistFragment.kt +++ b/userlist/src/main/java/com/hako/friendlist/feature/UserlistFragment.kt @@ -8,7 +8,13 @@ import androidx.fragment.app.Fragment import com.hako.friendlist_userlist.R class UserlistFragment : Fragment() { - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View { + + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle? + ): View { return inflater.inflate(R.layout.fragment_userlist, container, false) } + } \ No newline at end of file diff --git a/userlist/src/main/res/layout/fragment_userlist.xml b/userlist/src/main/res/layout/fragment_userlist.xml index 6c7bfe6..d67170b 100644 --- a/userlist/src/main/res/layout/fragment_userlist.xml +++ b/userlist/src/main/res/layout/fragment_userlist.xml @@ -1,15 +1,14 @@ - + + \ No newline at end of file diff --git a/userlist/src/main/res/layout/item_user_card.xml b/userlist/src/main/res/layout/item_user_card.xml new file mode 100644 index 0000000..f838949 --- /dev/null +++ b/userlist/src/main/res/layout/item_user_card.xml @@ -0,0 +1,40 @@ + + + + + + + + + + \ No newline at end of file