正在查看: xDrip+ v04633772025.07.16 应用的 CompatibleApps.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: xDrip+ v04633772025.07.16 应用的 CompatibleApps.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.eveningoutpost.dexdrip.utilitymodels;
import android.R;
import android.app.Activity;
import android.app.ActivityManager;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Build;
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.NotificationCompat;
import com.eveningoutpost.dexdrip.Home;
import com.eveningoutpost.dexdrip.models.JoH;
import com.eveningoutpost.dexdrip.models.UserError;
import com.eveningoutpost.dexdrip.services.G5BaseService;
import com.eveningoutpost.dexdrip.utils.DexCollectionType;
import com.eveningoutpost.dexdrip.webservices.XdripWebService;
import com.eveningoutpost.dexdrip.xdrip;
public class CompatibleApps extends BroadcastReceiver {
public static final String TAG = "CompatibleApps";
public enum Feature {
UNKNOWN,
CHOICE,
CANCEL,
ENABLE_GARMIN_FEATURES,
ENABLE_ANDROIDAPS_FEATURE1,
ENABLE_ANDROIDAPS_FEATURE2,
ENABLE_FITBIT_FEATURES,
ENABLE_LIBRE_ALARM,
ENABLE_OOP,
ENABLE_WEAR_OS_SYNC,
HARD_RESET_TRANSMITTER,
ENABLE_TASKER,
FEATURE_X
}
public static void notifyAboutCompatibleApps() {
throw new UnsupportedOperationException("Method not decompiled: com.eveningoutpost.dexdrip.utilitymodels.CompatibleApps.notifyAboutCompatibleApps():void");
}
private static void enableAndroid10Workarounds() {
if (Build.VERSION.SDK_INT < 29 || PersistentStore.getBoolean("ANDROID_10_WORKAROUND_MARKER", false)) {
return;
}
UserError.Log.ueh(CompatibleApps.class.getSimpleName(), "Enabling default workarounds for Android 10+ setting minimize/avoid scanning to enabled");
Pref.setBoolean("ob1_minimize_scanning", true);
PersistentStore.setBoolean("ANDROID_10_WORKAROUND_MARKER", true);
}
private static void checkMemoryConstraints() {
((ActivityManager) xdrip.getAppContext().getSystemService("activity")).getMemoryInfo(new ActivityManager.MemoryInfo());
}
private static String gs(int i) {
return xdrip.getAppContext().getString(i);
}
private static int notify(String str, String str2, int i, Feature feature) {
String string = xdrip.getAppContext().getString(2131757056, str);
showNotification(string, str2, createActionIntent(i, i + 1, feature), createActionIntent(i, i + 2, Feature.CANCEL), createChoiceIntent(i, i + 3, feature, string, str2), i);
return i + 4;
}
public static void showNotification(String str, String str2, PendingIntent pendingIntent, PendingIntent pendingIntent2, PendingIntent pendingIntent3, int i) {
NotificationCompat.Builder addAction = new NotificationCompat.Builder(xdrip.getAppContext(), null).setSmallIcon(2131230884).setContentTitle(str).setContentText(str2).setContentIntent(pendingIntent3).setPriority(2).addAction(2131230987, gs(2131757071), pendingIntent).addAction(R.drawable.ic_delete, gs(2131755900), pendingIntent2);
NotificationManager notificationManager = (NotificationManager) xdrip.getAppContext().getSystemService("notification");
if (notificationManager != null) {
notificationManager.notify(i, XdripNotificationCompat.build(addAction));
} else {
JoH.static_toast_long("Cannot notify!");
}
}
public static PendingIntent createActionIntent(int i, int i2, Feature feature) {
return PendingIntent.getBroadcast(xdrip.getAppContext(), i2, new Intent(xdrip.getAppContext(), (Class<?>) CompatibleApps.class).putExtra("action", feature).putExtra("id", i).putExtra("auth", "4c27cfc5-cbe6-49d2-a28e-c676bde4caa7"), 134217728);
}
public static PendingIntent createChoiceIntent(int i, int i2, Feature feature, String str, String str2) {
return PendingIntent.getBroadcast(xdrip.getAppContext(), i2, new Intent(xdrip.getAppContext(), (Class<?>) CompatibleApps.class).putExtra("action", Feature.CHOICE).putExtra("choice", feature).putExtra("id", i).putExtra("title", str).putExtra("msg", str2).putExtra("auth", "4c27cfc5-cbe6-49d2-a28e-c676bde4caa7"), 134217728);
}
public static void showChoiceDialog(Activity activity, final Intent intent) {
if (intent == null) {
return;
}
try {
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setTitle(intent.getStringExtra("title"));
builder.setMessage(intent.getStringExtra("msg"));
builder.setPositiveButton(2131757071, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
try {
CompatibleApps.createActionIntent(intent.getIntExtra("id", 555), intent.getIntExtra("id", 555) + 1, (Feature) intent.getSerializableExtra("choice")).send();
} catch (Exception unused) {
}
}
});
builder.setNegativeButton(2131755900, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
});
builder.create().show();
} catch (Exception unused) {
JoH.static_toast_long("Error: in compatible apps dialog");
}
}
private static void cancelSourceNotification(Intent intent) {
JoH.cancelNotification(intent.getIntExtra("id", 555));
}
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action != null && action.equals("android.intent.action.PACKAGE_ADDED")) {
if (JoH.ratelimit("package-added-check", 10)) {
notifyAboutCompatibleApps();
return;
}
return;
}
String stringExtra = intent.getStringExtra("auth");
if (stringExtra != null && stringExtra.equals("4c27cfc5-cbe6-49d2-a28e-c676bde4caa7")) {
context.sendBroadcast(new Intent("android.intent.action.CLOSE_SYSTEM_DIALOGS"));
Feature feature = (Feature) intent.getSerializableExtra("action");
switch (AnonymousClass3.$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[feature.ordinal()]) {
case 1:
Intent intent2 = new Intent(context, (Class<?>) Home.class);
intent2.setFlags(268435456);
intent2.putExtra("choice-intent", "jamorham");
intent2.putExtra("choice-intentx", intent);
context.startActivity(intent2);
break;
case 2:
cancelSourceNotification(intent);
break;
case 3:
case 4:
enableBoolean("xdrip_webservice", "xDrip Web Service Enabled!", intent);
XdripWebService.immortality();
break;
case 5:
enableBoolean("broadcast_data_through_intents", "Local Broadcast Enabled!", intent);
break;
case 6:
addStringtoSpaceDelimitedPreference("local_broadcast_specific_package_destination", "info.nightscout.androidaps");
JoH.static_toast_long("Enabling broadcast to info.nightscout.androidaps !");
cancelSourceNotification(intent);
break;
case 7:
addStringtoSpaceDelimitedPreference("local_broadcast_specific_package_destination", "net.dinglisch.android.tasker net.dinglisch.android.taskerm");
JoH.static_toast_long("Setting specific package broadcast for Tasker");
cancelSourceNotification(intent);
break;
case 8:
DexCollectionType.setDexCollectionType(DexCollectionType.LibreAlarm);
cancelSourceNotification(intent);
break;
case 9:
enableBoolean("external_blukon_algorithm", "Enabled External Calibration App!", intent);
break;
case 10:
enableBoolean("wear_sync", "Enabled Wear OS Sync!", intent);
break;
case 11:
G5BaseService.setHardResetTransmitterNow();
break;
default:
JoH.static_toast_long("Unhandled action: " + feature);
break;
}
}
JoH.static_toast_long("Invalid xDrip Authorization");
}
static class AnonymousClass3 {
static final int[] $SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature;
static {
int[] iArr = new int[Feature.values().length];
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature = iArr;
try {
iArr[Feature.CHOICE.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.CANCEL.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.ENABLE_GARMIN_FEATURES.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.ENABLE_FITBIT_FEATURES.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.ENABLE_ANDROIDAPS_FEATURE1.ordinal()] = 5;
} catch (NoSuchFieldError unused5) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.ENABLE_ANDROIDAPS_FEATURE2.ordinal()] = 6;
} catch (NoSuchFieldError unused6) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.ENABLE_TASKER.ordinal()] = 7;
} catch (NoSuchFieldError unused7) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.ENABLE_LIBRE_ALARM.ordinal()] = 8;
} catch (NoSuchFieldError unused8) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.ENABLE_OOP.ordinal()] = 9;
} catch (NoSuchFieldError unused9) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.ENABLE_WEAR_OS_SYNC.ordinal()] = 10;
} catch (NoSuchFieldError unused10) {
}
try {
$SwitchMap$com$eveningoutpost$dexdrip$utilitymodels$CompatibleApps$Feature[Feature.HARD_RESET_TRANSMITTER.ordinal()] = 11;
} catch (NoSuchFieldError unused11) {
}
}
}
private void enableBoolean(String str, String str2, Intent intent) {
Pref.setBoolean(str, true);
JoH.static_toast_long(str2);
cancelSourceNotification(intent);
}
private void addStringtoSpaceDelimitedPreference(String str, String str2) {
String string = Pref.getString(str, "");
if (string.length() > 3) {
for (String str3 : string.split(" ")) {
if (str3 != null && str3.length() > 3 && str3.equals(str2)) {
return;
}
}
str2 = string + " " + str2;
}
Pref.setString(str, str2);
}
}