package com.strmr.ps.data.repository;

import android.util.Log;
import androidx.media3.container.NalUnitUtil;
import androidx.media3.exoplayer.rtsp.RtspHeaders;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.strmr.ps.data.model.UpdateCheckResult;
import com.strmr.ps.data.model.UpdateInfo;
import defpackage.ak1;
import defpackage.ck1;
import defpackage.cr4;
import defpackage.e6a;
import defpackage.gr3;
import defpackage.kp6;
import defpackage.m02;
import defpackage.m12;
import defpackage.n41;
import defpackage.pq6;
import defpackage.pw7;
import defpackage.s38;
import defpackage.sc2;
import defpackage.ufa;
import defpackage.wj0;
import javax.inject.Inject;
import javax.inject.Singleton;
import kotlin.Metadata;
import kotlin.coroutines.Continuation;
import kotlin.coroutines.jvm.internal.DebugMetadata;
import kotlin.coroutines.jvm.internal.SuspendLambda;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;

/* JADX INFO: loaded from: classes3.dex */
@Singleton
@Metadata(d1 = {"\u0000F\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0010\b\n\u0002\b\u0002\b\u0007\u0018\u0000 %2\u00020\u0001:\u0001%B!\b\u0007\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0007¢\u0006\u0004\b\b\u0010\tJ\u0010\u0010\u0010\u001a\u00020\u000b2\u0006\u0010\u0011\u001a\u00020\u0012H\u0002J\b\u0010\u0013\u001a\u00020\u000bH\u0002J\u000e\u0010\u0014\u001a\u00020\u0015H\u0086@¢\u0006\u0002\u0010\u0016J\u001e\u0010\u0017\u001a\u0004\u0018\u00010\u00182\b\u0010\u0019\u001a\u0004\u0018\u00010\u00182\b\u0010\u001a\u001a\u0004\u0018\u00010\u0018H\u0002J\u001a\u0010\u001b\u001a\u0004\u0018\u00010\u00182\u0006\u0010\u001c\u001a\u00020\u000b2\u0006\u0010\u001d\u001a\u00020\u000bH\u0002J\u0010\u0010\u001e\u001a\u00020\u00152\u0006\u0010\u001f\u001a\u00020\u0018H\u0002J\u0018\u0010 \u001a\u00020\u00122\u0006\u0010\u001f\u001a\u00020\u00182\u0006\u0010!\u001a\u00020\u000bH\u0002J\u0006\u0010\"\u001a\u00020\u000bJ\u0006\u0010#\u001a\u00020$R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u000bX\u0082D¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u000bX\u0082D¢\u0006\u0002\n\u0000R\u0014\u0010\r\u001a\u00020\u000b8BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\u000e\u0010\u000f¨\u0006&"}, d2 = {"Lcom/strmr/ps/data/repository/UpdateRepository;", "", "okHttpClient", "Lokhttp3/OkHttpClient;", "gson", "Lcom/google/gson/Gson;", "preferencesRepository", "Lcom/strmr/ps/data/repository/PreferencesRepository;", "<init>", "(Lokhttp3/OkHttpClient;Lcom/google/gson/Gson;Lcom/strmr/ps/data/repository/PreferencesRepository;)V", "releasesOwner", "", "releasesRepo", "versionJsonUrl", "getVersionJsonUrl", "()Ljava/lang/String;", "getUpdateChannel", "useDevChannel", "", "getFallbackChannel", "checkForUpdate", "Lcom/strmr/ps/data/model/UpdateCheckResult;", "(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;", "selectBestUpdate", "Lcom/strmr/ps/data/model/UpdateInfo;", "primary", "fallback", "parseVersionJson", "json", "channel", "checkVersionAndReturn", "updateInfo", "isUpdateForced", "currentVersion", "getCurrentVersion", "getCurrentVersionCode", "", "Companion", "app_sideloadRelease"}, k = 1, mv = {2, 0, 0}, xi = NalUnitUtil.H265_NAL_UNIT_TYPE_UNSPECIFIED)
public final class UpdateRepository {

    @kp6
    private static final String CHANNEL_DEV = "dev";

    @kp6
    private static final String CHANNEL_SIDELOAD = "sideload";

    @kp6
    private static final String CHANNEL_SIDELOAD_DEV = "sideload-dev";

    @kp6
    private static final String CHANNEL_STABLE = "stable";

    @kp6
    private static final String TAG = "UpdateRepository";

    @kp6
    private final Gson gson;

    @kp6
    private final OkHttpClient okHttpClient;

