导航菜单

页面标题

页面副标题

Kreate v1.5.0 - PlayerServiceModern.java 源代码

正在查看: Kreate v1.5.0 应用的 PlayerServiceModern.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package it.fast4x.rimusic.service.modern;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.media.AudioDeviceCallback;
import android.media.AudioDeviceInfo;
import android.media.AudioManager;
import android.media.audiofx.BassBoost;
import android.media.audiofx.LoudnessEnhancer;
import android.media.audiofx.PresetReverb;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import androidx.compose.runtime.MutableState;
import androidx.compose.runtime.SnapshotMutationPolicy;
import androidx.compose.runtime.SnapshotStateKt;
import androidx.compose.runtime.State;
import androidx.core.app.NotificationCompat;
import androidx.core.content.ContextCompat;
import androidx.media3.common.AudioAttributes;
import androidx.media3.common.AuxEffectInfo;
import androidx.media3.common.DeviceInfo;
import androidx.media3.common.ForwardingPlayer;
import androidx.media3.common.MediaItem;
import androidx.media3.common.MediaMetadata;
import androidx.media3.common.PlaybackException;
import androidx.media3.common.PlaybackParameters;
import androidx.media3.common.Player;
import androidx.media3.common.Timeline;
import androidx.media3.common.TrackSelectionParameters;
import androidx.media3.common.Tracks;
import androidx.media3.common.VideoSize;
import androidx.media3.common.audio.AudioProcessor;
import androidx.media3.common.audio.SonicAudioProcessor;
import androidx.media3.common.text.CueGroup;
import androidx.media3.common.util.Log;
import androidx.media3.database.StandaloneDatabaseProvider;
import androidx.media3.datasource.cache.Cache;
import androidx.media3.datasource.cache.CacheEvictor;
import androidx.media3.datasource.cache.LeastRecentlyUsedCacheEvictor;
import androidx.media3.datasource.cache.NoOpCacheEvictor;
import androidx.media3.datasource.cache.SimpleCache;
import androidx.media3.exoplayer.DefaultRenderersFactory;
import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.analytics.AnalyticsListener;
import androidx.media3.exoplayer.analytics.PlaybackStats;
import androidx.media3.exoplayer.analytics.PlaybackStatsListener;
import androidx.media3.exoplayer.audio.AudioSink;
import androidx.media3.exoplayer.audio.DefaultAudioOffloadSupportProvider;
import androidx.media3.exoplayer.audio.DefaultAudioSink;
import androidx.media3.exoplayer.audio.SilenceSkippingAudioProcessor;
import androidx.media3.exoplayer.offline.Download;
import androidx.media3.exoplayer.offline.DownloadManager;
import androidx.media3.exoplayer.scheduler.Requirements;
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
import androidx.media3.exoplayer.source.ShuffleOrder;
import androidx.media3.exoplayer.upstream.DefaultLoadErrorHandlingPolicy;
import androidx.media3.extractor.DefaultExtractorsFactory;
import androidx.media3.session.CommandButton;
import androidx.media3.session.DefaultMediaNotificationProvider;
import androidx.media3.session.MediaController;
import androidx.media3.session.MediaLibraryService;
import androidx.media3.session.MediaNotification;
import androidx.media3.session.MediaSession;
import androidx.media3.session.MediaStyleNotificationHelper;
import androidx.media3.session.SessionToken;
import app.kreate.android.R;
import app.kreate.android.Settings;
import app.kreate.android.service.DataspecServicesKt;
import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import io.ktor.client.utils.CIOKt;
import io.ktor.http.ContentType;
import io.ktor.http.LinkHeader;
import it.fast4x.innertube.models.NavigationEndpoint;
import it.fast4x.rimusic.Database;
import it.fast4x.rimusic.GlobalVarsKt;
import it.fast4x.rimusic.MainActivity;
import it.fast4x.rimusic.MainActivity$$ExternalSyntheticApiModelOutline0;
import it.fast4x.rimusic.UtilsKt;
import it.fast4x.rimusic.enums.AudioQualityFormat;
import it.fast4x.rimusic.enums.DurationInMilliseconds;
import it.fast4x.rimusic.enums.ExoPlayerCacheLocation;
import it.fast4x.rimusic.enums.ExoPlayerDiskCacheMaxSize;
import it.fast4x.rimusic.enums.ExoPlayerMinTimeForEvent;
import it.fast4x.rimusic.enums.NotificationButtons;
import it.fast4x.rimusic.enums.NotificationType;
import it.fast4x.rimusic.enums.PresetsReverb;
import it.fast4x.rimusic.enums.QueueLoopType;
import it.fast4x.rimusic.enums.WallpaperType;
import it.fast4x.rimusic.extensions.audiovolume.AudioVolumeObserver;
import it.fast4x.rimusic.extensions.audiovolume.OnAudioVolumeChangedListener;
import it.fast4x.rimusic.extensions.connectivity.AndroidConnectivityObserverLegacy;
import it.fast4x.rimusic.extensions.discord.DiscordKt;
import it.fast4x.rimusic.models.Event;
import it.fast4x.rimusic.models.PersistentQueue;
import it.fast4x.rimusic.models.PersistentSong;
import it.fast4x.rimusic.models.QueuedMediaItem;
import it.fast4x.rimusic.models.Song;
import it.fast4x.rimusic.service.BitmapProvider;
import it.fast4x.rimusic.service.MyDownloadHelper;
import it.fast4x.rimusic.service.MyDownloadService;
import it.fast4x.rimusic.service.modern.PlayerServiceModern;
import it.fast4x.rimusic.utils.AudioUtilsKt;
import it.fast4x.rimusic.utils.CoilBitmapLoader;
import it.fast4x.rimusic.utils.CoroutineExtensionsKt;
import it.fast4x.rimusic.utils.DownloadUtilsKt;
import it.fast4x.rimusic.utils.EncryptedPreferencesKt;
import it.fast4x.rimusic.utils.PlayerKt;
import it.fast4x.rimusic.utils.PreferencesKt;
import it.fast4x.rimusic.utils.TimerJob;
import it.fast4x.rimusic.utils.TimerJobKt;
import it.fast4x.rimusic.utils.YouTubeRadio;
import j$.nio.file.Files;
import j$.nio.file.Path;
import j$.nio.file.attribute.FileAttribute;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CancellationException;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import kotlin.ExceptionsKt;
import kotlin.Metadata;
import kotlin.NoWhenBranchMatchedException;
import kotlin.Result;
import kotlin.ResultKt;
import kotlin.Triple;
import kotlin.Unit;
import kotlin.collections.ArraysKt;
import kotlin.collections.CollectionsKt;
import kotlin.coroutines.CoroutineContext;
import kotlin.enums.EnumEntries;
import kotlin.io.CloseableKt;
import kotlin.io.ConstantsKt;
import kotlin.io.FilesKt;
import kotlin.jvm.JvmInline;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.math.MathKt;
import kotlin.ranges.LongRange;
import kotlin.ranges.RangesKt;
import kotlinx.coroutines.BuildersKt;
import kotlinx.coroutines.CoroutineScope;
import kotlinx.coroutines.CoroutineScopeKt;
import kotlinx.coroutines.CoroutineStart;
import kotlinx.coroutines.Dispatchers;
import kotlinx.coroutines.Job;
import kotlinx.coroutines.JobKt;
import kotlinx.coroutines.flow.Flow;
import kotlinx.coroutines.flow.FlowKt;
import kotlinx.coroutines.flow.MutableStateFlow;
import kotlinx.coroutines.flow.SharingStarted;
import kotlinx.coroutines.flow.StateFlow;
import kotlinx.coroutines.flow.StateFlowKt;
import me.knighthat.database.EventTable;
import me.knighthat.database.SongTable;
import me.knighthat.utils.Toaster;
import timber.log.Timber;

@Metadata(d1 = {"\u0000\u0082\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\n\n\u0002\u0018\u0002\n\u0002\b\u0006\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010!\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0010\n\u0002\u0018\u0002\n\u0002\b\u0010\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0007\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000*\u0002\u009c\u0001\b\u0007\u0018\u0000 Å\u00012\u00020\u00012\u00020\u00022\u00020\u00032\u00020\u00042\u00020\u0005:\fÀ\u0001Á\u0001Â\u0001Ã\u0001Ä\u0001Å\u0001B\u0007¢\u0006\u0004\b\u0006\u0010\u0007J\b\u0010d\u001a\u00020eH\u0016J\u0012\u0010f\u001a\u00020g2\b\u0010h\u001a\u0004\u0018\u00010iH\u0016J\u0010\u0010j\u001a\u00020\r2\u0006\u0010k\u001a\u00020lH\u0016J\u0018\u0010m\u001a\u00020e2\u0006\u0010n\u001a\u00020&2\u0006\u0010o\u001a\u00020TH\u0016J\u0010\u0010p\u001a\u00020e2\u0006\u0010q\u001a\u00020TH\u0016J\u0018\u0010r\u001a\u00020e2\u0006\u0010s\u001a\u00020t2\u0006\u0010u\u001a\u00020vH\u0016J\u0012\u0010w\u001a\u00020e2\b\u0010x\u001a\u0004\u0018\u00010iH\u0016J\b\u0010y\u001a\u00020eH\u0017J\u001a\u0010z\u001a\u00020e2\u0006\u0010{\u001a\u00020|2\b\u0010}\u001a\u0004\u0018\u00010~H\u0016J\u001b\u0010\u0080\u0001\u001a\u00020e2\u0007\u0010\u0081\u0001\u001a\u00020T2\u0007\u0010\u0082\u0001\u001a\u00020TH\u0016J\u0012\u0010\u0083\u0001\u001a\u00020e2\u0007\u0010\u0084\u0001\u001a\u00020TH\u0016J\u001c\u0010\u0085\u0001\u001a\u00020e2\t\u0010\u0086\u0001\u001a\u0004\u0018\u00010L2\u0006\u0010o\u001a\u00020TH\u0016J\u001b\u0010\u0087\u0001\u001a\u00020e2\b\u0010\u0088\u0001\u001a\u00030\u0089\u00012\u0006\u0010o\u001a\u00020TH\u0016J\u0012\u0010\u008a\u0001\u001a\u00020e2\u0007\u0010\u008b\u0001\u001a\u00020&H\u0016J\u0012\u0010\u008c\u0001\u001a\u00020e2\u0007\u0010\u008d\u0001\u001a\u00020&H\u0017J\u0013\u0010\u008e\u0001\u001a\u00020e2\b\u0010\u008f\u0001\u001a\u00030\u0090\u0001H\u0016J\u001c\u0010\u0091\u0001\u001a\u00020e2\u0007\u0010\u0010\u001a\u00030\u0092\u00012\b\u0010\u0093\u0001\u001a\u00030\u0094\u0001H\u0016J\t\u0010\u0095\u0001\u001a\u00020eH\u0002J\u0011\u0010\u0096\u0001\u001a\u00020e2\u0006\u0010o\u001a\u00020TH\u0002J\t\u0010\u0097\u0001\u001a\u00020eH\u0002J\t\u0010\u0098\u0001\u001a\u00020eH\u0002J\t\u0010\u0099\u0001\u001a\u00020eH\u0003J\t\u0010\u009a\u0001\u001a\u00020eH\u0003J\u0010\u0010\u009b\u0001\u001a\u00030\u009c\u0001H\u0002¢\u0006\u0003\u0010\u009d\u0001J\n\u0010\u009e\u0001\u001a\u00030\u009f\u0001H\u0002J\u0011\u0010 \u0001\u001a\n\u0012\u0005\u0012\u00030¢\u00010¡\u0001H\u0002J\u0014\u0010£\u0001\u001a\u00030¤\u00012\b\u0010¥\u0001\u001a\u00030¦\u0001H\u0002J\t\u0010§\u0001\u001a\u00020eH\u0002J\t\u0010¨\u0001\u001a\u00020eH\u0002J\t\u0010©\u0001\u001a\u00020eH\u0002J\u0007\u0010ª\u0001\u001a\u00020eJ\u0007\u0010«\u0001\u001a\u00020eJ\u0007\u0010¬\u0001\u001a\u00020eJ\u0007\u0010\u00ad\u0001\u001a\u00020eJ\u0007\u0010®\u0001\u001a\u00020eJ\u0012\u0010¯\u0001\u001a\u00020e2\u0007\u0010°\u0001\u001a\u00020~H\u0002J\t\u0010±\u0001\u001a\u00020eH\u0007J\t\u0010²\u0001\u001a\u00020eH\u0003J\t\u0010³\u0001\u001a\u00020eH\u0003J\t\u0010´\u0001\u001a\u00020eH\u0002J%\u0010µ\u0001\u001a\u00020e2\b\u0010¶\u0001\u001a\u00030·\u00012\b\u0010¸\u0001\u001a\u00030·\u00012\u0006\u0010o\u001a\u00020TH\u0016J\t\u0010¹\u0001\u001a\u00020eH\u0002J\t\u0010º\u0001\u001a\u00020eH\u0002J\t\u0010»\u0001\u001a\u00020eH\u0003J\t\u0010¼\u0001\u001a\u00020eH\u0003J\t\u0010½\u0001\u001a\u00020eH\u0002J\u0007\u0010¾\u0001\u001a\u00020eJ\u0007\u0010¿\u0001\u001a\u00020eR\u000e\u0010\b\u001a\u00020\tX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u000bX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\rX\u0082.¢\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\u000fX\u0082\u000e¢\u0006\u0002\n\u0000R\u001a\u0010\u0010\u001a\u00020\u0011X\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\b\u0012\u0010\u0013\"\u0004\b\u0014\u0010\u0015R\u001a\u0010\u0016\u001a\u00020\u0017X\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\b\u0018\u0010\u0019\"\u0004\b\u001a\u0010\u001bR\u001a\u0010\u001c\u001a\u00020\u0017X\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\b\u001d\u0010\u0019\"\u0004\b\u001e\u0010\u001bR\u000e\u0010\u001f\u001a\u00020 X\u0082.¢\u0006\u0002\n\u0000R\u000e\u0010!\u001a\u00020\"X\u0082.¢\u0006\u0002\n\u0000R\u0010\u0010#\u001a\u0004\u0018\u00010$X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010%\u001a\u00020&X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010'\u001a\u00020&X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010(\u001a\u0004\u0018\u00010)X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010*\u001a\u0004\u0018\u00010+X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010,\u001a\u00020-X\u0082.¢\u0006\u0002\n\u0000R\u001c\u0010.\u001a\u0004\u0018\u00010/X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b0\u00101\"\u0004\b2\u00103R\u0012\u00104\u001a\u000605R\u00020\u0000X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u00106\u001a\u0004\u0018\u000107X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u00108\u001a\u0004\u0018\u000109X\u0082\u000e¢\u0006\u0002\n\u0000R\u001a\u0010:\u001a\u00020;X\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\b<\u0010=\"\u0004\b>\u0010?R\u001a\u0010@\u001a\u00020AX\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\bB\u0010C\"\u0004\bD\u0010ER\u0010\u0010F\u001a\u0004\u0018\u00010GX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010H\u001a\u0004\u0018\u00010IX\u0082\u000e¢\u0006\u0002\n\u0000R\u0019\u0010J\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010L0K¢\u0006\b\n\u0000\u001a\u0004\bM\u0010NR\u001c\u0010O\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010Q0PX\u0082\u0004¢\u0006\b\n\u0000\u0012\u0004\bR\u0010\u0007R \u0010S\u001a\b\u0012\u0004\u0012\u00020T0KX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\bU\u0010N\"\u0004\bV\u0010WR\u001a\u0010X\u001a\u00020YX\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\bZ\u0010[\"\u0004\b\\\u0010]R\u0014\u0010^\u001a\b\u0012\u0004\u0012\u00020&0KX\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010_\u001a\b\u0012\u0004\u0012\u00020&0KX\u0082\u0004¢\u0006\u0002\n\u0000R\u0010\u0010`\u001a\u0004\u0018\u00010aX\u0082\u000e¢\u0006\u0002\n\u0000R\u0012\u0010b\u001a\u00060cR\u00020\u0000X\u0082.¢\u0006\u0002\n\u0000R\u000e\u0010\u007f\u001a\u00020&X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006Æ\u0001²\u0006\f\u0010Ç\u0001\u001a\u00030È\u0001X\u008a\u0084\u0002²\u0006\f\u0010É\u0001\u001a\u00030Ê\u0001X\u008a\u0084\u0002²\u0006\f\u0010Ë\u0001\u001a\u00030Ì\u0001X\u008a\u0084\u0002²\u0006\f\u0010Í\u0001\u001a\u00030Î\u0001X\u008a\u0084\u0002²\u0006\f\u0010Ï\u0001\u001a\u00030Ð\u0001X\u008a\u0084\u0002²\u0006\f\u0010Ñ\u0001\u001a\u00030Ð\u0001X\u008a\u0084\u0002²\u0006\f\u0010Ï\u0001\u001a\u00030Ð\u0001X\u008a\u0084\u0002²\u0006\f\u0010Ñ\u0001\u001a\u00030Ð\u0001X\u008a\u0084\u0002²\u0006\u000b\u0010Ò\u0001\u001a\u00020&X\u008a\u0084\u0002²\u0006\f\u0010Ó\u0001\u001a\u00030Ô\u0001X\u008a\u0084\u0002²\u0006\u000b\u0010Õ\u0001\u001a\u00020&X\u008a\u0084\u0002"}, d2 = {"Lit/fast4x/rimusic/service/modern/PlayerServiceModern;", "Landroidx/media3/session/MediaLibraryService;", "Landroidx/media3/common/Player$Listener;", "Landroidx/media3/exoplayer/analytics/PlaybackStatsListener$Callback;", "Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;", "Lit/fast4x/rimusic/extensions/audiovolume/OnAudioVolumeChangedListener;", "<init>", "()V", "coroutineScope", "Lkotlinx/coroutines/CoroutineScope;", "handler", "Landroid/os/Handler;", "mediaSession", "Landroidx/media3/session/MediaLibraryService$MediaLibrarySession;", "mediaLibrarySessionCallback", "Lit/fast4x/rimusic/service/modern/MediaLibrarySessionCallback;", "player", "Landroidx/media3/exoplayer/ExoPlayer;", "getPlayer", "()Landroidx/media3/exoplayer/ExoPlayer;", "setPlayer", "(Landroidx/media3/exoplayer/ExoPlayer;)V", "cache", "Landroidx/media3/datasource/cache/Cache;", "getCache", "()Landroidx/media3/datasource/cache/Cache;", "setCache", "(Landroidx/media3/datasource/cache/Cache;)V", "downloadCache", "getDownloadCache", "setDownloadCache", "audioVolumeObserver", "Lit/fast4x/rimusic/extensions/audiovolume/AudioVolumeObserver;", "bitmapProvider", "Lit/fast4x/rimusic/service/BitmapProvider;", "volumeNormalizationJob", "Lkotlinx/coroutines/Job;", "isPersistentQueueEnabled", "", "isclosebackgroundPlayerEnabled", "audioManager", "Landroid/media/AudioManager;", "audioDeviceCallback", "Landroid/media/AudioDeviceCallback;", "downloadListener", "Landroidx/media3/exoplayer/offline/DownloadManager$Listener;", "loudnessEnhancer", "Landroid/media/audiofx/LoudnessEnhancer;", "getLoudnessEnhancer", "()Landroid/media/audiofx/LoudnessEnhancer;", "setLoudnessEnhancer", "(Landroid/media/audiofx/LoudnessEnhancer;)V", "binder", "Lit/fast4x/rimusic/service/modern/PlayerServiceModern$Binder;", "bassBoost", "Landroid/media/audiofx/BassBoost;", "reverbPreset", "Landroid/media/audiofx/PresetReverb;", "audioQualityFormat", "Lit/fast4x/rimusic/enums/AudioQualityFormat;", "getAudioQualityFormat", "()Lit/fast4x/rimusic/enums/AudioQualityFormat;", "setAudioQualityFormat", "(Lit/fast4x/rimusic/enums/AudioQualityFormat;)V", "sleepTimer", "Lit/fast4x/rimusic/service/modern/SleepTimer;", "getSleepTimer", "()Lit/fast4x/rimusic/service/modern/SleepTimer;", "setSleepTimer", "(Lit/fast4x/rimusic/service/modern/SleepTimer;)V", "timerJob", "Lit/fast4x/rimusic/utils/TimerJob;", "radio", "Lit/fast4x/rimusic/utils/YouTubeRadio;", "currentMediaItem", "Lkotlinx/coroutines/flow/MutableStateFlow;", "Landroidx/media3/common/MediaItem;", "getCurrentMediaItem", "()Lkotlinx/coroutines/flow/MutableStateFlow;", "currentSong", "Lkotlinx/coroutines/flow/StateFlow;", "Lit/fast4x/rimusic/models/Song;", "getCurrentSong$annotations", "currentSongStateDownload", "", "getCurrentSongStateDownload", "setCurrentSongStateDownload", "(Lkotlinx/coroutines/flow/MutableStateFlow;)V", "connectivityObserver", "Lit/fast4x/rimusic/extensions/connectivity/AndroidConnectivityObserverLegacy;", "getConnectivityObserver", "()Lit/fast4x/rimusic/extensions/connectivity/AndroidConnectivityObserverLegacy;", "setConnectivityObserver", "(Lit/fast4x/rimusic/extensions/connectivity/AndroidConnectivityObserverLegacy;)V", "isNetworkAvailable", "waitingForNetwork", "notificationManager", "Landroid/app/NotificationManager;", "notificationActionReceiver", "Lit/fast4x/rimusic/service/modern/PlayerServiceModern$NotificationActionReceiver;", "onCreate", "", "onBind", "Landroid/os/IBinder;", "intent", "Landroid/content/Intent;", "onGetSession", "controllerInfo", "Landroidx/media3/session/MediaSession$ControllerInfo;", "onPlayWhenReadyChanged", "playWhenReady", "reason", "onRepeatModeChanged", "repeatMode", "onPlaybackStatsReady", "eventTime", "Landroidx/media3/exoplayer/analytics/AnalyticsListener$EventTime;", "playbackStats", "Landroidx/media3/exoplayer/analytics/PlaybackStats;", "onTaskRemoved", "rootIntent", "onDestroy", "onSharedPreferenceChanged", "sharedPreferences", "Landroid/content/SharedPreferences;", "key", "", "pausedByZeroVolume", "onAudioVolumeChanged", "currentVolume", "maxVolume", "onAudioVolumeDirectionChanged", "direction", "onMediaItemTransition", "mediaItem", "onTimelineChanged", "timeline", "Landroidx/media3/common/Timeline;", "onShuffleModeEnabledChanged", "shuffleModeEnabled", "onIsPlayingChanged", "isPlaying", "onPlayerError", "error", "Landroidx/media3/common/PlaybackException;", "onEvents", "Landroidx/media3/common/Player;", "events", "Landroidx/media3/common/Player$Events;", "maybeRecoverPlaybackError", "loadFromRadio", "maybeBassBoost", "maybeReverb", "maybeNormalizeVolume", "maybeResumePlaybackWhenDeviceConnected", "createRendersFactory", "it/fast4x/rimusic/service/modern/PlayerServiceModern$createRendersFactory$1", "()Lit/fast4x/rimusic/service/modern/PlayerServiceModern$createRendersFactory$1;", "createMediaSourceFactory", "Landroidx/media3/exoplayer/source/DefaultMediaSourceFactory;", "buildCustomCommandButtons", "", "Landroidx/media3/session/CommandButton;", "updateCustomNotification", "Landroidx/media3/session/MediaNotification;", "session", "Landroidx/media3/session/MediaSession;", "updateWallpaper", "updateDefaultNotification", "updateDiscordPresence", "toggleLike", "toggleDownload", "toggleRepeat", "toggleShuffle", "startRadio", "showSmartMessage", ContentType.Message.TYPE, "updateWidgets", "sendOpenEqualizerIntent", "sendCloseEqualizerIntent", "actionSearch", "onPositionDiscontinuity", "oldPosition", "Landroidx/media3/common/Player$PositionInfo;", "newPosition", "maybeSavePlayerQueue", "maybeResumePlaybackOnStart", "maybeRestorePlayerQueue", "maybeRestoreFromDiskPlayerQueue", "maybeSaveToDiskPlayerQueue", "updateDownloadedState", "restartForegroundOrStop", "CustomMediaNotificationProvider", "NotificationDismissReceiver", "NotificationActionReceiver", "Binder", "Action", "Companion", "composeApp_full", "cacheSize", "Lit/fast4x/rimusic/enums/ExoPlayerDiskCacheMaxSize;", "minTimeForEvent", "Lit/fast4x/rimusic/enums/ExoPlayerMinTimeForEvent;", "presetType", "Lit/fast4x/rimusic/enums/PresetsReverb;", "baseGain", "", "notificationPlayerFirstIcon", "Lit/fast4x/rimusic/enums/NotificationButtons;", "notificationPlayerSecondIcon", "wallpaperEnabled", "wallpaperType", "Lit/fast4x/rimusic/enums/WallpaperType;", "isDiscordPresenceEnabled"}, k = 1, mv = {2, 1, 0}, xi = 48)
public final class PlayerServiceModern extends MediaLibraryService implements Player.Listener, PlaybackStatsListener.Callback, SharedPreferences.OnSharedPreferenceChangeListener, OnAudioVolumeChangedListener {
    public static final String ALBUM = "album";
    public static final String ARTIST = "artist";
    public static final String CACHE_DIRNAME = "exo_cache";
    public static final String NotificationChannelId = "default_channel_id";
    public static final int NotificationId = 1001;
    public static final String PLAYLIST = "playlist";
    public static final String ROOT = "root";
    public static final String SEARCHED = "searched";
    public static final String SONG = "song";
    public static final String SleepTimerNotificationChannelId = "sleep_timer_channel_id";
    public static final int SleepTimerNotificationId = 1002;
    private AudioDeviceCallback audioDeviceCallback;
    private AudioManager audioManager;
    public AudioQualityFormat audioQualityFormat;
    private AudioVolumeObserver audioVolumeObserver;
    private BassBoost bassBoost;
    private Binder binder;
    private BitmapProvider bitmapProvider;
    public Cache cache;
    public AndroidConnectivityObserverLegacy connectivityObserver;
    private final CoroutineScope coroutineScope;
    private final MutableStateFlow<MediaItem> currentMediaItem;
    private final StateFlow<Song> currentSong;
    private MutableStateFlow<Integer> currentSongStateDownload;
    public Cache downloadCache;
    private DownloadManager.Listener downloadListener;
    private final Handler handler;
    private final MutableStateFlow<Boolean> isNetworkAvailable;
    private boolean isPersistentQueueEnabled;
    private boolean isclosebackgroundPlayerEnabled;
    private LoudnessEnhancer loudnessEnhancer;
    private MediaLibrarySessionCallback mediaLibrarySessionCallback;
    private MediaLibraryService.MediaLibrarySession mediaSession;
    private NotificationActionReceiver notificationActionReceiver;
    private NotificationManager notificationManager;
    private boolean pausedByZeroVolume;
    public ExoPlayer player;
    private YouTubeRadio radio;
    private PresetReverb reverbPreset;
    public SleepTimer sleepTimer;
    private TimerJob timerJob;
    private Job volumeNormalizationJob;
    private final MutableStateFlow<Boolean> waitingForNetwork;

