2021-06-27 20:44:35 +00:00
package com.discord.stores ;
import android.content.Context ;
import c.d.b.a.a ;
import com.discord.api.sticker.Sticker ;
import com.discord.api.sticker.StickerType ;
import com.discord.models.sticker.dto.ModelStickerPack ;
import com.discord.stores.updates.ObservationDeck ;
import com.discord.stores.updates.ObservationDeckProvider ;
import com.discord.utilities.media.MediaFrecencyTracker ;
import com.discord.utilities.persister.Persister ;
import com.discord.utilities.rest.RestAPI ;
import com.discord.utilities.rx.ObservableExtensionsKt ;
2021-07-03 23:36:06 +00:00
import com.discord.utilities.time.Clock ;
import com.discord.utilities.time.ClockFactory ;
2021-06-27 20:44:35 +00:00
import com.discord.widgets.chat.input.sticker.StickerPickerFeatureFlag ;
import d0.t.h0 ;
import d0.t.n ;
import d0.t.o ;
import d0.z.d.m ;
import java.util.ArrayList ;
import java.util.Collection ;
import java.util.HashMap ;
import java.util.LinkedHashMap ;
import java.util.List ;
import java.util.Map ;
import kotlin.jvm.functions.Function0 ;
import kotlin.jvm.functions.Function1 ;
import kotlin.jvm.internal.DefaultConstructorMarker ;
import rx.Observable ;
/* compiled from: StoreStickers.kt */
public final class StoreStickers extends StoreV2 {
public static final Companion Companion = new Companion ( null ) ;
2021-07-03 23:36:06 +00:00
private static final long FETCH_ENABLED_STICKER_PACKS_DELAY = 300000 ;
2021-06-27 20:44:35 +00:00
private static final int MAX_FREQUENTLY_USED_STICKERS = 20 ;
private final RestAPI api ;
2021-07-03 23:36:06 +00:00
private final Clock clock ;
2021-06-27 20:44:35 +00:00
private final Dispatcher dispatcher ;
private List < ModelStickerPack > enabledStickerPacks ;
private List < ModelStickerPack > enabledStickerPacksSnapshot ;
2021-07-03 23:36:06 +00:00
private List < Sticker > enabledStickerPacksStickersSnapshot ;
2021-06-27 20:44:35 +00:00
private final MediaFrecencyTracker frecency ;
private final Persister < MediaFrecencyTracker > frecencyCache ;
2021-07-03 23:36:06 +00:00
private long lastFetchedEnabledPacks ;
2021-06-27 20:44:35 +00:00
private final ObservationDeck observationDeck ;
private Map < Long , ? extends StickerPackState > stickerPacks ;
private Map < Long , ? extends StickerPackState > stickerPacksSnapshot ;
private Map < Long , Sticker > stickersSnapshot ;
/* compiled from: StoreStickers.kt */
public static final class Companion {
private Companion ( ) {
}
public /* synthetic */ Companion ( DefaultConstructorMarker defaultConstructorMarker ) {
this ( ) ;
}
}
/* compiled from: StoreStickers.kt */
public static abstract class StickerPackState {
/* compiled from: StoreStickers.kt */
public static final class Loaded extends StickerPackState {
private final ModelStickerPack stickerPack ;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public Loaded ( ModelStickerPack modelStickerPack ) {
super ( null ) ;
m . checkNotNullParameter ( modelStickerPack , " stickerPack " ) ;
this . stickerPack = modelStickerPack ;
}
public static /* synthetic */ Loaded copy$default ( Loaded loaded , ModelStickerPack modelStickerPack , int i , Object obj ) {
if ( ( i & 1 ) ! = 0 ) {
modelStickerPack = loaded . stickerPack ;
}
return loaded . copy ( modelStickerPack ) ;
}
public final ModelStickerPack component1 ( ) {
return this . stickerPack ;
}
public final Loaded copy ( ModelStickerPack modelStickerPack ) {
m . checkNotNullParameter ( modelStickerPack , " stickerPack " ) ;
return new Loaded ( modelStickerPack ) ;
}
public boolean equals ( Object obj ) {
if ( this ! = obj ) {
return ( obj instanceof Loaded ) & & m . areEqual ( this . stickerPack , ( ( Loaded ) obj ) . stickerPack ) ;
}
return true ;
}
public final ModelStickerPack getStickerPack ( ) {
return this . stickerPack ;
}
public int hashCode ( ) {
ModelStickerPack modelStickerPack = this . stickerPack ;
if ( modelStickerPack ! = null ) {
return modelStickerPack . hashCode ( ) ;
}
return 0 ;
}
public String toString ( ) {
StringBuilder L = a . L ( " Loaded(stickerPack= " ) ;
L . append ( this . stickerPack ) ;
L . append ( " ) " ) ;
return L . toString ( ) ;
}
}
/* compiled from: StoreStickers.kt */
public static final class Loading extends StickerPackState {
public static final Loading INSTANCE = new Loading ( ) ;
private Loading ( ) {
super ( null ) ;
}
}
/* compiled from: StoreStickers.kt */
public static final class Unknown extends StickerPackState {
public static final Unknown INSTANCE = new Unknown ( ) ;
private Unknown ( ) {
super ( null ) ;
}
}
private StickerPackState ( ) {
}
public /* synthetic */ StickerPackState ( DefaultConstructorMarker defaultConstructorMarker ) {
this ( ) ;
}
}
2021-07-03 23:36:06 +00:00
public StoreStickers ( Dispatcher dispatcher , RestAPI restAPI , ObservationDeck observationDeck , Clock clock ) {
2021-06-27 20:44:35 +00:00
m . checkNotNullParameter ( dispatcher , " dispatcher " ) ;
m . checkNotNullParameter ( restAPI , " api " ) ;
m . checkNotNullParameter ( observationDeck , " observationDeck " ) ;
2021-07-03 23:36:06 +00:00
m . checkNotNullParameter ( clock , " clock " ) ;
2021-06-27 20:44:35 +00:00
this . dispatcher = dispatcher ;
this . api = restAPI ;
this . observationDeck = observationDeck ;
2021-07-03 23:36:06 +00:00
this . clock = clock ;
2021-06-27 20:44:35 +00:00
this . stickerPacks = h0 . emptyMap ( ) ;
this . stickerPacksSnapshot = h0 . emptyMap ( ) ;
this . stickersSnapshot = h0 . emptyMap ( ) ;
2021-07-04 15:26:29 +00:00
Persister < MediaFrecencyTracker > persister = new Persister < > ( " STICKER_HISTORY_V1 " , new MediaFrecencyTracker ( 20 , 1 ) ) ;
2021-06-27 20:44:35 +00:00
this . frecencyCache = persister ;
this . frecency = persister . get ( ) ;
this . enabledStickerPacks = n . emptyList ( ) ;
this . enabledStickerPacksSnapshot = n . emptyList ( ) ;
2021-07-03 23:36:06 +00:00
this . enabledStickerPacksStickersSnapshot = n . emptyList ( ) ;
2021-06-27 20:44:35 +00:00
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
2021-07-03 23:36:06 +00:00
public /* synthetic */ StoreStickers ( Dispatcher dispatcher , RestAPI restAPI , ObservationDeck observationDeck , Clock clock , int i , DefaultConstructorMarker defaultConstructorMarker ) {
this ( dispatcher , ( i & 2 ) ! = 0 ? RestAPI . Companion . getApi ( ) : restAPI , ( i & 4 ) ! = 0 ? ObservationDeckProvider . get ( ) : observationDeck , ( i & 8 ) ! = 0 ? ClockFactory . get ( ) : clock ) ;
2021-06-27 20:44:35 +00:00
}
public static final /* synthetic */ RestAPI access$getApi$p ( StoreStickers storeStickers ) {
return storeStickers . api ;
}
2021-07-03 23:36:06 +00:00
public static final /* synthetic */ Clock access$getClock$p ( StoreStickers storeStickers ) {
return storeStickers . clock ;
}
2021-06-27 20:44:35 +00:00
public static final /* synthetic */ Dispatcher access$getDispatcher$p ( StoreStickers storeStickers ) {
return storeStickers . dispatcher ;
}
public static final /* synthetic */ List access$getEnabledStickerPacksSnapshot$p ( StoreStickers storeStickers ) {
return storeStickers . enabledStickerPacksSnapshot ;
}
public static final /* synthetic */ MediaFrecencyTracker access$getFrecency$p ( StoreStickers storeStickers ) {
return storeStickers . frecency ;
}
public static final /* synthetic */ Persister access$getFrecencyCache$p ( StoreStickers storeStickers ) {
return storeStickers . frecencyCache ;
}
2021-07-03 23:36:06 +00:00
public static final /* synthetic */ long access$getLastFetchedEnabledPacks$p ( StoreStickers storeStickers ) {
return storeStickers . lastFetchedEnabledPacks ;
2021-06-27 20:44:35 +00:00
}
2021-07-03 23:36:06 +00:00
public static final /* synthetic */ Map access$getStickerPacks$p ( StoreStickers storeStickers ) {
return storeStickers . stickerPacks ;
2021-06-27 20:44:35 +00:00
}
public static final /* synthetic */ void access$setEnabledStickerPacksSnapshot$p ( StoreStickers storeStickers , List list ) {
storeStickers . enabledStickerPacksSnapshot = list ;
}
2021-07-03 23:36:06 +00:00
public static final /* synthetic */ void access$setLastFetchedEnabledPacks$p ( StoreStickers storeStickers , long j ) {
storeStickers . lastFetchedEnabledPacks = j ;
2021-06-27 20:44:35 +00:00
}
2021-07-03 23:36:06 +00:00
public static final /* synthetic */ void access$setStickerPacks$p ( StoreStickers storeStickers , Map map ) {
storeStickers . stickerPacks = map ;
2021-06-27 20:44:35 +00:00
}
public final void fetchEnabledStickerDirectory ( ) {
2021-07-03 23:36:06 +00:00
if ( this . lastFetchedEnabledPacks + 300000 < this . clock . currentTimeMillis ( ) ) {
ObservableExtensionsKt . appSubscribe$default ( ObservableExtensionsKt . restSubscribeOn$default ( this . api . getStickerPacks ( ) , false , 1 , null ) , StoreStickers . class , ( Context ) null , ( Function1 ) null , ( Function1 ) null , ( Function0 ) null , ( Function0 ) null , new StoreStickers$fetchEnabledStickerDirectory$1 ( this ) , 62 , ( Object ) null ) ;
}
2021-06-27 20:44:35 +00:00
}
public final void fetchStickerPack ( long j ) {
this . dispatcher . schedule ( new StoreStickers$fetchStickerPack$1 ( this , j ) ) ;
}
public final List < ModelStickerPack > getEnabledStickerPacks ( ) {
return this . enabledStickerPacksSnapshot ;
}
2021-07-03 23:36:06 +00:00
public final List < Sticker > getEnabledStickers ( ) {
return this . enabledStickerPacksStickersSnapshot ;
}
2021-06-27 20:44:35 +00:00
public final StickerPackState getStickerPack ( long j ) {
return ( StickerPackState ) this . stickerPacksSnapshot . get ( Long . valueOf ( j ) ) ;
}
/* JADX DEBUG: Type inference failed for r0v0. Raw type applied. Possible types: java.util.Map<java.lang.Long, ? extends com.discord.stores.StoreStickers$StickerPackState>, java.util.Map<java.lang.Long, com.discord.stores.StoreStickers$StickerPackState> */
public final Map < Long , StickerPackState > getStickerPacks ( ) {
return this . stickerPacksSnapshot ;
}
public final Map < Long , Sticker > getStickers ( ) {
return this . stickersSnapshot ;
}
2021-07-04 15:26:29 +00:00
public final void handleDeletedStickers ( List < Long > list ) {
m . checkNotNullParameter ( list , " stickerIds " ) ;
this . dispatcher . schedule ( new StoreStickers$handleDeletedStickers$1 ( this , list ) ) ;
}
2021-06-27 20:44:35 +00:00
public final void handleFetchedSticker ( Sticker sticker ) {
2021-07-03 23:36:06 +00:00
if ( sticker ! = null & & sticker . k ( ) = = StickerType . STANDARD ) {
Long i = sticker . i ( ) ;
m . checkNotNull ( i ) ;
fetchStickerPack ( i . longValue ( ) ) ;
2021-06-27 20:44:35 +00:00
}
}
@StoreThread
public final void handleNewEnabledStickerDirectory ( List < ModelStickerPack > list ) {
m . checkNotNullParameter ( list , " enabledPacks " ) ;
handleNewLoadedStickerPacks ( list ) ;
this . enabledStickerPacks = list ;
markChanged ( ) ;
}
@StoreThread
public final void handleNewLoadedStickerPacks ( List < ModelStickerPack > list ) {
m . checkNotNullParameter ( list , " newStickerPacks " ) ;
Map < Long , ? extends StickerPackState > mutableMap = h0 . toMutableMap ( this . stickerPacks ) ;
for ( ModelStickerPack modelStickerPack : list ) {
StickerPackState stickerPackState = ( StickerPackState ) this . stickerPacks . get ( Long . valueOf ( modelStickerPack . getId ( ) ) ) ;
if ( stickerPackState = = null | | ! ( stickerPackState instanceof StickerPackState . Loaded ) | | ( ( StickerPackState . Loaded ) stickerPackState ) . getStickerPack ( ) . getStoreListing ( ) = = null ) {
mutableMap . put ( Long . valueOf ( modelStickerPack . getId ( ) ) , new StickerPackState . Loaded ( modelStickerPack ) ) ;
}
}
this . stickerPacks = mutableMap ;
markChanged ( ) ;
}
@StoreThread
public final void handleNewLoadingStickerPacks ( List < Long > list ) {
m . checkNotNullParameter ( list , " stickerPackIds " ) ;
Map < Long , ? extends StickerPackState > mutableMap = h0 . toMutableMap ( this . stickerPacks ) ;
for ( Number number : list ) {
mutableMap . put ( Long . valueOf ( number . longValue ( ) ) , StickerPackState . Loading . INSTANCE ) ;
}
this . stickerPacks = mutableMap ;
markChanged ( ) ;
}
@StoreThread
public final void handlePreLogout ( ) {
Persister . clear$default ( this . frecencyCache , false , 1 , null ) ;
}
public final void init ( ) {
if ( StickerPickerFeatureFlag . Companion . getINSTANCE ( ) . isEnabled ( ) ) {
fetchEnabledStickerDirectory ( ) ;
}
}
public final Observable < List < ModelStickerPack > > observeEnabledStickerPacks ( ) {
return ObservationDeck . connectRx$default ( this . observationDeck , new ObservationDeck . UpdateSource [ ] { this } , false , null , null , new StoreStickers$observeEnabledStickerPacks$1 ( this ) , 14 , null ) ;
}
2021-07-03 23:36:06 +00:00
public final Observable < List < Long > > observeFrequentlyUsedStickerIds ( ) {
2021-07-04 15:26:29 +00:00
Observable < R > F = this . frecencyCache . getObservable ( ) . F ( StoreStickers$observeFrequentlyUsedStickerIds$1 . INSTANCE ) ;
m . checkNotNullExpressionValue ( F , " frecencyCache.getObserva…ckerId.toLong() } \ n } " ) ;
return F ;
2021-06-27 20:44:35 +00:00
}
public final Observable < StickerPackState > observeStickerPack ( long j ) {
this . dispatcher . schedule ( new StoreStickers$observeStickerPack$1 ( this , j ) ) ;
return ObservationDeck . connectRx$default ( this . observationDeck , new ObservationDeck . UpdateSource [ ] { this } , false , null , null , new StoreStickers$observeStickerPack$2 ( this , j ) , 14 , null ) ;
}
public final Observable < List < StickerPackState > > observeStickerPacks ( ) {
return ObservationDeck . connectRx$default ( this . observationDeck , new ObservationDeck . UpdateSource [ ] { this } , false , null , null , new StoreStickers$observeStickerPacks$1 ( this ) , 14 , null ) ;
}
public final void onStickerUsed ( Sticker sticker ) {
m . checkNotNullParameter ( sticker , " sticker " ) ;
this . dispatcher . schedule ( new StoreStickers$onStickerUsed$1 ( this , sticker ) ) ;
}
@Override // com.discord.stores.StoreV2
@StoreThread
public void snapshotData ( ) {
HashMap hashMap = new HashMap ( this . stickerPacks ) ;
this . stickerPacksSnapshot = hashMap ;
Collection values = hashMap . values ( ) ;
ArrayList < StickerPackState . Loaded > arrayList = new ArrayList ( ) ;
for ( Object obj : values ) {
if ( obj instanceof StickerPackState . Loaded ) {
arrayList . add ( obj ) ;
}
}
ArrayList arrayList2 = new ArrayList ( o . collectionSizeOrDefault ( arrayList , 10 ) ) ;
for ( StickerPackState . Loaded loaded : arrayList ) {
arrayList2 . add ( loaded . getStickerPack ( ) . getStickers ( ) ) ;
}
List flatten = o . flatten ( arrayList2 ) ;
LinkedHashMap linkedHashMap = new LinkedHashMap ( a . I ( flatten , 10 , 16 ) ) ;
for ( Object obj2 : flatten ) {
linkedHashMap . put ( Long . valueOf ( ( ( Sticker ) obj2 ) . getId ( ) ) , obj2 ) ;
}
this . stickersSnapshot = linkedHashMap ;
this . enabledStickerPacksSnapshot = new ArrayList ( this . enabledStickerPacks ) ;
2021-07-03 23:36:06 +00:00
List < ModelStickerPack > list = this . enabledStickerPacks ;
ArrayList arrayList3 = new ArrayList ( o . collectionSizeOrDefault ( list , 10 ) ) ;
for ( ModelStickerPack modelStickerPack : list ) {
arrayList3 . add ( modelStickerPack . getStickers ( ) ) ;
}
this . enabledStickerPacksStickersSnapshot = new ArrayList ( o . flatten ( arrayList3 ) ) ;
2021-06-27 20:44:35 +00:00
}
}