正在查看: xDrip+ v04633772025.07.16 应用的 RegistrationIntentService.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: xDrip+ v04633772025.07.16 应用的 RegistrationIntentService.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.eveningoutpost.dexdrip;
import android.app.IntentService;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.PowerManager;
import android.preference.PreferenceManager;
import android.util.Log;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import androidx.work.Constraints;
import androidx.work.NetworkType;
import androidx.work.OneTimeWorkRequest;
import androidx.work.PeriodicWorkRequest;
import androidx.work.WorkManager;
import com.eveningoutpost.dexdrip.models.JoH;
import com.eveningoutpost.dexdrip.services.PlusSyncService;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.messaging.FirebaseMessaging;
import java.util.concurrent.TimeUnit;
import org.json.JSONObject;
public class RegistrationIntentService extends IntentService {
private static final String[] PREDEF = {"global"};
private static final String[] PREDEF2 = {"global2"};
public RegistrationIntentService() {
super("jamorham regService");
}
@Override
protected void onHandleIntent(Intent intent) {
SharedPreferences defaultSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
PowerManager.WakeLock wakeLock = JoH.getWakeLock("registration-intent", 120000);
try {
try {
String token = FirebaseInstanceId.getInstance().getToken();
try {
String string = new JSONObject(token).getString("token");
if (string.length() > 10) {
token = string;
}
Log.d("jamorham regService", "Used json method");
} catch (Exception unused) {
}
Log.i("jamorham regService", "GCM Registration Token: " + token);
GcmActivity.token = token;
subscribeTpcs(token);
sendRegistrationToServer(token);
defaultSharedPreferences.edit().putBoolean("GCMsentTokenToServer", true).apply();
LocalBroadcastManager.getInstance(this).sendBroadcast(new Intent("GCMregistrationComplete"));
} catch (Exception e) {
Log.e("jamorham regService", "Failed to complete token refresh", e);
defaultSharedPreferences.edit().putBoolean("GCMsentTokenToServer", false).apply();
}
} finally {
JoH.releaseWakeLock(wakeLock);
}
}
private synchronized void sendRegistrationToServer(String str) {
try {
Log.d("jamorham regService", "Scheduling tasks");
PeriodicWorkRequest build = new PeriodicWorkRequest.Builder(TaskService.class, 12L, TimeUnit.HOURS).addTag("unmetered").setConstraints(new Constraints.Builder().setRequiredNetworkType(NetworkType.UNMETERED).build()).build();
OneTimeWorkRequest build2 = new OneTimeWorkRequest.Builder(TaskService.class).addTag("unmetered").build();
WorkManager.getInstance(getApplicationContext()).cancelAllWorkByTag("unmetered");
WorkManager.getInstance(getApplicationContext()).enqueue(build2);
WorkManager.getInstance(getApplicationContext()).enqueue(build);
PlusSyncService.startSyncService(getApplicationContext(), "RegistrationToServer");
GcmActivity.queueCheckOld(getApplicationContext());
} catch (Exception e) {
Log.e("jamorham regService", "Exception in sendRegistration: " + e.toString());
}
}
private void subscribeTpcs(String str) {
FirebaseMessaging.getInstance().subscribeToTopic(GcmActivity.myIdentity());
for (String str2 : PREDEF) {
FirebaseMessaging.getInstance().unsubscribeFromTopic(str2);
}
for (String str3 : PREDEF2) {
FirebaseMessaging.getInstance().subscribeToTopic(str3);
}
}
}