正在查看: Glean v1.1.34 应用的 TerraManager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Glean v1.1.34 应用的 TerraManager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package co.tryterra.terra;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.provider.Settings;
import android.util.Log;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContract;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AppCompatActivity;
import androidx.health.connect.client.HealthConnectClient;
import androidx.health.connect.client.PermissionController;
import androidx.media3.common.C;
import androidx.work.Constraints;
import androidx.work.Data;
import androidx.work.ExistingPeriodicWorkPolicy;
import androidx.work.ExistingWorkPolicy;
import androidx.work.ListenableWorker;
import androidx.work.OneTimeWorkRequest;
import androidx.work.OutOfQuotaPolicy;
import androidx.work.PeriodicWorkRequest;
import androidx.work.WorkManager;
import co.tryterra.terra.HTTPRequestClient;
import co.tryterra.terra.TerraManager;
import co.tryterra.terra.backend.models.TerraActivityDataPayload;
import co.tryterra.terra.backend.models.TerraBodyDataPayload;
import co.tryterra.terra.backend.models.TerraDailyDataPayload;
import co.tryterra.terra.backend.models.TerraDataPayload;
import co.tryterra.terra.backend.models.TerraErrorResponse;
import co.tryterra.terra.backend.models.TerraNutritionDataPayload;
import co.tryterra.terra.backend.models.TerraSleepDataPayload;
import co.tryterra.terra.backend.models.TerraWebhookResponse;
import co.tryterra.terra.enums.Connections;
import co.tryterra.terra.enums.CustomPermissions;
import co.tryterra.terra.enums.DataTypes;
import co.tryterra.terra.enums.Permissions;
import co.tryterra.terra.fsl.FSLSensor;
import co.tryterra.terra.fsl.models.FSLSensorDetails;
import co.tryterra.terra.healthconnect.HCPermissions;
import co.tryterra.terra.healthconnect.HealthConnect;
import co.tryterra.terra.healthconnect.ScheduleMimic;
import co.tryterra.terra.models.InitUserModel;
import co.tryterra.terra.models.InitialiseSDKModel;
import co.tryterra.terra.models.SetCustomPermissions;
import co.tryterra.terra.models.Users;
import co.tryterra.terra.sensors.StepWorker;
import com.facebook.common.util.UriUtil;
import java.time.Instant;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Locale;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.BinaryOperator;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import kotlin.Metadata;
import kotlin.NoWhenBranchMatchedException;
import kotlin.Pair;
import kotlin.TuplesKt;
import kotlin.Unit;
import kotlin.collections.CollectionsKt;
import kotlin.collections.MapsKt;
import kotlin.collections.SetsKt;
import kotlin.coroutines.CoroutineContext;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.functions.Function2;
import kotlin.jvm.functions.Function3;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Lambda;
import kotlinx.coroutines.BuildersKt;
import kotlinx.coroutines.CompletableJob;
import kotlinx.coroutines.CoroutineScope;
import kotlinx.coroutines.CoroutineStart;
import kotlinx.coroutines.ExecutorsKt;
import kotlinx.coroutines.Job;
import kotlinx.coroutines.JobKt;
@Metadata(d1 = {"\u0000º\u0001\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\"\n\u0000\n\u0002\u0010\u0011\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0007\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\u0018\u0000 \\2\u00020\u0001:\u0002[\\B?\b\u0002\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\n\b\u0002\u0010\u0006\u001a\u0004\u0018\u00010\u0003\u0012\u001a\u0010\u0007\u001a\u0016\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0\b¢\u0006\u0002\u0010\fJ \u0010/\u001a\u00020\u000b2\u0018\u0010\u0007\u001a\u0014\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u00030\u001b\u0012\u0004\u0012\u00020\u000b00J\"\u00101\u001a\u00020\u000b2\u0006\u00102\u001a\u0002032\u0012\u00104\u001a\u000e\u0012\u0004\u0012\u00020\t\u0012\u0004\u0012\u00020\u000b00J\b\u00105\u001a\u00020\u000bH\u0002JN\u00106\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u0002092\u0006\u0010:\u001a\u0002092\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<JN\u00106\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u00020\u000e2\u0006\u0010:\u001a\u00020\u000e2\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<J$\u0010>\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0014\b\u0002\u0010\u0007\u001a\u000e\u0012\u0004\u0012\u00020\t\u0012\u0004\u0012\u00020\u000b00JN\u0010?\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u0002092\u0006\u0010:\u001a\u0002092\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<JN\u0010?\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u00020\u000e2\u0006\u0010:\u001a\u00020\u000e2\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<JN\u0010@\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u0002092\u0006\u0010:\u001a\u0002092\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<JN\u0010@\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u00020\u000e2\u0006\u0010:\u001a\u00020\u000e2\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<JN\u0010A\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u0002092\u0006\u0010:\u001a\u0002092\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<JN\u0010A\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u00020\u000e2\u0006\u0010:\u001a\u00020\u000e2\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<JN\u0010B\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u0002092\u0006\u0010:\u001a\u0002092\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<JN\u0010B\u001a\u00020\u000b2\u0006\u00107\u001a\u0002032\u0006\u00108\u001a\u00020\u000e2\u0006\u0010:\u001a\u00020\u000e2\b\b\u0002\u0010;\u001a\u00020\t2$\b\u0002\u0010\u0007\u001a\u001e\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010=\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0<J\u0010\u0010C\u001a\u0004\u0018\u00010\u00032\u0006\u00107\u001a\u000203J\u0010\u0010D\u001a\u00020\n2\u0006\u0010E\u001a\u00020\u0003H\u0002Jb\u0010F\u001a\u00020\u000b2\u0006\u00102\u001a\u0002032\u0006\u0010G\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u000e\b\u0002\u0010H\u001a\b\u0012\u0004\u0012\u00020I0\u001b2\b\b\u0002\u0010J\u001a\u00020\t2\n\b\u0002\u0010K\u001a\u0004\u0018\u00010\u00032\u001c\b\u0002\u0010\u0007\u001a\u0016\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0\bJT\u0010L\u001a\u00020\u000b2\b\u0010M\u001a\u0004\u0018\u00010\u00032\b\u0010G\u001a\u0004\u0018\u00010\u00032\u0006\u0010\u0004\u001a\u00020\u00052\b\u0010K\u001a\u0004\u0018\u00010\u00032\b\u0010N\u001a\u0004\u0018\u00010O2\u001a\u0010\u0007\u001a\u0016\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0\bH\u0002Jn\u0010P\u001a\u00020\u000b2\b\u0010M\u001a\u0004\u0018\u00010\u00032\u0006\u0010Q\u001a\u00020\u00032\b\u0010G\u001a\u0004\u0018\u00010\u00032\u0006\u0010\u0004\u001a\u00020\u00052\f\u0010#\u001a\b\u0012\u0004\u0012\u00020$0\u001b2\f\u0010H\u001a\b\u0012\u0004\u0012\u00020I0\u001b2\b\u0010N\u001a\u0004\u0018\u00010O2\u001a\u0010\u0007\u001a\u0016\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0\bH\u0002JI\u0010R\u001a\u00020\u000b\"\u0006\b\u0000\u0010S\u0018\u00012\u0006\u0010T\u001a\u00020\u00032\u0006\u0010Q\u001a\u00020\u00032\u0006\u0010U\u001a\u00020\u00032\u001e\b\u0004\u0010\u0007\u001a\u0018\u0012\u0006\u0012\u0004\u0018\u0001HS\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0\bH\u0082\bJ\u001c\u0010V\u001a\u00020\u000b2\u0014\u0010\u0007\u001a\u0010\u0012\u0006\u0012\u0004\u0018\u00010W\u0012\u0004\u0012\u00020\u000b00J\u0014\u0010X\u001a\u00020\u000b2\f\u0010Y\u001a\b\u0012\u0004\u0012\u00020Z0\u001bR\u000e\u0010\r\u001a\u00020\u000eX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u000f\u001a\u00020\u000eX\u0082\u000e¢\u0006\u0002\n\u0000R%\u0010\u0007\u001a\u0016\u0012\u0004\u0012\u00020\t\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u000b0\b¢\u0006\b\n\u0000\u001a\u0004\b\u0010\u0010\u0011R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0012\u001a\u00020\u00138VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0014\u0010\u0015R\u000e\u0010\u0016\u001a\u00020\u000eX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\u0017\u001a\u0004\u0018\u00010\u0018X\u0082\u000e¢\u0006\u0002\n\u0000R\u001c\u0010\u0019\u001a\u0010\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u00030\u001b\u0018\u00010\u001aX\u0082\u000e¢\u0006\u0002\n\u0000R\u001c\u0010\u001c\u001a\u0010\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u00030\u001d\u0018\u00010\u001aX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u001e\u001a\u00020\u001fX\u0082\u0004¢\u0006\u0002\n\u0000R\u0010\u0010 \u001a\u0004\u0018\u00010!X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\"\u001a\u00020\u000eX\u0082\u000e¢\u0006\u0002\n\u0000R\u0014\u0010#\u001a\b\u0012\u0004\u0012\u00020$0\u001bX\u0082.¢\u0006\u0002\n\u0000R\u0016\u0010%\u001a\n '*\u0004\u0018\u00010&0&X\u0082\u0004¢\u0006\u0002\n\u0000R\u0013\u0010\u0006\u001a\u0004\u0018\u00010\u0003¢\u0006\b\n\u0000\u001a\u0004\b(\u0010)R\u0016\u0010*\u001a\n '*\u0004\u0018\u00010+0+X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010,\u001a\u00020\u000eX\u0082\u000e¢\u0006\u0002\n\u0000R\u001c\u0010-\u001a\n '*\u0004\u0018\u00010\u00030\u00038CX\u0082\u0004¢\u0006\u0006\u001a\u0004\b.\u0010)¨\u0006]"}, d2 = {"Lco/tryterra/terra/TerraManager;", "Lkotlinx/coroutines/CoroutineScope;", "devId", "", "context", "Landroid/content/Context;", "referenceId", "completion", "Lkotlin/Function2;", "", "Lco/tryterra/terra/TerraError;", "", "(Ljava/lang/String;Landroid/content/Context;Ljava/lang/String;Lkotlin/jvm/functions/Function2;)V", "activityTimer", "", "bodyTimer", "getCompletion", "()Lkotlin/jvm/functions/Function2;", "coroutineContext", "Lkotlin/coroutines/CoroutineContext;", "getCoroutineContext", "()Lkotlin/coroutines/CoroutineContext;", "dailyTimer", "healthConnect", "Lco/tryterra/terra/healthconnect/HealthConnect;", "healthConnectPermissionContract", "Landroidx/activity/result/ActivityResultLauncher;", "", "healthConnectPermissionContractAndroid14", "", "job", "Lkotlinx/coroutines/CompletableJob;", "manager", "Landroid/app/NotificationManager;", "nutritionTimer", "permissions", "Lco/tryterra/terra/enums/Permissions;", "preferences", "Landroid/content/SharedPreferences;", "kotlin.jvm.PlatformType", "getReferenceId", "()Ljava/lang/String;", "singleThreadExecutor", "Ljava/util/concurrent/ExecutorService;", "sleepTimer", "uniqueId", "getUniqueId", "allGivenPermissions", "Lkotlin/Function1;", "checkAuth", "connection", "Lco/tryterra/terra/enums/Connections;", "callback", "executeSubscriptionQueries", "getActivity", "type", "startDate", "Ljava/util/Date;", "endDate", "toWebhook", "Lkotlin/Function3;", "Lco/tryterra/terra/backend/models/TerraDataPayload;", "getAthlete", "getBody", "getDaily", "getNutrition", "getSleep", "getUserId", "handleInitConnectionError", "message", "initConnection", "token", "customPermissions", "Lco/tryterra/terra/enums/CustomPermissions;", "schedulerOn", "startIntent", "initFreeStyleLibre", "userId", "latch", "Ljava/util/concurrent/CountDownLatch;", "initHealthConnect", "resource", "normalizeData", "T", "data", "datatype", "readGlucoseData", "Lco/tryterra/terra/fsl/models/FSLSensorDetails;", "subscribe", "forDataTypes", "Lco/tryterra/terra/enums/DataTypes;", "BaseResponse", "Companion", "TerraAndroid_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public final class TerraManager implements CoroutineScope {
private static final String TAG = "TerraManager";
public static final String TERRA_PREFS = "co.tryterra.terra.prefs";
private long activityTimer;
private long bodyTimer;
private final Function2<Boolean, TerraError, Unit> completion;
private final Context context;
private long dailyTimer;
private final String devId;
private HealthConnect healthConnect;
private ActivityResultLauncher<Set<String>> healthConnectPermissionContract;
private ActivityResultLauncher<String[]> healthConnectPermissionContractAndroid14;
private final CompletableJob job;
private final NotificationManager manager;
private long nutritionTimer;
private Set<? extends Permissions> permissions;
private final SharedPreferences preferences;
private final String referenceId;
private final ExecutorService singleThreadExecutor;
private long sleepTimer;
public static final Companion INSTANCE = new Companion(null);
private static ArrayList<Users> users = new ArrayList<>();
private static AtomicBoolean sensorScanning = new AtomicBoolean(false);
private static final ActivityResultContract<Set<String>, Set<String>> permissionLauncher = PermissionController.Companion.createRequestPermissionResultContract$default(PermissionController.Companion, (String) null, 1, (Object) null);
private static Set<String> grantedPermissions = SetsKt.emptySet();
@Metadata(k = 3, mv = {1, 7, 1}, xi = 48)
public class WhenMappings {
public static final int[] $EnumSwitchMapping$0;
static {
int[] iArr = new int[Connections.values().length];
iArr[Connections.GOOGLE_FIT.ordinal()] = 1;
iArr[Connections.SAMSUNG.ordinal()] = 2;
iArr[Connections.HEALTH_CONNECT.ordinal()] = 3;
iArr[Connections.FREESTYLE_LIBRE.ordinal()] = 4;
$EnumSwitchMapping$0 = iArr;
}
}
public TerraManager(String str, Context context, String str2, Function2 function2, DefaultConstructorMarker defaultConstructorMarker) {
this(str, context, str2, function2);
}
private TerraManager(String str, Context context, String str2, Function2<? super Boolean, ? super TerraError, Unit> function2) {
this.devId = str;
this.context = context;
this.referenceId = str2;
this.completion = function2;
this.activityTimer = ConstantsKt.TWENTY_MINUTES;
this.dailyTimer = ConstantsKt.EIGHT_HOURS;
this.bodyTimer = ConstantsKt.EIGHT_HOURS;
this.sleepTimer = ConstantsKt.EIGHT_HOURS;
this.nutritionTimer = ConstantsKt.EIGHT_HOURS;
this.preferences = context.getSharedPreferences(TERRA_PREFS, 0);
this.job = JobKt.Job$default((Job) null, 1, (Object) null);
this.singleThreadExecutor = Executors.newFixedThreadPool(5);
Object systemService = context.getSystemService("notification");
NotificationManager notificationManager = systemService instanceof NotificationManager ? (NotificationManager) systemService : null;
this.manager = notificationManager;
NotificationChannel notificationChannel = new NotificationChannel("co.tryterra.terra.notification", "Scheduler Service", 2);
if (notificationManager != null) {
notificationManager.createNotificationChannel(notificationChannel);
}
if ((context instanceof AppCompatActivity ? (AppCompatActivity) context : null) != null) {
try {
if (Build.VERSION.SDK_INT >= 34) {
this.healthConnectPermissionContractAndroid14 = ((AppCompatActivity) context).registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), new ActivityResultCallback() {
public final void onActivityResult(Object obj) {
TerraManager.m457_init_$lambda1(TerraManager.this, (Map) obj);
}
});
} else {
this.healthConnectPermissionContract = ((AppCompatActivity) context).registerForActivityResult(permissionLauncher, new ActivityResultCallback() {
public final void onActivityResult(Object obj) {
TerraManager.m458_init_$lambda2(TerraManager.this, (Set) obj);
}
});
}
} catch (IllegalStateException unused) {
Log.e(TAG, "Attempt to call on resumed state");
}
}
new HTTPRequestClient.Builder().setUrl("https://api.tryterra.co/v2/auth/initSDK?resource_user_identifier=" + getUniqueId()).withInput(InitialiseSDKModel.class).setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", this.devId)})).build().getResponseFromRequest(new Function1<Object, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m469invoke(obj);
return Unit.INSTANCE;
}
public final void m469invoke(java.lang.Object r24) {
throw new UnsupportedOperationException("Method not decompiled: co.tryterra.terra.TerraManager.AnonymousClass3.m469invoke(java.lang.Object):void");
}
@Metadata(d1 = {"\u0000\u0014\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\u0010\u0000\u001a\u00020\u00012\u0006\u0010\u0002\u001a\u00020\u00032\b\u0010\u0004\u001a\u0004\u0018\u00010\u0005H\n¢\u0006\u0002\b\u0006"}, d2 = {"<anonymous>", "", "success", "", "<anonymous parameter 1>", "Lco/tryterra/terra/TerraError;", "invoke"}, k = 3, mv = {1, 7, 1}, xi = 48)
static final class AnonymousClass1 extends Lambda implements Function2<Boolean, TerraError, Unit> {
final Constraints $constraints;
final boolean $schedulerOn;
final Users $user;
final WorkManager $workManager;
final TerraManager this$0;
AnonymousClass1(boolean z, Constraints constraints, Users users, TerraManager terraManager, WorkManager workManager) {
super(2);
this.$schedulerOn = z;
this.$constraints = constraints;
this.$user = users;
this.this$0 = terraManager;
this.$workManager = workManager;
}
public Object invoke(Object obj, Object obj2) {
invoke(((Boolean) obj).booleanValue(), (TerraError) obj2);
return Unit.INSTANCE;
}
public final void invoke(boolean z, TerraError terraError) {
if (this.$schedulerOn && z) {
OneTimeWorkRequest.Builder expedited = new OneTimeWorkRequest.Builder(ScheduleMimic.class).setConstraints(this.$constraints).setExpedited(OutOfQuotaPolicy.RUN_AS_NON_EXPEDITED_WORK_REQUEST);
Pair[] pairArr = new Pair[2];
pairArr[0] = TuplesKt.to("resource", this.$user.getResource());
Set set = this.this$0.permissions;
if (set == null) {
Intrinsics.throwUninitializedPropertyAccessException("permissions");
set = null;
}
pairArr[1] = TuplesKt.to("permissions", set.stream().map(new Function() {
@Override
public final Object apply(Object obj) {
String name;
name = ((Permissions) obj).name();
return name;
}
}).collect(Collectors.joining(",")));
Data.Builder builder = new Data.Builder();
for (int i = 0; i < 2; i++) {
Pair pair = pairArr[i];
builder.put((String) pair.getFirst(), pair.getSecond());
}
Data build = builder.build();
Intrinsics.checkNotNullExpressionValue(build, "dataBuilder.build()");
OneTimeWorkRequest build2 = expedited.setInputData(build).build();
WorkManager workManager = this.$workManager;
StringBuilder sb = new StringBuilder("co.tryterra.");
String lowerCase = this.$user.getResource().toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase, "this as java.lang.String).toLowerCase(Locale.ROOT)");
workManager.beginUniqueWork(sb.append(lowerCase).append(".scheduler.mimic").toString(), ExistingWorkPolicy.APPEND, build2).enqueue();
}
}
}
});
}
TerraManager(String str, Context context, String str2, Function2 function2, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(str, context, (i & 4) != 0 ? null : str2, function2);
}
public static final void access$initHealthConnect(TerraManager terraManager, String str, String str2, String str3, Context context, Set set, Set set2, CountDownLatch countDownLatch, Function2 function2) {
terraManager.initHealthConnect(str, str2, str3, context, set, set2, countDownLatch, function2);
}
public final String getReferenceId() {
return this.referenceId;
}
public final Function2<Boolean, TerraError, Unit> getCompletion() {
return this.completion;
}
public CoroutineContext getCoroutineContext() {
CompletableJob completableJob = this.job;
ExecutorService executorService = this.singleThreadExecutor;
Intrinsics.checkNotNullExpressionValue(executorService, "singleThreadExecutor");
return completableJob.plus(ExecutorsKt.from(executorService));
}
public final String getUniqueId() {
return Settings.Secure.getString(this.context.getContentResolver(), "android_id");
}
public static final void m457_init_$lambda1(TerraManager terraManager, Map map) {
Intrinsics.checkNotNullParameter(terraManager, "this$0");
LinkedHashSet linkedHashSet = new LinkedHashSet();
Intrinsics.checkNotNullExpressionValue(map, UriUtil.LOCAL_RESOURCE_SCHEME);
for (Map.Entry entry : map.entrySet()) {
Object value = entry.getValue();
Intrinsics.checkNotNullExpressionValue(value, "entry.value");
if (((Boolean) value).booleanValue()) {
Object key = entry.getKey();
Intrinsics.checkNotNullExpressionValue(key, "entry.key");
linkedHashSet.add(key);
}
}
grantedPermissions = linkedHashSet;
HealthConnect.INSTANCE.permissionCallback(terraManager.healthConnect);
}
public static final void m458_init_$lambda2(TerraManager terraManager, Set set) {
Intrinsics.checkNotNullParameter(terraManager, "this$0");
Intrinsics.checkNotNullExpressionValue(set, UriUtil.LOCAL_RESOURCE_SCHEME);
grantedPermissions = set;
HealthConnect.INSTANCE.permissionCallback(terraManager.healthConnect);
}
public final void initFreeStyleLibre(String userId, String token, final Context context, final String startIntent, final CountDownLatch latch, final Function2<? super Boolean, ? super TerraError, Unit> completion) {
String str;
if (userId != null) {
this.preferences.edit().putBoolean(ConstantsKt.TERRA_ENABLE_FSL_SDK, true).apply();
if (startIntent != null) {
this.preferences.edit().putString(ConstantsKt.TERRA_FSL_SCAN_FROM_BACKGROUND, startIntent).apply();
}
context.getSharedPreferences(ConstantsKt.TERRA_DEV_ID, 0).edit().putString(ConstantsKt.TERRA_DEV_ID, this.devId).apply();
return;
}
HTTPRequestClient.Builder builder = new HTTPRequestClient.Builder();
if (this.referenceId != null) {
str = "https://api.tryterra.co/v2/auth/authenticateSDKUser?resource=freestylelibresdk&resource_user_identifier=" + getUniqueId() + "sfsl&reference_id=" + this.referenceId;
} else {
str = "https://api.tryterra.co/v2/auth/authenticateSDKUser?resource=freestylelibresdk&resource_user_identifier=" + getUniqueId() + "sfsl";
}
HTTPRequestClient.Builder url = builder.setUrl(str);
Intrinsics.checkNotNull(token);
url.setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", this.devId), TuplesKt.to("token", token)})).method("POST").withInput(InitUserModel.class).build().getResponseFromRequest(new Function1<Object, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m472invoke(obj);
return Unit.INSTANCE;
}
public final void m472invoke(Object obj) {
TerraError handleInitConnectionError;
if (obj == null) {
completion.invoke(false, new NoInternet());
CountDownLatch countDownLatch = latch;
if (countDownLatch != null) {
countDownLatch.countDown();
return;
}
return;
}
InitUserModel initUserModel = (InitUserModel) obj;
if (initUserModel.getMessage() != null) {
Function2<Boolean, TerraError, Unit> function2 = completion;
TerraManager terraManager = this;
String message = initUserModel.getMessage();
Intrinsics.checkNotNull(message);
handleInitConnectionError = terraManager.handleInitConnectionError(message);
function2.invoke(false, handleInitConnectionError);
CountDownLatch countDownLatch2 = latch;
if (countDownLatch2 != null) {
countDownLatch2.countDown();
}
}
this.preferences.edit().putBoolean(ConstantsKt.TERRA_ENABLE_FSL_SDK, true).apply();
if (startIntent != null) {
this.preferences.edit().putString(ConstantsKt.TERRA_FSL_SCAN_FROM_BACKGROUND, startIntent).apply();
}
context.getSharedPreferences(ConstantsKt.TERRA_DEV_ID, 0).edit().putString(ConstantsKt.TERRA_DEV_ID, this.devId).apply();
ArrayList<Users> users$TerraAndroid_release = TerraManager.INSTANCE.getUsers$TerraAndroid_release();
String user_id = initUserModel.getUser_id();
Intrinsics.checkNotNull(user_id);
users$TerraAndroid_release.add(new Users(user_id, "FREESTYLELIBRESDK"));
completion.invoke(true, (Object) null);
CountDownLatch countDownLatch3 = latch;
if (countDownLatch3 != null) {
countDownLatch3.countDown();
}
}
});
}
public final void initHealthConnect(String userId, String resource, String token, Context context, Set<? extends Permissions> permissions, Set<? extends CustomPermissions> customPermissions, CountDownLatch latch, Function2<? super Boolean, ? super TerraError, Unit> completion) {
Optional reduce;
String sb;
if (HealthConnectClient.Companion.getSdkStatus$default(HealthConnectClient.Companion, this.context, (String) null, 2, (Object) null) != 3) {
completion.invoke(false, new HealthConnectUnavailable("Health Connect is not available on this device"));
if (latch != null) {
latch.countDown();
return;
}
return;
}
if (!customPermissions.isEmpty()) {
reduce = customPermissions.stream().map(new Function() {
@Override
public final Object apply(Object obj) {
Set correspondingHealthConnectPermissions;
correspondingHealthConnectPermissions = ((CustomPermissions) obj).correspondingHealthConnectPermissions();
return correspondingHealthConnectPermissions;
}
}).reduce(new BinaryOperator() {
@Override
public final Object apply(Object obj, Object obj2) {
Set m461initHealthConnect$lambda6;
m461initHealthConnect$lambda6 = TerraManager.m461initHealthConnect$lambda6((Set) obj, (Set) obj2);
return m461initHealthConnect$lambda6;
}
});
} else {
ArrayList arrayList = new ArrayList();
Iterator<T> it = permissions.iterator();
while (it.hasNext()) {
HCPermissions mapTerraPermissionToHCPermission = HealthConnect.INSTANCE.mapTerraPermissionToHCPermission((Permissions) it.next());
Set<String> permissions2 = mapTerraPermissionToHCPermission != null ? mapTerraPermissionToHCPermission.getPermissions() : null;
if (permissions2 != null) {
arrayList.add(permissions2);
}
}
reduce = arrayList.stream().reduce(new BinaryOperator() {
@Override
public final Object apply(Object obj, Object obj2) {
Set m459initHealthConnect$lambda4;
m459initHealthConnect$lambda4 = TerraManager.m459initHealthConnect$lambda4((Set) obj, (Set) obj2);
return m459initHealthConnect$lambda4;
}
});
}
Optional optional = reduce;
if (userId != null && this.healthConnect == null) {
String str = this.devId;
Object orElse = optional.orElse(SetsKt.emptySet());
Intrinsics.checkNotNullExpressionValue(orElse, "hcPermissions.orElse(setOf())");
this.healthConnect = new HealthConnect(context, str, (Set) orElse, this.healthConnectPermissionContract, this.healthConnectPermissionContractAndroid14, latch, completion);
return;
}
if (userId != null) {
completion.invoke(true, (Object) null);
return;
}
HTTPRequestClient.Builder builder = new HTTPRequestClient.Builder();
if (this.referenceId != null) {
StringBuilder sb2 = new StringBuilder("https://api.tryterra.co/v2/auth/authenticateSDKUser?resource=");
String lowerCase = resource.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase, "this as java.lang.String).toLowerCase(Locale.ROOT)");
StringBuilder append = sb2.append(lowerCase).append("&resource_user_identifier=").append(getUniqueId());
Companion companion = INSTANCE;
String lowerCase2 = resource.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase2, "this as java.lang.String).toLowerCase(Locale.ROOT)");
sb = append.append(companion.resourceToIdEndings(lowerCase2)).append("&reference_id=").append(this.referenceId).toString();
} else {
StringBuilder sb3 = new StringBuilder("https://api.tryterra.co/v2/auth/authenticateSDKUser?resource=");
String lowerCase3 = resource.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase3, "this as java.lang.String).toLowerCase(Locale.ROOT)");
StringBuilder append2 = sb3.append(lowerCase3).append("&resource_user_identifier=").append(getUniqueId());
Companion companion2 = INSTANCE;
String lowerCase4 = resource.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase4, "this as java.lang.String).toLowerCase(Locale.ROOT)");
sb = append2.append(companion2.resourceToIdEndings(lowerCase4)).toString();
}
HTTPRequestClient.Builder url = builder.setUrl(sb);
Intrinsics.checkNotNull(token);
HTTPRequestClient.Builder method = url.setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", this.devId), TuplesKt.to("token", token)})).method("POST");
Object orElseGet = optional.orElseGet(new Supplier() {
@Override
public final Object get() {
Set emptySet;
emptySet = SetsKt.emptySet();
return emptySet;
}
});
Intrinsics.checkNotNullExpressionValue(orElseGet, "hcPermissions.orElseGet { setOf() }");
Iterable iterable = (Iterable) orElseGet;
ArrayList arrayList2 = new ArrayList(CollectionsKt.collectionSizeOrDefault(iterable, 10));
Iterator it2 = iterable.iterator();
while (it2.hasNext()) {
String substring = ((String) it2.next()).substring(26);
Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String).substring(startIndex)");
arrayList2.add(substring);
}
method.withOutput(new SetCustomPermissions(CollectionsKt.toSet(arrayList2))).withInput(InitUserModel.class).build().getResponseFromRequest(new TerraManager$initHealthConnect$1(completion, latch, this, resource, customPermissions, context, optional));
}
public static final Set m459initHealthConnect$lambda4(Set set, Set set2) {
Intrinsics.checkNotNullExpressionValue(set, "t");
Intrinsics.checkNotNullExpressionValue(set2, "u");
return CollectionsKt.union(set, set2);
}
public static final Set m461initHealthConnect$lambda6(Set set, Set set2) {
Intrinsics.checkNotNullExpressionValue(set, "t");
Intrinsics.checkNotNullExpressionValue(set2, "u");
return CollectionsKt.union(set, set2);
}
public final TerraError handleInitConnectionError(String message) {
int hashCode = message.hashCode();
if (hashCode != -1877657954) {
if (hashCode != -1717420905) {
if (hashCode == -1121422762 && message.equals("Invalid authentication token passed")) {
return new InvalidAuthToken(message);
}
} else if (message.equals("Current user limit has been reached")) {
return new UserLimitExceeded(message);
}
} else if (message.equals("Invalid dev-id was provided")) {
return new InvalidDevId(message);
}
return new UnexpectedError(message);
}
public final void executeSubscriptionQueries() {
throw new UnsupportedOperationException("Method not decompiled: co.tryterra.terra.TerraManager.executeSubscriptionQueries():void");
}
public final void initConnection(Connections connection, String token, Context context, Set<? extends CustomPermissions> customPermissions, boolean schedulerOn, String startIntent, Function2<? super Boolean, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(connection, "connection");
Intrinsics.checkNotNullParameter(token, "token");
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(customPermissions, "customPermissions");
Intrinsics.checkNotNullParameter(completion, "completion");
this.preferences.edit().putBoolean(ConstantsKt.SCHEDULER_ON_KEY, schedulerOn).apply();
if (this.permissions == null) {
completion.invoke(false, new TerraClassNotInitiated("Please make sure the Terra class is initialised properly"));
return;
}
int i = WhenMappings.$EnumSwitchMapping$0[connection.ordinal()];
if (i == 1) {
BuildersKt.launch$default(this, (CoroutineContext) null, (CoroutineStart) null, new TerraManager$initConnection$3(this, token, context, customPermissions, completion, null), 3, (Object) null);
return;
}
if (i == 2) {
BuildersKt.launch$default(this, (CoroutineContext) null, (CoroutineStart) null, new TerraManager$initConnection$4(this, token, context, customPermissions, completion, null), 3, (Object) null);
} else if (i == 3) {
BuildersKt.launch$default(this, (CoroutineContext) null, (CoroutineStart) null, new TerraManager$initConnection$5(this, token, context, customPermissions, completion, null), 3, (Object) null);
} else {
if (i != 4) {
return;
}
BuildersKt.launch$default(this, (CoroutineContext) null, (CoroutineStart) null, new TerraManager$initConnection$6(this, token, context, startIntent, completion, null), 3, (Object) null);
}
}
public final String getUserId(Connections type) {
Object obj;
Object obj2;
Object obj3;
Object obj4;
Intrinsics.checkNotNullParameter(type, "type");
int i = WhenMappings.$EnumSwitchMapping$0[type.ordinal()];
if (i == 1) {
Iterator<T> it = users.iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
if (Intrinsics.areEqual(((Users) obj).getResource(), "GOOGLEFIT")) {
break;
}
}
Users users2 = (Users) obj;
if (users2 != null) {
return users2.getUser_id();
}
return null;
}
if (i == 2) {
Iterator<T> it2 = users.iterator();
while (true) {
if (!it2.hasNext()) {
obj2 = null;
break;
}
obj2 = it2.next();
if (Intrinsics.areEqual(((Users) obj2).getResource(), "SAMSUNG")) {
break;
}
}
Users users3 = (Users) obj2;
if (users3 != null) {
return users3.getUser_id();
}
return null;
}
if (i == 3) {
Iterator<T> it3 = users.iterator();
while (true) {
if (!it3.hasNext()) {
obj3 = null;
break;
}
obj3 = it3.next();
if (Intrinsics.areEqual(((Users) obj3).getResource(), "HEALTH_CONNECT")) {
break;
}
}
Users users4 = (Users) obj3;
if (users4 != null) {
return users4.getUser_id();
}
return null;
}
if (i != 4) {
throw new NoWhenBranchMatchedException();
}
Iterator<T> it4 = users.iterator();
while (true) {
if (!it4.hasNext()) {
obj4 = null;
break;
}
obj4 = it4.next();
if (Intrinsics.areEqual(((Users) obj4).getResource(), "FREESTYLELIBRESDK")) {
break;
}
}
Users users5 = (Users) obj4;
if (users5 != null) {
return users5.getUser_id();
}
return null;
}
public final void getDaily(Connections type, long startDate, long endDate, boolean toWebhook, Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(completion, "completion");
Date from = Date.from(Instant.ofEpochSecond(startDate));
Intrinsics.checkNotNullExpressionValue(from, "from(Instant.ofEpochSecond(startDate))");
Date from2 = Date.from(Instant.ofEpochSecond(endDate));
Intrinsics.checkNotNullExpressionValue(from2, "from(Instant.ofEpochSecond(endDate))");
getDaily(type, from, from2, toWebhook, completion);
}
public static void getDaily$default(TerraManager terraManager, Connections connections, Date date, Date date2, boolean z, Function3 function3, int i, Object obj) {
if ((i & 8) != 0) {
z = true;
}
boolean z2 = z;
if ((i & 16) != 0) {
function3 = new Function3<Boolean, TerraDataPayload, TerraError, Unit>() {
public final void invoke(boolean z3, TerraDataPayload terraDataPayload, TerraError terraError) {
}
public Object invoke(Object obj2, Object obj3, Object obj4) {
invoke(((Boolean) obj2).booleanValue(), (TerraDataPayload) obj3, (TerraError) obj4);
return Unit.INSTANCE;
}
};
}
terraManager.getDaily(connections, date, date2, z2, (Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit>) function3);
}
public final void getDaily(final Connections type, Date startDate, Date endDate, final boolean toWebhook, final Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(startDate, "startDate");
Intrinsics.checkNotNullParameter(endDate, "endDate");
Intrinsics.checkNotNullParameter(completion, "completion");
int i = WhenMappings.$EnumSwitchMapping$0[type.ordinal()];
if (i == 1 || i == 2 || i == 3) {
HealthConnect healthConnect = this.healthConnect;
if (healthConnect == null) {
Log.e(TAG, "Terra not connected.");
completion.invoke(false, (Object) null, new Unauthorised("Not connected to Health Connect"));
return;
} else {
Intrinsics.checkNotNull(healthConnect);
healthConnect.getDaily(type, startDate, endDate, false, toWebhook, new Function3<Boolean, String, TerraError, Unit>() {
{
super(3);
}
public Object invoke(Object obj, Object obj2, Object obj3) {
invoke(((Boolean) obj).booleanValue(), (String) obj2, (TerraError) obj3);
return Unit.INSTANCE;
}
public final void invoke(final boolean z, String str, TerraError terraError) {
if (z) {
if (toWebhook) {
completion.invoke(Boolean.valueOf(z), new TerraWebhookResponse(str, null, null, null, null, 30, null), terraError);
return;
}
TerraManager terraManager = this;
Intrinsics.checkNotNull(str);
String lowerCase = type.name().toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase, "this as java.lang.String).toLowerCase(Locale.ROOT)");
final Function3<Boolean, TerraDataPayload, TerraError, Unit> function3 = completion;
HTTPRequestClient.Builder builder = new HTTPRequestClient.Builder();
StringBuilder append = new StringBuilder("https://api.tryterra.co/v2/normalize/daily/").append(lowerCase).append("?resource_user_id=").append(terraManager.getUniqueId());
TerraManager.Companion companion = TerraManager.INSTANCE;
String lowerCase2 = lowerCase.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase2, "this as java.lang.String).toLowerCase(Locale.ROOT)");
builder.setUrl(append.append(companion.resourceToIdEndings(lowerCase2)).toString()).setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", terraManager.devId)})).withOutput(str).withInput(TerraDailyDataPayload.class).build().getResponseFromRequest(new Function1<Object, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m466invoke(obj);
return Unit.INSTANCE;
}
public final void m466invoke(Object obj) {
UnexpectedError unexpectedError;
try {
if (obj == null) {
throw new NullPointerException("null cannot be cast to non-null type co.tryterra.terra.backend.models.TerraDailyDataPayload");
}
function3.invoke(Boolean.valueOf(z), (TerraDailyDataPayload) obj, (Object) null);
} catch (ClassCastException unused) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
} catch (NullPointerException unused2) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
}
}
});
return;
}
completion.invoke(Boolean.valueOf(z), new TerraErrorResponse(str, null, null, 6, null), terraError);
}
});
return;
}
}
Log.e(TAG, "Resource does not support this datatype");
completion.invoke(false, (Object) null, new UnSupportedResource("Resource does not support this datatype"));
}
public final void getSleep(Connections type, long startDate, long endDate, boolean toWebhook, Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(completion, "completion");
Date from = Date.from(Instant.ofEpochSecond(startDate));
Intrinsics.checkNotNullExpressionValue(from, "from(Instant.ofEpochSecond(startDate))");
Date from2 = Date.from(Instant.ofEpochSecond(endDate));
Intrinsics.checkNotNullExpressionValue(from2, "from(Instant.ofEpochSecond(endDate))");
getSleep(type, from, from2, toWebhook, completion);
}
public static void getSleep$default(TerraManager terraManager, Connections connections, Date date, Date date2, boolean z, Function3 function3, int i, Object obj) {
if ((i & 8) != 0) {
z = true;
}
boolean z2 = z;
if ((i & 16) != 0) {
function3 = new Function3<Boolean, TerraDataPayload, TerraError, Unit>() {
public final void invoke(boolean z3, TerraDataPayload terraDataPayload, TerraError terraError) {
}
public Object invoke(Object obj2, Object obj3, Object obj4) {
invoke(((Boolean) obj2).booleanValue(), (TerraDataPayload) obj3, (TerraError) obj4);
return Unit.INSTANCE;
}
};
}
terraManager.getSleep(connections, date, date2, z2, (Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit>) function3);
}
public final void getSleep(final Connections type, Date startDate, Date endDate, final boolean toWebhook, final Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(startDate, "startDate");
Intrinsics.checkNotNullParameter(endDate, "endDate");
Intrinsics.checkNotNullParameter(completion, "completion");
int i = WhenMappings.$EnumSwitchMapping$0[type.ordinal()];
if (i == 1 || i == 2 || i == 3) {
HealthConnect healthConnect = this.healthConnect;
if (healthConnect == null) {
Log.e(TAG, "Terra not connected.");
completion.invoke(false, (Object) null, new Unauthorised("Not connected to Health Connect"));
return;
} else {
Intrinsics.checkNotNull(healthConnect);
healthConnect.getSleep(type, startDate, endDate, false, toWebhook, new Function3<Boolean, String, TerraError, Unit>() {
{
super(3);
}
public Object invoke(Object obj, Object obj2, Object obj3) {
invoke(((Boolean) obj).booleanValue(), (String) obj2, (TerraError) obj3);
return Unit.INSTANCE;
}
public final void invoke(final boolean z, String str, TerraError terraError) {
if (z) {
if (toWebhook) {
completion.invoke(Boolean.valueOf(z), new TerraWebhookResponse(str, null, null, null, null, 30, null), terraError);
return;
}
TerraManager terraManager = this;
Intrinsics.checkNotNull(str);
String lowerCase = type.name().toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase, "this as java.lang.String).toLowerCase(Locale.ROOT)");
final Function3<Boolean, TerraDataPayload, TerraError, Unit> function3 = completion;
HTTPRequestClient.Builder builder = new HTTPRequestClient.Builder();
StringBuilder append = new StringBuilder("https://api.tryterra.co/v2/normalize/sleep/").append(lowerCase).append("?resource_user_id=").append(terraManager.getUniqueId());
TerraManager.Companion companion = TerraManager.INSTANCE;
String lowerCase2 = lowerCase.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase2, "this as java.lang.String).toLowerCase(Locale.ROOT)");
builder.setUrl(append.append(companion.resourceToIdEndings(lowerCase2)).toString()).setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", terraManager.devId)})).withOutput(str).withInput(TerraSleepDataPayload.class).build().getResponseFromRequest(new Function1<Object, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m468invoke(obj);
return Unit.INSTANCE;
}
public final void m468invoke(Object obj) {
UnexpectedError unexpectedError;
try {
if (obj == null) {
throw new NullPointerException("null cannot be cast to non-null type co.tryterra.terra.backend.models.TerraSleepDataPayload");
}
function3.invoke(Boolean.valueOf(z), (TerraSleepDataPayload) obj, (Object) null);
} catch (ClassCastException unused) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
} catch (NullPointerException unused2) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
}
}
});
return;
}
completion.invoke(Boolean.valueOf(z), new TerraErrorResponse(str, null, null, 6, null), terraError);
}
});
return;
}
}
Log.e(TAG, "Resource does not support this datatype");
completion.invoke(false, (Object) null, new UnSupportedResource("Resource does not support this datatype"));
}
public final void getBody(Connections type, long startDate, long endDate, boolean toWebhook, Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(completion, "completion");
Date from = Date.from(Instant.ofEpochSecond(startDate));
Intrinsics.checkNotNullExpressionValue(from, "from(Instant.ofEpochSecond(startDate))");
Date from2 = Date.from(Instant.ofEpochSecond(endDate));
Intrinsics.checkNotNullExpressionValue(from2, "from(Instant.ofEpochSecond(endDate))");
getBody(type, from, from2, toWebhook, completion);
}
public static void getBody$default(TerraManager terraManager, Connections connections, Date date, Date date2, boolean z, Function3 function3, int i, Object obj) {
if ((i & 8) != 0) {
z = true;
}
boolean z2 = z;
if ((i & 16) != 0) {
function3 = new Function3<Boolean, TerraDataPayload, TerraError, Unit>() {
public final void invoke(boolean z3, TerraDataPayload terraDataPayload, TerraError terraError) {
}
public Object invoke(Object obj2, Object obj3, Object obj4) {
invoke(((Boolean) obj2).booleanValue(), (TerraDataPayload) obj3, (TerraError) obj4);
return Unit.INSTANCE;
}
};
}
terraManager.getBody(connections, date, date2, z2, (Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit>) function3);
}
public final void getBody(final Connections type, Date startDate, Date endDate, final boolean toWebhook, final Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(startDate, "startDate");
Intrinsics.checkNotNullParameter(endDate, "endDate");
Intrinsics.checkNotNullParameter(completion, "completion");
int i = WhenMappings.$EnumSwitchMapping$0[type.ordinal()];
if (i == 1 || i == 2 || i == 3) {
HealthConnect healthConnect = this.healthConnect;
if (healthConnect == null) {
Log.e(TAG, "Terra not connected.");
completion.invoke(false, (Object) null, new Unauthorised("Not connected to Health Connect"));
return;
} else {
Intrinsics.checkNotNull(healthConnect);
healthConnect.getBody(type, startDate, endDate, false, toWebhook, new Function3<Boolean, String, TerraError, Unit>() {
{
super(3);
}
public Object invoke(Object obj, Object obj2, Object obj3) {
invoke(((Boolean) obj).booleanValue(), (String) obj2, (TerraError) obj3);
return Unit.INSTANCE;
}
public final void invoke(final boolean z, String str, TerraError terraError) {
if (z) {
if (toWebhook) {
completion.invoke(Boolean.valueOf(z), new TerraWebhookResponse(str, null, null, null, null, 30, null), terraError);
return;
}
TerraManager terraManager = this;
Intrinsics.checkNotNull(str);
String lowerCase = type.name().toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase, "this as java.lang.String).toLowerCase(Locale.ROOT)");
final Function3<Boolean, TerraDataPayload, TerraError, Unit> function3 = completion;
HTTPRequestClient.Builder builder = new HTTPRequestClient.Builder();
StringBuilder append = new StringBuilder("https://api.tryterra.co/v2/normalize/body/").append(lowerCase).append("?resource_user_id=").append(terraManager.getUniqueId());
TerraManager.Companion companion = TerraManager.INSTANCE;
String lowerCase2 = lowerCase.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase2, "this as java.lang.String).toLowerCase(Locale.ROOT)");
builder.setUrl(append.append(companion.resourceToIdEndings(lowerCase2)).toString()).setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", terraManager.devId)})).withOutput(str).withInput(TerraBodyDataPayload.class).build().getResponseFromRequest(new Function1<Object, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m465invoke(obj);
return Unit.INSTANCE;
}
public final void m465invoke(Object obj) {
UnexpectedError unexpectedError;
try {
if (obj == null) {
throw new NullPointerException("null cannot be cast to non-null type co.tryterra.terra.backend.models.TerraBodyDataPayload");
}
function3.invoke(Boolean.valueOf(z), (TerraBodyDataPayload) obj, (Object) null);
} catch (ClassCastException unused) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
} catch (NullPointerException unused2) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
}
}
});
return;
}
completion.invoke(Boolean.valueOf(z), new TerraErrorResponse(str, null, null, 6, null), terraError);
}
});
return;
}
}
Log.e(TAG, "Resource does not support this datatype");
completion.invoke(false, (Object) null, new UnSupportedResource("Resource does not support this datatype"));
}
public final void getActivity(Connections type, long startDate, long endDate, boolean toWebhook, Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(completion, "completion");
Date from = Date.from(Instant.ofEpochSecond(startDate));
Intrinsics.checkNotNullExpressionValue(from, "from(Instant.ofEpochSecond(startDate))");
Date from2 = Date.from(Instant.ofEpochSecond(endDate));
Intrinsics.checkNotNullExpressionValue(from2, "from(Instant.ofEpochSecond(endDate))");
getActivity(type, from, from2, toWebhook, completion);
}
public static void getActivity$default(TerraManager terraManager, Connections connections, Date date, Date date2, boolean z, Function3 function3, int i, Object obj) {
if ((i & 8) != 0) {
z = true;
}
boolean z2 = z;
if ((i & 16) != 0) {
function3 = new Function3<Boolean, TerraDataPayload, TerraError, Unit>() {
public final void invoke(boolean z3, TerraDataPayload terraDataPayload, TerraError terraError) {
}
public Object invoke(Object obj2, Object obj3, Object obj4) {
invoke(((Boolean) obj2).booleanValue(), (TerraDataPayload) obj3, (TerraError) obj4);
return Unit.INSTANCE;
}
};
}
terraManager.getActivity(connections, date, date2, z2, (Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit>) function3);
}
public final void getActivity(final Connections type, Date startDate, Date endDate, final boolean toWebhook, final Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(startDate, "startDate");
Intrinsics.checkNotNullParameter(endDate, "endDate");
Intrinsics.checkNotNullParameter(completion, "completion");
int i = WhenMappings.$EnumSwitchMapping$0[type.ordinal()];
if (i == 1 || i == 2 || i == 3) {
HealthConnect healthConnect = this.healthConnect;
if (healthConnect == null) {
Log.e(TAG, "Terra not connected.");
completion.invoke(false, (Object) null, new Unauthorised("Not connected to Health Connect"));
return;
} else {
Intrinsics.checkNotNull(healthConnect);
healthConnect.getActivity(type, startDate, endDate, false, toWebhook, new Function3<Boolean, String, TerraError, Unit>() {
{
super(3);
}
public Object invoke(Object obj, Object obj2, Object obj3) {
invoke(((Boolean) obj).booleanValue(), (String) obj2, (TerraError) obj3);
return Unit.INSTANCE;
}
public final void invoke(final boolean z, String str, TerraError terraError) {
if (z) {
if (toWebhook) {
completion.invoke(Boolean.valueOf(z), new TerraWebhookResponse(str, null, null, null, null, 30, null), terraError);
return;
}
TerraManager terraManager = this;
Intrinsics.checkNotNull(str);
String lowerCase = type.name().toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase, "this as java.lang.String).toLowerCase(Locale.ROOT)");
final Function3<Boolean, TerraDataPayload, TerraError, Unit> function3 = completion;
HTTPRequestClient.Builder builder = new HTTPRequestClient.Builder();
StringBuilder append = new StringBuilder("https://api.tryterra.co/v2/normalize/activity/").append(lowerCase).append("?resource_user_id=").append(terraManager.getUniqueId());
TerraManager.Companion companion = TerraManager.INSTANCE;
String lowerCase2 = lowerCase.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase2, "this as java.lang.String).toLowerCase(Locale.ROOT)");
builder.setUrl(append.append(companion.resourceToIdEndings(lowerCase2)).toString()).setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", terraManager.devId)})).withOutput(str).withInput(TerraActivityDataPayload.class).build().getResponseFromRequest(new Function1<Object, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m464invoke(obj);
return Unit.INSTANCE;
}
public final void m464invoke(Object obj) {
UnexpectedError unexpectedError;
try {
if (obj == null) {
throw new NullPointerException("null cannot be cast to non-null type co.tryterra.terra.backend.models.TerraActivityDataPayload");
}
function3.invoke(Boolean.valueOf(z), (TerraActivityDataPayload) obj, (Object) null);
} catch (ClassCastException unused) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
} catch (NullPointerException unused2) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
}
}
});
return;
}
completion.invoke(Boolean.valueOf(z), new TerraErrorResponse(str, null, null, 6, null), terraError);
}
});
return;
}
}
Log.e(TAG, "Resource does not support this datatype");
completion.invoke(false, (Object) null, new UnSupportedResource("Resource does not support this datatype"));
}
public static void getAthlete$default(TerraManager terraManager, Connections connections, Function1 function1, int i, Object obj) {
if ((i & 2) != 0) {
function1 = new Function1<Boolean, Unit>() {
public final void invoke(boolean z) {
}
public Object invoke(Object obj2) {
invoke(((Boolean) obj2).booleanValue());
return Unit.INSTANCE;
}
};
}
terraManager.getAthlete(connections, function1);
}
public final void getAthlete(Connections type, Function1<? super Boolean, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(completion, "completion");
Log.e(TAG, "No supported providers");
completion.invoke(false);
}
public final void getNutrition(Connections type, long startDate, long endDate, boolean toWebhook, Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(completion, "completion");
Date from = Date.from(Instant.ofEpochSecond(startDate));
Intrinsics.checkNotNullExpressionValue(from, "from(Instant.ofEpochSecond(startDate))");
Date from2 = Date.from(Instant.ofEpochSecond(endDate));
Intrinsics.checkNotNullExpressionValue(from2, "from(Instant.ofEpochSecond(endDate))");
getNutrition(type, from, from2, toWebhook, completion);
}
public static void getNutrition$default(TerraManager terraManager, Connections connections, Date date, Date date2, boolean z, Function3 function3, int i, Object obj) {
if ((i & 8) != 0) {
z = true;
}
boolean z2 = z;
if ((i & 16) != 0) {
function3 = new Function3<Boolean, TerraDataPayload, TerraError, Unit>() {
public final void invoke(boolean z3, TerraDataPayload terraDataPayload, TerraError terraError) {
}
public Object invoke(Object obj2, Object obj3, Object obj4) {
invoke(((Boolean) obj2).booleanValue(), (TerraDataPayload) obj3, (TerraError) obj4);
return Unit.INSTANCE;
}
};
}
terraManager.getNutrition(connections, date, date2, z2, (Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit>) function3);
}
public final void getNutrition(final Connections type, Date startDate, Date endDate, final boolean toWebhook, final Function3<? super Boolean, ? super TerraDataPayload, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(startDate, "startDate");
Intrinsics.checkNotNullParameter(endDate, "endDate");
Intrinsics.checkNotNullParameter(completion, "completion");
int i = WhenMappings.$EnumSwitchMapping$0[type.ordinal()];
if (i == 1 || i == 2 || i == 3) {
HealthConnect healthConnect = this.healthConnect;
if (healthConnect == null) {
Log.e(TAG, "Terra not connected.");
completion.invoke(false, (Object) null, new Unauthorised("Not connected to Health Connect"));
return;
} else {
Intrinsics.checkNotNull(healthConnect);
healthConnect.getNutrition(type, startDate, endDate, false, toWebhook, new Function3<Boolean, String, TerraError, Unit>() {
{
super(3);
}
public Object invoke(Object obj, Object obj2, Object obj3) {
invoke(((Boolean) obj).booleanValue(), (String) obj2, (TerraError) obj3);
return Unit.INSTANCE;
}
public final void invoke(final boolean z, String str, TerraError terraError) {
if (z) {
if (toWebhook) {
completion.invoke(Boolean.valueOf(z), new TerraWebhookResponse(str, null, null, null, null, 30, null), terraError);
return;
}
TerraManager terraManager = this;
Intrinsics.checkNotNull(str);
String lowerCase = type.name().toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase, "this as java.lang.String).toLowerCase(Locale.ROOT)");
final Function3<Boolean, TerraDataPayload, TerraError, Unit> function3 = completion;
HTTPRequestClient.Builder builder = new HTTPRequestClient.Builder();
StringBuilder append = new StringBuilder("https://api.tryterra.co/v2/normalize/nutrition/").append(lowerCase).append("?resource_user_id=").append(terraManager.getUniqueId());
TerraManager.Companion companion = TerraManager.INSTANCE;
String lowerCase2 = lowerCase.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase2, "this as java.lang.String).toLowerCase(Locale.ROOT)");
builder.setUrl(append.append(companion.resourceToIdEndings(lowerCase2)).toString()).setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", terraManager.devId)})).withOutput(str).withInput(TerraNutritionDataPayload.class).build().getResponseFromRequest(new Function1<Object, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m467invoke(obj);
return Unit.INSTANCE;
}
public final void m467invoke(Object obj) {
UnexpectedError unexpectedError;
try {
if (obj == null) {
throw new NullPointerException("null cannot be cast to non-null type co.tryterra.terra.backend.models.TerraNutritionDataPayload");
}
function3.invoke(Boolean.valueOf(z), (TerraNutritionDataPayload) obj, (Object) null);
} catch (ClassCastException unused) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
} catch (NullPointerException unused2) {
unexpectedError = new UnexpectedError("Unexpected Error occurred while parsing data from server");
function3.invoke(Boolean.valueOf(z), (Object) null, unexpectedError);
}
}
});
return;
}
completion.invoke(Boolean.valueOf(z), new TerraErrorResponse(str, null, null, 6, null), terraError);
}
});
return;
}
}
completion.invoke(false, (Object) null, new UnSupportedResource("Resource does not support this datatype"));
}
public final void readGlucoseData(final Function1<? super FSLSensorDetails, Unit> completion) {
Intrinsics.checkNotNullParameter(completion, "completion");
Log.d(TAG, "Reading Glucose data");
if (!this.preferences.getBoolean(ConstantsKt.TERRA_ENABLE_FSL_SDK, false)) {
Log.e(TAG, "FSL has not yet been enabled. Did you call initConnection with FSL yet?");
completion.invoke((Object) null);
return;
}
FSLSensor.setDataConsumer(new Consumer() {
@Override
public final void accept(Object obj) {
TerraManager.m463readGlucoseData$lambda14(completion, (FSLSensorDetails) obj);
}
});
Intent intent = new Intent(this.context, (Class<?>) FSLSensor.class);
intent.addFlags(C.BUFFER_FLAG_LAST_SAMPLE);
this.context.startActivity(intent);
Log.d(TAG, "Finished initialising glucose data read");
}
public static final void m463readGlucoseData$lambda14(Function1 function1, FSLSensorDetails fSLSensorDetails) {
Intrinsics.checkNotNullParameter(function1, "$tmp0");
function1.invoke(fSLSensorDetails);
}
public final void subscribe(Set<? extends DataTypes> forDataTypes) {
Intrinsics.checkNotNullParameter(forDataTypes, "forDataTypes");
if (Terra.INSTANCE.getUpdateHandler() == null) {
throw new NoUpdateHandlerDetected("Please set an update handler first");
}
if (this.healthConnect == null) {
throw new NotAuthenticated("Please authenticate with Samsung Health or Google Fit for this feature");
}
SharedPreferences.Editor edit = this.preferences.edit();
Set<? extends DataTypes> set = forDataTypes;
ArrayList arrayList = new ArrayList(CollectionsKt.collectionSizeOrDefault(set, 10));
Iterator<T> it = set.iterator();
while (it.hasNext()) {
arrayList.add(((DataTypes) it.next()).name());
}
edit.putStringSet(ConstantsKt.SUBSCRIBED_TYPES, CollectionsKt.toSet(arrayList)).apply();
Set mutableSet = CollectionsKt.toMutableSet(set);
if (forDataTypes.contains(DataTypes.STEPS)) {
WorkManager workManager = WorkManager.getInstance(this.context);
Intrinsics.checkNotNullExpressionValue(workManager, "getInstance(this.context)");
workManager.enqueueUniquePeriodicWork("co.tryterra.sensor.steps.update", ExistingPeriodicWorkPolicy.REPLACE, new PeriodicWorkRequest.Builder((Class<? extends ListenableWorker>) StepWorker.class, 900000L, TimeUnit.MILLISECONDS).build());
mutableSet.remove(DataTypes.STEPS);
}
}
public final void allGivenPermissions(Function1<? super Set<String>, Unit> completion) {
Intrinsics.checkNotNullParameter(completion, "completion");
HealthConnect healthConnect = this.healthConnect;
if (healthConnect != null) {
healthConnect.getAllPermissions(completion);
}
}
private final <T> void normalizeData(String data, String resource, String datatype, final Function2<? super T, ? super TerraError, Unit> completion) {
HTTPRequestClient.Builder builder = new HTTPRequestClient.Builder();
StringBuilder append = new StringBuilder("https://api.tryterra.co/v2/normalize/").append(datatype).append('/').append(resource).append("?resource_user_id=").append(getUniqueId());
Companion companion = INSTANCE;
String lowerCase = resource.toLowerCase(Locale.ROOT);
Intrinsics.checkNotNullExpressionValue(lowerCase, "this as java.lang.String).toLowerCase(Locale.ROOT)");
HTTPRequestClient.Builder withOutput = builder.setUrl(append.append(companion.resourceToIdEndings(lowerCase)).toString()).setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", this.devId)})).withOutput(data);
Intrinsics.reifiedOperationMarker(4, "T");
HTTPRequestClient build = withOutput.withInput(Object.class).build();
Intrinsics.needClassReification();
build.getResponseFromRequest(new Function1<Object, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m476invoke(obj);
return Unit.INSTANCE;
}
public final void m476invoke(Object obj) {
try {
Function2<T, TerraError, Unit> function2 = completion;
Intrinsics.reifiedOperationMarker(1, "T");
Object obj2 = obj;
function2.invoke(obj, (Object) null);
} catch (ClassCastException unused) {
completion.invoke((Object) null, new UnexpectedError("Unexpected Error occurred while parsing data from server"));
} catch (NullPointerException unused2) {
completion.invoke((Object) null, new UnexpectedError("Unexpected Error occurred while parsing data from server"));
}
}
});
}
public final void checkAuth(Connections connection, final Function1<? super Boolean, Unit> callback) {
String str;
String str2;
Intrinsics.checkNotNullParameter(connection, "connection");
Intrinsics.checkNotNullParameter(callback, "callback");
int i = WhenMappings.$EnumSwitchMapping$0[connection.ordinal()];
if (i == 1) {
str = "gsdk";
} else if (i == 2) {
str = "";
} else if (i == 3) {
str = "hc";
} else if (i == 4) {
str = "sfsl";
} else {
throw new NoWhenBranchMatchedException();
}
int i2 = WhenMappings.$EnumSwitchMapping$0[connection.ordinal()];
if (i2 == 1) {
str2 = "googlefit";
} else if (i2 == 2) {
str2 = "samsung";
} else if (i2 == 3) {
str2 = "health_connect";
} else if (i2 == 4) {
str2 = "freestylelibresdk";
} else {
throw new NoWhenBranchMatchedException();
}
new HTTPRequestClient.Builder().setUrl("https://api.tryterra.co/v2/auth/" + str2 + "/check_auth?resource_user_identifier=" + getUniqueId() + str).method("POST").setHeaders1(MapsKt.hashMapOf(new Pair[]{TuplesKt.to("dev-id", this.devId)})).withInput(BaseResponse.class).build().getResponseFromRequest(new Function1<Object, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m471invoke(obj);
return Unit.INSTANCE;
}
public final void m471invoke(Object obj) {
TerraManager.BaseResponse baseResponse = obj instanceof TerraManager.BaseResponse ? (TerraManager.BaseResponse) obj : null;
if (Intrinsics.areEqual(baseResponse != null ? baseResponse.getStatus() : null, "success")) {
callback.invoke(true);
} else {
callback.invoke(false);
}
}
});
}
@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0002\b\t\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\b\u0080\b\u0018\u00002\u00020\u0001B\u0017\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\b\u0010\u0004\u001a\u0004\u0018\u00010\u0003¢\u0006\u0002\u0010\u0005J\t\u0010\t\u001a\u00020\u0003HÆ\u0003J\u000b\u0010\n\u001a\u0004\u0018\u00010\u0003HÆ\u0003J\u001f\u0010\u000b\u001a\u00020\u00002\b\b\u0002\u0010\u0002\u001a\u00020\u00032\n\b\u0002\u0010\u0004\u001a\u0004\u0018\u00010\u0003HÆ\u0001J\u0013\u0010\f\u001a\u00020\r2\b\u0010\u000e\u001a\u0004\u0018\u00010\u0001HÖ\u0003J\t\u0010\u000f\u001a\u00020\u0010HÖ\u0001J\t\u0010\u0011\u001a\u00020\u0003HÖ\u0001R\u0013\u0010\u0004\u001a\u0004\u0018\u00010\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0006\u0010\u0007R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\b\u0010\u0007¨\u0006\u0012"}, d2 = {"Lco/tryterra/terra/TerraManager$BaseResponse;", "", "status", "", "message", "(Ljava/lang/String;Ljava/lang/String;)V", "getMessage", "()Ljava/lang/String;", "getStatus", "component1", "component2", "copy", "equals", "", "other", "hashCode", "", "toString", "TerraAndroid_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public static final class BaseResponse {
private final String message;
private final String status;
public static BaseResponse copy$default(BaseResponse baseResponse, String str, String str2, int i, Object obj) {
if ((i & 1) != 0) {
str = baseResponse.status;
}
if ((i & 2) != 0) {
str2 = baseResponse.message;
}
return baseResponse.copy(str, str2);
}
public final String getStatus() {
return this.status;
}
public final String getMessage() {
return this.message;
}
public final BaseResponse copy(String status, String message) {
Intrinsics.checkNotNullParameter(status, "status");
return new BaseResponse(status, message);
}
public boolean equals(Object other) {
if (this == other) {
return true;
}
if (!(other instanceof BaseResponse)) {
return false;
}
BaseResponse baseResponse = (BaseResponse) other;
return Intrinsics.areEqual(this.status, baseResponse.status) && Intrinsics.areEqual(this.message, baseResponse.message);
}
public int hashCode() {
int hashCode = this.status.hashCode() * 31;
String str = this.message;
return hashCode + (str == null ? 0 : str.hashCode());
}
public String toString() {
return "BaseResponse(status=" + this.status + ", message=" + this.message + ')';
}
public BaseResponse(String str, String str2) {
Intrinsics.checkNotNullParameter(str, "status");
this.status = str;
this.message = str2;
}
public final String getStatus() {
return this.status;
}
public final String getMessage() {
return this.message;
}
}
@Metadata(d1 = {"\u0000\\\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\"\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0002\u0018\u0002\n\u0002\u0010\u0002\n\u0002\b\u0006\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002JC\u0010\u001d\u001a\u00020\u001e2\u0006\u0010\u001f\u001a\u00020\u00042\u0006\u0010 \u001a\u00020!2\b\u0010\"\u001a\u0004\u0018\u00010\u00042\u001a\u0010#\u001a\u0016\u0012\u0004\u0012\u00020%\u0012\u0006\u0012\u0004\u0018\u00010&\u0012\u0004\u0012\u00020'0$H\u0000¢\u0006\u0002\b(J\u000e\u0010)\u001a\u00020\u00042\u0006\u0010*\u001a\u00020\u0004J\u000e\u0010+\u001a\u00020\u00042\u0006\u0010,\u001a\u00020\u0004R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0004X\u0080T¢\u0006\u0002\n\u0000R \u0010\u0006\u001a\b\u0012\u0004\u0012\u00020\u00040\u0007X\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\b\u0010\t\"\u0004\b\n\u0010\u000bR,\u0010\f\u001a\u001a\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u00040\u0007\u0012\n\u0012\b\u0012\u0004\u0012\u00020\u00040\u00070\rX\u0080\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u000e\u0010\u000fR\u001a\u0010\u0010\u001a\u00020\u0011X\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0012\u0010\u0013\"\u0004\b\u0014\u0010\u0015R \u0010\u0016\u001a\b\u0012\u0004\u0012\u00020\u00180\u0017X\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0019\u0010\u001a\"\u0004\b\u001b\u0010\u001c¨\u0006-"}, d2 = {"Lco/tryterra/terra/TerraManager$Companion;", "", "()V", "TAG", "", "TERRA_PREFS", "grantedPermissions", "", "getGrantedPermissions$TerraAndroid_release", "()Ljava/util/Set;", "setGrantedPermissions$TerraAndroid_release", "(Ljava/util/Set;)V", "permissionLauncher", "Landroidx/activity/result/contract/ActivityResultContract;", "getPermissionLauncher$TerraAndroid_release", "()Landroidx/activity/result/contract/ActivityResultContract;", "sensorScanning", "Ljava/util/concurrent/atomic/AtomicBoolean;", "getSensorScanning", "()Ljava/util/concurrent/atomic/AtomicBoolean;", "setSensorScanning", "(Ljava/util/concurrent/atomic/AtomicBoolean;)V", "users", "Ljava/util/ArrayList;", "Lco/tryterra/terra/models/Users;", "getUsers$TerraAndroid_release", "()Ljava/util/ArrayList;", "setUsers$TerraAndroid_release", "(Ljava/util/ArrayList;)V", "createInstance", "Lco/tryterra/terra/TerraManager;", "devId", "context", "Landroid/content/Context;", "referenceId", "completion", "Lkotlin/Function2;", "", "Lco/tryterra/terra/TerraError;", "", "createInstance$TerraAndroid_release", "resourceToIdEndings", "resource", "uniqueIdEndings", "packageName", "TerraAndroid_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public static final class Companion {
public Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
public final ArrayList<Users> getUsers$TerraAndroid_release() {
return TerraManager.users;
}
public final void setUsers$TerraAndroid_release(ArrayList<Users> arrayList) {
Intrinsics.checkNotNullParameter(arrayList, "<set-?>");
TerraManager.users = arrayList;
}
public final AtomicBoolean getSensorScanning() {
return TerraManager.sensorScanning;
}
public final void setSensorScanning(AtomicBoolean atomicBoolean) {
Intrinsics.checkNotNullParameter(atomicBoolean, "<set-?>");
TerraManager.sensorScanning = atomicBoolean;
}
public final ActivityResultContract<Set<String>, Set<String>> getPermissionLauncher$TerraAndroid_release() {
return TerraManager.permissionLauncher;
}
public final Set<String> getGrantedPermissions$TerraAndroid_release() {
return TerraManager.grantedPermissions;
}
public final void setGrantedPermissions$TerraAndroid_release(Set<String> set) {
Intrinsics.checkNotNullParameter(set, "<set-?>");
TerraManager.grantedPermissions = set;
}
public final TerraManager createInstance$TerraAndroid_release(String devId, Context context, String referenceId, Function2<? super Boolean, ? super TerraError, Unit> completion) {
Intrinsics.checkNotNullParameter(devId, "devId");
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(completion, "completion");
return new TerraManager(devId, context, referenceId, completion, null);
}
public final String uniqueIdEndings(String packageName) {
Intrinsics.checkNotNullParameter(packageName, "packageName");
return Intrinsics.areEqual(packageName, "com.google.android.apps.fitness") ? "gsdk" : Intrinsics.areEqual(packageName, "com.google.android.apps.healthdata") ? "hc" : "";
}
public final String resourceToIdEndings(String resource) {
Intrinsics.checkNotNullParameter(resource, "resource");
switch (resource.hashCode()) {
case -1534831349:
if (resource.equals("google_fit")) {
return "gsdk";
}
break;
case -381559929:
if (resource.equals("freestylelibresdk")) {
return "sfsl";
}
break;
case 1223624199:
if (resource.equals("health_connect")) {
return "hc";
}
break;
case 1474516792:
if (resource.equals("googlefit")) {
return "gsdk";
}
break;
case 1864941562:
resource.equals("samsung");
break;
}
return "";
}
}
}