正在查看: 安讯通-企业级安全协同工具 v1.0.50 应用的 RemoteService.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 安讯通-企业级安全协同工具 v1.0.50 应用的 RemoteService.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.gyf.xtfcactus.service;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Build;
import android.os.IBinder;
import android.os.Process;
import com.getui.gtc.a.f$$ExternalSyntheticApiModelOutline0;
import com.gyf.xtfcactus.entity.CactusConfig;
import com.gyf.xtfcactus.entity.Constant;
import com.gyf.xtfcactus.entity.ICactusInterface;
import com.gyf.xtfcactus.exception.CactusUncaughtExceptionHandler;
import com.gyf.xtfcactus.ext.CactusExtKt;
import com.gyf.xtfcactus.ext.ConfigExtKt;
import com.huawei.hms.framework.common.hianalytics.CrashHianalyticsData;
import com.huawei.hms.push.constant.RemoteMessageConst;
import com.huawei.hms.support.api.entity.core.CommonCode;
import com.igexin.push.core.b;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.Intrinsics;
@Metadata(d1 = {"\u0000c\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\t\n\u0002\u0018\u0002\n\u0002\b\u0003*\u0001\u000f\u0018\u00002\u00020\u00012\u00020\u0002:\u00010B\u0005¢\u0006\u0002\u0010\u0003J\b\u0010\u0013\u001a\u00020\u0014H\u0016J\u0006\u0010\u0015\u001a\u00020\u0001J\u0014\u0010\u0016\u001a\u0004\u0018\u00010\u00172\b\u0010\u0018\u001a\u0004\u0018\u00010\u0019H\u0016J\b\u0010\u001a\u001a\u00020\u0014H\u0016J\b\u0010\u001b\u001a\u00020\u0014H\u0016J\"\u0010\u001c\u001a\u00020\u00072\b\u0010\u0018\u001a\u0004\u0018\u00010\u00192\u0006\u0010\u001d\u001a\u00020\u00072\u0006\u0010\u001e\u001a\u00020\u0007H\u0016Jn\u0010\u001f\u001a\u00020\u00142\u0006\u0010 \u001a\u00020\u00012\u0006\u0010!\u001a\u00020\"2\b\u0010#\u001a\u0004\u0018\u00010$2\b\u0010%\u001a\u0004\u0018\u00010$2\u0006\u0010&\u001a\u00020\u000b2\u0006\u0010'\u001a\u00020\u000b2\u0006\u0010(\u001a\u00020\u00072\b\u0010)\u001a\u0004\u0018\u00010$2\b\u0010*\u001a\u0004\u0018\u00010$2\u0006\u0010+\u001a\u00020\u00072\u0006\u0010,\u001a\u00020\u00072\u0006\u0010-\u001a\u00020.J\b\u0010/\u001a\u00020\u0014H\u0002R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082.¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\b\u001a\u0004\u0018\u00010\tX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u000bX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u000bX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u000bX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u000e\u001a\u00020\u000fX\u0082\u0004¢\u0006\u0004\n\u0002\u0010\u0010R\u0012\u0010\u0011\u001a\u00060\u0012R\u00020\u0000X\u0082.¢\u0006\u0002\n\u0000¨\u00061"}, d2 = {"Lcom/gyf/xtfcactus/service/RemoteService;", "Landroid/app/Service;", "Landroid/os/IBinder$DeathRecipient;", "()V", "mCactusConfig", "Lcom/gyf/xtfcactus/entity/CactusConfig;", "mConnectionTimes", "", "mIInterface", "Lcom/gyf/xtfcactus/entity/ICactusInterface;", "mIsBind", "", "mIsDeathBind", "mIsStop", "mServiceConnection", "com/gyf/xtfcactus/service/RemoteService$mServiceConnection$1", "Lcom/gyf/xtfcactus/service/RemoteService$mServiceConnection$1;", "remoteBinder", "Lcom/gyf/xtfcactus/service/RemoteService$RemoteBinder;", "binderDied", "", "getServie", "onBind", "Landroid/os/IBinder;", CommonCode.Resolution.HAS_RESOLUTION_FROM_APK, "Landroid/content/Intent;", "onCreate", "onDestroy", "onStartCommand", "flags", "startId", "showNofation", "service", "activity", "Landroid/content/Context;", RemoteMessageConst.Notification.CHANNEL_ID, "", "channelName", "channelSound", "showBrage", b.C, "title", "content", "count", RemoteMessageConst.Notification.ICON, "ac", "Landroid/app/PendingIntent;", "stopBind", "RemoteBinder", "cactus_release"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class RemoteService extends Service implements IBinder.DeathRecipient {
private CactusConfig mCactusConfig;
private ICactusInterface mIInterface;
private boolean mIsBind;
private boolean mIsDeathBind;
private boolean mIsStop;
private RemoteBinder remoteBinder;
private int mConnectionTimes = CactusExtKt.getSTimes();
private final RemoteService$mServiceConnection$1 mServiceConnection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
boolean z;
CactusExtKt.log("onServiceDisconnected");
z = RemoteService.this.mIsStop;
if (z) {
return;
}
RemoteService remoteService = RemoteService.this;
RemoteService remoteService2 = remoteService;
RemoteService$mServiceConnection$1 remoteService$mServiceConnection$1 = this;
CactusConfig cactusConfig = remoteService.mCactusConfig;
if (cactusConfig == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig = null;
}
remoteService.mIsBind = CactusExtKt.startLocalService$default(remoteService2, remoteService$mServiceConnection$1, cactusConfig, false, 4, null);
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
boolean z;
CactusExtKt.log("onServiceConnected");
if (service != null) {
RemoteService remoteService = RemoteService.this;
ICactusInterface asInterface = ICactusInterface.Stub.asInterface(service);
CactusConfig cactusConfig = null;
if (asInterface == null) {
asInterface = null;
} else if (asInterface.asBinder().isBinderAlive() && asInterface.asBinder().pingBinder()) {
try {
remoteService.mConnectionTimes++;
int unused = remoteService.mConnectionTimes;
CactusConfig cactusConfig2 = remoteService.mCactusConfig;
if (cactusConfig2 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
} else {
cactusConfig = cactusConfig2;
}
asInterface.wakeup(cactusConfig);
asInterface.connectionTimes(remoteService.mConnectionTimes);
z = remoteService.mIsDeathBind;
if (!z) {
remoteService.mIsDeathBind = true;
asInterface.asBinder().linkToDeath(remoteService, 0);
}
} catch (Exception unused2) {
remoteService.mConnectionTimes--;
int unused3 = remoteService.mConnectionTimes;
}
}
remoteService.mIInterface = asInterface;
}
}
};
@Override
public void binderDied() {
CactusExtKt.log("binderDied");
try {
CactusExtKt.unlinkToDeath(this, this.mIInterface, new Function0<Unit>() {
{
super(0);
}
public Object invoke() {
m290invoke();
return Unit.INSTANCE;
}
public final void m290invoke() {
boolean z;
RemoteService$mServiceConnection$1 remoteService$mServiceConnection$1;
RemoteService.this.mIsDeathBind = false;
RemoteService.this.mIInterface = null;
z = RemoteService.this.mIsStop;
if (z) {
return;
}
RemoteService remoteService = RemoteService.this;
RemoteService remoteService2 = remoteService;
remoteService$mServiceConnection$1 = remoteService.mServiceConnection;
RemoteService$mServiceConnection$1 remoteService$mServiceConnection$12 = remoteService$mServiceConnection$1;
CactusConfig cactusConfig = RemoteService.this.mCactusConfig;
if (cactusConfig == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig = null;
}
remoteService.mIsBind = CactusExtKt.startLocalService$default(remoteService2, remoteService$mServiceConnection$12, cactusConfig, false, 4, null);
}
});
} catch (Exception unused) {
}
}
@Override
public void onCreate() {
super.onCreate();
CactusUncaughtExceptionHandler.INSTANCE.getInstance();
try {
CactusExtKt.log("handleNotification");
CactusConfig config = ConfigExtKt.getConfig(this);
this.mCactusConfig = config;
if (config == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
}
RemoteService remoteService = this;
Context applicationContext = getApplicationContext();
Intrinsics.checkNotNullExpressionValue(applicationContext, "applicationContext");
StringBuilder sb = new StringBuilder();
CactusConfig cactusConfig = this.mCactusConfig;
CactusConfig cactusConfig2 = null;
if (cactusConfig == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig = null;
}
sb.append(cactusConfig.getNotificationConfig().getChannelId());
sb.append(":process");
String sb2 = sb.toString();
StringBuilder sb3 = new StringBuilder();
CactusConfig cactusConfig3 = this.mCactusConfig;
if (cactusConfig3 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig3 = null;
}
sb3.append(cactusConfig3.getNotificationConfig().getChannelName());
sb3.append(":process");
String sb4 = sb3.toString();
CactusConfig cactusConfig4 = this.mCactusConfig;
if (cactusConfig4 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig4 = null;
}
int serviceId = cactusConfig4.getNotificationConfig().getServiceId();
CactusConfig cactusConfig5 = this.mCactusConfig;
if (cactusConfig5 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig5 = null;
}
String title = cactusConfig5.getNotificationConfig().getTitle();
CactusConfig cactusConfig6 = this.mCactusConfig;
if (cactusConfig6 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig6 = null;
}
String content = cactusConfig6.getNotificationConfig().getContent();
CactusConfig cactusConfig7 = this.mCactusConfig;
if (cactusConfig7 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig7 = null;
}
int smallIcon = cactusConfig7.getNotificationConfig().getSmallIcon();
CactusConfig cactusConfig8 = this.mCactusConfig;
if (cactusConfig8 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
} else {
cactusConfig2 = cactusConfig8;
}
PendingIntent pendingIntent = cactusConfig2.getNotificationConfig().getPendingIntent();
Intrinsics.checkNotNull(pendingIntent);
showNofation(remoteService, applicationContext, sb2, sb4, false, false, serviceId, title, content, 0, smallIcon, pendingIntent);
} catch (Exception e) {
e.printStackTrace();
}
CactusExtKt.registerStopReceiver(this, new Function0<Unit>() {
{
super(0);
}
public Object invoke() {
m291invoke();
return Unit.INSTANCE;
}
public final void m291invoke() {
RemoteService.this.mIsStop = true;
CactusExtKt.setSTimes(RemoteService.this.mConnectionTimes);
CactusExtKt.stopService(RemoteService.this);
}
});
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (intent != null) {
try {
CactusConfig cactusConfig = (CactusConfig) intent.getParcelableExtra(Constant.CACTUS_CONFIG);
if (cactusConfig != null) {
CactusExtKt.setSCactusConfig(cactusConfig);
this.mCactusConfig = cactusConfig;
}
} catch (Exception e) {
e.printStackTrace();
return 1;
}
}
RemoteService remoteService = this;
Context applicationContext = getApplicationContext();
Intrinsics.checkNotNullExpressionValue(applicationContext, "applicationContext");
StringBuilder sb = new StringBuilder();
CactusConfig cactusConfig2 = this.mCactusConfig;
CactusConfig cactusConfig3 = null;
if (cactusConfig2 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig2 = null;
}
sb.append(cactusConfig2.getNotificationConfig().getChannelId());
sb.append(":process");
String sb2 = sb.toString();
StringBuilder sb3 = new StringBuilder();
CactusConfig cactusConfig4 = this.mCactusConfig;
if (cactusConfig4 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig4 = null;
}
sb3.append(cactusConfig4.getNotificationConfig().getChannelName());
sb3.append(":process");
String sb4 = sb3.toString();
CactusConfig cactusConfig5 = this.mCactusConfig;
if (cactusConfig5 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig5 = null;
}
int serviceId = cactusConfig5.getNotificationConfig().getServiceId();
CactusConfig cactusConfig6 = this.mCactusConfig;
if (cactusConfig6 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig6 = null;
}
String title = cactusConfig6.getNotificationConfig().getTitle();
CactusConfig cactusConfig7 = this.mCactusConfig;
if (cactusConfig7 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig7 = null;
}
String content = cactusConfig7.getNotificationConfig().getContent();
CactusConfig cactusConfig8 = this.mCactusConfig;
if (cactusConfig8 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig8 = null;
}
int smallIcon = cactusConfig8.getNotificationConfig().getSmallIcon();
CactusConfig cactusConfig9 = this.mCactusConfig;
if (cactusConfig9 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig9 = null;
}
PendingIntent pendingIntent = cactusConfig9.getNotificationConfig().getPendingIntent();
Intrinsics.checkNotNull(pendingIntent);
showNofation(remoteService, applicationContext, sb2, sb4, false, false, serviceId, title, content, 0, smallIcon, pendingIntent);
RemoteService remoteService2 = this;
RemoteService$mServiceConnection$1 remoteService$mServiceConnection$1 = this.mServiceConnection;
CactusConfig cactusConfig10 = this.mCactusConfig;
if (cactusConfig10 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
} else {
cactusConfig3 = cactusConfig10;
}
this.mIsBind = CactusExtKt.startLocalService(remoteService2, remoteService$mServiceConnection$1, cactusConfig3, false);
CactusExtKt.log("RemoteService is running");
return 1;
}
@Override
public void onDestroy() {
super.onDestroy();
if (Build.VERSION.SDK_INT >= 24) {
stopForeground(1);
} else {
stopForeground(true);
}
stopBind();
CactusExtKt.log("RemoteService has stopped");
Process.killProcess(Process.myPid());
System.exit(10);
throw new RuntimeException("System.exit returned normally, while it was supposed to halt JVM.");
}
public final Service getServie() {
return this;
}
@Override
public IBinder onBind(Intent intent) {
RemoteBinder remoteBinder = new RemoteBinder();
this.remoteBinder = remoteBinder;
return remoteBinder;
}
@Metadata(d1 = {"\u0000 \n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\b\u0086\u0004\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006H\u0016J\u0010\u0010\u0007\u001a\u00020\u00042\u0006\u0010\b\u001a\u00020\tH\u0016¨\u0006\n"}, d2 = {"Lcom/gyf/xtfcactus/service/RemoteService$RemoteBinder;", "Lcom/gyf/xtfcactus/entity/ICactusInterface$Stub;", "(Lcom/gyf/xtfcactus/service/RemoteService;)V", "connectionTimes", "", CrashHianalyticsData.TIME, "", "wakeup", "config", "Lcom/gyf/xtfcactus/entity/CactusConfig;", "cactus_release"}, k = 1, mv = {1, 6, 0}, xi = 48)
public final class RemoteBinder extends ICactusInterface.Stub {
public RemoteBinder() {
}
@Override
public void wakeup(CactusConfig config) {
Intrinsics.checkNotNullParameter(config, "config");
RemoteService.this.mCactusConfig = config;
RemoteService remoteService = RemoteService.this;
Service servie = remoteService.getServie();
Context applicationContext = RemoteService.this.getApplicationContext();
Intrinsics.checkNotNullExpressionValue(applicationContext, "applicationContext");
StringBuilder sb = new StringBuilder();
CactusConfig cactusConfig = RemoteService.this.mCactusConfig;
CactusConfig cactusConfig2 = null;
if (cactusConfig == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
cactusConfig = null;
}
sb.append(cactusConfig.getNotificationConfig().getChannelId());
sb.append(":process");
String sb2 = sb.toString();
StringBuilder sb3 = new StringBuilder();
CactusConfig cactusConfig3 = RemoteService.this.mCactusConfig;
if (cactusConfig3 == null) {
Intrinsics.throwUninitializedPropertyAccessException("mCactusConfig");
} else {
cactusConfig2 = cactusConfig3;
}
sb3.append(cactusConfig2.getNotificationConfig().getChannelName());
sb3.append(":process");
String sb4 = sb3.toString();
int serviceId = config.getNotificationConfig().getServiceId();
String title = config.getNotificationConfig().getTitle();
String content = config.getNotificationConfig().getContent();
int smallIcon = config.getNotificationConfig().getSmallIcon();
PendingIntent pendingIntent = config.getNotificationConfig().getPendingIntent();
Intrinsics.checkNotNull(pendingIntent);
remoteService.showNofation(servie, applicationContext, sb2, sb4, false, false, serviceId, title, content, 0, smallIcon, pendingIntent);
}
@Override
public void connectionTimes(int time) {
RemoteService.this.mConnectionTimes = time;
if (RemoteService.this.mConnectionTimes > 4 && RemoteService.this.mConnectionTimes % 2 == 1) {
RemoteService remoteService = RemoteService.this;
remoteService.mConnectionTimes++;
int unused = remoteService.mConnectionTimes;
}
CactusExtKt.setSTimes(RemoteService.this.mConnectionTimes);
}
}
private final void stopBind() {
try {
if (this.mIsDeathBind) {
this.mIsDeathBind = false;
CactusExtKt.unlinkToDeath$default(this, this.mIInterface, null, 2, null);
}
if (this.mIsBind) {
unbindService(this.mServiceConnection);
this.mIsBind = false;
}
} catch (Exception unused) {
}
}
public final void showNofation(Service service, Context activity, String channelId, String channelName, boolean channelSound, boolean showBrage, int id, String title, String content, int count, int icon, PendingIntent ac) {
Intrinsics.checkNotNullParameter(service, "service");
Intrinsics.checkNotNullParameter(activity, "activity");
Intrinsics.checkNotNullParameter(ac, "ac");
Object systemService = activity.getSystemService("notification");
if (systemService == null) {
throw new NullPointerException("null cannot be cast to non-null type android.app.NotificationManager");
}
NotificationManager notificationManager = (NotificationManager) systemService;
try {
Notification.Builder smallIcon = new Notification.Builder(activity).setContentTitle(title).setContentText(content).setContentIntent(ac).setSmallIcon(icon);
Intrinsics.checkNotNullExpressionValue(smallIcon, "Builder(activity)\n … .setSmallIcon(icon)");
if (Build.VERSION.SDK_INT >= 26) {
f$$ExternalSyntheticApiModelOutline0.m262m$2();
NotificationChannel m = f$$ExternalSyntheticApiModelOutline0.m(channelId, channelName, 3);
m.setShowBadge(showBrage);
if (!channelSound) {
m.setSound(null, null);
}
notificationManager.createNotificationChannel(m);
smallIcon.setChannelId(channelId);
}
Notification build = smallIcon.build();
Intrinsics.checkNotNull(build);
notificationManager.notify(id, build);
service.startForeground(id, build);
} catch (Exception e) {
e.printStackTrace();
}
}
}