    public static final Companion INSTANCE = new Companion(null);
    public static final int $stable = 8;
    private static final Integer[] PlayerErrorsToReload = {416, 4003};
    private static final Integer[] PlayerErrorsToSkip = {2000};

    @Metadata(k = 3, mv = {2, 1, 0}, xi = 48)
    public class WhenMappings {
        public static final int[] $EnumSwitchMapping$0;
        public static final int[] $EnumSwitchMapping$1;
        public static final int[] $EnumSwitchMapping$2;

        static {
            int[] iArr = new int[NotificationType.values().length];
            try {
                iArr[NotificationType.Default.ordinal()] = 1;
            } catch (NoSuchFieldError unused) {
            }
            try {
                iArr[NotificationType.Advanced.ordinal()] = 2;
            } catch (NoSuchFieldError unused2) {
            }
            $EnumSwitchMapping$0 = iArr;
            int[] iArr2 = new int[ExoPlayerDiskCacheMaxSize.values().length];
            try {
                iArr2[ExoPlayerDiskCacheMaxSize.Unlimited.ordinal()] = 1;
            } catch (NoSuchFieldError unused3) {
            }
            try {
                iArr2[ExoPlayerDiskCacheMaxSize.Custom.ordinal()] = 2;
            } catch (NoSuchFieldError unused4) {
            }
            try {
                iArr2[ExoPlayerDiskCacheMaxSize.Disabled.ordinal()] = 3;
            } catch (NoSuchFieldError unused5) {
            }
            $EnumSwitchMapping$1 = iArr2;
            int[] iArr3 = new int[ExoPlayerCacheLocation.values().length];
            try {
                iArr3[ExoPlayerCacheLocation.System.ordinal()] = 1;
            } catch (NoSuchFieldError unused6) {
            }
            try {
                iArr3[ExoPlayerCacheLocation.Private.ordinal()] = 2;
            } catch (NoSuchFieldError unused7) {
            }
            $EnumSwitchMapping$2 = iArr3;
        }
    }

    private static void getCurrentSong$annotations() {
    }

    public static final int onCreate$lambda$3$lambda$2(boolean z) {
        return z ? -16777216 : -1;
    }

    public void onAudioAttributesChanged(AudioAttributes audioAttributes) {
        Player.Listener.-CC.$default$onAudioAttributesChanged(this, audioAttributes);
    }

    public void onAudioSessionIdChanged(int i) {
        Player.Listener.-CC.$default$onAudioSessionIdChanged(this, i);
    }

    @Override
    public void onAudioVolumeDirectionChanged(int direction) {
    }

    public void onAvailableCommandsChanged(Player.Commands commands) {
        Player.Listener.-CC.$default$onAvailableCommandsChanged(this, commands);
    }

    public void onCues(CueGroup cueGroup) {
        Player.Listener.-CC.$default$onCues(this, cueGroup);
    }

    public void onCues(List list) {
        Player.Listener.-CC.$default$onCues(this, list);
    }

    public void onDeviceInfoChanged(DeviceInfo deviceInfo) {
        Player.Listener.-CC.$default$onDeviceInfoChanged(this, deviceInfo);
    }

    public void onDeviceVolumeChanged(int i, boolean z) {
        Player.Listener.-CC.$default$onDeviceVolumeChanged(this, i, z);
    }

    public void onIsLoadingChanged(boolean z) {
        Player.Listener.-CC.$default$onIsLoadingChanged(this, z);
    }

    public void onLoadingChanged(boolean z) {
        Player.Listener.-CC.$default$onLoadingChanged(this, z);
    }

    public void onMaxSeekToPreviousPositionChanged(long j) {
        Player.Listener.-CC.$default$onMaxSeekToPreviousPositionChanged(this, j);
    }

    public void onMediaMetadataChanged(MediaMetadata mediaMetadata) {
        Player.Listener.-CC.$default$onMediaMetadataChanged(this, mediaMetadata);
    }

    public void onMetadata(androidx.media3.common.Metadata metadata) {
        Player.Listener.-CC.$default$onMetadata(this, metadata);
    }

    public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {
        Player.Listener.-CC.$default$onPlaybackParametersChanged(this, playbackParameters);
    }

    public void onPlaybackStateChanged(int i) {
        Player.Listener.-CC.$default$onPlaybackStateChanged(this, i);
    }

    public void onPlaybackSuppressionReasonChanged(int i) {
        Player.Listener.-CC.$default$onPlaybackSuppressionReasonChanged(this, i);
    }

    public void onPlayerErrorChanged(PlaybackException playbackException) {
        Player.Listener.-CC.$default$onPlayerErrorChanged(this, playbackException);
    }

    public void onPlayerStateChanged(boolean z, int i) {
        Player.Listener.-CC.$default$onPlayerStateChanged(this, z, i);
    }

    public void onPlaylistMetadataChanged(MediaMetadata mediaMetadata) {
        Player.Listener.-CC.$default$onPlaylistMetadataChanged(this, mediaMetadata);
    }

    public void onPositionDiscontinuity(int i) {
        Player.Listener.-CC.$default$onPositionDiscontinuity(this, i);
    }

    public void onRenderedFirstFrame() {
        Player.Listener.-CC.$default$onRenderedFirstFrame(this);
    }

    public void onSeekBackIncrementChanged(long j) {
        Player.Listener.-CC.$default$onSeekBackIncrementChanged(this, j);
    }

    public void onSeekForwardIncrementChanged(long j) {
        Player.Listener.-CC.$default$onSeekForwardIncrementChanged(this, j);
    }

    public void onSkipSilenceEnabledChanged(boolean z) {
        Player.Listener.-CC.$default$onSkipSilenceEnabledChanged(this, z);
    }

    public void onSurfaceSizeChanged(int i, int i2) {
        Player.Listener.-CC.$default$onSurfaceSizeChanged(this, i, i2);
    }

    public void onTrackSelectionParametersChanged(TrackSelectionParameters trackSelectionParameters) {
        Player.Listener.-CC.$default$onTrackSelectionParametersChanged(this, trackSelectionParameters);
    }

    public void onTracksChanged(Tracks tracks) {
        Player.Listener.-CC.$default$onTracksChanged(this, tracks);
    }

    public void onVideoSizeChanged(VideoSize videoSize) {
        Player.Listener.-CC.$default$onVideoSizeChanged(this, videoSize);
    }

    public void onVolumeChanged(float f) {
        Player.Listener.-CC.$default$onVolumeChanged(this, f);
    }

    public PlayerServiceModern() {
        CoroutineScope plus = CoroutineScopeKt.plus(CoroutineScopeKt.CoroutineScope(Dispatchers.getIO()), JobKt.Job$default((Job) null, 1, (Object) null));
        this.coroutineScope = plus;
        this.handler = new Handler(Looper.getMainLooper());
        this.mediaLibrarySessionCallback = new MediaLibrarySessionCallback((Context) this, Database.INSTANCE, MyDownloadHelper.INSTANCE);
        this.binder = new Binder();
        Flow MutableStateFlow = StateFlowKt.MutableStateFlow((Object) null);
        this.currentMediaItem = MutableStateFlow;
        this.currentSong = FlowKt.stateIn(FlowKt.transformLatest(MutableStateFlow, new PlayerServiceModern$special$$inlined$flatMapLatest$1(null)), plus, SharingStarted.Companion.getLazily(), (Object) null);
        this.currentSongStateDownload = StateFlowKt.MutableStateFlow(1);
        this.isNetworkAvailable = StateFlowKt.MutableStateFlow(true);
        this.waitingForNetwork = StateFlowKt.MutableStateFlow(false);
    }

    public final ExoPlayer getPlayer() {
        ExoPlayer exoPlayer = this.player;
        if (exoPlayer != null) {
            return exoPlayer;
        }
        Intrinsics.throwUninitializedPropertyAccessException("player");
        return null;
    }

    public final void setPlayer(ExoPlayer exoPlayer) {
        Intrinsics.checkNotNullParameter(exoPlayer, "<set-?>");
        this.player = exoPlayer;
    }

    public final Cache getCache() {
        Cache cache = this.cache;
        if (cache != null) {
            return cache;
        }
        Intrinsics.throwUninitializedPropertyAccessException("cache");
        return null;
    }

    public final void setCache(Cache cache) {
        Intrinsics.checkNotNullParameter(cache, "<set-?>");
        this.cache = cache;
    }

    public final Cache getDownloadCache() {
        Cache cache = this.downloadCache;
        if (cache != null) {
            return cache;
        }
        Intrinsics.throwUninitializedPropertyAccessException("downloadCache");
        return null;
    }

    public final void setDownloadCache(Cache cache) {
        Intrinsics.checkNotNullParameter(cache, "<set-?>");
        this.downloadCache = cache;
    }

    public final LoudnessEnhancer getLoudnessEnhancer() {
        return this.loudnessEnhancer;
    }

