正在查看: 星辰VPN v1.2.3 应用的 TileService.java JAVA 源代码文件
本页面展示 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);
}
}