TV Bro: TV Web Browser v1.8.2版本的 MD5 值为:1f764660d14956f3a51779008857502a

以下内容为反编译后的 VersionSettingsView.java 源代码,内容仅作参考


package com.phlox.tvwebbrowser.activity.main.dialogs.settings;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.net.Uri;
import android.text.Html;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.ScrollView;
import android.widget.SpinnerAdapter;
import android.widget.TextView;
import androidx.core.os.EnvironmentCompat;
import androidx.webkit.WebViewCompat;
import com.phlox.tvwebbrowser.BuildConfig;
import com.phlox.tvwebbrowser.R;
import com.phlox.tvwebbrowser.activity.IncognitoModeMainActivity;
import com.phlox.tvwebbrowser.activity.main.MainActivity;
import com.phlox.tvwebbrowser.activity.main.SettingsModel;
import com.phlox.tvwebbrowser.databinding.ViewSettingsVersionBinding;
import com.phlox.tvwebbrowser.utils.ExtensionsKt;
import com.phlox.tvwebbrowser.utils.UpdateChecker;
import com.phlox.tvwebbrowser.utils.activemodel.ActiveModelsRepository;
import java.util.Objects;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.collections.ArraysKt;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Reflection;
import kotlin.reflect.KClass;

@Metadata(d1 = {"\u0000H\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\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\u0010\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0003\b\u0007\u0018\u00002\u00020\u0001:\u0001\u001eB%\b\u0007\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\n\b\u0002\u0010\u0004\u001a\u0004\u0018\u00010\u0005\u0012\b\b\u0002\u0010\u0006\u001a\u00020\u0007¢\u0006\u0002\u0010\bJ\u0010\u0010\u0019\u001a\u00020\u001a2\u0006\u0010\u001b\u001a\u00020\u001cH\u0002J\b\u0010\u001d\u001a\u00020\u001aH\u0002R\u001c\u0010\t\u001a\u0004\u0018\u00010\nX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u000b\u0010\f\"\u0004\b\r\u0010\u000eR\u001a\u0010\u000f\u001a\u00020\u0010X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0011\u0010\u0012\"\u0004\b\u0013\u0010\u0014R\u000e\u0010\u0015\u001a\u00020\u0016X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0017\u001a\u00020\u0018X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006\u001f"}, d2 = {"Lcom/phlox/tvwebbrowser/activity/main/dialogs/settings/VersionSettingsView;", "Landroid/widget/ScrollView;", "context", "Landroid/content/Context;", "attrs", "Landroid/util/AttributeSet;", "defStyleAttr", "", "(Landroid/content/Context;Landroid/util/AttributeSet;I)V", "callback", "Lcom/phlox/tvwebbrowser/activity/main/dialogs/settings/VersionSettingsView$Callback;", "getCallback", "()Lcom/phlox/tvwebbrowser/activity/main/dialogs/settings/VersionSettingsView$Callback;", "setCallback", "(Lcom/phlox/tvwebbrowser/activity/main/dialogs/settings/VersionSettingsView$Callback;)V", "settingsModel", "Lcom/phlox/tvwebbrowser/activity/main/SettingsModel;", "getSettingsModel", "()Lcom/phlox/tvwebbrowser/activity/main/SettingsModel;", "setSettingsModel", "(Lcom/phlox/tvwebbrowser/activity/main/SettingsModel;)V", "updateChannelSelectedListener", "Landroid/widget/AdapterView$OnItemSelectedListener;", "vb", "Lcom/phlox/tvwebbrowser/databinding/ViewSettingsVersionBinding;", "loadUrl", "", "url", "", "updateUIVisibility", "Callback", "app_googleRelease"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class VersionSettingsView extends ScrollView {
    private Callback callback;
    private SettingsModel settingsModel;
    private final AdapterView.OnItemSelectedListener updateChannelSelectedListener;
    private ViewSettingsVersionBinding vb;

    @Metadata(d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\bf\u0018\u00002\u00020\u0001J\b\u0010\u0002\u001a\u00020\u0003H&¨\u0006\u0004"}, d2 = {"Lcom/phlox/tvwebbrowser/activity/main/dialogs/settings/VersionSettingsView$Callback;", "", "onNeedToCloseSettings", "", "app_googleRelease"}, k = 1, mv = {1, 6, 0}, xi = 48)
    public interface Callback {
        void onNeedToCloseSettings();
    }

    public VersionSettingsView(Context context) {
        this(context, null, 0, 6, null);
        Intrinsics.checkNotNullParameter(context, "context");
    }

    public VersionSettingsView(Context context, AttributeSet attributeSet) {
        this(context, attributeSet, 0, 4, null);
        Intrinsics.checkNotNullParameter(context, "context");
    }

    public VersionSettingsView(Context context, AttributeSet attributeSet, int i, int i2, DefaultConstructorMarker defaultConstructorMarker) {
        this(context, (i2 & 2) != 0 ? null : attributeSet, (i2 & 4) != 0 ? 0 : i);
    }

    public VersionSettingsView(Context context, AttributeSet attributeSet, int i) {
        super(context, attributeSet, i);
        Intrinsics.checkNotNullParameter(context, "context");
        ViewSettingsVersionBinding inflate = ViewSettingsVersionBinding.inflate(LayoutInflater.from(getContext()), this, true);
        Intrinsics.checkNotNullExpressionValue(inflate, "inflate(LayoutInflater.f…etContext()), this, true)");
        this.vb = inflate;
        ActiveModelsRepository activeModelsRepository = ActiveModelsRepository.INSTANCE;
        KClass orCreateKotlinClass = Reflection.getOrCreateKotlinClass(SettingsModel.class);
        Activity activity = ExtensionsKt.getActivity(this);
        Intrinsics.checkNotNull(activity);
        this.settingsModel = (SettingsModel) activeModelsRepository.get(orCreateKotlinClass, activity);
        this.vb.tvVersion.setText(context.getString(R.string.version_s, BuildConfig.VERSION_NAME));
        PackageInfo currentWebViewPackage = WebViewCompat.getCurrentWebViewPackage(context);
        StringBuilder sb = new StringBuilder();
        String str = currentWebViewPackage != null ? currentWebViewPackage.packageName : null;
        String str2 = EnvironmentCompat.MEDIA_UNKNOWN;
        sb.append(str == null ? EnvironmentCompat.MEDIA_UNKNOWN : str);
        sb.append(':');
        String str3 = currentWebViewPackage != null ? currentWebViewPackage.versionName : null;
        sb.append(str3 != null ? str3 : str2);
        this.vb.tvWebViewVersion.setText(sb.toString());
        this.vb.tvLink.setText(Html.fromHtml("<p><u>https://github.com/truefedex/tv-bro</u></p>"));
        this.vb.tvLink.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                VersionSettingsView.m156_init_$lambda0(VersionSettingsView.this, view);
            }
        });
        this.vb.tvUkraine.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                VersionSettingsView.m157_init_$lambda1(VersionSettingsView.this, view);
            }
        });
        this.vb.chkAutoCheckUpdates.setChecked(this.settingsModel.getNeedAutockeckUpdates());
        this.vb.chkAutoCheckUpdates.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public final void onCheckedChanged(CompoundButton compoundButton, boolean z) {
                VersionSettingsView.m158_init_$lambda2(VersionSettingsView.this, compoundButton, z);
            }
        });
        AdapterView.OnItemSelectedListener onItemSelectedListener = new AdapterView.OnItemSelectedListener() {
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                Intrinsics.checkNotNullParameter(parent, "parent");
            }

            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Intrinsics.checkNotNullParameter(parent, "parent");
                Intrinsics.checkNotNullParameter(view, "view");
                UpdateChecker.UpdateCheckResult versionCheckResult = VersionSettingsView.this.getSettingsModel().getUpdateChecker().getVersionCheckResult();
                Intrinsics.checkNotNull(versionCheckResult);
                String str4 = versionCheckResult.getAvailableChannels()[position];
                if (Intrinsics.areEqual(str4, VersionSettingsView.this.getSettingsModel().getUpdateChannel())) {
                    return;
                }
                VersionSettingsView.this.getSettingsModel().saveUpdateChannel(str4);
                SettingsModel settingsModel = VersionSettingsView.this.getSettingsModel();
                final VersionSettingsView versionSettingsView = VersionSettingsView.this;
                settingsModel.checkUpdate(true, new Function0<Unit>() {
                    {
                        super(0);
                    }

                    @Override
                    public Unit invoke() {
                        invoke2();
                        return Unit.INSTANCE;
                    }

                    public final void invoke2() {
                        VersionSettingsView.this.updateUIVisibility();
                    }
                });
            }
        };
        this.updateChannelSelectedListener = onItemSelectedListener;
        this.vb.spUpdateChannel.setOnItemSelectedListener(onItemSelectedListener);
        this.vb.btnUpdate.setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                VersionSettingsView.m159_init_$lambda3(VersionSettingsView.this, view);
            }
        });
        updateUIVisibility();
    }

    public final SettingsModel getSettingsModel() {
        return this.settingsModel;
    }

    public final void setSettingsModel(SettingsModel settingsModel) {
        Intrinsics.checkNotNullParameter(settingsModel, "<set-?>");
        this.settingsModel = settingsModel;
    }

    public final Callback getCallback() {
        return this.callback;
    }

    public final void setCallback(Callback callback) {
        this.callback = callback;
    }

    public static final void m156_init_$lambda0(VersionSettingsView this$0, View view) {
        Intrinsics.checkNotNullParameter(this$0, "this$0");
        this$0.loadUrl(this$0.vb.tvLink.getText().toString());
    }

    public static final void m157_init_$lambda1(VersionSettingsView this$0, View view) {
        Intrinsics.checkNotNullParameter(this$0, "this$0");
        this$0.loadUrl("https://tv-bro-3546c.web.app/msg001.html");
    }

    public static final void m158_init_$lambda2(VersionSettingsView this$0, CompoundButton compoundButton, boolean z) {
        Intrinsics.checkNotNullParameter(this$0, "this$0");
        this$0.settingsModel.saveAutoCheckUpdates(z);
        this$0.updateUIVisibility();
    }

    public static final void m159_init_$lambda3(VersionSettingsView this$0, View view) {
        Intrinsics.checkNotNullParameter(this$0, "this$0");
        Callback callback = this$0.callback;
        if (callback != null) {
            callback.onNeedToCloseSettings();
        }
        SettingsModel settingsModel = this$0.settingsModel;
        Activity activity = ExtensionsKt.getActivity(this$0);
        Objects.requireNonNull(activity, "null cannot be cast to non-null type com.phlox.tvwebbrowser.activity.main.MainActivity");
        settingsModel.showUpdateDialogIfNeeded((MainActivity) activity, true);
    }

    private final void loadUrl(String url) {
        Callback callback = this.callback;
        if (callback != null) {
            callback.onNeedToCloseSettings();
        }
        VersionSettingsView versionSettingsView = this;
        Intent intent = new Intent(ExtensionsKt.getActivity(versionSettingsView), (Class<?>) (this.settingsModel.getConfig().getIncognitoMode() ? IncognitoModeMainActivity.class : MainActivity.class));
        intent.setData(Uri.parse(url));
        Activity activity = ExtensionsKt.getActivity(versionSettingsView);
        if (activity != null) {
            activity.startActivity(intent);
        }
    }

    public final void updateUIVisibility() {
        if (this.settingsModel.getUpdateChecker().getVersionCheckResult() == null) {
            this.settingsModel.checkUpdate(false, new Function0<Unit>() {
                {
                    super(0);
                }

                @Override
                public Unit invoke() {
                    invoke2();
                    return Unit.INSTANCE;
                }

                public final void invoke2() {
                    if (VersionSettingsView.this.getSettingsModel().getUpdateChecker().getVersionCheckResult() != null) {
                        VersionSettingsView.this.updateUIVisibility();
                    }
                }
            });
            return;
        }
        int i = 4;
        this.vb.tvUpdateChannel.setVisibility(this.settingsModel.getNeedAutockeckUpdates() ? 0 : 4);
        this.vb.spUpdateChannel.setVisibility(this.settingsModel.getNeedAutockeckUpdates() ? 0 : 4);
        if (this.settingsModel.getNeedAutockeckUpdates()) {
            Context context = getContext();
            UpdateChecker.UpdateCheckResult versionCheckResult = this.settingsModel.getUpdateChecker().getVersionCheckResult();
            Intrinsics.checkNotNull(versionCheckResult);
            ArrayAdapter arrayAdapter = new ArrayAdapter(context, android.R.layout.simple_spinner_item, versionCheckResult.getAvailableChannels());
            arrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            this.vb.spUpdateChannel.setAdapter((SpinnerAdapter) arrayAdapter);
            UpdateChecker.UpdateCheckResult versionCheckResult2 = this.settingsModel.getUpdateChecker().getVersionCheckResult();
            Intrinsics.checkNotNull(versionCheckResult2);
            int indexOf = ArraysKt.indexOf(versionCheckResult2.getAvailableChannels(), this.settingsModel.getUpdateChannel());
            if (indexOf != -1) {
                this.vb.spUpdateChannel.setOnItemSelectedListener(null);
                this.vb.spUpdateChannel.setSelection(indexOf);
                this.vb.spUpdateChannel.setOnItemSelectedListener(this.updateChannelSelectedListener);
            }
        }
        boolean hasUpdate = this.settingsModel.getUpdateChecker().hasUpdate();
        this.vb.tvNewVersion.setVisibility((this.settingsModel.getNeedAutockeckUpdates() && hasUpdate) ? 0 : 4);
        Button button = this.vb.btnUpdate;
        if (this.settingsModel.getNeedAutockeckUpdates() && hasUpdate) {
            i = 0;
        }
        button.setVisibility(i);
        if (hasUpdate) {
            TextView textView = this.vb.tvNewVersion;
            Context context2 = getContext();
            UpdateChecker.UpdateCheckResult versionCheckResult3 = this.settingsModel.getUpdateChecker().getVersionCheckResult();
            Intrinsics.checkNotNull(versionCheckResult3);
            textView.setText(context2.getString(R.string.new_version_available_s, versionCheckResult3.getLatestVersionName()));
        }
    }
}