正在查看: Telegram v11.13.0 应用的 KeepAliveJob.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Telegram v11.13.0 应用的 KeepAliveJob.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package org.telegram.messenger;
import android.content.Intent;
import java.util.concurrent.CountDownLatch;
import org.telegram.messenger.support.JobIntentService;
public class KeepAliveJob extends JobIntentService {
private static volatile CountDownLatch countDownLatch;
private static volatile boolean startingJob;
private static final Object sync = new Object();
private static Runnable finishJobByTimeoutRunnable = new KeepAliveJob$$ExternalSyntheticLambda0();
public static void finishJob() {
Utilities.globalQueue.postRunnable(new KeepAliveJob$$ExternalSyntheticLambda0());
}
public static void finishJobInternal() {
synchronized (sync) {
try {
if (countDownLatch != null) {
if (BuildVars.LOGS_ENABLED) {
FileLog.d("finish keep-alive job");
}
countDownLatch.countDown();
}
if (startingJob) {
if (BuildVars.LOGS_ENABLED) {
FileLog.d("finish queued keep-alive job");
}
startingJob = false;
}
} catch (Throwable th) {
throw th;
}
}
}
public static void lambda$startJob$0() {
if (startingJob || countDownLatch != null) {
return;
}
try {
if (BuildVars.LOGS_ENABLED) {
FileLog.d("starting keep-alive job");
}
synchronized (sync) {
startingJob = true;
}
JobIntentService.enqueueWork(ApplicationLoader.applicationContext, KeepAliveJob.class, MediaDataController.MAX_STYLE_RUNS_COUNT, new Intent());
} catch (Exception unused) {
}
}
public static void startJob() {
Utilities.globalQueue.postRunnable(new Runnable() {
@Override
public final void run() {
KeepAliveJob.lambda$startJob$0();
}
});
}
@Override
protected void onHandleWork(Intent intent) {
synchronized (sync) {
try {
if (startingJob) {
countDownLatch = new CountDownLatch(1);
if (BuildVars.LOGS_ENABLED) {
FileLog.d("started keep-alive job");
}
Utilities.globalQueue.postRunnable(finishJobByTimeoutRunnable, 60000L);
try {
countDownLatch.await();
} catch (Throwable unused) {
}
Utilities.globalQueue.cancelRunnable(finishJobByTimeoutRunnable);
synchronized (sync) {
countDownLatch = null;
}
if (BuildVars.LOGS_ENABLED) {
FileLog.d("ended keep-alive job");
}
}
} catch (Throwable th) {
throw th;
}
}
}
}