导航菜单

页面标题

页面副标题

安讯通-企业级安全协同工具 v1.0.50 - RemoteService.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();
        }
    }
}