A fork of Simple Time Tracker with WearOS support. (Now integrated upstream)
0

Configure Feed

Select the types of activity you want to include in your feed.

add some icons

razeeman (May 5, 2020, 10:13 AM +0300) a577262a bffe27f6

+256 -109
+8
core/src/main/res/drawable/circle_border.xml
··· 1 + <?xml version="1.0" encoding="utf-8"?> 2 + <shape xmlns:android="http://schemas.android.com/apk/res/android" 3 + android:shape="oval"> 4 + <solid android:color="@color/transparent" /> 5 + <stroke 6 + android:width="8dp" 7 + android:color="@color/black" /> 8 + </shape>
+5
core/src/main/res/drawable/circle_drawable.xml
··· 1 + <?xml version="1.0" encoding="utf-8"?> 2 + <shape xmlns:android="http://schemas.android.com/apk/res/android" 3 + android:shape="oval"> 4 + <solid android:color="@color/black" /> 5 + </shape>
+9
core/src/main/res/drawable/ic_add.xml
··· 1 + <vector xmlns:android="http://schemas.android.com/apk/res/android" 2 + android:width="24dp" 3 + android:height="24dp" 4 + android:viewportWidth="24.0" 5 + android:viewportHeight="24.0"> 6 + <path 7 + android:fillColor="#FF000000" 8 + android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/> 9 + </vector>
+9
core/src/main/res/drawable/ic_bed.xml
··· 1 + <vector xmlns:android="http://schemas.android.com/apk/res/android" 2 + android:width="24dp" 3 + android:height="24dp" 4 + android:viewportWidth="24.0" 5 + android:viewportHeight="24.0"> 6 + <path 7 + android:fillColor="#FF000000" 8 + android:pathData="M7,13c1.65,0 3,-1.35 3,-3S8.65,7 7,7s-3,1.35 -3,3 1.35,3 3,3zM19,7h-8v7L3,14L3,7L1,7v10h22v-6c0,-2.21 -1.79,-4 -4,-4z"/> 9 + </vector>
+9
core/src/main/res/drawable/ic_briefcase.xml
··· 1 + <vector xmlns:android="http://schemas.android.com/apk/res/android" 2 + android:width="24dp" 3 + android:height="24dp" 4 + android:viewportWidth="24.0" 5 + android:viewportHeight="24.0"> 6 + <path 7 + android:fillColor="#FF000000" 8 + android:pathData="M10,16v-1L3.01,15L3,19c0,1.11 0.89,2 2,2h14c1.11,0 2,-0.89 2,-2v-4h-7v1h-4zM20,7h-4.01L15.99,5l-2,-2h-4l-2,2v2L4,7c-1.1,0 -2,0.9 -2,2v3c0,1.11 0.89,2 2,2h6v-2h4v2h6c1.1,0 2,-0.9 2,-2L22,9c0,-1.1 -0.9,-2 -2,-2zM14,7h-4L10,5h4v2z"/> 9 + </vector>
+9
core/src/main/res/drawable/ic_cart.xml
··· 1 + <vector xmlns:android="http://schemas.android.com/apk/res/android" 2 + android:width="24dp" 3 + android:height="24dp" 4 + android:viewportWidth="24.0" 5 + android:viewportHeight="24.0"> 6 + <path 7 + android:fillColor="#FF000000" 8 + android:pathData="M7,18c-1.1,0 -1.99,0.9 -1.99,2S5.9,22 7,22s2,-0.9 2,-2 -0.9,-2 -2,-2zM1,2v2h2l3.6,7.59 -1.35,2.45c-0.16,0.28 -0.25,0.61 -0.25,0.96 0,1.1 0.9,2 2,2h12v-2L7.42,15c-0.14,0 -0.25,-0.11 -0.25,-0.25l0.03,-0.12 0.9,-1.63h7.45c0.75,0 1.41,-0.41 1.75,-1.03l3.58,-6.49c0.08,-0.14 0.12,-0.31 0.12,-0.48 0,-0.55 -0.45,-1 -1,-1L5.21,4l-0.94,-2L1,2zM17,18c-1.1,0 -1.99,0.9 -1.99,2s0.89,2 1.99,2 2,-0.9 2,-2 -0.9,-2 -2,-2z"/> 9 + </vector>
+9
core/src/main/res/drawable/ic_food.xml
··· 1 + <vector xmlns:android="http://schemas.android.com/apk/res/android" 2 + android:width="24dp" 3 + android:height="24dp" 4 + android:viewportWidth="24.0" 5 + android:viewportHeight="24.0"> 6 + <path 7 + android:fillColor="#FF000000" 8 + android:pathData="M11,9L9,9L9,2L7,2v7L5,9L5,2L3,2v7c0,2.12 1.66,3.84 3.75,3.97L6.75,22h2.5v-9.03C11.34,12.84 13,11.12 13,9L13,2h-2v7zM16,6v8h2.5v8L21,22L21,2c-2.76,0 -5,2.24 -5,4z"/> 9 + </vector>
+9
core/src/main/res/drawable/ic_unknown.xml
··· 1 + <vector xmlns:android="http://schemas.android.com/apk/res/android" 2 + android:width="24dp" 3 + android:height="24dp" 4 + android:viewportWidth="24" 5 + android:viewportHeight="24"> 6 + <path 7 + android:fillColor="#FF000000" 8 + android:pathData="M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0,0 0,9 8H6A6,6 0,0 1,12 2Z"/> 9 + </vector>
+5
core/src/main/res/drawable/round_corners_background.xml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <shape xmlns:android="http://schemas.android.com/apk/res/android"> 3 + <solid android:color="@color/light_grey" /> 4 + <corners android:radius="12dp" /> 5 + </shape>
+8
core/src/main/res/drawable/round_corners_border.xml
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <shape xmlns:android="http://schemas.android.com/apk/res/android"> 3 + <solid android:color="@color/transparent" /> 4 + <stroke 5 + android:width="1dp" 6 + android:color="@color/black" /> 7 + <corners android:radius="12dp" /> 8 + </shape>
+8
core/src/main/res/values/colors.xml
··· 1 + <?xml version="1.0" encoding="utf-8"?> 2 + <resources> 3 + <color name="black">#000000</color> 4 + <color name="white">#ffffff</color> 5 + <color name="transparent">#00000000</color> 6 + 7 + <color name="light_grey">#f5f5f5</color> 8 + </resources>
-5
feature_running_records/src/main/res/drawable/circle_drawable.xml
··· 1 - <?xml version="1.0" encoding="utf-8"?> 2 - <shape xmlns:android="http://schemas.android.com/apk/res/android" 3 - android:shape="oval"> 4 - <solid android:color="@android:color/black" /> 5 - </shape>
+44 -15
feature_running_records/src/main/res/layout/record_type_item_layout.xml
··· 1 1 <?xml version="1.0" encoding="utf-8"?> 2 - <androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android" 2 + <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 3 xmlns:app="http://schemas.android.com/apk/res-auto" 4 4 xmlns:tools="http://schemas.android.com/tools" 5 5 android:id="@+id/layoutRecordTypeItem" 6 - android:layout_width="match_parent" 6 + android:layout_width="70dp" 7 7 android:layout_height="wrap_content" 8 - android:orientation="horizontal" 9 - android:paddingStart="8dp" 10 - android:paddingTop="16dp" 11 - android:paddingEnd="8dp" 12 - android:paddingBottom="16dp"> 8 + android:layout_marginStart="8dp" 9 + android:layout_marginTop="4dp" 10 + android:layout_marginEnd="8dp" 11 + android:layout_marginBottom="4dp" 12 + android:background="@drawable/round_corners_background" 13 + android:paddingBottom="8dp"> 13 14 14 15 <androidx.appcompat.widget.AppCompatImageView 15 - android:id="@+id/ivRecordTypeItemColor" 16 - android:layout_width="20dp" 17 - android:layout_height="20dp" 16 + android:id="@+id/ivRecordTypeItemBorder" 17 + android:layout_width="0dp" 18 + android:layout_height="0dp" 19 + android:layout_marginStart="12dp" 20 + android:layout_marginTop="8dp" 21 + android:layout_marginEnd="12dp" 18 22 android:background="@drawable/circle_drawable" 19 - app:backgroundTint="@android:color/darker_gray" /> 23 + app:layout_constraintDimensionRatio="w,1:1" 24 + app:layout_constraintEnd_toEndOf="parent" 25 + app:layout_constraintStart_toStartOf="parent" 26 + app:layout_constraintTop_toTopOf="parent" 27 + tools:backgroundTint="@color/black" /> 28 + 29 + <androidx.appcompat.widget.AppCompatImageView 30 + android:id="@+id/ivRecordTypeItemIcon" 31 + android:layout_width="0dp" 32 + android:layout_height="0dp" 33 + android:layout_margin="12dp" 34 + android:background="@drawable/ic_unknown" 35 + app:backgroundTint="@color/white" 36 + app:layout_constraintBottom_toBottomOf="@id/ivRecordTypeItemBorder" 37 + app:layout_constraintEnd_toEndOf="@id/ivRecordTypeItemBorder" 38 + app:layout_constraintStart_toStartOf="@id/ivRecordTypeItemBorder" 39 + app:layout_constraintTop_toTopOf="@id/ivRecordTypeItemBorder" /> 20 40 21 41 <androidx.appcompat.widget.AppCompatTextView 22 42 android:id="@+id/tvRecordTypeItemName" 23 - android:layout_width="match_parent" 43 + android:layout_width="0dp" 24 44 android:layout_height="wrap_content" 25 - android:layout_marginStart="8dp" 45 + android:layout_marginStart="4dp" 46 + android:layout_marginTop="4dp" 47 + android:layout_marginEnd="4dp" 48 + android:ellipsize="marquee" 49 + android:gravity="center_horizontal" 50 + android:singleLine="true" 51 + android:textColor="@color/black" 26 52 android:textStyle="bold" 27 - tools:text="Item name" /> 53 + app:layout_constraintEnd_toEndOf="parent" 54 + app:layout_constraintStart_toStartOf="parent" 55 + app:layout_constraintTop_toBottomOf="@id/ivRecordTypeItemBorder" 56 + tools:text="Item long name" /> 28 57 29 - </androidx.appcompat.widget.LinearLayoutCompat> 58 + </androidx.constraintlayout.widget.ConstraintLayout>
+38
core/src/main/java/com/example/util/simpletimetracker/core/adapter/BaseRecyclerAdapter.kt
··· 1 + package com.example.util.simpletimetracker.core.adapter 2 + 3 + import android.view.ViewGroup 4 + import androidx.recyclerview.widget.RecyclerView 5 + 6 + open class BaseRecyclerAdapter : RecyclerView.Adapter<BaseRecyclerViewHolder>() { 7 + 8 + protected val delegates: MutableMap<Int, BaseRecyclerAdapterDelegate> = 9 + mutableMapOf() 10 + 11 + private val items: MutableList<ViewHolderType> = 12 + mutableListOf() 13 + 14 + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder { 15 + return delegates[viewType]!!.onCreateViewHolder(parent) 16 + } 17 + 18 + override fun onBindViewHolder(holder: BaseRecyclerViewHolder, position: Int) { 19 + holder.bind(items[position]) 20 + } 21 + 22 + override fun getItemCount(): Int = 23 + items.size 24 + 25 + override fun getItemViewType(position: Int): Int = 26 + items[position].getViewType() 27 + 28 + fun replace(newItems: List<ViewHolderType>) { 29 + items.clear() 30 + items.addAll(newItems) 31 + notifyDataSetChanged() 32 + } 33 + 34 + fun add(newItem: ViewHolderType) { 35 + items.add(newItem) 36 + notifyItemInserted(items.lastIndex) 37 + } 38 + }
+8
core/src/main/java/com/example/util/simpletimetracker/core/adapter/BaseRecyclerAdapterDelegate.kt
··· 1 + package com.example.util.simpletimetracker.core.adapter 2 + 3 + import android.view.ViewGroup 4 + 5 + abstract class BaseRecyclerAdapterDelegate { 6 + 7 + abstract fun onCreateViewHolder(parent: ViewGroup): BaseRecyclerViewHolder 8 + }
+16
core/src/main/java/com/example/util/simpletimetracker/core/adapter/BaseRecyclerViewHolder.kt
··· 1 + package com.example.util.simpletimetracker.core.adapter 2 + 3 + import android.view.LayoutInflater 4 + import android.view.ViewGroup 5 + import androidx.annotation.LayoutRes 6 + import androidx.recyclerview.widget.RecyclerView 7 + 8 + abstract class BaseRecyclerViewHolder( 9 + parent: ViewGroup, 10 + @LayoutRes layoutId: Int 11 + ) : RecyclerView.ViewHolder( 12 + LayoutInflater.from(parent.context).inflate(layoutId, parent, false) 13 + ) { 14 + 15 + abstract fun bind(item: ViewHolderType) 16 + }
+10
core/src/main/java/com/example/util/simpletimetracker/core/adapter/ViewHolderType.kt
··· 1 + package com.example.util.simpletimetracker.core.adapter 2 + 3 + interface ViewHolderType { 4 + 5 + fun getViewType(): Int 6 + 7 + companion object { 8 + const val VIEW = 1 9 + } 10 + }
+20
core/src/main/java/com/example/util/simpletimetracker/core/mapper/IconMapper.kt
··· 1 + package com.example.util.simpletimetracker.core.mapper 2 + 3 + import com.example.util.simpletimetracker.core.R 4 + import javax.inject.Inject 5 + 6 + class IconMapper @Inject constructor() { 7 + 8 + fun mapToDrawableId(icon: Int): Int { 9 + return when (icon) { 10 + 0 -> R.drawable.ic_unknown 11 + 1 -> R.drawable.ic_add 12 + 2 -> R.drawable.ic_bed 13 + 3 -> R.drawable.ic_briefcase 14 + 4 -> R.drawable.ic_food 15 + 5 -> R.drawable.ic_cart 16 + 6 -> R.drawable.ic_music 17 + else -> R.drawable.ic_unknown 18 + } 19 + } 20 + }
+2
data_local/src/main/java/com/example/util/simpletimetracker/data_local/mapper/RecordTypeDataLocalMapper.kt
··· 10 10 return RecordType( 11 11 id = dbo.id, 12 12 name = dbo.name, 13 + icon = dbo.icon, 13 14 color = dbo.color 14 15 ) 15 16 } ··· 18 19 return RecordTypeDBO( 19 20 id = domain.id, 20 21 name = domain.name, 22 + icon = domain.icon, 21 23 color = domain.color 22 24 ) 23 25 }
+3
data_local/src/main/java/com/example/util/simpletimetracker/data_local/model/RecordTypeDBO.kt
··· 12 12 @ColumnInfo(name = "name") 13 13 var name: String, 14 14 15 + @ColumnInfo(name = "icon") 16 + var icon: Int, 17 + 15 18 @ColumnInfo(name = "color") 16 19 var color: Int 17 20 )
+1
domain/src/main/java/com/example/util/simpletimetracker/domain/model/RecordType.kt
··· 3 3 data class RecordType( 4 4 var id: Long = 0, 5 5 var name: String, 6 + var icon: Int, 6 7 var color: Int 7 8 )
+5 -1
feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/mapper/RecordTypeViewDataMapper.kt
··· 1 1 package com.example.util.simpletimetracker.feature_running_records.mapper 2 2 3 + import com.example.util.simpletimetracker.core.mapper.IconMapper 3 4 import com.example.util.simpletimetracker.domain.model.RecordType 4 5 import com.example.util.simpletimetracker.feature_running_records.adapter.recordType.RecordTypeViewData 5 6 import javax.inject.Inject 6 7 7 - class RecordTypeViewDataMapper @Inject constructor() { 8 + class RecordTypeViewDataMapper @Inject constructor( 9 + private val iconMapper: IconMapper 10 + ) { 8 11 9 12 fun map(recordType: RecordType): RecordTypeViewData { 10 13 return RecordTypeViewData( 11 14 id = recordType.id, 12 15 name = recordType.name, 16 + iconId = recordType.icon.let(iconMapper::mapToDrawableId), 13 17 color = recordType.color 14 18 ) 15 19 }
+1
feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/viewModel/RunningRecordsViewModel.kt
··· 52 52 fun addRecordType() { 53 53 val recordType = RecordType( 54 54 name = "name" + (0..10).random(), 55 + icon = 0, 55 56 color = random.nextInt() 56 57 ) 57 58
-38
core/src/main/java/com/example/util/simpletimetracker/core/di/adapter/BaseRecyclerAdapter.kt
··· 1 - package com.example.util.simpletimetracker.core.di.adapter 2 - 3 - import android.view.ViewGroup 4 - import androidx.recyclerview.widget.RecyclerView 5 - 6 - open class BaseRecyclerAdapter : RecyclerView.Adapter<BaseRecyclerViewHolder>() { 7 - 8 - protected val delegates: MutableMap<Int, BaseRecyclerAdapterDelegate> = 9 - mutableMapOf() 10 - 11 - private val items: MutableList<ViewHolderType> = 12 - mutableListOf() 13 - 14 - override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BaseRecyclerViewHolder { 15 - return delegates[viewType]!!.onCreateViewHolder(parent) 16 - } 17 - 18 - override fun onBindViewHolder(holder: BaseRecyclerViewHolder, position: Int) { 19 - holder.bind(items[position]) 20 - } 21 - 22 - override fun getItemCount(): Int = 23 - items.size 24 - 25 - override fun getItemViewType(position: Int): Int = 26 - items[position].getViewType() 27 - 28 - fun replace(newItems: List<ViewHolderType>) { 29 - items.clear() 30 - items.addAll(newItems) 31 - notifyDataSetChanged() 32 - } 33 - 34 - fun add(newItem: ViewHolderType) { 35 - items.add(newItem) 36 - notifyItemInserted(items.lastIndex) 37 - } 38 - }
-8
core/src/main/java/com/example/util/simpletimetracker/core/di/adapter/BaseRecyclerAdapterDelegate.kt
··· 1 - package com.example.util.simpletimetracker.core.di.adapter 2 - 3 - import android.view.ViewGroup 4 - 5 - abstract class BaseRecyclerAdapterDelegate { 6 - 7 - abstract fun onCreateViewHolder(parent: ViewGroup): BaseRecyclerViewHolder 8 - }
-16
core/src/main/java/com/example/util/simpletimetracker/core/di/adapter/BaseRecyclerViewHolder.kt
··· 1 - package com.example.util.simpletimetracker.core.di.adapter 2 - 3 - import android.view.LayoutInflater 4 - import android.view.ViewGroup 5 - import androidx.annotation.LayoutRes 6 - import androidx.recyclerview.widget.RecyclerView 7 - 8 - abstract class BaseRecyclerViewHolder( 9 - parent: ViewGroup, 10 - @LayoutRes layoutId: Int 11 - ) : RecyclerView.ViewHolder( 12 - LayoutInflater.from(parent.context).inflate(layoutId, parent, false) 13 - ) { 14 - 15 - abstract fun bind(item: ViewHolderType) 16 - }
-10
core/src/main/java/com/example/util/simpletimetracker/core/di/adapter/ViewHolderType.kt
··· 1 - package com.example.util.simpletimetracker.core.di.adapter 2 - 3 - interface ViewHolderType { 4 - 5 - fun getViewType(): Int 6 - 7 - companion object { 8 - const val VIEW = 1 9 - } 10 - }
+2 -2
feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/adapter/recordType/RecordTypeAdapter.kt
··· 1 1 package com.example.util.simpletimetracker.feature_running_records.adapter.recordType 2 2 3 - import com.example.util.simpletimetracker.core.di.adapter.BaseRecyclerAdapter 4 - import com.example.util.simpletimetracker.core.di.adapter.ViewHolderType 3 + import com.example.util.simpletimetracker.core.adapter.BaseRecyclerAdapter 4 + import com.example.util.simpletimetracker.core.adapter.ViewHolderType 5 5 6 6 class RecordTypeAdapter( 7 7 onItemClick: ((RecordTypeViewData) -> Unit)
+6 -4
feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/adapter/recordType/RecordTypeAdapterDelegate.kt
··· 3 3 import android.annotation.SuppressLint 4 4 import android.content.res.ColorStateList 5 5 import android.view.ViewGroup 6 - import com.example.util.simpletimetracker.core.di.adapter.BaseRecyclerAdapterDelegate 7 - import com.example.util.simpletimetracker.core.di.adapter.BaseRecyclerViewHolder 8 - import com.example.util.simpletimetracker.core.di.adapter.ViewHolderType 6 + import com.example.util.simpletimetracker.core.adapter.BaseRecyclerAdapterDelegate 7 + import com.example.util.simpletimetracker.core.adapter.BaseRecyclerViewHolder 8 + import com.example.util.simpletimetracker.core.adapter.ViewHolderType 9 9 import com.example.util.simpletimetracker.feature_running_records.R 10 10 import kotlinx.android.synthetic.main.record_type_item_layout.view.* 11 11 ··· 23 23 override fun bind(item: ViewHolderType) = with(itemView) { 24 24 item as RecordTypeViewData 25 25 26 + ivRecordTypeItemBorder.supportBackgroundTintList = ColorStateList.valueOf(item.color) 27 + ivRecordTypeItemIcon.setBackgroundResource(item.iconId) 26 28 tvRecordTypeItemName.text = item.name 27 - ivRecordTypeItemColor.supportBackgroundTintList = ColorStateList.valueOf(item.color) 29 + 28 30 layoutRecordTypeItem.setOnClickListener { 29 31 onItemClick.invoke(item) 30 32 }
+6 -4
feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/adapter/recordType/RecordTypeViewData.kt
··· 1 1 package com.example.util.simpletimetracker.feature_running_records.adapter.recordType 2 2 3 3 import androidx.annotation.ColorInt 4 - import com.example.util.simpletimetracker.core.di.adapter.ViewHolderType 4 + import androidx.annotation.DrawableRes 5 + import com.example.util.simpletimetracker.core.adapter.ViewHolderType 5 6 6 7 data class RecordTypeViewData( 7 - var id: Long, 8 - var name: String, 9 - @ColorInt var color: Int 8 + val id: Long, 9 + val name: String, 10 + @DrawableRes val iconId: Int, 11 + @ColorInt val color: Int 10 12 ) : ViewHolderType { 11 13 12 14 override fun getViewType(): Int = ViewHolderType.VIEW
+2 -2
feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/adapter/runningRecord/RunningRecordAdapter.kt
··· 1 1 package com.example.util.simpletimetracker.feature_running_records.adapter.runningRecord 2 2 3 - import com.example.util.simpletimetracker.core.di.adapter.BaseRecyclerAdapter 4 - import com.example.util.simpletimetracker.core.di.adapter.ViewHolderType 3 + import com.example.util.simpletimetracker.core.adapter.BaseRecyclerAdapter 4 + import com.example.util.simpletimetracker.core.adapter.ViewHolderType 5 5 6 6 class RunningRecordAdapter( 7 7 onItemClick: ((RunningRecordViewData) -> Unit)
+3 -3
feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/adapter/runningRecord/RunningRecordAdapterDelegate.kt
··· 1 1 package com.example.util.simpletimetracker.feature_running_records.adapter.runningRecord 2 2 3 3 import android.view.ViewGroup 4 - import com.example.util.simpletimetracker.core.di.adapter.BaseRecyclerAdapterDelegate 5 - import com.example.util.simpletimetracker.core.di.adapter.BaseRecyclerViewHolder 6 - import com.example.util.simpletimetracker.core.di.adapter.ViewHolderType 4 + import com.example.util.simpletimetracker.core.adapter.BaseRecyclerAdapterDelegate 5 + import com.example.util.simpletimetracker.core.adapter.BaseRecyclerViewHolder 6 + import com.example.util.simpletimetracker.core.adapter.ViewHolderType 7 7 import com.example.util.simpletimetracker.feature_running_records.R 8 8 import kotlinx.android.synthetic.main.running_record_item_layout.view.* 9 9
+1 -1
feature_running_records/src/main/java/com/example/util/simpletimetracker/feature_running_records/adapter/runningRecord/RunningRecordViewData.kt
··· 1 1 package com.example.util.simpletimetracker.feature_running_records.adapter.runningRecord 2 2 3 - import com.example.util.simpletimetracker.core.di.adapter.ViewHolderType 3 + import com.example.util.simpletimetracker.core.adapter.ViewHolderType 4 4 5 5 data class RunningRecordViewData( 6 6 var id: Long,