    @kp6
    private final PreferencesRepository preferencesRepository;

    @kp6
    private final String releasesOwner;

    @kp6
    private final String releasesRepo;

    /* JADX INFO: renamed from: com.strmr.ps.data.repository.UpdateRepository$checkForUpdate$2, reason: invalid class name */
    @Metadata(d1 = {"\u0000\f\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\u0010\u0002\u001a\u00020\u0001*\u00020\u0000H\n¢\u0006\u0004\b\u0002\u0010\u0003"}, d2 = {"Lak1;", "Lcom/strmr/ps/data/model/UpdateCheckResult;", "<anonymous>", "(Lak1;)Lcom/strmr/ps/data/model/UpdateCheckResult;"}, k = 3, mv = {2, 0, 0})
    @DebugMetadata(c = "com.strmr.ps.data.repository.UpdateRepository$checkForUpdate$2", f = "UpdateRepository.kt", i = {}, l = {}, m = "invokeSuspend", n = {}, s = {})
    public static final class AnonymousClass2 extends SuspendLambda implements gr3<ak1, Continuation<? super UpdateCheckResult>, Object> {
        int label;

        public AnonymousClass2(Continuation<? super AnonymousClass2> continuation) {
            super(2, continuation);
        }

        @Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
        public final Continuation<e6a> create(Object obj, Continuation<?> continuation) {
            return UpdateRepository.this.new AnonymousClass2(continuation);
        }

        @Override // defpackage.gr3
        public final Object invoke(ak1 ak1Var, Continuation<? super UpdateCheckResult> continuation) {
            return ((AnonymousClass2) create(ak1Var, continuation)).invokeSuspend(e6a.a);
        }

        @Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
        public final Object invokeSuspend(Object obj) {
            String strString;
            UpdateInfo versionJson;
            ck1 ck1Var = ck1.a;
            if (this.label != 0) {
                throw new IllegalStateException("call to 'resume' before 'invoke' with coroutine");
            }
            s38.b(obj);
            boolean devUpdatesEnabled = UpdateRepository.this.preferencesRepository.getDevUpdatesEnabled();
            String updateChannel = UpdateRepository.this.getUpdateChannel(devUpdatesEnabled);
            try {
                UpdateRepository.this.getVersionJsonUrl();
                Response responseExecute = UpdateRepository.this.okHttpClient.newCall(new Request.Builder().url(UpdateRepository.this.getVersionJsonUrl()).header(RtspHeaders.USER_AGENT, "STRMR-App/1.1.72").build()).execute();
                if (!responseExecute.isSuccessful()) {
                    if (responseExecute.code() == 404) {
                        return UpdateCheckResult.NoUpdateAvailable.INSTANCE;
                    }
                    throw new Exception("HTTP " + responseExecute.code() + ": " + responseExecute.message());
                }
                ResponseBody responseBodyBody = responseExecute.body();
                if (responseBodyBody == null || (strString = responseBodyBody.string()) == null) {
                    throw new Exception("Empty response body");
                }
                UpdateInfo versionJson2 = UpdateRepository.this.parseVersionJson(strString, updateChannel);
                if (versionJson2 != null) {
                    versionJson2.getVersion();
                }
                String fallbackChannel = UpdateRepository.this.getFallbackChannel();
                if (devUpdatesEnabled) {
                    versionJson = UpdateRepository.this.parseVersionJson(strString, fallbackChannel);
                    if (versionJson != null) {
                        versionJson.getVersion();
                    }
                } else {
                    versionJson = null;
                }
                UpdateInfo updateInfoSelectBestUpdate = UpdateRepository.this.selectBestUpdate(versionJson2, versionJson);
                if (updateInfoSelectBestUpdate == null) {
                    return UpdateCheckResult.NoUpdateAvailable.INSTANCE;
                }
                updateInfoSelectBestUpdate.getVersion();
                return UpdateRepository.this.checkVersionAndReturn(updateInfoSelectBestUpdate);
            } catch (Exception e) {
                Log.e(UpdateRepository.TAG, "Error checking for updates", e);
                return new UpdateCheckResult.Error(n41.n("Failed to check for updates: ", e.getMessage()), e);
            }
        }
    }

    @Inject
    public UpdateRepository(@kp6 OkHttpClient okHttpClient, @kp6 Gson gson, @kp6 PreferencesRepository preferencesRepository) {
        cr4.g(okHttpClient, "okHttpClient");
        cr4.g(gson, "gson");
        cr4.g(preferencesRepository, "preferencesRepository");
        this.okHttpClient = okHttpClient;
        this.gson = gson;
        this.preferencesRepository = preferencesRepository;
        this.releasesOwner = "strmrdev";
        this.releasesRepo = "strmr-releases";
    }

