导航菜单

页面标题

页面副标题

Glean v1.1.34 - TerraManager.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 "";
        }
    }
}