    public final void setLoudnessEnhancer(LoudnessEnhancer loudnessEnhancer) {
        this.loudnessEnhancer = loudnessEnhancer;
    }

    public final AudioQualityFormat getAudioQualityFormat() {
        AudioQualityFormat audioQualityFormat = this.audioQualityFormat;
        if (audioQualityFormat != null) {
            return audioQualityFormat;
        }
        Intrinsics.throwUninitializedPropertyAccessException("audioQualityFormat");
        return null;
    }

    public final void setAudioQualityFormat(AudioQualityFormat audioQualityFormat) {
        Intrinsics.checkNotNullParameter(audioQualityFormat, "<set-?>");
        this.audioQualityFormat = audioQualityFormat;
    }

    public final SleepTimer getSleepTimer() {
        SleepTimer sleepTimer = this.sleepTimer;
        if (sleepTimer != null) {
            return sleepTimer;
        }
        Intrinsics.throwUninitializedPropertyAccessException("sleepTimer");
        return null;
    }

    public final void setSleepTimer(SleepTimer sleepTimer) {
        Intrinsics.checkNotNullParameter(sleepTimer, "<set-?>");
        this.sleepTimer = sleepTimer;
    }

    public final MutableStateFlow<MediaItem> getCurrentMediaItem() {
        return this.currentMediaItem;
    }

    public final MutableStateFlow<Integer> getCurrentSongStateDownload() {
        return this.currentSongStateDownload;
    }

    public final void setCurrentSongStateDownload(MutableStateFlow<Integer> mutableStateFlow) {
        Intrinsics.checkNotNullParameter(mutableStateFlow, "<set-?>");
        this.currentSongStateDownload = mutableStateFlow;
    }

    public final AndroidConnectivityObserverLegacy getConnectivityObserver() {
        AndroidConnectivityObserverLegacy androidConnectivityObserverLegacy = this.connectivityObserver;
        if (androidConnectivityObserverLegacy != null) {
            return androidConnectivityObserverLegacy;
        }
        Intrinsics.throwUninitializedPropertyAccessException("connectivityObserver");
        return null;
    }

    public final void setConnectivityObserver(AndroidConnectivityObserverLegacy androidConnectivityObserverLegacy) {
        Intrinsics.checkNotNullParameter(androidConnectivityObserverLegacy, "<set-?>");
        this.connectivityObserver = androidConnectivityObserverLegacy;
    }

    public void onCreate() {
        Object m2076constructorimpl;
        CacheEvictor noOpCacheEvictor;
        File cacheDir;
        File resolve;
        Context context = (Context) this;
        Settings.INSTANCE.load(context);
        super.onCreate();
        try {
            getConnectivityObserver().unregister();
        } catch (Exception unused) {
        }
        setConnectivityObserver(new AndroidConnectivityObserverLegacy(context));
        BuildersKt.launch$default(this.coroutineScope, (CoroutineContext) null, (CoroutineStart) null, new PlayerServiceModern$onCreate$1(this, null), 3, (Object) null);
        int i = WhenMappings.$EnumSwitchMapping$0[((NotificationType) Settings.INSTANCE.getNOTIFICATION_TYPE().getValue()).ordinal()];
        if (i == 1) {
            MediaNotification.Provider customMediaNotificationProvider = new CustomMediaNotificationProvider(context);
            customMediaNotificationProvider.setSmallIcon(R.drawable.ic_launcher_monochrome);
            setMediaNotificationProvider(customMediaNotificationProvider);
        } else {
            if (i != 2) {
                throw new NoWhenBranchMatchedException();
            }
            setMediaNotificationProvider(new MediaNotification.Provider() {
                public boolean handleCustomCommand(MediaSession session, String action, Bundle extras) {
                    Intrinsics.checkNotNullParameter(session, "session");
                    Intrinsics.checkNotNullParameter(action, "action");
                    Intrinsics.checkNotNullParameter(extras, "extras");
                    return false;
                }

                public MediaNotification createNotification(MediaSession mediaSession, ImmutableList<CommandButton> customLayout, MediaNotification.ActionFactory actionFactory, MediaNotification.Provider.Callback onNotificationChangedCallback) {
                    MediaNotification updateCustomNotification;
                    Intrinsics.checkNotNullParameter(mediaSession, "mediaSession");
                    Intrinsics.checkNotNullParameter(customLayout, "customLayout");
                    Intrinsics.checkNotNullParameter(actionFactory, "actionFactory");
                    Intrinsics.checkNotNullParameter(onNotificationChangedCallback, "onNotificationChangedCallback");
                    updateCustomNotification = PlayerServiceModern.this.updateCustomNotification(mediaSession);
                    return updateCustomNotification;
                }
            });
        }
        try {
            Result.Companion companion = Result.INSTANCE;
            PlayerServiceModern playerServiceModern = this;
            this.bitmapProvider = new BitmapProvider(MathKt.roundToInt(ConstantsKt.MINIMUM_BLOCK_SIZE * getResources().getDisplayMetrics().density), new Function1() {
                @Override
                public final Object invoke(Object obj) {
                    int onCreate$lambda$3$lambda$2;
                    onCreate$lambda$3$lambda$2 = PlayerServiceModern.onCreate$lambda$3$lambda$2(((Boolean) obj).booleanValue());
                    return Integer.valueOf(onCreate$lambda$3$lambda$2);
                }
            });
            m2076constructorimpl = Result.m2076constructorimpl(Unit.INSTANCE);
        } catch (Throwable th) {
            Result.Companion companion2 = Result.INSTANCE;
            m2076constructorimpl = Result.m2076constructorimpl(ResultKt.createFailure(th));
        }
        Throwable m2079exceptionOrNullimpl = Result.m2079exceptionOrNullimpl(m2076constructorimpl);
        if (m2079exceptionOrNullimpl != null) {
            Timber.Forest.e("Failed init bitmap provider in PlayerService " + ExceptionsKt.stackTraceToString(m2079exceptionOrNullimpl), new Object[0]);
        }
        SharedPreferences preferences = PreferencesKt.getPreferences(context);
        this.isPersistentQueueEnabled = Settings.INSTANCE.getENABLE_PERSISTENT_QUEUE().getValue().booleanValue();
        setAudioQualityFormat((AudioQualityFormat) Settings.INSTANCE.getAUDIO_QUALITY().getValue());
        Settings.Preference.EnumPreference song_cache_size = Settings.INSTANCE.getSONG_CACHE_SIZE();
        int i2 = WhenMappings.$EnumSwitchMapping$1[onCreate$lambda$5(song_cache_size).ordinal()];
        if (i2 == 1) {
            noOpCacheEvictor = new NoOpCacheEvictor();
        } else if (i2 == 2) {
            noOpCacheEvictor = (CacheEvictor) new LeastRecentlyUsedCacheEvictor(Settings.INSTANCE.getSONG_CACHE_CUSTOM_SIZE().getValue().intValue() * CIOKt.DEFAULT_HTTP_POOL_SIZE * 1000);
        } else {
            noOpCacheEvictor = (CacheEvictor) new LeastRecentlyUsedCacheEvictor(onCreate$lambda$5(song_cache_size).getBytes());
        }
        if (WhenMappings.$EnumSwitchMapping$1[onCreate$lambda$5(song_cache_size).ordinal()] == 3) {
            Path createTempDirectory = Files.createTempDirectory(CACHE_DIRNAME, (FileAttribute[]) Arrays.copyOf(new FileAttribute[0], 0));
            Intrinsics.checkNotNullExpressionValue(createTempDirectory, "createTempDirectory(...)");
            resolve = createTempDirectory.toFile();
        } else {
            int i3 = WhenMappings.$EnumSwitchMapping$2[((ExoPlayerCacheLocation) Settings.INSTANCE.getEXO_CACHE_LOCATION().getValue()).ordinal()];
            if (i3 == 1) {
                cacheDir = getCacheDir();
            } else {
                if (i3 != 2) {
                    throw new NoWhenBranchMatchedException();
                }
                cacheDir = getFilesDir();
            }
            Intrinsics.checkNotNull(cacheDir);
            resolve = FilesKt.resolve(cacheDir, CACHE_DIRNAME);
        }
        resolve.mkdirs();
        setCache(new SimpleCache(resolve, noOpCacheEvictor, new StandaloneDatabaseProvider(context)));
        MyDownloadHelper myDownloadHelper = MyDownloadHelper.INSTANCE;
        Context applicationContext = getApplicationContext();
        Intrinsics.checkNotNullExpressionValue(applicationContext, "getApplicationContext(...)");
        setDownloadCache(myDownloadHelper.getDownloadCache(applicationContext));
        Player build = new ExoPlayer.Builder(context).setMediaSourceFactory(createMediaSourceFactory()).setRenderersFactory(createRendersFactory()).setHandleAudioBecomingNoisy(true).setWakeMode(2).setAudioAttributes(new AudioAttributes.Builder().setUsage(1).setContentType(2).build(), GlobalVarsKt.isHandleAudioFocusEnabled()).setUsePlatformDiagnostics(false).setSeekBackIncrementMs(5000L).setSeekForwardIncrementMs(5000L).build();
        Intrinsics.checkNotNullExpressionValue(build, "build(...)");
        PlayerServiceModern playerServiceModern2 = this;
        build.addListener(playerServiceModern2);
        setSleepTimer(new SleepTimer(this.coroutineScope, build));
        build.addListener(getSleepTimer());
        PlayerServiceModern playerServiceModern3 = this;
        build.addAnalyticsListener(new PlaybackStatsListener(false, playerServiceModern3));
        setPlayer(build);
        preferences.registerOnSharedPreferenceChangeListener(this);
        final ExoPlayer player = getPlayer();
        Player player2 = new ForwardingPlayer(player) {
            {
                super((Player) player);
            }

            public Player.Commands getAvailableCommands() {
                Player.Commands build2 = super.getAvailableCommands().buildUpon().addAllCommands().build();
                Intrinsics.checkNotNullExpressionValue(build2, "build(...)");
                return build2;
            }
        };
        MediaLibrarySessionCallback mediaLibrarySessionCallback = this.mediaLibrarySessionCallback;
        mediaLibrarySessionCallback.setBinder(this.binder);
        mediaLibrarySessionCallback.setToggleLike(new PlayerServiceModern$onCreate$7$1(this));
        mediaLibrarySessionCallback.setToggleDownload(new PlayerServiceModern$onCreate$7$2(this));
        mediaLibrarySessionCallback.setToggleRepeat(new PlayerServiceModern$onCreate$7$3(this));
        mediaLibrarySessionCallback.setToggleShuffle(new PlayerServiceModern$onCreate$7$4(this));
        mediaLibrarySessionCallback.setStartRadio(new PlayerServiceModern$onCreate$7$5(this));
        mediaLibrarySessionCallback.setCallPause(new PlayerServiceModern$onCreate$7$6(mediaLibrarySessionCallback.getBinder()));
        mediaLibrarySessionCallback.setActionSearch(new PlayerServiceModern$onCreate$7$7(this));
        this.mediaSession = new MediaLibraryService.MediaLibrarySession.Builder(this, player2, this.mediaLibrarySessionCallback).setSessionActivity(PendingIntent.getActivity(context, 0, new Intent(context, (Class<?>) MainActivity.class).putExtra("expandPlayerBottomSheet", true), 67108864)).setBitmapLoader(new CoilBitmapLoader(context, this.coroutineScope, ((int) getResources().getDisplayMetrics().density) * ConstantsKt.MINIMUM_BLOCK_SIZE)).build();
        getPlayer().setSkipSilenceEnabled(Settings.INSTANCE.getAUDIO_SKIP_SILENCE().getValue().booleanValue());
        getPlayer().addListener(playerServiceModern2);
        getPlayer().addAnalyticsListener(new PlaybackStatsListener(false, playerServiceModern3));
        getPlayer().setRepeatMode(((QueueLoopType) Settings.INSTANCE.getQUEUE_LOOP_TYPE().getValue()).getType());
        this.binder.getPlayer().setPlaybackParameters(new PlaybackParameters(Settings.INSTANCE.getAUDIO_SPEED_VALUE().getValue().floatValue(), Settings.INSTANCE.getAUDIO_PITCH().getValue().floatValue()));
        this.binder.getPlayer().setVolume(Settings.INSTANCE.getAUDIO_VOLUME().getValue().floatValue());
        PlayerKt.setGlobalVolume(this.binder.getPlayer(), this.binder.getPlayer().getVolume());
        final ListenableFuture buildAsync = new MediaController.Builder(context, new SessionToken(context, new ComponentName(context, (Class<?>) PlayerServiceModern.class))).buildAsync();
        Intrinsics.checkNotNullExpressionValue(buildAsync, "buildAsync(...)");
        buildAsync.addListener(new Runnable() {
            @Override
            public final void run() {
                buildAsync.get();
            }
        }, MoreExecutors.directExecutor());
        AudioVolumeObserver audioVolumeObserver = new AudioVolumeObserver(context);
        this.audioVolumeObserver = audioVolumeObserver;
        audioVolumeObserver.register(3, this);
        this.downloadListener = new DownloadManager.Listener() {
            public void onDownloadRemoved(DownloadManager downloadManager, Download download) {
                DownloadManager.Listener.-CC.$default$onDownloadRemoved(this, downloadManager, download);
            }

            public void onDownloadsPausedChanged(DownloadManager downloadManager, boolean z) {
                DownloadManager.Listener.-CC.$default$onDownloadsPausedChanged(this, downloadManager, z);
            }

            public void onIdle(DownloadManager downloadManager) {
                DownloadManager.Listener.-CC.$default$onIdle(this, downloadManager);
            }

            public void onInitialized(DownloadManager downloadManager) {
                DownloadManager.Listener.-CC.$default$onInitialized(this, downloadManager);
            }

            public void onRequirementsStateChanged(DownloadManager downloadManager, Requirements requirements, int i4) {
                DownloadManager.Listener.-CC.$default$onRequirementsStateChanged(this, downloadManager, requirements, i4);
            }

            public void onWaitingForRequirementsChanged(DownloadManager downloadManager, boolean z) {
                DownloadManager.Listener.-CC.$default$onWaitingForRequirementsChanged(this, downloadManager, z);
            }

            public void onDownloadChanged(DownloadManager downloadManager, Download download, Exception finalException) {
                Intrinsics.checkNotNullParameter(downloadManager, "downloadManager");
                Intrinsics.checkNotNullParameter(download, "download");
                PlayerServiceModern playerServiceModern4 = PlayerServiceModern.this;
                String str = download.request.id;
                MediaItem mediaItem = (MediaItem) playerServiceModern4.getCurrentMediaItem().getValue();
                if (Intrinsics.areEqual(str, mediaItem != null ? mediaItem.mediaId : null)) {
                    MediaItem mediaItem2 = (MediaItem) playerServiceModern4.getCurrentMediaItem().getValue();
                    String str2 = mediaItem2 != null ? mediaItem2.mediaId : null;
                    System.out.println((Object) ("PlayerServiceModern onDownloadChanged current song " + str2 + " state " + download.state + " key " + download.request.id));
                    playerServiceModern4.updateDownloadedState();
                }
            }
        };
        DownloadManager downloadManager = MyDownloadHelper.INSTANCE.getDownloadManager(context);
        DownloadManager.Listener listener = this.downloadListener;
        if (listener == null) {
            Intrinsics.throwUninitializedPropertyAccessException("downloadListener");
            listener = null;
        }
        downloadManager.addListener(listener);
        this.notificationActionReceiver = new NotificationActionReceiver(this, getPlayer());
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(Action.INSTANCE.m1141getPlay_mDfAns());
        intentFilter.addAction(Action.INSTANCE.m1140getPause_mDfAns());
        intentFilter.addAction(Action.INSTANCE.m1139getNext_mDfAns());
        intentFilter.addAction(Action.INSTANCE.m1143getPrevious_mDfAns());
        intentFilter.addAction(Action.INSTANCE.m1138getLike_mDfAns());
        intentFilter.addAction(Action.INSTANCE.m1137getDownload_mDfAns());
        intentFilter.addAction(Action.INSTANCE.m1142getPlayradio_mDfAns());
        intentFilter.addAction(Action.INSTANCE.m1146getShuffle_mDfAns());
        intentFilter.addAction(Action.INSTANCE.m1144getRepeat_mDfAns());
        intentFilter.addAction(Action.INSTANCE.m1145getSearch_mDfAns());
        NotificationActionReceiver notificationActionReceiver = this.notificationActionReceiver;
        if (notificationActionReceiver == null) {
            Intrinsics.throwUninitializedPropertyAccessException("notificationActionReceiver");
            notificationActionReceiver = null;
        }
        ContextCompat.registerReceiver(context, notificationActionReceiver, intentFilter, 4);
        CoroutineExtensionsKt.collect(FlowKt.debounce(this.currentSong, 1000L), this.coroutineScope, new PlayerServiceModern$onCreate$10(this, null));
        maybeRestorePlayerQueue();
        maybeResumePlaybackWhenDeviceConnected();
        maybeBassBoost();
        maybeReverb();
        if (this.isPersistentQueueEnabled) {
            maybeResumePlaybackOnStart();
            Executors.newScheduledThreadPool(1).scheduleWithFixedDelay(new Runnable() {
                @Override
                public final void run() {
                    PlayerServiceModern.onCreate$lambda$10(PlayerServiceModern.this);
                }
            }, 0L, 30L, TimeUnit.SECONDS);
        }
    }

    private static final ExoPlayerDiskCacheMaxSize onCreate$lambda$5(Settings.Preference.EnumPreference<ExoPlayerDiskCacheMaxSize> enumPreference) {
        return (ExoPlayerDiskCacheMaxSize) ((State) enumPreference).getValue();
    }

    public static final void onCreate$lambda$10(PlayerServiceModern playerServiceModern) {
        System.out.println((Object) "PlayerServiceModern onCreate savePersistentQueue");
        playerServiceModern.maybeSavePlayerQueue();
    }

    public IBinder onBind(Intent intent) {
        IBinder onBind = super.onBind(intent);
        return onBind == null ? this.binder : onBind;
    }

