正在查看: Kreate v1.5.0 应用的 PlayerServiceModern.java JAVA 源代码文件
本页面展示 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;
}
}
}