    /* JADX INFO: Access modifiers changed from: private */
    public final UpdateCheckResult checkVersionAndReturn(UpdateInfo updateInfo) {
        String version = updateInfo.getVersion();
        pw7 pw7Var = ufa.a;
        cr4.g(version, "remoteVersion");
        try {
            if (ufa.a(version, "1.1.72") > 0) {
                return new UpdateCheckResult.UpdateAvailable(updateInfo, isUpdateForced(updateInfo, "1.1.72"));
            }
        } catch (IllegalArgumentException unused) {
        }
        return UpdateCheckResult.NoUpdateAvailable.INSTANCE;
    }

    /* JADX INFO: Access modifiers changed from: private */
    public final String getFallbackChannel() {
        return CHANNEL_SIDELOAD;
    }

    /* JADX INFO: Access modifiers changed from: private */
    public final String getUpdateChannel(boolean useDevChannel) {
        return useDevChannel ? CHANNEL_SIDELOAD_DEV : CHANNEL_SIDELOAD;
    }

    /* JADX INFO: Access modifiers changed from: private */
    public final String getVersionJsonUrl() {
        return n41.o("https://", this.releasesOwner, ".github.io/", this.releasesRepo, "/version.json");
    }

    private final boolean isUpdateForced(UpdateInfo updateInfo, String currentVersion) {
        if (!updateInfo.getForceUpdate()) {
            String minVersion = updateInfo.getMinVersion();
            if (minVersion != null) {
                try {
                    pw7 pw7Var = ufa.a;
                    cr4.g(currentVersion, "localVersion");
                    boolean z = ufa.a(minVersion, currentVersion) > 0;
                    if (z) {
                    }
                } catch (IllegalArgumentException e) {
                    Log.w(TAG, "Failed to compare minVersion", e);
                }
            }
            return false;
        }
        return true;
    }

    /* JADX INFO: Access modifiers changed from: private */
    public final UpdateInfo parseVersionJson(String json, String channel) {
        try {
            JsonObject jsonObject = (JsonObject) this.gson.fromJson(json, JsonObject.class);
            if (!jsonObject.has(CHANNEL_STABLE) && !jsonObject.has(CHANNEL_DEV) && !jsonObject.has(CHANNEL_SIDELOAD) && !jsonObject.has(CHANNEL_SIDELOAD_DEV)) {
                if (cr4.b(channel, CHANNEL_STABLE)) {
                    return (UpdateInfo) this.gson.fromJson(json, UpdateInfo.class);
                }
                return null;
            }
            JsonObject asJsonObject = jsonObject.getAsJsonObject(channel);
            if (asJsonObject != null) {
                return (UpdateInfo) this.gson.fromJson((JsonElement) asJsonObject, UpdateInfo.class);
            }
            Log.w(TAG, "Channel '" + channel + "' not found in version.json");
            String fallbackChannel = getFallbackChannel();
            if (cr4.b(channel, fallbackChannel) || !jsonObject.has(fallbackChannel)) {
                return null;
            }
            return (UpdateInfo) this.gson.fromJson((JsonElement) jsonObject.getAsJsonObject(fallbackChannel), UpdateInfo.class);
        } catch (Exception e) {
            Log.e(TAG, "Failed to parse version.json", e);
            return null;
        }
    }

    /* JADX INFO: Access modifiers changed from: private */
    public final UpdateInfo selectBestUpdate(UpdateInfo primary, UpdateInfo fallback) {
        if (primary == null && fallback == null) {
            return null;
        }
        if (primary == null) {
            return fallback;
        }
        if (fallback != null) {
            try {
                pw7 pw7Var = ufa.a;
                if (ufa.a(primary.getVersion(), fallback.getVersion()) < 0) {
                    fallback.getVersion();
                    primary.getVersion();
                    return fallback;
                }
            } catch (IllegalArgumentException e) {
                Log.w(TAG, "Failed to compare versions, using primary", e);
                return primary;
            }
        }
        return primary;
    }

    @pq6
    public final Object checkForUpdate(@kp6 Continuation<? super UpdateCheckResult> continuation) {
        m12 m12Var = sc2.a;
        return wj0.f(m02.c, new AnonymousClass2(null), continuation);
    }

    @kp6
    public final String getCurrentVersion() {
        return "1.1.72";
    }

    public final int getCurrentVersionCode() {
        return 1010723;
    }
}