    public MediaLibraryService.MediaLibrarySession m1128onGetSession(MediaSession.ControllerInfo controllerInfo) {
        Intrinsics.checkNotNullParameter(controllerInfo, "controllerInfo");
        MediaLibraryService.MediaLibrarySession mediaLibrarySession = this.mediaSession;
        if (mediaLibrarySession != null) {
            return mediaLibrarySession;
        }
        Intrinsics.throwUninitializedPropertyAccessException("mediaSession");
        return null;
    }

    public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) {
        maybeSavePlayerQueue();
    }

    public void onRepeatModeChanged(int repeatMode) {
        updateDefaultNotification();
        Settings.INSTANCE.getQUEUE_LOOP_TYPE().setValue(QueueLoopType.INSTANCE.from(repeatMode));
    }

    public void onPlaybackStatsReady(AnalyticsListener.EventTime eventTime, PlaybackStats playbackStats) {
        Intrinsics.checkNotNullParameter(eventTime, "eventTime");
        Intrinsics.checkNotNullParameter(playbackStats, "playbackStats");
        if (Settings.INSTANCE.getPAUSE_HISTORY().getValue().booleanValue()) {
            return;
        }
        final MediaItem mediaItem = eventTime.timeline.getWindow(eventTime.windowIndex, new Timeline.Window()).mediaItem;
        Intrinsics.checkNotNullExpressionValue(mediaItem, "mediaItem");
        final long totalPlayTimeMs = playbackStats.getTotalPlayTimeMs();
        if (totalPlayTimeMs > 5000) {
            Database.INSTANCE.asyncTransaction(new Function1() {
                @Override
                public final Object invoke(Object obj) {
                    Unit onPlaybackStatsReady$lambda$11;
                    onPlaybackStatsReady$lambda$11 = PlayerServiceModern.onPlaybackStatsReady$lambda$11(mediaItem, totalPlayTimeMs, (Database) obj);
                    return onPlaybackStatsReady$lambda$11;
                }
            });
        }
        if (totalPlayTimeMs > onPlaybackStatsReady$lambda$12(Settings.INSTANCE.getQUICK_PICKS_MIN_DURATION()).getAsMillis()) {
            Database.INSTANCE.asyncTransaction(new Function1() {
                @Override
                public final Object invoke(Object obj) {
                    Unit onPlaybackStatsReady$lambda$13;
                    onPlaybackStatsReady$lambda$13 = PlayerServiceModern.onPlaybackStatsReady$lambda$13(mediaItem, totalPlayTimeMs, (Database) obj);
                    return onPlaybackStatsReady$lambda$13;
                }
            });
        }
    }

    public static final Unit onPlaybackStatsReady$lambda$11(MediaItem mediaItem, long j, Database asyncTransaction) {
        Intrinsics.checkNotNullParameter(asyncTransaction, "$this$asyncTransaction");
        SongTable songTable = asyncTransaction.getSongTable();
        String mediaId = mediaItem.mediaId;
        Intrinsics.checkNotNullExpressionValue(mediaId, "mediaId");
        songTable.updateTotalPlayTime(mediaId, j, true);
        return Unit.INSTANCE;
    }

    private static final ExoPlayerMinTimeForEvent onPlaybackStatsReady$lambda$12(Settings.Preference.EnumPreference<ExoPlayerMinTimeForEvent> enumPreference) {
        return (ExoPlayerMinTimeForEvent) ((State) enumPreference).getValue();
    }

    public static final Unit onPlaybackStatsReady$lambda$13(MediaItem mediaItem, long j, Database asyncTransaction) {
        Intrinsics.checkNotNullParameter(asyncTransaction, "$this$asyncTransaction");
        EventTable eventTable = asyncTransaction.getEventTable();
        String mediaId = mediaItem.mediaId;
        Intrinsics.checkNotNullExpressionValue(mediaId, "mediaId");
        eventTable.insertIgnore(new Event(0L, mediaId, System.currentTimeMillis(), j, 1, null));
        return Unit.INSTANCE;
    }

    public void onTaskRemoved(Intent rootIntent) {
        boolean booleanValue = Settings.INSTANCE.getCLOSE_BACKGROUND_JOB_IN_TASK_MANAGER().getValue().booleanValue();
        this.isclosebackgroundPlayerEnabled = booleanValue;
        if (booleanValue) {
            Context context = (Context) this;
            PendingIntent broadcast = PendingIntent.getBroadcast(context, 0, new Intent(context, (Class<?>) NotificationDismissReceiver.class), Build.VERSION.SDK_INT >= 23 ? 67108864 : 0);
            Intrinsics.checkNotNullExpressionValue(broadcast, "getBroadcast(...)");
            broadcast.send();
            stopService(new Intent(context, (Class<?>) MyDownloadService.class));
            stopService(new Intent(context, (Class<?>) PlayerServiceModern.class));
            onDestroy();
        }
        super.onTaskRemoved(rootIntent);
    }

    public void onDestroy() {
        Object m2076constructorimpl;
        try {
            Result.Companion companion = Result.INSTANCE;
            PlayerServiceModern playerServiceModern = this;
            maybeSavePlayerQueue();
            PreferencesKt.getPreferences((Context) this).unregisterOnSharedPreferenceChangeListener(this);
            stopService(new Intent((Context) this, (Class<?>) MyDownloadService.class));
            stopService(new Intent((Context) this, (Class<?>) PlayerServiceModern.class));
            getPlayer().removeListener(this);
            getPlayer().stop();
            getPlayer().release();
            try {
                NotificationActionReceiver notificationActionReceiver = this.notificationActionReceiver;
                if (notificationActionReceiver == null) {
                    Intrinsics.throwUninitializedPropertyAccessException("notificationActionReceiver");
                    notificationActionReceiver = null;
                }
                unregisterReceiver(notificationActionReceiver);
            } catch (Exception e) {
                Timber.Forest.e("PlayerServiceModern onDestroy unregisterReceiver notificationActionReceiver " + ExceptionsKt.stackTraceToString(e), new Object[0]);
            }
            MediaLibraryService.MediaLibrarySession mediaLibrarySession = this.mediaSession;
            if (mediaLibrarySession == null) {
                Intrinsics.throwUninitializedPropertyAccessException("mediaSession");
                mediaLibrarySession = null;
            }
            mediaLibrarySession.release();
            getCache().release();
            DownloadManager downloadManager = MyDownloadHelper.INSTANCE.getDownloadManager((Context) this);
            DownloadManager.Listener listener = this.downloadListener;
            if (listener == null) {
                Intrinsics.throwUninitializedPropertyAccessException("downloadListener");
                listener = null;
            }
            downloadManager.removeListener(listener);
            LoudnessEnhancer loudnessEnhancer = this.loudnessEnhancer;
            if (loudnessEnhancer != null) {
                loudnessEnhancer.release();
            }
            AudioVolumeObserver audioVolumeObserver = this.audioVolumeObserver;
            if (audioVolumeObserver == null) {
                Intrinsics.throwUninitializedPropertyAccessException("audioVolumeObserver");
                audioVolumeObserver = null;
            }
            audioVolumeObserver.unregister();
            TimerJob timerJob = this.timerJob;
            if (timerJob != null) {
                timerJob.cancel();
            }
            this.timerJob = null;
            NotificationManager notificationManager = this.notificationManager;
            if (notificationManager != null) {
                notificationManager.cancel(NotificationId);
            }
            NotificationManager notificationManager2 = this.notificationManager;
            if (notificationManager2 != null) {
                notificationManager2.cancelAll();
            }
            this.notificationManager = null;
            CoroutineScopeKt.cancel$default(this.coroutineScope, (CancellationException) null, 1, (Object) null);
            m2076constructorimpl = Result.m2076constructorimpl(Unit.INSTANCE);
        } catch (Throwable th) {
            Result.Companion companion2 = Result.INSTANCE;
            m2076constructorimpl = Result.m2076constructorimpl(ResultKt.createFailure(th));
        }
        Throwable m2079exceptionOrNullimpl = Result.m2079exceptionOrNullimpl(m2076constructorimpl);
        if (m2079exceptionOrNullimpl != null) {
            Timber.Forest.e("Failed onDestroy in PlayerService " + ExceptionsKt.stackTraceToString(m2079exceptionOrNullimpl), new Object[0]);
        }
        super.onDestroy();
    }

    @Override
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
        Intrinsics.checkNotNullParameter(sharedPreferences, "sharedPreferences");
        if (Intrinsics.areEqual(key, Settings.INSTANCE.getENABLE_PERSISTENT_QUEUE().getKey())) {
            this.isPersistentQueueEnabled = sharedPreferences.getBoolean(key, ((Boolean) Settings.INSTANCE.getENABLE_PERSISTENT_QUEUE().getDefaultValue()).booleanValue());
            return;
        }
        if (Intrinsics.areEqual(key, Settings.INSTANCE.getAUDIO_VOLUME_NORMALIZATION().getKey()) || Intrinsics.areEqual(key, Settings.INSTANCE.getAUDIO_VOLUME_NORMALIZATION_TARGET().getKey())) {
            maybeNormalizeVolume();
            return;
        }
        if (Intrinsics.areEqual(key, Settings.INSTANCE.getRESUME_PLAYBACK_WHEN_CONNECT_TO_AUDIO_DEVICE().getKey())) {
            maybeResumePlaybackWhenDeviceConnected();
            return;
        }
        if (Intrinsics.areEqual(key, Settings.INSTANCE.getAUDIO_SKIP_SILENCE().getKey())) {
            getPlayer().setSkipSilenceEnabled(sharedPreferences.getBoolean(key, ((Boolean) Settings.INSTANCE.getAUDIO_SKIP_SILENCE().getDefaultValue()).booleanValue()));
            return;
        }
        if (Intrinsics.areEqual(key, Settings.INSTANCE.getQUEUE_LOOP_TYPE().getKey())) {
            ExoPlayer player = getPlayer();
            Enum r1 = (Enum) Settings.INSTANCE.getQUEUE_LOOP_TYPE().getDefaultValue();
            QueueLoopType queueLoopType = null;
            String string = sharedPreferences.getString(key, null);
            if (string != null) {
                try {
                    queueLoopType = QueueLoopType.valueOf(string);
                } catch (IllegalArgumentException unused) {
                }
                if (queueLoopType != null) {
                    r1 = queueLoopType;
                }
            }
            player.setRepeatMode(((QueueLoopType) r1).getType());
            return;
        }
        if (Intrinsics.areEqual(key, Settings.INSTANCE.getAUDIO_BASS_BOOST_LEVEL().getKey()) || Intrinsics.areEqual(key, Settings.INSTANCE.getAUDIO_BASS_BOOSTED().getKey())) {
            maybeBassBoost();
        } else if (Intrinsics.areEqual(key, Settings.INSTANCE.getAUDIO_REVERB_PRESET().getKey())) {
            maybeReverb();
        }
    }

    @Override
    public void onAudioVolumeChanged(int currentVolume, int maxVolume) {
        if (Settings.INSTANCE.getPAUSE_WHEN_VOLUME_SET_TO_ZERO().getValue().booleanValue()) {
            if (getPlayer().isPlaying() && currentVolume < 1) {
                this.binder.gracefulPause();
                this.pausedByZeroVolume = true;
            } else {
                if (!this.pausedByZeroVolume || currentVolume < 1) {
                    return;
                }
                this.binder.gracefulPlay();
                this.pausedByZeroVolume = false;
            }
        }
    }

    public void onMediaItemTransition(MediaItem mediaItem, int reason) {
        Object value;
        MediaMetadata mediaMetadata;
        MediaMetadata mediaMetadata2;
        System.out.println((Object) ("PlayerServiceModern onMediaItemTransition mediaItem " + mediaItem + " reason " + reason));
        MutableStateFlow<MediaItem> mutableStateFlow = this.currentMediaItem;
        do {
            value = mutableStateFlow.getValue();
        } while (!mutableStateFlow.compareAndSet(value, mediaItem));
        maybeRecoverPlaybackError();
        maybeNormalizeVolume();
        loadFromRadio(reason);
        BitmapProvider bitmapProvider = this.bitmapProvider;
        if (bitmapProvider == null) {
            Intrinsics.throwUninitializedPropertyAccessException("bitmapProvider");
            bitmapProvider = null;
        }
        MediaItem currentMediaItem = this.binder.getPlayer().getCurrentMediaItem();
        Uri uri = (currentMediaItem == null || (mediaMetadata2 = currentMediaItem.mediaMetadata) == null) ? null : mediaMetadata2.artworkUri;
        Uri lastUri = bitmapProvider.getLastUri();
        MediaItem currentMediaItem2 = this.binder.getPlayer().getCurrentMediaItem();
        bitmapProvider.load(Intrinsics.areEqual(lastUri, (currentMediaItem2 == null || (mediaMetadata = currentMediaItem2.mediaMetadata) == null) ? null : mediaMetadata.artworkUri) ? null : uri, new Function1() {
            @Override
            public final Object invoke(Object obj) {
                Unit onMediaItemTransition$lambda$18$lambda$17;
                onMediaItemTransition$lambda$18$lambda$17 = PlayerServiceModern.onMediaItemTransition$lambda$18$lambda$17(PlayerServiceModern.this, (Bitmap) obj);
                return onMediaItemTransition$lambda$18$lambda$17;
            }
        });
    }

    public static final Unit onMediaItemTransition$lambda$18$lambda$17(PlayerServiceModern playerServiceModern, Bitmap it2) {
        Intrinsics.checkNotNullParameter(it2, "it");
        playerServiceModern.updateDefaultNotification();
        playerServiceModern.updateWidgets();
        return Unit.INSTANCE;
    }

    public void onTimelineChanged(Timeline timeline, int reason) {
        Intrinsics.checkNotNullParameter(timeline, "timeline");
        if (reason == 0) {
            maybeSavePlayerQueue();
        }
    }

    public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) {
        updateDefaultNotification();
        if (shuffleModeEnabled) {
            int mediaItemCount = getPlayer().getMediaItemCount();
            int[] iArr = new int[mediaItemCount];
            for (int i = 0; i < mediaItemCount; i++) {
                iArr[i] = i;
            }
            ArraysKt.shuffle(iArr);
            iArr[ArraysKt.indexOf(iArr, getPlayer().getCurrentMediaItemIndex())] = iArr[0];
            iArr[0] = getPlayer().getCurrentMediaItemIndex();
            getPlayer().setShuffleOrder(new ShuffleOrder.DefaultShuffleOrder(iArr, System.currentTimeMillis()));
        }
    }

    public void onIsPlayingChanged(boolean isPlaying) {
        updateWidgets();
    }

    public void onPlayerError(PlaybackException error) {
        boolean z;
        MediaItem currentMediaItem;
        Intrinsics.checkNotNullParameter(error, "error");
        Player.Listener.-CC.$default$onPlayerError(this, error);
        Timber.Forest forest = Timber.Forest;
        int i = error.errorCode;
        String message = error.getMessage();
        Throwable cause = error.getCause();
        forest.e("PlayerServiceModern onPlayerError error code " + i + " message " + message + " cause " + (cause != null ? cause.getCause() : null), new Object[0]);
        int i2 = error.errorCode;
        String message2 = error.getMessage();
        Throwable cause2 = error.getCause();
        System.out.println((Object) ("PlayerServiceModern onPlayerError error code " + i2 + " message " + message2 + " cause " + (cause2 != null ? cause2.getCause() : null)));
        List listOf = CollectionsKt.listOf((Object[]) new Integer[]{2001, 2002});
        Throwable cause3 = error.getCause();
        if ((cause3 != null ? cause3.getCause() : null) instanceof PlaybackException) {
            Throwable cause4 = error.getCause();
            Throwable cause5 = cause4 != null ? cause4.getCause() : null;
            Intrinsics.checkNotNull(cause5, "null cannot be cast to non-null type androidx.media3.common.PlaybackException");
            if (listOf.contains(Integer.valueOf(((PlaybackException) cause5).errorCode))) {
                z = true;
                if (((Boolean) this.isNetworkAvailable.getValue()).booleanValue() || z) {
                    this.waitingForNetwork.setValue(true);
                    Toaster.INSTANCE.noInternet();
                }
                if (CollectionsKt.listOf((Object[]) new Integer[]{2004, 2008, 416}).contains(Integer.valueOf(error.errorCode))) {
                    Timber.Forest forest2 = Timber.Forest;
                    String errorCodeName = error.getErrorCodeName();
                    Throwable cause6 = error.getCause();
                    forest2.e("PlayerServiceModern onPlayerError recovered occurred errorCodeName " + errorCodeName + " cause " + (cause6 != null ? cause6.getCause() : null), new Object[0]);
                    String errorCodeName2 = error.getErrorCodeName();
                    Throwable cause7 = error.getCause();
                    System.out.println((Object) ("PlayerServiceModern onPlayerError recovered occurred errorCodeName " + errorCodeName2 + " cause " + (cause7 != null ? cause7.getCause() : null)));
                    getPlayer().pause();
                    getPlayer().prepare();
                    getPlayer().play();
                    return;
                }
                if (Settings.INSTANCE.getPLAYBACK_SKIP_ON_ERROR().getValue().booleanValue() && getPlayer().hasNextMediaItem() && (currentMediaItem = getPlayer().getCurrentMediaItem()) != null) {
                    PlayerKt.playNext(getPlayer());
                    String string = getString(R.string.skip_media_on_error_message, new Object[]{currentMediaItem.mediaMetadata.title});
                    Intrinsics.checkNotNullExpressionValue(string, "getString(...)");
                    showSmartMessage(string);
                    return;
                }
                return;
            }
        }
        z = false;
        if (((Boolean) this.isNetworkAvailable.getValue()).booleanValue()) {
        }
        this.waitingForNetwork.setValue(true);
        Toaster.INSTANCE.noInternet();
    }

    public void onEvents(Player player, Player.Events events) {
        Intrinsics.checkNotNullParameter(player, "player");
        Intrinsics.checkNotNullParameter(events, "events");
        if (events.containsAny(new int[]{4, 5})) {
            if ((player.getPlaybackState() == 2 || player.getPlaybackState() == 3) && player.getPlayWhenReady()) {
                sendOpenEqualizerIntent();
                return;
            }
            sendCloseEqualizerIntent();
            if (player.getPlayWhenReady()) {
                return;
            }
            this.waitingForNetwork.setValue(false);
        }
    }

    private final void maybeRecoverPlaybackError() {
        if (getPlayer().getPlayerError() != null) {
            getPlayer().prepare();
        }
    }

    private final void loadFromRadio(int reason) {
        MediaItem currentMediaItem;
        if (!Settings.INSTANCE.getQUEUE_AUTO_APPEND().getValue().booleanValue() || reason == 0 || reason == 3 || getPlayer().getMediaItemCount() - getPlayer().getCurrentMediaItemIndex() > 10 || this.binder.isLoadingRadio() || (currentMediaItem = getPlayer().getCurrentMediaItem()) == null) {
            return;
        }
        Binder.startRadio$default(this.binder, currentMediaItem, true, (NavigationEndpoint.Endpoint.Watch) null, 4, (Object) null);
    }

    private final void maybeBassBoost() {
        Unit unit;
        Object m2076constructorimpl;
        if (!Settings.INSTANCE.getAUDIO_BASS_BOOSTED().getValue().booleanValue()) {
            try {
                Result.Companion companion = Result.INSTANCE;
                PlayerServiceModern playerServiceModern = this;
                BassBoost bassBoost = this.bassBoost;
                if (bassBoost != null) {
                    bassBoost.setEnabled(false);
                }
                BassBoost bassBoost2 = this.bassBoost;
                if (bassBoost2 != null) {
                    bassBoost2.release();
                    unit = Unit.INSTANCE;
                } else {
                    unit = null;
                }
                Result.m2076constructorimpl(unit);
            } catch (Throwable th) {
                Result.Companion companion2 = Result.INSTANCE;
                Result.m2076constructorimpl(ResultKt.createFailure(th));
            }
            this.bassBoost = null;
            maybeNormalizeVolume();
            return;
        }
        try {
            Result.Companion companion3 = Result.INSTANCE;
            PlayerServiceModern playerServiceModern2 = this;
            if (this.bassBoost == null) {
                this.bassBoost = new BassBoost(0, getPlayer().getAudioSessionId());
            }
            short floatValue = (short) (Settings.INSTANCE.getAUDIO_BASS_BOOST_LEVEL().getValue().floatValue() * 1000.0f);
            System.out.println((Object) ("PlayerServiceModern maybeBassBoost bassboostLevel " + ((int) floatValue)));
            BassBoost bassBoost3 = this.bassBoost;
            if (bassBoost3 != null) {
                bassBoost3.setEnabled(false);
            }
            BassBoost bassBoost4 = this.bassBoost;
            if (bassBoost4 != null) {
                bassBoost4.setStrength(floatValue);
            }
            BassBoost bassBoost5 = this.bassBoost;
            if (bassBoost5 != null) {
                bassBoost5.setEnabled(true);
            }
            m2076constructorimpl = Result.m2076constructorimpl(Unit.INSTANCE);
        } catch (Throwable th2) {
            Result.Companion companion4 = Result.INSTANCE;
            m2076constructorimpl = Result.m2076constructorimpl(ResultKt.createFailure(th2));
        }
        if (Result.m2079exceptionOrNullimpl(m2076constructorimpl) != null) {
            Toaster.e$default(Toaster.INSTANCE, "Can't enable bass boost", 0, 2, (Object) null);
        }
    }

    private final void maybeReverb() {
        Unit unit;
        Settings.Preference.EnumPreference audio_reverb_preset = Settings.INSTANCE.getAUDIO_REVERB_PRESET();
        System.out.println((Object) ("PlayerServiceModern maybeReverb presetType " + maybeReverb$lambda$23(audio_reverb_preset)));
        Unit unit2 = null;
        if (maybeReverb$lambda$23(audio_reverb_preset) == PresetsReverb.NONE) {
            try {
                Result.Companion companion = Result.INSTANCE;
                PlayerServiceModern playerServiceModern = this;
                PresetReverb presetReverb = this.reverbPreset;
                if (presetReverb != null) {
                    presetReverb.setEnabled(false);
                }
                getPlayer().clearAuxEffectInfo();
                PresetReverb presetReverb2 = this.reverbPreset;
                if (presetReverb2 != null) {
                    presetReverb2.release();
                    unit = Unit.INSTANCE;
                } else {
                    unit = null;
                }
                Result.m2076constructorimpl(unit);
            } catch (Throwable th) {
                Result.Companion companion2 = Result.INSTANCE;
                Result.m2076constructorimpl(ResultKt.createFailure(th));
            }
            this.reverbPreset = null;
            return;
        }
        try {
            Result.Companion companion3 = Result.INSTANCE;
            PlayerServiceModern playerServiceModern2 = this;
            if (this.reverbPreset == null) {
                this.reverbPreset = new PresetReverb(1, getPlayer().getAudioSessionId());
            }
            PresetReverb presetReverb3 = this.reverbPreset;
            if (presetReverb3 != null) {
                presetReverb3.setEnabled(false);
            }
            PresetReverb presetReverb4 = this.reverbPreset;
            if (presetReverb4 != null) {
                presetReverb4.setPreset(maybeReverb$lambda$23(audio_reverb_preset).getPreset());
            }
            PresetReverb presetReverb5 = this.reverbPreset;
            if (presetReverb5 != null) {
                presetReverb5.setEnabled(true);
            }
            PresetReverb presetReverb6 = this.reverbPreset;
            if (presetReverb6 != null) {
                getPlayer().setAuxEffectInfo(new AuxEffectInfo(presetReverb6.getId(), 1.0f));
                unit2 = Unit.INSTANCE;
            }
            Result.m2076constructorimpl(unit2);
        } catch (Throwable th2) {
            Result.Companion companion4 = Result.INSTANCE;
            Result.m2076constructorimpl(ResultKt.createFailure(th2));
        }
    }

    private static final PresetsReverb maybeReverb$lambda$23(Settings.Preference.EnumPreference<PresetsReverb> enumPreference) {
        return (PresetsReverb) ((State) enumPreference).getValue();
    }

    private final void maybeNormalizeVolume() {
        Object m2076constructorimpl;
        String str;
        if (!Settings.INSTANCE.getAUDIO_VOLUME_NORMALIZATION().getValue().booleanValue()) {
            LoudnessEnhancer loudnessEnhancer = this.loudnessEnhancer;
            if (loudnessEnhancer != null) {
                loudnessEnhancer.setEnabled(false);
            }
            LoudnessEnhancer loudnessEnhancer2 = this.loudnessEnhancer;
            if (loudnessEnhancer2 != null) {
                loudnessEnhancer2.release();
            }
            this.loudnessEnhancer = null;
            Job job = this.volumeNormalizationJob;
            if (job != null) {
                Job.DefaultImpls.cancel$default(job, (CancellationException) null, 1, (Object) null);
                return;
            }
            return;
        }
        try {
            Result.Companion companion = Result.INSTANCE;
            PlayerServiceModern playerServiceModern = this;
            if (this.loudnessEnhancer == null) {
                this.loudnessEnhancer = new LoudnessEnhancer(getPlayer().getAudioSessionId());
            }
            m2076constructorimpl = Result.m2076constructorimpl(Unit.INSTANCE);
        } catch (Throwable th) {
            Result.Companion companion2 = Result.INSTANCE;
            m2076constructorimpl = Result.m2076constructorimpl(ResultKt.createFailure(th));
        }
        Throwable m2079exceptionOrNullimpl = Result.m2079exceptionOrNullimpl(m2076constructorimpl);
        if (m2079exceptionOrNullimpl != null) {
            Timber.Forest.e("PlayerService maybeNormalizeVolume load loudnessEnhancer " + ExceptionsKt.stackTraceToString(m2079exceptionOrNullimpl), new Object[0]);
            System.out.println((Object) ("PlayerService maybeNormalizeVolume load loudnessEnhancer " + ExceptionsKt.stackTraceToString(m2079exceptionOrNullimpl)));
            return;
        }
        Settings.Preference.FloatPreference audio_volume_normalization_target = Settings.INSTANCE.getAUDIO_VOLUME_NORMALIZATION_TARGET();
        MediaItem currentMediaItem = getPlayer().getCurrentMediaItem();
        if (currentMediaItem == null || (str = currentMediaItem.mediaId) == null) {
            return;
        }
        Job job2 = this.volumeNormalizationJob;
        if (job2 != null) {
            Job.DefaultImpls.cancel$default(job2, (CancellationException) null, 1, (Object) null);
        }
        this.volumeNormalizationJob = BuildersKt.launch$default(this.coroutineScope, Dispatchers.getMain(), (CoroutineStart) null, new PlayerServiceModern$maybeNormalizeVolume$3$1(str, this, audio_volume_normalization_target, null), 2, (Object) null);
    }

    public static final float maybeNormalizeVolume$lambda$29(Settings.Preference.FloatPreference floatPreference) {
        return ((Number) ((State) floatPreference).getValue()).floatValue();
    }

    private final PlayerServiceModern$createRendersFactory$1 createRendersFactory() {
        return new DefaultRenderersFactory() {
            {
                super((Context) PlayerServiceModern.this);
            }

            protected AudioSink buildAudioSink(Context context, boolean enableFloatOutput, boolean enableAudioTrackPlaybackParams) {
                Intrinsics.checkNotNullParameter(context, "context");
                long coerceIn = RangesKt.coerceIn(Settings.INSTANCE.getAUDIO_SKIP_SILENCE_LENGTH().getValue().longValue(), new LongRange(1000L, 2000000L));
                AudioSink build = new DefaultAudioSink.Builder(PlayerServiceModern.this.getApplicationContext()).setEnableFloatOutput(enableFloatOutput).setEnableAudioTrackPlaybackParams(enableAudioTrackPlaybackParams).setAudioOffloadSupportProvider(new DefaultAudioOffloadSupportProvider(PlayerServiceModern.this.getApplicationContext())).setAudioProcessorChain(new DefaultAudioSink.DefaultAudioProcessorChain(new AudioProcessor[0], new SilenceSkippingAudioProcessor(coerceIn, 0.01f, coerceIn, 0, (short) 256), new SonicAudioProcessor())).build();
                if (Build.VERSION.SDK_INT >= 29) {
                    build.setOffloadMode(0);
                }
                Intrinsics.checkNotNullExpressionValue(build, "apply(...)");
                return build;
            }
        };
    }

    private final DefaultMediaSourceFactory createMediaSourceFactory() {
        DefaultMediaSourceFactory loadErrorHandlingPolicy = new DefaultMediaSourceFactory(DataspecServicesKt.createDataSourceFactory(this), new DefaultExtractorsFactory()).setLoadErrorHandlingPolicy(new DefaultLoadErrorHandlingPolicy() {
            protected boolean isEligibleForFallback(IOException exception) {
                Intrinsics.checkNotNullParameter(exception, "exception");
                return true;
            }
        });
        Intrinsics.checkNotNullExpressionValue(loadErrorHandlingPolicy, "setLoadErrorHandlingPolicy(...)");
        return loadErrorHandlingPolicy;
    }

    public final List<CommandButton> buildCustomCommandButtons() {
        Settings.Preference.EnumPreference media_notification_first_icon = Settings.INSTANCE.getMEDIA_NOTIFICATION_FIRST_ICON();
        Settings.Preference.EnumPreference media_notification_second_icon = Settings.INSTANCE.getMEDIA_NOTIFICATION_SECOND_ICON();
        ArrayList arrayList = new ArrayList();
        EnumEntries<NotificationButtons> entries = NotificationButtons.getEntries();
        ArrayList arrayList2 = new ArrayList();
        for (Object obj : entries) {
            if (((NotificationButtons) obj) == buildCustomCommandButtons$lambda$31(media_notification_first_icon)) {
                arrayList2.add(obj);
            }
        }
        ArrayList arrayList3 = arrayList2;
        ArrayList arrayList4 = new ArrayList(CollectionsKt.collectionSizeOrDefault(arrayList3, 10));
        Iterator it2 = arrayList3.iterator();
        while (true) {
            Long l = null;
            if (!it2.hasNext()) {
                break;
            }
            NotificationButtons notificationButtons = (NotificationButtons) it2.next();
            String string = GlobalVarsKt.appContext().getResources().getString(notificationButtons.getTextId());
            Intrinsics.checkNotNullExpressionValue(string, "getString(...)");
            CommandButton.Builder displayName = new CommandButton.Builder().setDisplayName(string);
            Song song = (Song) this.currentSong.getValue();
            if (song != null) {
                l = song.getLikedAt();
            }
            arrayList4.add(displayName.setIconResId(notificationButtons.getStateIcon(notificationButtons, l, ((Number) this.currentSongStateDownload.getValue()).intValue(), getPlayer().getRepeatMode(), getPlayer().getShuffleModeEnabled())).setSessionCommand(notificationButtons.getSessionCommand()).build());
        }
        ArrayList arrayList5 = arrayList4;
        EnumEntries<NotificationButtons> entries2 = NotificationButtons.getEntries();
        ArrayList arrayList6 = new ArrayList();
        for (Object obj2 : entries2) {
            if (((NotificationButtons) obj2) == buildCustomCommandButtons$lambda$32(media_notification_second_icon)) {
                arrayList6.add(obj2);
            }
        }
        ArrayList<NotificationButtons> arrayList7 = arrayList6;
        ArrayList arrayList8 = new ArrayList(CollectionsKt.collectionSizeOrDefault(arrayList7, 10));
        for (NotificationButtons notificationButtons2 : arrayList7) {
            String string2 = GlobalVarsKt.appContext().getResources().getString(notificationButtons2.getTextId());
            Intrinsics.checkNotNullExpressionValue(string2, "getString(...)");
            CommandButton.Builder displayName2 = new CommandButton.Builder().setDisplayName(string2);
            Song song2 = (Song) this.currentSong.getValue();
            arrayList8.add(displayName2.setIconResId(notificationButtons2.getStateIcon(notificationButtons2, song2 != null ? song2.getLikedAt() : null, ((Number) this.currentSongStateDownload.getValue()).intValue(), getPlayer().getRepeatMode(), getPlayer().getShuffleModeEnabled())).setSessionCommand(notificationButtons2.getSessionCommand()).build());
        }
        ArrayList arrayList9 = arrayList8;
        EnumEntries<NotificationButtons> entries3 = NotificationButtons.getEntries();
        ArrayList arrayList10 = new ArrayList();
        for (Object obj3 : entries3) {
            NotificationButtons notificationButtons3 = (NotificationButtons) obj3;
            if (notificationButtons3 != buildCustomCommandButtons$lambda$31(media_notification_first_icon) && notificationButtons3 != buildCustomCommandButtons$lambda$32(media_notification_second_icon)) {
                arrayList10.add(obj3);
            }
        }
        ArrayList<NotificationButtons> arrayList11 = arrayList10;
        ArrayList arrayList12 = new ArrayList(CollectionsKt.collectionSizeOrDefault(arrayList11, 10));
        for (NotificationButtons notificationButtons4 : arrayList11) {
            String string3 = GlobalVarsKt.appContext().getResources().getString(notificationButtons4.getTextId());
            Intrinsics.checkNotNullExpressionValue(string3, "getString(...)");
            CommandButton.Builder displayName3 = new CommandButton.Builder().setDisplayName(string3);
            Song song3 = (Song) this.currentSong.getValue();
            arrayList12.add(displayName3.setIconResId(notificationButtons4.getStateIcon(notificationButtons4, song3 != null ? song3.getLikedAt() : null, ((Number) this.currentSongStateDownload.getValue()).intValue(), getPlayer().getRepeatMode(), getPlayer().getShuffleModeEnabled())).setSessionCommand(notificationButtons4.getSessionCommand()).build());
        }
        CollectionsKt.addAll(arrayList, CollectionsKt.plus((Collection) CollectionsKt.plus((Collection) arrayList5, (Iterable) arrayList9), (Iterable) arrayList12));
        return arrayList;
    }

    private static final NotificationButtons buildCustomCommandButtons$lambda$31(Settings.Preference.EnumPreference<NotificationButtons> enumPreference) {
        return (NotificationButtons) ((State) enumPreference).getValue();
    }

    private static final NotificationButtons buildCustomCommandButtons$lambda$32(Settings.Preference.EnumPreference<NotificationButtons> enumPreference) {
        return (NotificationButtons) ((State) enumPreference).getValue();
    }

    public final MediaNotification updateCustomNotification(MediaSession session) {
        NotificationCompat.Builder builder;
        PendingIntent m1133getPendingIntentimpl = Action.m1133getPendingIntentimpl(Action.INSTANCE.m1141getPlay_mDfAns());
        PendingIntent m1133getPendingIntentimpl2 = Action.m1133getPendingIntentimpl(Action.INSTANCE.m1140getPause_mDfAns());
        PendingIntent m1133getPendingIntentimpl3 = Action.m1133getPendingIntentimpl(Action.INSTANCE.m1139getNext_mDfAns());
        PendingIntent m1133getPendingIntentimpl4 = Action.m1133getPendingIntentimpl(Action.INSTANCE.m1143getPrevious_mDfAns());
        MediaMetadata mediaMetadata = getPlayer().getMediaMetadata();
        Intrinsics.checkNotNullExpressionValue(mediaMetadata, "getMediaMetadata(...)");
        BitmapProvider bitmapProvider = this.bitmapProvider;
        if (bitmapProvider == null) {
            Intrinsics.throwUninitializedPropertyAccessException("bitmapProvider");
            bitmapProvider = null;
        }
        bitmapProvider.load(mediaMetadata.artworkUri, new Function1() {
            @Override
            public final Object invoke(Object obj) {
                Unit updateCustomNotification$lambda$42;
                updateCustomNotification$lambda$42 = PlayerServiceModern.updateCustomNotification$lambda$42((Bitmap) obj);
                return updateCustomNotification$lambda$42;
            }
        });
        if (Build.VERSION.SDK_INT >= 26) {
            builder = new NotificationCompat.Builder((Context) this, NotificationChannelId);
        } else {
            builder = new NotificationCompat.Builder((Context) this);
        }
        NotificationCompat.Builder subText = builder.setContentTitle(UtilsKt.cleanPrefix(String.valueOf(getPlayer().getMediaMetadata().title))).setContentText((mediaMetadata.albumTitle != null && !Intrinsics.areEqual(mediaMetadata.artist, "")) ? ((Object) mediaMetadata.artist) + " | " + ((Object) mediaMetadata.albumTitle) : mediaMetadata.artist).setSubText((mediaMetadata.albumTitle != null && !Intrinsics.areEqual(mediaMetadata.artist, "")) ? ((Object) mediaMetadata.artist) + " | " + ((Object) mediaMetadata.albumTitle) : mediaMetadata.artist);
        BitmapProvider bitmapProvider2 = this.bitmapProvider;
        if (bitmapProvider2 == null) {
            Intrinsics.throwUninitializedPropertyAccessException("bitmapProvider");
            bitmapProvider2 = null;
        }
        NotificationCompat.Builder ongoing = subText.setLargeIcon(bitmapProvider2.getBitmap()).setAutoCancel(false).setOnlyAlertOnce(true).setShowWhen(false).setSmallIcon(getPlayer().getPlayerError() != null ? R.drawable.alert_circle : R.drawable.ic_launcher_monochrome).setOngoing(false);
        Context context = (Context) this;
        Intent intent = new Intent(context, (Class<?>) MainActivity.class);
        intent.putExtra("expandPlayerBottomSheet", true);
        Unit unit = Unit.INSTANCE;
        PendingIntent activity = PendingIntent.getActivity(context, 0, intent, (Build.VERSION.SDK_INT >= 23 ? 67108864 : 0) | 134217728);
        Intrinsics.checkNotNullExpressionValue(activity, "getActivity(...)");
        NotificationCompat.Builder contentIntent = ongoing.setContentIntent(activity);
        PendingIntent broadcast = PendingIntent.getBroadcast(context, 0, new Intent(context, (Class<?>) NotificationDismissReceiver.class), Build.VERSION.SDK_INT < 23 ? 0 : 67108864);
        Intrinsics.checkNotNullExpressionValue(broadcast, "getBroadcast(...)");
        NotificationCompat.Builder addAction = contentIntent.setDeleteIntent(broadcast).setVisibility(1).setCategory("transport").setStyle(new MediaStyleNotificationHelper.MediaStyle(session)).addAction(R.drawable.play_skip_back, "Skip back", m1133getPendingIntentimpl4);
        int i = getPlayer().isPlaying() ? R.drawable.pause : R.drawable.play;
        String str = getPlayer().isPlaying() ? "Pause" : "Play";
        if (getPlayer().isPlaying()) {
            m1133getPendingIntentimpl = m1133getPendingIntentimpl2;
        }
        NotificationCompat.Builder addAction2 = addAction.addAction(i, str, m1133getPendingIntentimpl).addAction(R.drawable.play_skip_forward, "Skip forward", m1133getPendingIntentimpl3);
        Intrinsics.checkNotNullExpressionValue(addAction2, "addAction(...)");
        Settings.Preference.EnumPreference media_notification_first_icon = Settings.INSTANCE.getMEDIA_NOTIFICATION_FIRST_ICON();
        Settings.Preference.EnumPreference media_notification_second_icon = Settings.INSTANCE.getMEDIA_NOTIFICATION_SECOND_ICON();
        EnumEntries<NotificationButtons> entries = NotificationButtons.getEntries();
        ArrayList arrayList = new ArrayList();
        for (Object obj : entries) {
            if (((NotificationButtons) obj) == updateCustomNotification$lambda$45(media_notification_first_icon)) {
                arrayList.add(obj);
            }
        }
        ArrayList<NotificationButtons> arrayList2 = arrayList;
        ArrayList arrayList3 = new ArrayList(CollectionsKt.collectionSizeOrDefault(arrayList2, 10));
        for (NotificationButtons notificationButtons : arrayList2) {
            Song song = (Song) this.currentSong.getValue();
            arrayList3.add(addAction2.addAction(notificationButtons.getStateIcon(notificationButtons, song != null ? song.getLikedAt() : null, ((Number) this.currentSongStateDownload.getValue()).intValue(), getPlayer().getRepeatMode(), getPlayer().getShuffleModeEnabled()), GlobalVarsKt.appContext().getResources().getString(notificationButtons.getTextId()), notificationButtons.getPendingIntent()));
        }
        EnumEntries<NotificationButtons> entries2 = NotificationButtons.getEntries();
        ArrayList arrayList4 = new ArrayList();
        for (Object obj2 : entries2) {
            if (((NotificationButtons) obj2) == updateCustomNotification$lambda$46(media_notification_second_icon)) {
                arrayList4.add(obj2);
            }
        }
        ArrayList<NotificationButtons> arrayList5 = arrayList4;
        ArrayList arrayList6 = new ArrayList(CollectionsKt.collectionSizeOrDefault(arrayList5, 10));
        for (NotificationButtons notificationButtons2 : arrayList5) {
            Song song2 = (Song) this.currentSong.getValue();
            arrayList6.add(addAction2.addAction(notificationButtons2.getStateIcon(notificationButtons2, song2 != null ? song2.getLikedAt() : null, ((Number) this.currentSongStateDownload.getValue()).intValue(), getPlayer().getRepeatMode(), getPlayer().getShuffleModeEnabled()), GlobalVarsKt.appContext().getResources().getString(notificationButtons2.getTextId()), notificationButtons2.getPendingIntent()));
        }
        EnumEntries<NotificationButtons> entries3 = NotificationButtons.getEntries();
        ArrayList arrayList7 = new ArrayList();
        for (Object obj3 : entries3) {
            NotificationButtons notificationButtons3 = (NotificationButtons) obj3;
            if (notificationButtons3 != updateCustomNotification$lambda$45(media_notification_first_icon) && notificationButtons3 != updateCustomNotification$lambda$46(media_notification_second_icon)) {
                arrayList7.add(obj3);
            }
        }
        ArrayList<NotificationButtons> arrayList8 = arrayList7;
        ArrayList arrayList9 = new ArrayList(CollectionsKt.collectionSizeOrDefault(arrayList8, 10));
        for (NotificationButtons notificationButtons4 : arrayList8) {
            Song song3 = (Song) this.currentSong.getValue();
            arrayList9.add(addAction2.addAction(notificationButtons4.getStateIcon(notificationButtons4, song3 != null ? song3.getLikedAt() : null, ((Number) this.currentSongStateDownload.getValue()).intValue(), getPlayer().getRepeatMode(), getPlayer().getShuffleModeEnabled()), GlobalVarsKt.appContext().getResources().getString(notificationButtons4.getTextId()), notificationButtons4.getPendingIntent()));
        }
        updateWallpaper();
        return new MediaNotification(NotificationId, addAction2.build());
    }

    public static final Unit updateCustomNotification$lambda$42(Bitmap it2) {
        Intrinsics.checkNotNullParameter(it2, "it");
        return Unit.INSTANCE;
    }

    private static final NotificationButtons updateCustomNotification$lambda$45(Settings.Preference.EnumPreference<NotificationButtons> enumPreference) {
        return (NotificationButtons) ((State) enumPreference).getValue();
    }

    private static final NotificationButtons updateCustomNotification$lambda$46(Settings.Preference.EnumPreference<NotificationButtons> enumPreference) {
        return (NotificationButtons) ((State) enumPreference).getValue();
    }

    private final void updateWallpaper() {
        Settings.Preference.BooleanPreference enable_wallpaper = Settings.INSTANCE.getENABLE_WALLPAPER();
        Settings.Preference.EnumPreference wallpaper_type = Settings.INSTANCE.getWALLPAPER_TYPE();
        if (Build.VERSION.SDK_INT < 24 || !updateWallpaper$lambda$56(enable_wallpaper)) {
            return;
        }
        BuildersKt.launch$default(this.coroutineScope, Dispatchers.getIO(), (CoroutineStart) null, new PlayerServiceModern$updateWallpaper$1(this, wallpaper_type, null), 2, (Object) null);
    }

    private static final boolean updateWallpaper$lambda$56(Settings.Preference.BooleanPreference booleanPreference) {
        return ((Boolean) ((State) booleanPreference).getValue()).booleanValue();
    }

    public static final WallpaperType updateWallpaper$lambda$57(Settings.Preference.EnumPreference<WallpaperType> enumPreference) {
        return (WallpaperType) ((State) enumPreference).getValue();
    }

    public final void updateDefaultNotification() {
        BuildersKt.launch$default(this.coroutineScope, Dispatchers.getMain(), (CoroutineStart) null, new PlayerServiceModern$updateDefaultNotification$1(this, null), 2, (Object) null);
    }

    public final void updateDiscordPresence() {
        Object m2076constructorimpl;
        MediaItem currentMediaItem;
        if (!updateDiscordPresence$lambda$58(Settings.INSTANCE.getDISCORD_LOGIN()) || Build.VERSION.SDK_INT < 27) {
            return;
        }
        String string = EncryptedPreferencesKt.getEncryptedPreferences((Context) this).getString(EncryptedPreferencesKt.discordPersonalAccessTokenKey, "");
        try {
            Result.Companion companion = Result.INSTANCE;
            PlayerServiceModern playerServiceModern = this;
            String str = string;
            if (str != null && str.length() != 0 && (currentMediaItem = getPlayer().getCurrentMediaItem()) != null) {
                DiscordKt.sendDiscordPresence(string, currentMediaItem, getPlayer().isPlaying() ? System.currentTimeMillis() - getPlayer().getCurrentPosition() : 0L, getPlayer().isPlaying() ? (System.currentTimeMillis() - getPlayer().getCurrentPosition()) + getPlayer().getDuration() : 0L);
            }
            m2076constructorimpl = Result.m2076constructorimpl(Unit.INSTANCE);
        } catch (Throwable th) {
            Result.Companion companion2 = Result.INSTANCE;
            m2076constructorimpl = Result.m2076constructorimpl(ResultKt.createFailure(th));
        }
        Throwable m2079exceptionOrNullimpl = Result.m2079exceptionOrNullimpl(m2076constructorimpl);
        if (m2079exceptionOrNullimpl != null) {
            Timber.Forest.e("PlayerService Failed sendDiscordPresence in PlayerService " + ExceptionsKt.stackTraceToString(m2079exceptionOrNullimpl), new Object[0]);
        }
    }

    private static final boolean updateDiscordPresence$lambda$58(Settings.Preference.BooleanPreference booleanPreference) {
        return ((Boolean) ((State) booleanPreference).getValue()).booleanValue();
    }

    public final void toggleLike() {
        this.binder.toggleLike();
    }

    public final void toggleDownload() {
        this.binder.toggleDownload();
    }

    public final void toggleRepeat() {
        this.binder.toggleRepeat();
    }

    public final void toggleShuffle() {
        this.binder.toggleShuffle();
    }

    public final void startRadio() {
        MediaItem currentMediaItem = getPlayer().getCurrentMediaItem();
        if (currentMediaItem != null) {
            Binder.startRadio$default(this.binder, currentMediaItem, false, (NavigationEndpoint.Endpoint.Watch) null, 6, (Object) null);
        }
    }

    private final void showSmartMessage(String message) {
        Toaster.i$default(Toaster.INSTANCE, message, 0, 2, (Object) null);
    }

    public final void updateWidgets() {
        Triple triple = new Triple(String.valueOf(this.binder.getPlayer().getMediaMetadata().title), String.valueOf(this.binder.getPlayer().getMediaMetadata().artist), Boolean.valueOf(this.binder.getPlayer().isPlaying()));
        BuildersKt.launch$default(CoroutineScopeKt.CoroutineScope(Dispatchers.getIO()), (CoroutineContext) null, (CoroutineStart) null, new PlayerServiceModern$updateWidgets$1(this, new Triple(((Boolean) triple.getThird()).booleanValue() ? new PlayerServiceModern$updateWidgets$actions$1(this.binder) : new PlayerServiceModern$updateWidgets$actions$2(this.binder), new PlayerServiceModern$updateWidgets$actions$3(this.binder.getPlayer()), new PlayerServiceModern$updateWidgets$actions$4(this.binder.getPlayer())), triple, null), 3, (Object) null);
    }

    private final void sendOpenEqualizerIntent() {
        Intent intent = new Intent("android.media.action.OPEN_AUDIO_EFFECT_CONTROL_SESSION");
        intent.putExtra("android.media.extra.AUDIO_SESSION", getPlayer().getAudioSessionId());
        intent.putExtra("android.media.extra.PACKAGE_NAME", getPackageName());
        intent.putExtra("android.media.extra.CONTENT_TYPE", 0);
        sendBroadcast(intent);
    }

    private final void sendCloseEqualizerIntent() {
        Intent intent = new Intent("android.media.action.CLOSE_AUDIO_EFFECT_CONTROL_SESSION");
        intent.putExtra("android.media.extra.AUDIO_SESSION", getPlayer().getAudioSessionId());
        intent.putExtra("android.media.extra.PACKAGE_NAME", getPackageName());
        sendBroadcast(intent);
    }

    public final void actionSearch() {
        this.binder.actionSearch();
    }

    public void onPositionDiscontinuity(Player.PositionInfo oldPosition, Player.PositionInfo newPosition, int reason) {
        Intrinsics.checkNotNullParameter(oldPosition, "oldPosition");
        Intrinsics.checkNotNullParameter(newPosition, "newPosition");
        Timber.Forest.d("PlayerServiceModern onPositionDiscontinuity oldPosition " + oldPosition.mediaItemIndex + " newPosition " + newPosition.mediaItemIndex + " reason " + reason, new Object[0]);
        System.out.println((Object) ("PlayerServiceModern onPositionDiscontinuity oldPosition " + oldPosition.mediaItemIndex + " newPosition " + newPosition.mediaItemIndex + " reason " + reason));
        Player.Listener.-CC.$default$onPositionDiscontinuity(this, oldPosition, newPosition, reason);
    }

    private final void maybeSavePlayerQueue() {
        System.out.println((Object) "PlayerServiceModern onCreate savePersistentQueue");
        if (this.isPersistentQueueEnabled) {
            System.out.println((Object) "PlayerServiceModern onCreate savePersistentQueue is enabled");
            BuildersKt.launch$default(CoroutineScopeKt.CoroutineScope(Dispatchers.getMain()), (CoroutineContext) null, (CoroutineStart) null, new PlayerServiceModern$maybeSavePlayerQueue$1(this, null), 3, (Object) null);
        }
    }

    private final void maybeResumePlaybackOnStart() {
        if (this.isPersistentQueueEnabled && Settings.INSTANCE.getRESUME_PLAYBACK_ON_STARTUP().getValue().booleanValue()) {
            this.binder.gracefulPlay();
        }
    }

    private final void maybeRestorePlayerQueue() {
        if (this.isPersistentQueueEnabled) {
            Database.INSTANCE.asyncQuery(new Function1() {
                @Override
                public final Object invoke(Object obj) {
                    Unit maybeRestorePlayerQueue$lambda$65;
                    maybeRestorePlayerQueue$lambda$65 = PlayerServiceModern.maybeRestorePlayerQueue$lambda$65(PlayerServiceModern.this, (Database) obj);
                    return maybeRestorePlayerQueue$lambda$65;
                }
            });
        }
    }

    public static final Unit maybeRestorePlayerQueue$lambda$65(PlayerServiceModern playerServiceModern, Database asyncQuery) {
        Intrinsics.checkNotNullParameter(asyncQuery, "$this$asyncQuery");
        List list = (List) BuildersKt.runBlocking$default((CoroutineContext) null, new PlayerServiceModern$maybeRestorePlayerQueue$1$queuedSong$1(asyncQuery, null), 1, (Object) null);
        if (list.isEmpty()) {
            return Unit.INSTANCE;
        }
        Iterator it2 = list.iterator();
        int i = 0;
        while (true) {
            if (!it2.hasNext()) {
                i = -1;
                break;
            }
            if (((QueuedMediaItem) it2.next()).getPosition() != null) {
                break;
            }
            i++;
        }
        BuildersKt.runBlocking(Dispatchers.getMain(), new PlayerServiceModern$maybeRestorePlayerQueue$1$1(playerServiceModern, list, RangesKt.coerceAtLeast(i, 0), null));
        return Unit.INSTANCE;
    }

    private final void maybeRestoreFromDiskPlayerQueue() {
        Object m2076constructorimpl;
        try {
            Result.Companion companion = Result.INSTANCE;
            PlayerServiceModern playerServiceModern = this;
            File filesDir = getFilesDir();
            Intrinsics.checkNotNullExpressionValue(filesDir, "getFilesDir(...)");
            ObjectInputStream fileInputStream = new FileInputStream(FilesKt.resolve(filesDir, "persistentQueue.data"));
            try {
                fileInputStream = new ObjectInputStream(fileInputStream);
                try {
                    Object readObject = fileInputStream.readObject();
                    Intrinsics.checkNotNull(readObject, "null cannot be cast to non-null type it.fast4x.rimusic.models.PersistentQueue");
                    PersistentQueue persistentQueue = (PersistentQueue) readObject;
                    CloseableKt.closeFinally(fileInputStream, null);
                    CloseableKt.closeFinally(fileInputStream, null);
                    m2076constructorimpl = Result.m2076constructorimpl(persistentQueue);
                } finally {
                }
            } finally {
            }
        } catch (Throwable th) {
            Result.Companion companion2 = Result.INSTANCE;
            m2076constructorimpl = Result.m2076constructorimpl(ResultKt.createFailure(th));
        }
        if (Result.m2083isSuccessimpl(m2076constructorimpl)) {
            BuildersKt.runBlocking(Dispatchers.getMain(), new PlayerServiceModern$maybeRestoreFromDiskPlayerQueue$2$1(this, (PersistentQueue) m2076constructorimpl, null));
        }
        Throwable m2079exceptionOrNullimpl = Result.m2079exceptionOrNullimpl(m2076constructorimpl);
        if (m2079exceptionOrNullimpl != null) {
            Timber.Forest.e(ExceptionsKt.stackTraceToString(m2079exceptionOrNullimpl), new Object[0]);
        }
    }

    private final void maybeSaveToDiskPlayerQueue() {
        Object m2076constructorimpl;
        ObjectOutputStream fileOutputStream;
        Timeline currentTimeline = getPlayer().getCurrentTimeline();
        Intrinsics.checkNotNullExpressionValue(currentTimeline, "getCurrentTimeline(...)");
        List<MediaItem> mediaItems = PlayerKt.getMediaItems(currentTimeline);
        ArrayList arrayList = new ArrayList(CollectionsKt.collectionSizeOrDefault(mediaItems, 10));
        Iterator<T> it2 = mediaItems.iterator();
        while (true) {
            String str = null;
            if (!it2.hasNext()) {
                break;
            }
            MediaItem mediaItem = (MediaItem) it2.next();
            String mediaId = mediaItem.mediaId;
            Intrinsics.checkNotNullExpressionValue(mediaId, "mediaId");
            String valueOf = String.valueOf(mediaItem.mediaMetadata.title);
            Bundle bundle = mediaItem.mediaMetadata.extras;
            if (bundle != null) {
                str = bundle.getString("durationText");
            }
            arrayList.add(new PersistentSong(mediaId, valueOf, null, String.valueOf(str), String.valueOf(mediaItem.mediaMetadata.artworkUri), null, 0L, 100, null));
        }
        PersistentQueue persistentQueue = new PersistentQueue(LinkHeader.Parameters.Title, arrayList, getPlayer().getCurrentMediaItemIndex(), getPlayer().getCurrentPosition());
        try {
            Result.Companion companion = Result.INSTANCE;
            PlayerServiceModern playerServiceModern = this;
            File filesDir = getFilesDir();
            Intrinsics.checkNotNullExpressionValue(filesDir, "getFilesDir(...)");
            fileOutputStream = new FileOutputStream(FilesKt.resolve(filesDir, "persistentQueue.data"));
        } catch (Throwable th) {
            Result.Companion companion2 = Result.INSTANCE;
            m2076constructorimpl = Result.m2076constructorimpl(ResultKt.createFailure(th));
        }
        try {
            fileOutputStream = new ObjectOutputStream(fileOutputStream);
            try {
                fileOutputStream.writeObject(persistentQueue);
                Unit unit = Unit.INSTANCE;
                CloseableKt.closeFinally(fileOutputStream, null);
                Unit unit2 = Unit.INSTANCE;
                CloseableKt.closeFinally(fileOutputStream, null);
                m2076constructorimpl = Result.m2076constructorimpl(Unit.INSTANCE);
                Throwable m2079exceptionOrNullimpl = Result.m2079exceptionOrNullimpl(m2076constructorimpl);
                if (m2079exceptionOrNullimpl != null) {
                    Timber.Forest.e(ExceptionsKt.stackTraceToString(m2079exceptionOrNullimpl), new Object[0]);
                }
                if (Result.m2083isSuccessimpl(m2076constructorimpl)) {
                    Log.d("mediaItem", "QueuePersistentEnabled Saved " + persistentQueue);
                }
            } finally {
            }
        } finally {
        }
    }

    public final void updateDownloadedState() {
        if (this.currentSong.getValue() == null) {
            return;
        }
        Object value = this.currentSong.getValue();
        Intrinsics.checkNotNull(value);
        String id = ((Song) value).getId();
        Map map = (Map) MyDownloadHelper.INSTANCE.getDownloads().getValue();
        MutableStateFlow<Integer> mutableStateFlow = this.currentSongStateDownload;
        Download download = (Download) map.get(id);
        mutableStateFlow.setValue(Integer.valueOf(download != null ? download.state : 1));
        int size = map.size();
        Song song = (Song) this.currentSong.getValue();
        System.out.println((Object) ("PlayerServiceModern updateDownloadedState downloads count " + size + " currentSongIsDownloaded " + (song != null ? song.getId() : null)));
        updateDefaultNotification();
    }

    public final void restartForegroundOrStop() {
        this.binder.restartForegroundOrStop();
    }

    @Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\r\n\u0000\n\u0002\u0018\u0002\n\u0000\b\u0007\u0018\u00002\u00020\u0001B\u000f\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0004\b\u0004\u0010\u0005J\u0012\u0010\u0006\u001a\u0004\u0018\u00010\u00072\u0006\u0010\b\u001a\u00020\tH\u0014¨\u0006\n"}, d2 = {"Lit/fast4x/rimusic/service/modern/PlayerServiceModern$CustomMediaNotificationProvider;", "Landroidx/media3/session/DefaultMediaNotificationProvider;", "context", "Landroid/content/Context;", "<init>", "(Landroid/content/Context;)V", "getNotificationContentTitle", "", "metadata", "Landroidx/media3/common/MediaMetadata;", "composeApp_full"}, k = 1, mv = {2, 1, 0}, xi = 48)
    public static final class CustomMediaNotificationProvider extends DefaultMediaNotificationProvider {
        public static final int $stable = 0;

        public CustomMediaNotificationProvider(Context context) {
            super(context);
            Intrinsics.checkNotNullParameter(context, "context");
        }

        protected CharSequence getNotificationContentTitle(MediaMetadata metadata) {
            String str;
            Intrinsics.checkNotNullParameter(metadata, "metadata");
            MediaMetadata.Builder builder = new MediaMetadata.Builder();
            CharSequence charSequence = metadata.title;
            if (charSequence == null || (str = charSequence.toString()) == null) {
                str = "";
            }
            MediaMetadata build = builder.setTitle(UtilsKt.cleanPrefix(str)).build();
            Intrinsics.checkNotNullExpressionValue(build, "build(...)");
            return super.getNotificationContentTitle(build);
        }
    }

    @Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\b\u0007\u0018\u00002\u00020\u0001B\u0007¢\u0006\u0004\b\u0002\u0010\u0003J\u0018\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\tH\u0016¨\u0006\n"}, d2 = {"Lit/fast4x/rimusic/service/modern/PlayerServiceModern$NotificationDismissReceiver;", "Landroid/content/BroadcastReceiver;", "<init>", "()V", "onReceive", "", "context", "Landroid/content/Context;", "intent", "Landroid/content/Intent;", "composeApp_full"}, k = 1, mv = {2, 1, 0}, xi = 48)
    public static final class NotificationDismissReceiver extends BroadcastReceiver {
        public static final int $stable = 0;

        @Override
        public void onReceive(Context context, Intent intent) {
            Object m2076constructorimpl;
            Object m2076constructorimpl2;
            Intrinsics.checkNotNullParameter(context, "context");
            Intrinsics.checkNotNullParameter(intent, "intent");
            try {
                Result.Companion companion = Result.INSTANCE;
                m2076constructorimpl = Result.m2076constructorimpl(Boolean.valueOf(context.stopService(new Intent(context, (Class<?>) MyDownloadService.class))));
            } catch (Throwable th) {
                Result.Companion companion2 = Result.INSTANCE;
                m2076constructorimpl = Result.m2076constructorimpl(ResultKt.createFailure(th));
            }
            Throwable m2079exceptionOrNullimpl = Result.m2079exceptionOrNullimpl(m2076constructorimpl);
            if (m2079exceptionOrNullimpl != null) {
                Timber.Forest.e("Failed NotificationDismissReceiver stopService in PlayerServiceModern (MyDownloadService) " + ExceptionsKt.stackTraceToString(m2079exceptionOrNullimpl), new Object[0]);
            }
            try {
                Result.Companion companion3 = Result.INSTANCE;
                m2076constructorimpl2 = Result.m2076constructorimpl(Boolean.valueOf(context.stopService(new Intent(context, (Class<?>) PlayerServiceModern.class))));
            } catch (Throwable th2) {
                Result.Companion companion4 = Result.INSTANCE;
                m2076constructorimpl2 = Result.m2076constructorimpl(ResultKt.createFailure(th2));
            }
            Throwable m2079exceptionOrNullimpl2 = Result.m2079exceptionOrNullimpl(m2076constructorimpl2);
            if (m2079exceptionOrNullimpl2 != null) {
                Timber.Forest.e("Failed NotificationDismissReceiver stopService in PlayerServiceModern (PlayerServiceModern) " + ExceptionsKt.stackTraceToString(m2079exceptionOrNullimpl2), new Object[0]);
            }
        }
    }

    @Metadata(d1 = {"\u0000$\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\b\u0086\u0004\u0018\u00002\u00020\u0001B\u000f\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0004\b\u0004\u0010\u0005J\u0018\u0010\u0006\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\t2\u0006\u0010\n\u001a\u00020\u000bH\u0017R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\f"}, d2 = {"Lit/fast4x/rimusic/service/modern/PlayerServiceModern$NotificationActionReceiver;", "Landroid/content/BroadcastReceiver;", "player", "Landroidx/media3/common/Player;", "<init>", "(Lit/fast4x/rimusic/service/modern/PlayerServiceModern;Landroidx/media3/common/Player;)V", "onReceive", "", "context", "Landroid/content/Context;", "intent", "Landroid/content/Intent;", "composeApp_full"}, k = 1, mv = {2, 1, 0}, xi = 48)
    public final class NotificationActionReceiver extends BroadcastReceiver {
        private final Player player;
        final PlayerServiceModern this$0;

        public NotificationActionReceiver(PlayerServiceModern playerServiceModern, Player player) {
            Intrinsics.checkNotNullParameter(player, "player");
            this.this$0 = playerServiceModern;
            this.player = player;
        }

        @Override
        public void onReceive(Context context, Intent intent) {
            Intrinsics.checkNotNullParameter(context, "context");
            Intrinsics.checkNotNullParameter(intent, "intent");
            String action = intent.getAction();
            if (Intrinsics.areEqual(action, Action.INSTANCE.m1140getPause_mDfAns())) {
                this.this$0.binder.gracefulPause();
                return;
            }
            if (Intrinsics.areEqual(action, Action.INSTANCE.m1141getPlay_mDfAns())) {
                this.this$0.binder.gracefulPlay();
                return;
            }
            if (Intrinsics.areEqual(action, Action.INSTANCE.m1139getNext_mDfAns())) {
                PlayerKt.playNext(this.player);
                return;
            }
            if (Intrinsics.areEqual(action, Action.INSTANCE.m1143getPrevious_mDfAns())) {
                PlayerKt.playPrevious(this.player);
                return;
            }
            if (Intrinsics.areEqual(action, Action.INSTANCE.m1138getLike_mDfAns())) {
                this.this$0.binder.toggleLike();
                return;
            }
            if (Intrinsics.areEqual(action, Action.INSTANCE.m1137getDownload_mDfAns())) {
                this.this$0.binder.toggleDownload();
                return;
            }
            if (Intrinsics.areEqual(action, Action.INSTANCE.m1142getPlayradio_mDfAns())) {
                this.this$0.startRadio();
                return;
            }
            if (Intrinsics.areEqual(action, Action.INSTANCE.m1146getShuffle_mDfAns())) {
                this.this$0.binder.toggleShuffle();
            } else if (Intrinsics.areEqual(action, Action.INSTANCE.m1145getSearch_mDfAns())) {
                this.this$0.binder.actionSearch();
            } else if (Intrinsics.areEqual(action, Action.INSTANCE.m1144getRepeat_mDfAns())) {
                this.this$0.binder.toggleRepeat();
            }
        }
    }

    @Metadata(d1 = {"\u0000h\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\u0010\t\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\b\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0018\u0002\b\u0096\u0004\u0018\u00002\u00020\u0001B\u0007¢\u0006\u0004\b\u0002\u0010\u0003J\u000e\u0010\u001b\u001a\u00020\u001c2\u0006\u0010\u001d\u001a\u00020\u0018J\u0006\u0010\u001e\u001a\u00020\u001cJ$\u0010)\u001a\u00020\u001c2\u0006\u0010*\u001a\u00020+2\b\b\u0002\u0010,\u001a\u00020\"2\n\b\u0002\u0010-\u001a\u0004\u0018\u00010.J$\u0010)\u001a\u00020\u001c2\u0006\u0010/\u001a\u0002002\b\b\u0002\u0010,\u001a\u00020\"2\n\b\u0002\u0010-\u001a\u0004\u0018\u00010.J\u0006\u00101\u001a\u00020\u001cJ\b\u00102\u001a\u00020\u001cH\u0007J\b\u00103\u001a\u00020\u001cH\u0007J\u0006\u00104\u001a\u00020\u001cJ\u0006\u00105\u001a\u00020\u001cJ\u0006\u00106\u001a\u00020\u001cJ\u0006\u00107\u001a\u00020\u001cJ\u0006\u00108\u001a\u00020\u001cJ\u0006\u00109\u001a\u00020\u001cR\u0011\u0010\u0004\u001a\u00020\u00058F¢\u0006\u0006\u001a\u0004\b\u0006\u0010\u0007R\u0011\u0010\b\u001a\u00020\t8F¢\u0006\u0006\u001a\u0004\b\n\u0010\u000bR\u0011\u0010\f\u001a\u00020\r8F¢\u0006\u0006\u001a\u0004\b\u000e\u0010\u000fR\u0011\u0010\u0010\u001a\u00020\u00118F¢\u0006\u0006\u001a\u0004\b\u0012\u0010\u0013R\u0011\u0010\u0014\u001a\u00020\u00118F¢\u0006\u0006\u001a\u0004\b\u0015\u0010\u0013R\u001b\u0010\u0016\u001a\f\u0012\u0006\u0012\u0004\u0018\u00010\u0018\u0018\u00010\u00178F¢\u0006\u0006\u001a\u0004\b\u0019\u0010\u001aR\u0010\u0010\u001f\u001a\u0004\u0018\u00010 X\u0082\u000e¢\u0006\u0002\n\u0000R+\u0010#\u001a\u00020\"2\u0006\u0010!\u001a\u00020\"8F@BX\u0086\u008e\u0002¢\u0006\u0012\n\u0004\b'\u0010(\u001a\u0004\b#\u0010$\"\u0004\b%\u0010&¨\u0006:²\u0006\n\u0010;\u001a\u00020<X\u008a\u0084\u0002²\u0006\n\u0010;\u001a\u00020<X\u008a\u0084\u0002"}, d2 = {"Lit/fast4x/rimusic/service/modern/PlayerServiceModern$Binder;", "Landroid/os/Binder;", "<init>", "(Lit/fast4x/rimusic/service/modern/PlayerServiceModern;)V", "service", "Lit/fast4x/rimusic/service/modern/PlayerServiceModern;", "getService", "()Lit/fast4x/rimusic/service/modern/PlayerServiceModern;", "bitmap", "Landroid/graphics/Bitmap;", "getBitmap", "()Landroid/graphics/Bitmap;", "player", "Landroidx/media3/exoplayer/ExoPlayer;", "getPlayer", "()Landroidx/media3/exoplayer/ExoPlayer;", "cache", "Landroidx/media3/datasource/cache/Cache;", "getCache", "()Landroidx/media3/datasource/cache/Cache;", "downloadCache", "getDownloadCache", "sleepTimerMillisLeft", "Lkotlinx/coroutines/flow/StateFlow;", "", "getSleepTimerMillisLeft", "()Lkotlinx/coroutines/flow/StateFlow;", "startSleepTimer", "", "delayMillis", "cancelSleepTimer", "radioJob", "Lkotlinx/coroutines/Job;", "<set-?>", "", "isLoadingRadio", "()Z", "setLoadingRadio", "(Z)V", "isLoadingRadio$delegate", "Landroidx/compose/runtime/MutableState;", "startRadio", "mediaItem", "Landroidx/media3/common/MediaItem;", "append", "endpoint", "Lit/fast4x/innertube/models/NavigationEndpoint$Endpoint$Watch;", PlayerServiceModern.SONG, "Lit/fast4x/rimusic/models/Song;", "stopRadio", "gracefulPause", "gracefulPlay", "restartForegroundOrStop", "toggleLike", "toggleDownload", "toggleRepeat", "toggleShuffle", "actionSearch", "composeApp_full", "duration", "Lit/fast4x/rimusic/enums/DurationInMilliseconds;"}, k = 1, mv = {2, 1, 0}, xi = 48)
    public class Binder extends android.os.Binder {

        private final MutableState isLoadingRadio = SnapshotStateKt.mutableStateOf$default(false, (SnapshotMutationPolicy) null, 2, (Object) null);
        private Job radioJob;

        public Binder() {
        }

        public final PlayerServiceModern getThis$0() {
            return PlayerServiceModern.this;
        }

        public final Bitmap getBitmap() {
            BitmapProvider bitmapProvider = PlayerServiceModern.this.bitmapProvider;
            if (bitmapProvider == null) {
                Intrinsics.throwUninitializedPropertyAccessException("bitmapProvider");
                bitmapProvider = null;
            }
            return bitmapProvider.getBitmap();
        }

        public final ExoPlayer getPlayer() {
            return PlayerServiceModern.this.getPlayer();
        }

        public final Cache getCache() {
            return PlayerServiceModern.this.getCache();
        }

        public final Cache getDownloadCache() {
            return PlayerServiceModern.this.getDownloadCache();
        }

        public final StateFlow<Long> getSleepTimerMillisLeft() {
            TimerJob timerJob = PlayerServiceModern.this.timerJob;
            if (timerJob != null) {
                return timerJob.getMillisLeft();
            }
            return null;
        }

        public final void startSleepTimer(long delayMillis) {
            TimerJob timerJob = PlayerServiceModern.this.timerJob;
            if (timerJob != null) {
                timerJob.cancel();
            }
            PlayerServiceModern playerServiceModern = PlayerServiceModern.this;
            CoroutineScope coroutineScope = playerServiceModern.coroutineScope;
            final PlayerServiceModern playerServiceModern2 = PlayerServiceModern.this;
            playerServiceModern.timerJob = TimerJobKt.timer(coroutineScope, delayMillis, new Function0() {
                @Override
                public final Object invoke() {
                    Unit startSleepTimer$lambda$0;
                    startSleepTimer$lambda$0 = PlayerServiceModern.Binder.startSleepTimer$lambda$0(PlayerServiceModern.this);
                    return startSleepTimer$lambda$0;
                }
            });
        }

        public static final Unit startSleepTimer$lambda$0(PlayerServiceModern playerServiceModern) {
            Notification build = new NotificationCompat.Builder((Context) playerServiceModern, PlayerServiceModern.SleepTimerNotificationChannelId).setContentTitle(playerServiceModern.getString(R.string.sleep_timer_ended)).setPriority(0).setAutoCancel(true).setOnlyAlertOnce(true).setShowWhen(true).setSmallIcon(R.drawable.ic_launcher_monochrome).build();
            Intrinsics.checkNotNullExpressionValue(build, "build(...)");
            NotificationManager notificationManager = playerServiceModern.notificationManager;
            if (notificationManager != null) {
                notificationManager.notify(PlayerServiceModern.SleepTimerNotificationId, build);
            }
            playerServiceModern.stopSelf();
            System.exit(0);
            throw new RuntimeException("System.exit returned normally, while it was supposed to halt JVM.");
        }

        public final void cancelSleepTimer() {
            TimerJob timerJob = PlayerServiceModern.this.timerJob;
            if (timerJob != null) {
                timerJob.cancel();
            }
            PlayerServiceModern.this.timerJob = null;
        }

        public final void setLoadingRadio(boolean z) {
            this.isLoadingRadio.setValue(Boolean.valueOf(z));
        }

        public final boolean isLoadingRadio() {
            return ((Boolean) this.isLoadingRadio.getValue()).booleanValue();
        }

        public static void startRadio$default(Binder binder, MediaItem mediaItem, boolean z, NavigationEndpoint.Endpoint.Watch watch, int i, Object obj) {
            if (obj != null) {
                throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: startRadio");
            }
            if ((i & 2) != 0) {
                z = false;
            }
            if ((i & 4) != 0) {
                watch = null;
            }
            binder.startRadio(mediaItem, z, watch);
        }

        public final void startRadio(MediaItem mediaItem, boolean append, NavigationEndpoint.Endpoint.Watch endpoint) {
            Intrinsics.checkNotNullParameter(mediaItem, "mediaItem");
            stopRadio();
            MediaItem currentMediaItem = getPlayer().getCurrentMediaItem();
            if (!Intrinsics.areEqual(currentMediaItem != null ? currentMediaItem.mediaId : null, mediaItem.mediaId)) {
                PlayerKt.forcePlay(getPlayer(), mediaItem);
            }
            this.radioJob = BuildersKt.launch$default(PlayerServiceModern.this.coroutineScope, (CoroutineContext) null, (CoroutineStart) null, new PlayerServiceModern$Binder$startRadio$1(this, endpoint, mediaItem, append, null), 3, (Object) null);
        }

        public static void startRadio$default(Binder binder, Song song, boolean z, NavigationEndpoint.Endpoint.Watch watch, int i, Object obj) {
            if (obj != null) {
                throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: startRadio");
            }
            if ((i & 2) != 0) {
                z = false;
            }
            if ((i & 4) != 0) {
                watch = null;
            }
            binder.startRadio(song, z, watch);
        }

        public final void startRadio(Song song, boolean append, NavigationEndpoint.Endpoint.Watch endpoint) {
            Intrinsics.checkNotNullParameter(song, "song");
            startRadio(it.fast4x.rimusic.utils.UtilsKt.getAsMediaItem(song), append, endpoint);
        }

        public final void stopRadio() {
            setLoadingRadio(false);
            Job job = this.radioJob;
            if (job != null) {
                Job.DefaultImpls.cancel$default(job, (CancellationException) null, 1, (Object) null);
            }
            PlayerServiceModern.this.radio = null;
        }

        private static final DurationInMilliseconds gracefulPause$lambda$1(Settings.Preference.EnumPreference<DurationInMilliseconds> enumPreference) {
            return (DurationInMilliseconds) ((State) enumPreference).getValue();
        }

        public final void gracefulPause() {
            AudioUtilsKt.fadeOutEffect(getPlayer(), gracefulPause$lambda$1(Settings.INSTANCE.getAUDIO_FADE_DURATION()).getAsMillis());
        }

        private static final DurationInMilliseconds gracefulPlay$lambda$2(Settings.Preference.EnumPreference<DurationInMilliseconds> enumPreference) {
            return (DurationInMilliseconds) ((State) enumPreference).getValue();
        }

        public final void gracefulPlay() {
            AudioUtilsKt.fadeInEffect(getPlayer(), gracefulPlay$lambda$2(Settings.INSTANCE.getAUDIO_FADE_DURATION()).getAsMillis());
        }

        public final void restartForegroundOrStop() {
            getPlayer().pause();
            PlayerServiceModern.this.stopSelf();
        }

        public final void toggleLike() {
            Database database = Database.INSTANCE;
            final PlayerServiceModern playerServiceModern = PlayerServiceModern.this;
            database.asyncTransaction(new Function1() {
                @Override
                public final Object invoke(Object obj) {
                    Unit unit;
                    unit = PlayerServiceModern.Binder.toggleLike$lambda$5(PlayerServiceModern.this, (Database) obj);
                    return unit;
                }
            });
            Song song = (Song) PlayerServiceModern.this.currentSong.getValue();
            if (song != null) {
                MyDownloadHelper.INSTANCE.autoDownloadWhenLiked((Context) PlayerServiceModern.this, it.fast4x.rimusic.utils.UtilsKt.getAsMediaItem(song));
            }
        }

        public static final Unit toggleLike$lambda$5(PlayerServiceModern playerServiceModern, Database asyncTransaction) {
            Intrinsics.checkNotNullParameter(asyncTransaction, "$this$asyncTransaction");
            Song song = (Song) playerServiceModern.currentSong.getValue();
            if (song != null) {
                Integer.valueOf(asyncTransaction.getSongTable().rotateLikeState(song.getId()));
            }
            CoroutineExtensionsKt.collect(FlowKt.debounce(playerServiceModern.currentSong, 1000L), playerServiceModern.coroutineScope, new PlayerServiceModern$Binder$toggleLike$1$2$1(playerServiceModern, null));
            return Unit.INSTANCE;
        }

        public final void toggleDownload() {
            System.out.println((Object) ("PlayerServiceModern toggleDownload currentMediaItem " + PlayerServiceModern.this.getCurrentMediaItem().getValue() + " currentSongIsDownloaded " + PlayerServiceModern.this.getCurrentSongStateDownload().getValue()));
            PlayerServiceModern playerServiceModern = PlayerServiceModern.this;
            Context context = (Context) playerServiceModern;
            MediaItem mediaItem = (MediaItem) playerServiceModern.getCurrentMediaItem().getValue();
            if (mediaItem == null) {
                return;
            }
            DownloadUtilsKt.manageDownload(context, mediaItem, ((Number) PlayerServiceModern.this.getCurrentSongStateDownload().getValue()).intValue() == 3);
        }

        public final void toggleRepeat() {
            PlayerKt.toggleRepeatMode(getPlayer());
            PlayerServiceModern.this.updateDefaultNotification();
        }

        public final void toggleShuffle() {
            PlayerKt.toggleShuffleMode(getPlayer());
            PlayerServiceModern.this.updateDefaultNotification();
        }

        public final void actionSearch() {
            PlayerServiceModern.this.startActivity(new Intent(PlayerServiceModern.this.getApplicationContext(), (Class<?>) MainActivity.class).setAction(MainActivity.action_search).setFlags(268468224));
            System.out.println((Object) "PlayerServiceModern actionSearch");
        }
    }

    @Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0010\b\n\u0002\b\u0006\b\u0087@\u0018\u0000 \u00172\u00020\u0001:\u0001\u0017B\u000f\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0004\b\u0004\u0010\u0005J\u001a\u0010\f\u001a\u00020\r2\b\u0010\u000e\u001a\u0004\u0018\u00010\u0001HÖ\u0003¢\u0006\u0004\b\u000f\u0010\u0010J\u0010\u0010\u0011\u001a\u00020\u0012HÖ\u0001¢\u0006\u0004\b\u0013\u0010\u0014J\u0010\u0010\u0015\u001a\u00020\u0003HÖ\u0001¢\u0006\u0004\b\u0016\u0010\u0005R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\u0007R\u0011\u0010\b\u001a\u00020\t8F¢\u0006\u0006\u001a\u0004\b\n\u0010\u000b\u0088\u0001\u0002¨\u0006\u0018"}, d2 = {"Lit/fast4x/rimusic/service/modern/PlayerServiceModern$Action;", "", "value", "", "constructor-impl", "(Ljava/lang/String;)Ljava/lang/String;", "getValue", "()Ljava/lang/String;", "pendingIntent", "Landroid/app/PendingIntent;", "getPendingIntent-impl", "(Ljava/lang/String;)Landroid/app/PendingIntent;", "equals", "", "other", "equals-impl", "(Ljava/lang/String;Ljava/lang/Object;)Z", "hashCode", "", "hashCode-impl", "(Ljava/lang/String;)I", "toString", "toString-impl", "Companion", "composeApp_full"}, k = 1, mv = {2, 1, 0}, xi = 48)
    @JvmInline
    public static final class Action {
        private final String value;

        public static final Companion INSTANCE = new Companion(null);
        private static final String pause = m1130constructorimpl("it.fast4x.rimusic.pause");
        private static final String play = m1130constructorimpl("it.fast4x.rimusic.play");
        private static final String next = m1130constructorimpl("it.fast4x.rimusic.next");
        private static final String previous = m1130constructorimpl("it.fast4x.rimusic.previous");
        private static final String like = m1130constructorimpl("it.fast4x.rimusic.like");
        private static final String download = m1130constructorimpl("it.fast4x.rimusic.download");
        private static final String playradio = m1130constructorimpl("it.fast4x.rimusic.playradio");
        private static final String shuffle = m1130constructorimpl("it.fast4x.rimusic.shuffle");
        private static final String search = m1130constructorimpl("it.fast4x.rimusic.search");
        private static final String repeat = m1130constructorimpl("it.fast4x.rimusic.repeat");

        public static final Action m1129boximpl(String str) {
            return new Action(str);
        }

        public static String m1130constructorimpl(String value) {
            Intrinsics.checkNotNullParameter(value, "value");
            return value;
        }

        public static boolean m1131equalsimpl(String str, Object obj) {
            return (obj instanceof Action) && Intrinsics.areEqual(str, ((Action) obj).m1136unboximpl());
        }

        public static final boolean m1132equalsimpl0(String str, String str2) {
            return Intrinsics.areEqual(str, str2);
        }

        public static int m1134hashCodeimpl(String str) {
            return str.hashCode();
        }

        public static String m1135toStringimpl(String str) {
            return "Action(value=" + str + ")";
        }

        public boolean equals(Object obj) {
            return m1131equalsimpl(this.value, obj);
        }

        public int hashCode() {
            return m1134hashCodeimpl(this.value);
        }

        public String toString() {
            return m1135toStringimpl(this.value);
        }

        public final String m1136unboximpl() {
            return this.value;
        }

        private Action(String str) {
            this.value = str;
        }

        public final String getValue() {
            return this.value;
        }

        public static final PendingIntent m1133getPendingIntentimpl(String str) {
            PendingIntent broadcast = PendingIntent.getBroadcast(GlobalVarsKt.appContext(), 100, new Intent(str).setPackage(GlobalVarsKt.appContext().getPackageName()), (Build.VERSION.SDK_INT >= 23 ? 67108864 : 0) | 134217728);
            Intrinsics.checkNotNullExpressionValue(broadcast, "getBroadcast(...)");
            return broadcast;
        }

        @Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0016\b\u0086\u0003\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003R\u0013\u0010\u0004\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\u0006\u0010\u0007R\u0013\u0010\t\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\n\u0010\u0007R\u0013\u0010\u000b\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\f\u0010\u0007R\u0013\u0010\r\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\u000e\u0010\u0007R\u0013\u0010\u000f\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\u0010\u0010\u0007R\u0013\u0010\u0011\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\u0012\u0010\u0007R\u0013\u0010\u0013\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\u0014\u0010\u0007R\u0013\u0010\u0015\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\u0016\u0010\u0007R\u0013\u0010\u0017\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\u0018\u0010\u0007R\u0013\u0010\u0019\u001a\u00020\u0005¢\u0006\n\n\u0002\u0010\b\u001a\u0004\b\u001a\u0010\u0007¨\u0006\u001b"}, d2 = {"Lit/fast4x/rimusic/service/modern/PlayerServiceModern$Action$Companion;", "", "<init>", "()V", "pause", "Lit/fast4x/rimusic/service/modern/PlayerServiceModern$Action;", "getPause-_mDfAns", "()Ljava/lang/String;", "Ljava/lang/String;", "play", "getPlay-_mDfAns", LinkHeader.Rel.Next, "getNext-_mDfAns", "previous", "getPrevious-_mDfAns", "like", "getLike-_mDfAns", "download", "getDownload-_mDfAns", "playradio", "getPlayradio-_mDfAns", "shuffle", "getShuffle-_mDfAns", "search", "getSearch-_mDfAns", "repeat", "getRepeat-_mDfAns", "composeApp_full"}, k = 1, mv = {2, 1, 0}, xi = 48)
        public static final class Companion {
            public Companion(DefaultConstructorMarker defaultConstructorMarker) {
                this();
            }

            private Companion() {
            }

            public final String m1140getPause_mDfAns() {
                return Action.pause;
            }

            public final String m1141getPlay_mDfAns() {
                return Action.play;
            }

            public final String m1139getNext_mDfAns() {
                return Action.next;
            }

            public final String m1143getPrevious_mDfAns() {
                return Action.previous;
            }

            public final String m1138getLike_mDfAns() {
                return Action.like;
            }

            public final String m1137getDownload_mDfAns() {
                return Action.download;
            }

            public final String m1142getPlayradio_mDfAns() {
                return Action.playradio;
            }

            public final String m1146getShuffle_mDfAns() {
                return Action.shuffle;
            }

            public final String m1145getSearch_mDfAns() {
                return Action.search;
            }

            public final String m1144getRepeat_mDfAns() {
                return Action.repeat;
            }
        }
    }

    @Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0003\n\u0002\u0010\u0011\n\u0002\b\r\b\u0086\u0003\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003R\u000e\u0010\u0004\u001a\u00020\u0005X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\u0005X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000R\u0019\u0010\n\u001a\b\u0012\u0004\u0012\u00020\u00050\u000b¢\u0006\n\n\u0002\u0010\u000e\u001a\u0004\b\f\u0010\rR\u0019\u0010\u000f\u001a\b\u0012\u0004\u0012\u00020\u00050\u000b¢\u0006\n\n\u0002\u0010\u000e\u001a\u0004\b\u0010\u0010\rR\u000e\u0010\u0011\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0012\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0013\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0014\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0015\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0016\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\u0017\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000¨\u0006\u0018"}, d2 = {"Lit/fast4x/rimusic/service/modern/PlayerServiceModern$Companion;", "", "<init>", "()V", "NotificationId", "", "NotificationChannelId", "", "SleepTimerNotificationId", "SleepTimerNotificationChannelId", "PlayerErrorsToReload", "", "getPlayerErrorsToReload", "()[Ljava/lang/Integer;", "[Ljava/lang/Integer;", "PlayerErrorsToSkip", "getPlayerErrorsToSkip", "ROOT", "SONG", "ARTIST", "ALBUM", "PLAYLIST", "SEARCHED", "CACHE_DIRNAME", "composeApp_full"}, k = 1, mv = {2, 1, 0}, xi = 48)
    public static final class Companion {
        public Companion(DefaultConstructorMarker defaultConstructorMarker) {
            this();
        }

        private Companion() {
        }

        public final Integer[] getPlayerErrorsToReload() {
            return PlayerServiceModern.PlayerErrorsToReload;
        }

        public final Integer[] getPlayerErrorsToSkip() {
            return PlayerServiceModern.PlayerErrorsToSkip;
        }
    }

    private final void maybeResumePlaybackWhenDeviceConnected() {
        if (Build.VERSION.SDK_INT >= 23) {
            if (Settings.INSTANCE.getRESUME_PLAYBACK_WHEN_CONNECT_TO_AUDIO_DEVICE().getValue().booleanValue()) {
                if (this.audioManager == null) {
                    this.audioManager = (AudioManager) getSystemService(ContentType.Audio.TYPE);
                }
                AudioDeviceCallback m1055m = MainActivity$$ExternalSyntheticApiModelOutline0.m1055m((Object) new AudioDeviceCallback() {
                    @Override
                    public void onAudioDevicesRemoved(AudioDeviceInfo[] removedDevices) {
                        Intrinsics.checkNotNullParameter(removedDevices, "removedDevices");
                    }

                    private final boolean canPlayMusic(AudioDeviceInfo audioDeviceInfo) {
                        boolean isSink;
                        int type;
                        int type2;
                        int type3;
                        int type4;
                        isSink = audioDeviceInfo.isSink();
                        if (!isSink) {
                            return false;
                        }
                        type = audioDeviceInfo.getType();
                        if (type == 8) {
                            return true;
                        }
                        type2 = audioDeviceInfo.getType();
                        if (type2 == 3) {
                            return true;
                        }
                        type3 = audioDeviceInfo.getType();
                        if (type3 == 4) {
                            return true;
                        }
                        type4 = audioDeviceInfo.getType();
                        return type4 == 22;
                    }

                    @Override
                    public void onAudioDevicesAdded(AudioDeviceInfo[] addedDevices) {
                        Intrinsics.checkNotNullParameter(addedDevices, "addedDevices");
                        if (PlayerServiceModern.this.getPlayer().isPlaying()) {
                            return;
                        }
                        for (AudioDeviceInfo audioDeviceInfo : addedDevices) {
                            if (canPlayMusic(audioDeviceInfo)) {
                                PlayerServiceModern.this.getPlayer().play();
                                return;
                            }
                        }
                    }
                });
                this.audioDeviceCallback = m1055m;
                AudioManager audioManager = this.audioManager;
                if (audioManager != null) {
                    audioManager.registerAudioDeviceCallback(m1055m, this.handler);
                    return;
                }
                return;
            }
            AudioManager audioManager2 = this.audioManager;
            if (audioManager2 != null) {
                audioManager2.unregisterAudioDeviceCallback(this.audioDeviceCallback);
            }
            this.audioDeviceCallback = null;
        }
    }
}