导航菜单

页面标题

页面副标题

星辰VPN v1.2.3 - TileService.java 源代码

正在查看: 星辰VPN v1.2.3 应用的 TileService.java JAVA 源代码文件

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


package com.moetor.app;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.drawable.Icon;
import android.service.quicksettings.Tile;
import androidx.annotation.RequiresApi;
import com.github.kr328.clash.common.constants.Intents;
import com.github.kr328.clash.common.constants.Permissions;
import com.moetor.R$drawable;
import com.moetor.remote.StatusClient;
import com.moetor.utils.ClashKt;
import kotlin.Metadata;
import kotlin.Unit;

@RequiresApi(24)
@Metadata(d1 = {"\u0000'\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\b\u0003\n\u0002\u0010\u0002\n\u0002\b\u0004*\u0001\b\b\u0007\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\b\u0010\n\u001a\u00020\u000bH\u0016J\b\u0010\f\u001a\u00020\u000bH\u0016J\b\u0010\r\u001a\u00020\u000bH\u0016J\b\u0010\u000e\u001a\u00020\u000bH\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0006X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u0007\u001a\u00020\bX\u0082\u0004¢\u0006\u0004\n\u0002\u0010\t¨\u0006\u000f"}, d2 = {"Lcom/moetor/app/TileService;", "Landroid/service/quicksettings/TileService;", "()V", "clashRunning", "", "currentProfile", "", "receiver", "com/moetor/app/TileService$receiver$1", "Lcom/moetor/app/TileService$receiver$1;", "onClick", "", "onStartListening", "onStopListening", "updateTile", "app_maomaoRelease"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class TileService extends android.service.quicksettings.TileService {
    private boolean clashRunning;
    private String currentProfile = "";
    private final TileService$receiver$1 receiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent != null ? intent.getAction() : null;
            Intents intents = Intents.INSTANCE;
            if (kotlin.jvm.internal.b.d(action, intents.getACTION_CLASH_STARTED())) {
                TileService.this.clashRunning = true;
                TileService.this.currentProfile = "";
            } else {
                if (kotlin.jvm.internal.b.d(action, intents.getACTION_CLASH_STOPPED()) ? true : kotlin.jvm.internal.b.d(action, intents.getACTION_SERVICE_RECREATED())) {
                    TileService.this.clashRunning = false;
                    TileService.this.currentProfile = "";
                } else if (kotlin.jvm.internal.b.d(action, intents.getACTION_PROFILE_LOADED())) {
                    TileService tileService = TileService.this;
                    String currentProfile = new StatusClient(tileService).currentProfile();
                    tileService.currentProfile = currentProfile != null ? currentProfile : "";
                }
            }
            TileService.this.updateTile();
        }
    };

    public final void updateTile() {
        Tile qsTile = getQsTile();
        if (qsTile == null) {
            return;
        }
        qsTile.setState(this.clashRunning ? 2 : 1);
        CharSequence charSequence = this.currentProfile;
        if (charSequence.length() == 0) {
            charSequence = getText(2131886124);
        }
        qsTile.setLabel(charSequence);
        qsTile.setIcon(Icon.createWithResource(this, R$drawable.ic_notification_logo));
        qsTile.updateTile();
    }

    @Override
    public void onClick() {
        Tile qsTile = getQsTile();
        if (qsTile == null) {
            return;
        }
        int state = qsTile.getState();
        if (state == 1) {
            ClashKt.startClashService(this);
        } else {
            if (state != 2) {
                return;
            }
            ClashKt.stopClashService(this);
        }
    }

    @Override
    public void onStartListening() {
        super.onStartListening();
        TileService$receiver$1 tileService$receiver$1 = this.receiver;
        IntentFilter intentFilter = new IntentFilter();
        Intents intents = Intents.INSTANCE;
        intentFilter.addAction(intents.getACTION_CLASH_STARTED());
        intentFilter.addAction(intents.getACTION_CLASH_STOPPED());
        intentFilter.addAction(intents.getACTION_PROFILE_LOADED());
        intentFilter.addAction(intents.getACTION_SERVICE_RECREATED());
        Unit unit = Unit.INSTANCE;
        registerReceiver(tileService$receiver$1, intentFilter, Permissions.INSTANCE.getRECEIVE_SELF_BROADCASTS(), null);
        String currentProfile = new StatusClient(this).currentProfile();
        this.clashRunning = currentProfile != null;
        if (currentProfile == null) {
            currentProfile = "";
        }
        this.currentProfile = currentProfile;
        updateTile();
    }

    @Override
    public void onStopListening() {
        super.onStopListening();
        unregisterReceiver(this.receiver);
    }
}