Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AN/USER] feat: 홈화면 필터링 기능을 제공한다 (#600) #606

Merged
merged 15 commits into from
Nov 14, 2023
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,18 @@ import com.festago.festago.data.service.FestivalRetrofitService
import com.festago.festago.data.util.onSuccessOrCatch
import com.festago.festago.data.util.runCatchingResponse
import com.festago.festago.model.Festival
import com.festago.festago.model.FestivalFilter
import com.festago.festago.model.Reservation
import com.festago.festago.repository.FestivalRepository
import javax.inject.Inject

class FestivalDefaultRepository @Inject constructor(
private val festivalRetrofitService: FestivalRetrofitService,
) : FestivalRepository {
override suspend fun loadFestivals(): Result<List<Festival>> =
runCatchingResponse { festivalRetrofitService.getFestivals() }
.onSuccessOrCatch { it.toDomain() }
override suspend fun loadFestivals(festivalFilter: FestivalFilter): Result<List<Festival>> =
runCatchingResponse {
festivalRetrofitService.getFestivals(festivalFilter.name)
}.onSuccessOrCatch { it.toDomain() }

override suspend fun loadFestivalDetail(festivalId: Long): Result<Reservation> =
runCatchingResponse { festivalRetrofitService.getFestivalDetail(festivalId) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@ import com.festago.festago.data.dto.ReservationFestivalResponse
import retrofit2.Response
import retrofit2.http.GET
import retrofit2.http.Path
import retrofit2.http.Query

interface FestivalRetrofitService {
@GET("/festivals")
suspend fun getFestivals(): Response<FestivalsResponse>
suspend fun getFestivals(
@Query("festivalFilter") festivalFilter: String,
): Response<FestivalsResponse>

@GET("/festivals/{festivalId}")
suspend fun getFestivalDetail(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.GridLayoutManager
import com.festago.festago.R
import com.festago.festago.databinding.FragmentFestivalListBinding
import com.festago.festago.model.FestivalFilter
import com.festago.festago.presentation.ui.home.ticketlist.TicketListFragment
import com.festago.festago.presentation.ui.ticketreserve.TicketReserveActivity
import com.festago.festago.presentation.util.repeatOnStarted
Expand Down Expand Up @@ -59,6 +60,13 @@ class FestivalListFragment : Fragment(R.layout.fragment_festival_list) {
adapter = FestivalListAdapter()
binding.rvFestivalList.adapter = adapter

initFestivalListSpanSize()
initRefresh()
initFestivalFilters()
loadFestivalsBy(binding.cgFilterOption.checkedChipId)
}

private fun initFestivalListSpanSize() {
binding.rvFestivalList.layoutManager.apply {
if (this is GridLayoutManager) {
val spanSize = (resources.displayMetrics.widthPixels.dp / 160)
Expand All @@ -69,15 +77,29 @@ class FestivalListFragment : Fragment(R.layout.fragment_festival_list) {
}
}
}
}

vm.loadFestivals()

private fun initRefresh() {
binding.srlFestivalList.setOnRefreshListener {
vm.loadFestivals()
loadFestivalsBy(binding.cgFilterOption.checkedChipId)
binding.srlFestivalList.isRefreshing = false
}
}

private fun initFestivalFilters() {
binding.cgFilterOption.setOnCheckedStateChangeListener { group, _ ->
loadFestivalsBy(checkedChipId = group.checkedChipId)
}
}

private fun loadFestivalsBy(checkedChipId: Int) {
when (checkedChipId) {
R.id.chipProgress -> vm.loadFestivals(FestivalFilter.PROGRESS)
R.id.chipPlanned -> vm.loadFestivals(FestivalFilter.PLANNED)
R.id.chipEnd -> vm.loadFestivals(FestivalFilter.END)
}
}
Comment on lines +97 to +103
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

화면 회전 시 initView(), initFestivalFilters()에서 중복으로 호출되는데 initView에서는 항상 PROGRESS 상태가 호출됩니다. 그래서 지난 축제에서 화면 회전을 하면 PROGRESS, END 중 랜덤으로 나와요 🥲

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오류 확인했는데 랜덤이라서 알아차리지 못했군요..ㅜ
수정하겠습니다!


private fun updateUi(uiState: FestivalListUiState) {
when (uiState) {
is FestivalListUiState.Loading,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ sealed interface FestivalListUiState {
object Loading : FestivalListUiState

data class Success(
val festivals: List<FestivalItemUiState>
val festivals: List<FestivalItemUiState>,
) : FestivalListUiState {
val hasFestival get() = festivals.isNotEmpty()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.festago.festago.analytics.AnalyticsHelper
import com.festago.festago.analytics.logNetworkFailure
import com.festago.festago.model.FestivalFilter
import com.festago.festago.presentation.ui.home.festivallist.FestivalListEvent.ShowTicketReserve
import com.festago.festago.repository.FestivalRepository
import dagger.hilt.android.lifecycle.HiltViewModel
Expand All @@ -28,9 +29,9 @@ class FestivalListViewModel @Inject constructor(
private val _event = MutableSharedFlow<FestivalListEvent>()
val event: SharedFlow<FestivalListEvent> = _event.asSharedFlow()

fun loadFestivals() {
fun loadFestivals(festivalFilter: FestivalFilter) {
viewModelScope.launch {
festivalRepository.loadFestivals()
festivalRepository.loadFestivals(festivalFilter)
.onSuccess {
_uiState.value = FestivalListUiState.Success(
festivals = it.map { festival ->
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorPrimary" android:state_selected="true" />
<item android:color="?attr/colorOnPrimarySurface" />
</selector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<vector android:height="78.100266dp" android:viewportHeight="148"
android:viewportWidth="758" android:width="400dp"
xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#3377FF" android:pathData="M342.33,131.46C319.68,137.59 295.11,140.66 268.62,140.66C265.26,140.66 263.58,139.03 263.58,135.77V126.56C263.58,122.82 265.31,120.9 268.77,120.81L272.37,120.67V23.12H267.9C265.02,23.12 263.58,21.44 263.58,18.08V8.01C263.58,4.65 265.26,2.97 268.62,2.97H330.67C334.03,2.97 335.71,4.65 335.71,8.01V18.51C335.71,21.58 333.93,23.12 330.38,23.12H324.19V114.77C330.24,113.61 336.29,112.27 342.33,110.74V62.25H336.14C332.21,62.25 330.24,60.38 330.24,56.64V45.85C330.24,42.11 332.11,40.24 335.86,40.24H342.33V5.56C342.33,1.82 344.11,0.05 347.66,0.24H358.46C361.72,0.24 363.35,2.02 363.35,5.56V137.79C363.35,141.62 361.34,143.59 357.3,143.68H349.24C344.64,143.68 342.33,141.91 342.33,138.36V131.46ZM369.54,5.56C369.54,1.82 371.37,0.05 375.01,0.24H385.67C388.93,0.24 390.56,2.02 390.56,5.56V137.79C390.56,141.62 388.59,143.59 384.66,143.68H375.73C371.61,143.68 369.54,141.86 369.54,138.22V5.56ZM302.74,118.22V23.12H293.96V119.23L302.74,118.22ZM452.89,8.73C452.79,11.8 452.7,14.77 452.6,17.65C499.63,9.11 520.89,38.46 516.38,105.7C516.18,109.15 514.22,110.88 510.47,110.88H496.8C493.24,110.88 491.71,109.06 492.19,105.41C496.89,55.25 483.21,33.72 451.16,40.81C448.38,68.92 442.47,90.79 433.45,106.42C431.82,109.39 428.85,110.88 424.53,110.88H412.72C410.03,110.88 408.5,110.16 408.11,108.72C407.73,107.19 407.97,105.56 408.83,103.83C421.98,81.87 428.7,50.02 428.99,8.3C428.99,4.75 430.67,2.97 434.03,2.97H447.56C451.02,2.97 452.79,4.89 452.89,8.73ZM510.62,119.51C515.13,119.51 517.38,121.43 517.38,125.27V135.63C517.38,139.18 515.66,141 512.2,141.1H413.87C409.55,141.1 407.39,138.84 407.39,134.33V125.7C407.39,121.58 409.46,119.51 413.58,119.51H510.62ZM642.03,39.66C645.68,39.66 647.51,41.29 647.51,44.55V56.21C647.51,60.14 645.63,62.11 641.89,62.11H634.41V137.93C634.41,141.86 632.39,143.83 628.36,143.83H617.13C613.29,143.83 611.37,142.01 611.37,138.36V134.19C583.06,138.51 559.83,140.71 541.69,140.81C537.09,140.81 534.78,138.51 534.78,133.9V9.02C534.78,5.08 536.8,3.12 540.83,3.12H594.38C598.22,3.12 600.14,4.94 600.14,8.59V17.94C600.14,21.68 598.13,23.55 594.09,23.55H556.81V40.24H591.94C595.58,40.24 597.41,42.01 597.41,45.56V54.77C597.41,58.51 595.39,60.38 591.36,60.38H556.81V120.09C575.81,119.99 594,117.79 611.37,113.47V5.42C611.37,1.97 613.15,0.24 616.7,0.24H628.5C632.44,0.24 634.41,1.97 634.41,5.42V39.66H642.03ZM751.56,119.37C755.59,119.37 757.6,121.43 757.6,125.56V134.91C757.6,138.74 755.59,140.66 751.56,140.66H661.87C657.55,140.66 655.39,138.55 655.39,134.33V125.56C655.39,121.43 657.46,119.37 661.58,119.37H685.05V61.24C685.05,57.02 687.3,54.91 691.81,54.91H701.46C705.87,54.91 708.08,57.02 708.08,61.24V119.37H751.56ZM752.28,3.12C755.83,3.12 757.6,5.13 757.6,9.16C757.6,44.17 754.92,75.63 749.54,103.54C748.87,107.19 746.42,109.01 742.2,109.01H732.56C729.96,109.01 728.33,108.34 727.66,107C726.99,105.65 726.89,103.88 727.37,101.67C731.21,78.46 733.42,53.67 733.99,27.29C734.28,24.89 733.28,23.69 730.97,23.69H660.14C656.97,23.69 655.39,22.06 655.39,18.8V8.15C655.39,4.8 656.97,3.12 660.14,3.12H752.28Z"/>
<path android:pathData="M25.68,145.89C25.73,145.45 25.71,145.02 25.64,144.59L25.59,144.32L25.59,144.33C25.27,142.44 24.23,140.75 22.67,139.56C21.11,138.37 19.14,137.77 17.12,137.86L17.08,137.87L15.04,125.33C16.99,124.79 18.68,123.59 19.78,121.96C20.89,120.34 21.34,118.39 21.05,116.5C20.73,114.61 19.69,112.91 18.13,111.72C16.57,110.53 14.6,109.93 12.58,110.03L12.54,110.04L10.5,97.49C12.45,96.95 14.14,95.76 15.25,94.13C16.35,92.5 16.8,90.56 16.51,88.66C16.19,86.78 15.15,85.08 13.59,83.89C12.03,82.7 10.06,82.1 8.04,82.2L8,82.2L5.96,69.66C7.91,69.12 9.6,67.92 10.71,66.29C11.81,64.67 12.27,62.72 11.97,60.83C11.65,58.94 10.61,57.25 9.05,56.06C7.49,54.87 5.52,54.26 3.5,54.36L3.46,54.37L1.42,41.83C3.37,41.28 5.06,40.09 6.17,38.46C7.27,36.83 7.73,34.89 7.44,32.99C7.39,32.69 7.18,32.41 7.12,32.1L194.84,1.43C194.78,1.66 194.76,1.93 194.81,2.2L194.85,2.38L194.84,2.37L194.85,2.45C195.02,3.44 195.38,4.39 195.93,5.25C196.49,6.1 197.21,6.84 198.07,7.42C198.93,8 199.9,8.42 200.93,8.64C201.97,8.86 203.04,8.89 204.09,8.72L204.17,8.7C204.49,8.65 204.63,8.47 204.96,8.42L207,20.97C206.78,20.9 206.54,20.89 206.3,20.93L206.16,20.96C205.01,21.19 203.91,21.65 202.94,22.3C201.97,22.95 201.15,23.78 200.53,24.74C199.91,25.7 199.5,26.77 199.33,27.88C199.16,28.98 199.23,30.11 199.53,31.18L199.53,31.14L199.54,31.22C199.7,32.22 200.07,33.17 200.62,34.02C201.17,34.88 201.9,35.61 202.76,36.2C203.61,36.78 204.59,37.19 205.62,37.41C206.65,37.64 207.73,37.66 208.77,37.49L208.86,37.48C209.18,37.42 209.32,37.24 209.64,37.19L211.69,49.73C211.46,49.66 211.22,49.65 210.99,49.69L210.85,49.72C208.7,50.07 206.78,51.21 205.5,52.89C204.22,54.58 203.68,56.66 204.01,58.69C204.35,60.72 205.51,62.53 207.26,63.72C209.01,64.9 211.2,65.37 213.34,65.02C213.67,64.97 213.8,64.79 214.13,64.74L216.17,77.28C215.94,77.21 215.7,77.2 215.46,77.24L215.33,77.27C214.27,77.44 213.25,77.81 212.34,78.36C211.42,78.9 210.62,79.61 209.98,80.44C209.35,81.28 208.89,82.22 208.64,83.21C208.38,84.21 208.34,85.23 208.5,86.24C208.66,87.24 209.04,88.21 209.59,89.07C210.15,89.93 210.88,90.68 211.75,91.26C212.62,91.85 213.6,92.27 214.64,92.49C215.68,92.72 216.77,92.74 217.83,92.57C218.15,92.52 218.29,92.34 218.61,92.29L220.66,104.83C220.43,104.76 220.19,104.74 219.96,104.79L219.82,104.82L219.74,104.83C218.69,105 217.68,105.36 216.77,105.9C215.86,106.44 215.07,107.14 214.44,107.97C213.81,108.79 213.36,109.73 213.11,110.71C212.85,111.7 212.81,112.72 212.97,113.71L212.98,113.77L213.02,114.03C213.09,114.47 213.22,114.9 213.41,115.31L213.4,115.28L25.68,145.89ZM67.47,114.25L70.86,109.61L113.01,102.72L117.7,106.04L67.47,114.25ZM71.54,93.47C70.29,93.67 69.03,93.4 68.01,92.71C67,92.02 66.32,90.98 66.13,89.8L63.81,75.58L107.11,68.51L109.43,82.72C109.61,83.9 109.3,85.11 108.56,86.08C107.82,87.06 106.71,87.72 105.46,87.93L71.54,93.47ZM90.63,81.4C90.85,82.8 91.51,84.08 92.51,85.11C93.52,86.13 94.83,86.85 96.27,87.16C97.72,87.47 99.23,87.36 100.63,86.86C102.03,86.35 103.24,85.46 104.12,84.31C105,83.16 105.5,81.79 105.57,80.37C105.63,78.96 105.25,77.57 104.48,76.38C103.71,75.18 102.58,74.24 101.23,73.67C99.88,73.09 98.38,72.92 96.91,73.16C94.95,73.5 93.19,74.56 92.02,76.1C90.85,77.64 90.35,79.54 90.63,81.4ZM68.34,85.05L68.34,85.06C68.49,85.99 68.83,86.87 69.34,87.66C69.85,88.45 70.52,89.14 71.32,89.68C72.11,90.22 73.01,90.6 73.97,90.8C74.93,91.01 75.92,91.03 76.9,90.87L76.91,90.87C80.98,90.16 83.77,86.5 83.19,82.63C82.61,78.75 83.19,82.61 83.19,82.61C83.04,81.69 82.7,80.81 82.19,80.02C81.68,79.22 81,78.54 80.21,78C79.41,77.46 78.51,77.08 77.55,76.87C76.6,76.67 75.6,76.64 74.63,76.8L74.62,76.81C72.66,77.15 70.9,78.2 69.73,79.74C68.56,81.29 68.06,83.19 68.34,85.05ZM95.45,80.46C95.38,79.98 95.45,79.48 95.67,79.04C95.89,78.59 96.24,78.21 96.69,77.95C97.13,77.69 97.64,77.56 98.15,77.57C98.67,77.58 99.17,77.74 99.58,78.02C100,78.31 100.32,78.7 100.5,79.16C100.67,79.62 100.7,80.12 100.58,80.59C100.46,81.07 100.19,81.51 99.81,81.85C99.43,82.19 98.96,82.41 98.45,82.5L98.41,82.5C97.73,82.61 97.04,82.46 96.49,82.09C95.94,81.72 95.57,81.15 95.47,80.51L95.45,80.46ZM73.16,84.1C73.08,83.61 73.15,83.11 73.37,82.66C73.59,82.21 73.94,81.83 74.39,81.57C74.83,81.3 75.35,81.17 75.87,81.18C76.38,81.19 76.89,81.35 77.3,81.63C77.72,81.92 78.04,82.32 78.22,82.78C78.4,83.24 78.43,83.74 78.3,84.22C78.18,84.7 77.91,85.14 77.53,85.48C77.14,85.82 76.66,86.05 76.15,86.13L76.11,86.14C75.43,86.24 74.74,86.1 74.19,85.72C73.64,85.35 73.27,84.78 73.17,84.14L73.16,84.1ZM63.05,70.99L61.06,58.75L61.04,58.68C60.82,57.28 60.88,55.85 61.23,54.47C61.59,53.08 62.23,51.77 63.11,50.62C63.99,49.46 65.1,48.47 66.38,47.71C67.65,46.96 69.07,46.44 70.54,46.2L70.61,46.19L91.28,42.81L91.36,42.8C97.56,41.79 103.37,45.73 104.33,51.6L104.34,51.67L106.34,63.91L63.05,70.99Z">
<aapt:attr name="android:fillColor">
<gradient android:endX="206.2" android:endY="73.61"
android:startX="18.65" android:startY="102.34" android:type="linear">
<item android:color="#FF1563FF" android:offset="0"/>
<item android:color="#BF3377FF" android:offset="0.99"/>
</gradient>
</aapt:attr>
</path>
</vector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?attr/colorOnPrimary" android:state_selected="true" />
<item android:color="?attr/colorPrimarySurface" />
</selector>
50 changes: 38 additions & 12 deletions android/festago/app/src/main/res/layout/fragment_festival_list.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,44 +15,65 @@
android:layout_height="match_parent"
tools:context=".presentation.ui.home.festivallist.FestivalListFragment">

<ImageView
android:id="@+id/imgFestagoLogo"
android:layout_width="160dp"
android:layout_height="45dp"
android:layout_marginStart="12dp"
android:layout_marginTop="12dp"
android:src="@drawable/img_festago_home_logo"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<com.google.android.material.chip.ChipGroup
android:id="@+id/cgFilterOption"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingHorizontal="16dp"
android:paddingTop="12dp"
android:visibility="gone"
app:checkedChip="@+id/chipOngoing"
app:layout_constraintTop_toTopOf="parent"
app:checkedChip="@+id/chipProgress"
app:layout_constraintTop_toBottomOf="@id/imgFestagoLogo"
app:selectionRequired="true"
app:singleSelection="true">

<com.google.android.material.chip.Chip
android:id="@+id/chipOngoing"
style="@style/Widget.MaterialComponents.Chip.Choice"
android:id="@+id/chipProgress"
style="@style/chipFesta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/festival_list_chip_ongoing" />
android:text="@string/festival_list_chip_progress" />

<com.google.android.material.chip.Chip
style="@style/Widget.MaterialComponents.Chip.Choice"
android:id="@+id/chipPlanned"
style="@style/chipFesta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/festival_list_chip_past" />
android:text="@string/festival_list_chip_planned" />

<com.google.android.material.chip.Chip
android:id="@+id/chipEnd"
style="@style/chipFesta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/festival_list_chip_end" />
</com.google.android.material.chip.ChipGroup>

<ProgressBar
android:id="@+id/pbLoading"
visibility="@{uiState.shouldShowLoading}"
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/srlFestivalList"
app:layout_constraintTop_toBottomOf="@id/cgFilterOption"
tools:visibility="gone" />

<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/srlFestivalList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_height="0dp"
android:layout_marginTop="12dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
Expand All @@ -73,10 +94,15 @@
<TextView
android:id="@+id/tvErrorOrEmpty"
visibility="@{uiState.shouldShowError || uiState.shouldShowSuccessAndEmpty}"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@{uiState.shouldShowError ? @string/festival_list_tv_error: @string/festival_list_tv_empty}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cgFilterOption"
tools:text="조회된 축제가 없습니다"
tools:visibility="gone" />

</androidx.constraintlayout.widget.ConstraintLayout>
Expand Down
5 changes: 3 additions & 2 deletions android/festago/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,9 @@

<!-- Strings related to festival list -->
<string name="festival_list_tv_date_format">yyyy.MM.dd</string>
<string name="festival_list_chip_ongoing">진행중</string>
<string name="festival_list_chip_past">지난축제</string>
<string name="festival_list_chip_progress">진행중</string>
<string name="festival_list_chip_planned">진행 예정</string>
<string name="festival_list_chip_end">지난 축제</string>
<string name="festival_list_tv_error">축제 조회에 실패했습니다.</string>
<string name="festival_list_tv_empty">조회된 축제가 없습니다.</string>
<string name="festival_list_tv_date_range_format">%s - %s</string>
Expand Down
6 changes: 6 additions & 0 deletions android/festago/app/src/main/res/values/style.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,10 @@
<item name="cornerSize">50%</item>
</style>

<style name="chipFesta">
<item name="android:checkable">true</item>
<item name="chipBackgroundColor">@drawable/bg_chip_festival_list_selected</item>"
<item name="android:textColor">@drawable/text_chip_festival_list_selected</item>
</style>

</resources>
Loading