discord-jadx/app/src/main/java/com/discord/utilities/system/RemoteIntentService.java

175 lines
6.4 KiB
Java

package com.discord.utilities.system;
import android.app.IntentService;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.os.Messenger;
import android.os.Process;
import android.util.Log;
import c.d.b.a.a;
import com.discord.utilities.logging.Logger;
import com.discord.utilities.logging.LoggingProvider;
import com.discord.utilities.time.NtpClock;
import d0.z.d.m;
import kotlin.jvm.internal.DefaultConstructorMarker;
/* compiled from: RemoteIntentService.kt */
public abstract class RemoteIntentService extends IntentService {
public static final Companion Companion = new Companion(null);
private static final String MESSENGER_KEY = "com.discord.utilities.analytics.RemoteIntentService.MESSENGER_KEY";
private static final String TAG = "RemoteIntentService";
private static final int WHAT_CALLBACK_RESULT = 1;
private final String name;
/* compiled from: RemoteIntentService.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
public static final /* synthetic */ String access$messageToString(Companion companion, Message message) {
return companion.messageToString(message);
}
private final String messageToString(Message message) {
StringBuilder K = a.K("Message(what=");
K.append(message.what);
K.append(", arg1=");
K.append(message.arg1);
K.append(", arg2=");
K.append(message.arg2);
K.append(", obj=");
K.append(message.obj);
K.append(", replyTo=");
K.append(message.replyTo);
K.append(')');
return K.toString();
}
public final void startRemoteServiceWithCallback(Context context, Class<?> cls, IpcCallback ipcCallback) {
m.checkNotNullParameter(context, "context");
m.checkNotNullParameter(cls, "serviceClass");
m.checkNotNullParameter(ipcCallback, "callback");
Logger logger = LoggingProvider.INSTANCE.get();
StringBuilder K = a.K("Starting service in remote process: ");
K.append(cls.getSimpleName());
K.append(", app pid=");
K.append(Process.myPid());
Logger.d$default(logger, "RemoteIntentService", K.toString(), null, 4, null);
Intent intent = new Intent(context, cls);
Bundle bundle = new Bundle();
bundle.putParcelable("com.discord.utilities.analytics.RemoteIntentService.MESSENGER_KEY", ipcCallback.getMessenger());
intent.putExtras(bundle);
context.startService(intent);
}
}
/* compiled from: RemoteIntentService.kt */
public static abstract class IpcCallback {
private final Handler handler;
private final String name;
public IpcCallback(String str, Looper looper) {
m.checkNotNullParameter(str, "name");
m.checkNotNullParameter(looper, "callbackLooper");
this.name = str;
this.handler = new Handler(looper, new RemoteIntentService$IpcCallback$handler$1(this));
}
public static final /* synthetic */ String access$getName$p(IpcCallback ipcCallback) {
return ipcCallback.name;
}
public final Messenger getMessenger() {
return new Messenger(this.handler);
}
public abstract void onFailure(Throwable th);
public abstract void onSuccess(Bundle bundle);
}
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public RemoteIntentService(String str) {
super(str);
m.checkNotNullParameter(str, "name");
this.name = str;
}
public abstract Bundle doWork(Intent intent);
@Override // android.app.IntentService, android.app.Service
public final void onCreate() {
super.onCreate();
StringBuilder H = a.H('[');
H.append(this.name);
H.append("] created, remote pid=");
H.append(Process.myPid());
Log.d("RemoteIntentService", H.toString());
}
@Override // android.app.IntentService, android.app.Service
public final void onDestroy() {
StringBuilder H = a.H('[');
H.append(this.name);
H.append("] destroyed");
Log.d("RemoteIntentService", H.toString());
super.onDestroy();
}
@Override // android.app.IntentService
public final void onHandleIntent(Intent intent) {
Bundle th;
StringBuilder H = a.H('[');
H.append(this.name);
H.append("] onHandleIntent() start, pid=");
H.append(Process.myPid());
Log.d("RemoteIntentService", H.toString());
if (intent == null) {
StringBuilder H2 = a.H('[');
H2.append(this.name);
H2.append("] null intent");
Log.d("RemoteIntentService", H2.toString());
return;
}
NtpClock ntpClock = new NtpClock(c.m.a.a.a(this, null, null, 0, 0, 0, 62));
long currentTimeMillis = ntpClock.currentTimeMillis();
try {
th = doWork(intent);
} catch (Throwable th2) {
th = th2;
StringBuilder H3 = a.H('[');
H3.append(this.name);
H3.append("] doWork returned error: ");
H3.append(th);
Log.e("RemoteIntentService", H3.toString());
}
long currentTimeMillis2 = ntpClock.currentTimeMillis() - currentTimeMillis;
StringBuilder H4 = a.H('[');
H4.append(this.name);
H4.append("] doWork finished: ");
H4.append(currentTimeMillis2);
H4.append(" ms");
Log.d("RemoteIntentService", H4.toString());
Message obtain = Message.obtain();
obtain.what = 1;
obtain.arg1 = (int) currentTimeMillis2;
obtain.obj = th;
Messenger messenger = (Messenger) intent.getParcelableExtra("com.discord.utilities.analytics.RemoteIntentService.MESSENGER_KEY");
if (messenger != null) {
messenger.send(obtain);
return;
}
StringBuilder H5 = a.H('[');
H5.append(this.name);
H5.append("] reply-to Messenger not set by caller");
Log.e("RemoteIntentService", H5.toString());
}
}