正在查看: Perplexity v2.48.1 应用的 GoogleActivityRecognition.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Perplexity v2.48.1 应用的 GoogleActivityRecognition.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.mapbox.common.movement;
import Ic.D;
import android.annotation.SuppressLint;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Build;
import com.google.android.gms.location.ActivityRecognitionResult;
import com.mapbox.common.MapboxCommonLogger;
import com.mapbox.common.MovementInfo;
import com.mapbox.common.MovementMode;
import com.mapbox.common.MovementModeProvider;
import com.mapbox.common.location.GoogleDeviceLocationProviderKt;
import com.mapbox.common.location.LocationServiceUtils;
import com.mapbox.common.movement.ActivityRecognitionClient;
import com.mapbox.common.movement.GoogleActivityRecognition;
import com.mapbox.maps.plugin.scalebar.ScaleBarConstantKt;
import fd.b;
import fd.c;
import fd.d;
import fd.e;
import fd.g;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import kotlin.Lazy;
import kotlin.LazyKt;
import kotlin.Metadata;
import kotlin.Pair;
import kotlin.Unit;
import kotlin.collections.MapsKt;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import nd.j;
@Metadata(d1 = {"\u0000Q\n\u0002\u0018\u0002\n\u0002\u0018\u0002\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\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0002\n\u0002\b\t*\u0001\u0012\b\u0001\u0018\u0000 #2\u00020\u0001:\u0002#$B\u0017\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\b\b\u0002\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\b\u0010\u0019\u001a\u00020\u001aH\u0002J\u0010\u0010\u001b\u001a\u00020\u001c2\u0006\u0010\u001d\u001a\u00020\u0018H\u0016J\b\u0010\u001e\u001a\u00020\u0015H\u0002J\b\u0010\u001f\u001a\u00020\u0015H\u0016J\u0010\u0010 \u001a\u00020\u001c2\u0006\u0010\u001d\u001a\u00020\u0018H\u0016J\b\u0010!\u001a\u00020\u001cH\u0017J\b\u0010\"\u001a\u00020\u001cH\u0017R\u000e\u0010\u0007\u001a\u00020\bX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\nX\u0082\u0004¢\u0006\u0002\n\u0000R\u001b\u0010\u000b\u001a\u00020\f8BX\u0082\u0084\u0002¢\u0006\f\n\u0004\b\u000f\u0010\u0010\u001a\u0004\b\r\u0010\u000eR\u0010\u0010\u0011\u001a\u00020\u0012X\u0082\u0004¢\u0006\u0004\n\u0002\u0010\u0013R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0014\u001a\u00020\u0015X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0016\u001a\b\u0012\u0004\u0012\u00020\u00180\u0017X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006%"}, d2 = {"Lcom/mapbox/common/movement/GoogleActivityRecognition;", "Lcom/mapbox/common/movement/ActivityRecognitionClient;", "context", "Landroid/content/Context;", "mode", "Lcom/mapbox/common/movement/GoogleActivityRecognition$Mode;", "(Landroid/content/Context;Lcom/mapbox/common/movement/GoogleActivityRecognition$Mode;)V", "activityClient", "Lcom/mapbox/common/movement/ProxyGoogleActivityRecognitionClient;", "activityUpdatesIntentFilter", "Landroid/content/IntentFilter;", "activityUpdatesPendingIntent", "Landroid/app/PendingIntent;", "getActivityUpdatesPendingIntent", "()Landroid/app/PendingIntent;", "activityUpdatesPendingIntent$delegate", "Lkotlin/Lazy;", "broadcast", "com/mapbox/common/movement/GoogleActivityRecognition$broadcast$1", "Lcom/mapbox/common/movement/GoogleActivityRecognition$broadcast$1;", "isSubscribed", "", "observers", "Ljava/util/concurrent/CopyOnWriteArrayList;", "Lcom/mapbox/common/movement/ActivityRecognitionClient$Observer;", "activityRecognitionPermissionName", "", "addObserver", "", "observer", "hasActivityRecognitionPermission", "isPlatformActivityRecognitionAvailable", "removeObserver", "start", "stop", "Companion", "Mode", "common_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public final class GoogleActivityRecognition implements ActivityRecognitionClient {
private static final long ACTIVITY_DETECTION_INTERVAL_MILLIS = 1000;
public static final String ACTIVITY_UPDATES_ACTION = "com.mapbox.common.movement.action.ACTIVITY_RECOGNITION_UPDATES";
private static final int ACTIVITY_UPDATES_CODE = 1000;
public static final String TAG = "ActivityRecognitionObserver";
private static final int TRANSITION_API_CONFIDENCE_SCORE = 85;
private final ProxyGoogleActivityRecognitionClient activityClient;
private final IntentFilter activityUpdatesIntentFilter;
private final Lazy activityUpdatesPendingIntent;
private final GoogleActivityRecognition$broadcast$1 broadcast;
private final Context context;
private boolean isSubscribed;
private final Mode mode;
private final CopyOnWriteArrayList<ActivityRecognitionClient.Observer> observers;
public static final Companion INSTANCE = new Companion(null);
private static final Lazy<List<b>> TRANSITION_API_MONITORING_TYPES$delegate = LazyKt.a(new Function0<List<? extends b>>() {
public final List<b> invoke() {
List e0 = bl.b.e0(new Integer[]{0, 2, 8, 7, 1, 3});
ArrayList arrayList = new ArrayList(bl.b.a0(e0, 10));
Iterator it = e0.iterator();
while (it.hasNext()) {
int intValue = ((Number) it.next()).intValue();
b.f(0);
D.j("Activity type not set.", intValue != -1);
arrayList.add(new b(intValue, 0));
}
return arrayList;
}
});
public static final String GOOGLE_ACTIVITY_RECOGNITION_CLIENT = "com.google.android.gms.location.ActivityRecognitionClient";
private static boolean googlePlayActivityRecognitionBundled = LocationServiceUtils.isOnClasspath(GOOGLE_ACTIVITY_RECOGNITION_CLIENT);
@Metadata(d1 = {"\u0000Z\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0010\u000e\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0006\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0010\t\n\u0002\b\b\b\u0086\u0003\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003J!\u0010\b\u001a\u0004\u0018\u00010\u0007*\u0004\u0018\u00010\u00042\b\b\u0002\u0010\u0006\u001a\u00020\u0005H\u0002¢\u0006\u0004\b\b\u0010\tJ!\u0010\b\u001a\u0004\u0018\u00010\u0007*\u0004\u0018\u00010\n2\b\b\u0002\u0010\u0006\u001a\u00020\u0005H\u0002¢\u0006\u0004\b\b\u0010\u000bJ\u0019\u0010\u000f\u001a\u0004\u0018\u00010\u000e2\u0006\u0010\r\u001a\u00020\fH\u0002¢\u0006\u0004\b\u000f\u0010\u0010J-\u0010\u0015\u001a\b\u0012\u0004\u0012\u00028\u00000\u0012\"\u0004\b\u0000\u0010\u0011*\b\u0012\u0004\u0012\u00028\u00000\u00122\u0006\u0010\u0014\u001a\u00020\u0013H\u0002¢\u0006\u0004\b\u0015\u0010\u0016J\u000f\u0010\u001a\u001a\u00020\u0017H\u0000¢\u0006\u0004\b\u0018\u0010\u0019R\u001a\u0010\u001b\u001a\u00020\u00138\u0006X\u0087T¢\u0006\f\n\u0004\b\u001b\u0010\u001c\u0012\u0004\b\u001d\u0010\u0003R!\u0010$\u001a\b\u0012\u0004\u0012\u00020\u001f0\u001e8BX\u0082\u0084\u0002¢\u0006\f\n\u0004\b \u0010!\u001a\u0004\b\"\u0010#R(\u0010%\u001a\u00020\u00178\u0000@\u0000X\u0081\u000e¢\u0006\u0018\n\u0004\b%\u0010&\u0012\u0004\b*\u0010\u0003\u001a\u0004\b'\u0010\u0019\"\u0004\b(\u0010)R\u0014\u0010,\u001a\u00020+8\u0002X\u0082T¢\u0006\u0006\n\u0004\b,\u0010-R\u0014\u0010.\u001a\u00020\f8\u0002X\u0082T¢\u0006\u0006\n\u0004\b.\u0010/R\u0014\u00100\u001a\u00020\u00138\u0000X\u0080T¢\u0006\u0006\n\u0004\b0\u0010\u001cR\u0014\u00101\u001a\u00020\u00138\u0000X\u0080T¢\u0006\u0006\n\u0004\b1\u0010\u001cR\u0014\u00102\u001a\u00020\f8\u0002X\u0082T¢\u0006\u0006\n\u0004\b2\u0010/¨\u00063"}, d2 = {"Lcom/mapbox/common/movement/GoogleActivityRecognition$Companion;", "", "<init>", "()V", "Lfd/e;", "Lcom/mapbox/common/MovementModeProvider;", "provider", "Lcom/mapbox/common/MovementInfo;", "toMovementInfo", "(Lfd/e;Lcom/mapbox/common/MovementModeProvider;)Lcom/mapbox/common/MovementInfo;", "Lcom/google/android/gms/location/ActivityRecognitionResult;", "(Lcom/google/android/gms/location/ActivityRecognitionResult;Lcom/mapbox/common/MovementModeProvider;)Lcom/mapbox/common/MovementInfo;", "", "activityType", "Lcom/mapbox/common/MovementMode;", "fromGmsType", "(I)Lcom/mapbox/common/MovementMode;", "T", "Lnd/j;", "", "name", "withLogs", "(Lnd/j;Ljava/lang/String;)Lnd/j;", "", "isAvailable$common_release", "()Z", "isAvailable", "ACTIVITY_UPDATES_ACTION", "Ljava/lang/String;", "getACTIVITY_UPDATES_ACTION$annotations", "", "Lfd/b;", "TRANSITION_API_MONITORING_TYPES$delegate", "Lkotlin/Lazy;", "getTRANSITION_API_MONITORING_TYPES", "()Ljava/util/List;", "TRANSITION_API_MONITORING_TYPES", "googlePlayActivityRecognitionBundled", "Z", "getGooglePlayActivityRecognitionBundled$common_release", "setGooglePlayActivityRecognitionBundled$common_release", "(Z)V", "getGooglePlayActivityRecognitionBundled$common_release$annotations", "", "ACTIVITY_DETECTION_INTERVAL_MILLIS", "J", "ACTIVITY_UPDATES_CODE", "I", "GOOGLE_ACTIVITY_RECOGNITION_CLIENT", "TAG", "TRANSITION_API_CONFIDENCE_SCORE", "common_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public static final class Companion {
public Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private final MovementMode fromGmsType(int activityType) {
if (activityType == 0) {
return MovementMode.IN_VEHICLE;
}
if (activityType == 1) {
return MovementMode.CYCLING;
}
if (activityType == 2) {
return MovementMode.ON_FOOT;
}
if (activityType == 3) {
return MovementMode.STATIONARY;
}
if (activityType == 7) {
return MovementMode.WALKING;
}
if (activityType != 8) {
return null;
}
return MovementMode.RUNNING;
}
public static void getACTIVITY_UPDATES_ACTION$annotations() {
}
public static void getGooglePlayActivityRecognitionBundled$common_release$annotations() {
}
public final List<b> getTRANSITION_API_MONITORING_TYPES() {
return (List) GoogleActivityRecognition.TRANSITION_API_MONITORING_TYPES$delegate.getValue();
}
private final MovementInfo toMovementInfo(e eVar, MovementModeProvider movementModeProvider) {
List<c> list;
MovementMode fromGmsType;
if (eVar == null || (list = eVar.w) == null) {
return null;
}
ArrayList arrayList = new ArrayList();
for (c cVar : list) {
Pair pair = (cVar.x == 0 && (fromGmsType = GoogleActivityRecognition.INSTANCE.fromGmsType(cVar.w)) != null) ? new Pair(fromGmsType, 85) : null;
if (pair != null) {
arrayList.add(pair);
}
}
return new MovementInfo(new HashMap(MapsKt.o0(arrayList)), movementModeProvider);
}
public static MovementInfo toMovementInfo$default(Companion companion, e eVar, MovementModeProvider movementModeProvider, int i, Object obj) {
if ((i & 1) != 0) {
movementModeProvider = MovementModeProvider.SYSTEM;
}
return companion.toMovementInfo(eVar, movementModeProvider);
}
public final <T> j withLogs(j jVar, final String str) {
j addOnFailureListener = jVar.addOnSuccessListener(new com.mapbox.common.location.a(4, new Function1<T, Unit>() {
{
super(1);
}
public Object invoke(Object obj) {
m24invoke((GoogleActivityRecognition$Companion$withLogs$1<T>) obj);
return Unit.a;
}
public final void m24invoke(T t) {
MapboxCommonLogger.INSTANCE.logD$common_release(GoogleActivityRecognition.TAG, str + " success");
}
})).addOnFailureListener(new a(str, 0));
Intrinsics.g(addOnFailureListener, "name: String): Task<T> {…lure: $it\")\n }");
return addOnFailureListener;
}
public static final void withLogs$lambda$6(Function1 function1, Object obj) {
Intrinsics.h(function1, "$tmp0");
function1.invoke(obj);
}
public static final void withLogs$lambda$7(String str, Exception exc) {
Intrinsics.h(str, "$name");
Intrinsics.h(exc, "it");
MapboxCommonLogger.INSTANCE.logD$common_release(GoogleActivityRecognition.TAG, str + " failure: " + exc);
}
public final boolean getGooglePlayActivityRecognitionBundled$common_release() {
return GoogleActivityRecognition.googlePlayActivityRecognitionBundled;
}
public final boolean isAvailable$common_release() {
return LocationServiceUtils.getGooglePlayServicesBundled() && getGooglePlayActivityRecognitionBundled$common_release() && ProxyGoogleActivityRecognitionClient.INSTANCE.getAvailable$common_release() && GoogleDeviceLocationProviderKt.getGooglePlayServicesHelper().isGooglePlayServicesReady();
}
public final void setGooglePlayActivityRecognitionBundled$common_release(boolean z) {
GoogleActivityRecognition.googlePlayActivityRecognitionBundled = z;
}
private Companion() {
}
public static MovementInfo toMovementInfo$default(Companion companion, ActivityRecognitionResult activityRecognitionResult, MovementModeProvider movementModeProvider, int i, Object obj) {
if ((i & 1) != 0) {
movementModeProvider = MovementModeProvider.SYSTEM;
}
return companion.toMovementInfo(activityRecognitionResult, movementModeProvider);
}
private final MovementInfo toMovementInfo(ActivityRecognitionResult activityRecognitionResult, MovementModeProvider movementModeProvider) {
ArrayList<g> arrayList;
if (activityRecognitionResult == null || (arrayList = activityRecognitionResult.w) == null) {
return null;
}
ArrayList arrayList2 = new ArrayList();
for (g gVar : arrayList) {
Companion companion = GoogleActivityRecognition.INSTANCE;
int i = gVar.w;
if (i > 22 || i < 0) {
i = 4;
}
MovementMode fromGmsType = companion.fromGmsType(i);
Pair pair = fromGmsType != null ? new Pair(fromGmsType, Integer.valueOf(gVar.x)) : null;
if (pair != null) {
arrayList2.add(pair);
}
}
return new MovementInfo(new HashMap(MapsKt.o0(arrayList2)), movementModeProvider);
}
}
@Metadata(d1 = {"\u0000\f\n\u0002\u0018\u0002\n\u0002\u0010\u0010\n\u0002\b\u0004\b\u0086\u0001\u0018\u00002\b\u0012\u0004\u0012\u00020\u00000\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002j\u0002\b\u0003j\u0002\b\u0004¨\u0006\u0005"}, d2 = {"Lcom/mapbox/common/movement/GoogleActivityRecognition$Mode;", "", "(Ljava/lang/String;I)V", "TRANSITION_API", "SAMPLING_API", "common_release"}, k = 1, mv = {1, 7, 1}, xi = 48)
public enum Mode {
TRANSITION_API,
SAMPLING_API
}
@Metadata(k = 3, mv = {1, 7, 1}, xi = 48)
public class WhenMappings {
public static final int[] $EnumSwitchMapping$0;
static {
int[] iArr = new int[Mode.values().length];
try {
iArr[Mode.TRANSITION_API.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
iArr[Mode.SAMPLING_API.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
$EnumSwitchMapping$0 = iArr;
}
}
public GoogleActivityRecognition(Context context, Mode mode) {
Intrinsics.h(context, "context");
Intrinsics.h(mode, "mode");
this.context = context;
this.mode = mode;
this.observers = new CopyOnWriteArrayList<>();
this.activityClient = new ProxyGoogleActivityRecognitionClient(context);
this.activityUpdatesIntentFilter = new IntentFilter(ACTIVITY_UPDATES_ACTION);
this.activityUpdatesPendingIntent = LazyKt.a(new Function0<PendingIntent>() {
{
super(0);
}
public final PendingIntent m25invoke() {
Context context2;
Context context3;
int i = Build.VERSION.SDK_INT >= 31 ? 167772160 : 134217728;
Intent intent = new Intent(GoogleActivityRecognition.ACTIVITY_UPDATES_ACTION);
context2 = GoogleActivityRecognition.this.context;
intent.setPackage(context2.getPackageName());
context3 = GoogleActivityRecognition.this.context;
return PendingIntent.getBroadcast(context3, ScaleBarConstantKt.KILOMETER, intent, i);
}
});
this.broadcast = new BroadcastReceiver() {
@Metadata(k = 3, mv = {1, 7, 1}, xi = 48)
public class WhenMappings {
public static final int[] $EnumSwitchMapping$0;
static {
int[] iArr = new int[GoogleActivityRecognition.Mode.values().length];
try {
iArr[GoogleActivityRecognition.Mode.TRANSITION_API.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
iArr[GoogleActivityRecognition.Mode.SAMPLING_API.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
$EnumSwitchMapping$0 = iArr;
}
}
@Override
public void onReceive(android.content.Context r6, android.content.Intent r7) {
throw new UnsupportedOperationException("Method not decompiled: com.mapbox.common.movement.GoogleActivityRecognition$broadcast$1.onReceive(android.content.Context, android.content.Intent):void");
}
};
}
private final String activityRecognitionPermissionName() {
return Build.VERSION.SDK_INT >= 29 ? "android.permission.ACTIVITY_RECOGNITION" : "com.google.android.gms.permission.ACTIVITY_RECOGNITION";
}
private final PendingIntent getActivityUpdatesPendingIntent() {
Object value = this.activityUpdatesPendingIntent.getValue();
Intrinsics.g(value, "<get-activityUpdatesPendingIntent>(...)");
return (PendingIntent) value;
}
private final boolean hasActivityRecognitionPermission() {
return W6.b.a(this.context, activityRecognitionPermissionName()) == 0;
}
@Override
public void addObserver(ActivityRecognitionClient.Observer observer) {
Intrinsics.h(observer, "observer");
this.observers.add(observer);
}
@Override
public boolean isPlatformActivityRecognitionAvailable() {
return hasActivityRecognitionPermission();
}
@Override
public void removeObserver(ActivityRecognitionClient.Observer observer) {
Intrinsics.h(observer, "observer");
this.observers.remove(observer);
}
@Override
@SuppressLint({"MissingPermission"})
public synchronized void start() {
try {
if (!this.isSubscribed && hasActivityRecognitionPermission()) {
this.isSubscribed = true;
W6.b.e(this.context, this.broadcast, this.activityUpdatesIntentFilter);
int i = WhenMappings.$EnumSwitchMapping$0[this.mode.ordinal()];
if (i == 1) {
Companion companion = INSTANCE;
companion.withLogs(this.activityClient.requestActivityTransitionUpdates(new d(companion.getTRANSITION_API_MONITORING_TYPES(), null, null, null), getActivityUpdatesPendingIntent()), "requestActivityTransitionUpdates");
} else if (i == 2) {
INSTANCE.withLogs(this.activityClient.requestActivityUpdates(1000L, getActivityUpdatesPendingIntent()), "requestActivityUpdates");
}
return;
}
MapboxCommonLogger.INSTANCE.logD$common_release(TAG, "start() skipped. isSubscribed: " + this.isSubscribed + ", has permission: " + hasActivityRecognitionPermission());
} finally {
}
}
@Override
@SuppressLint({"MissingPermission"})
public synchronized void stop() {
try {
if (this.isSubscribed && hasActivityRecognitionPermission()) {
this.isSubscribed = false;
this.context.unregisterReceiver(this.broadcast);
int i = WhenMappings.$EnumSwitchMapping$0[this.mode.ordinal()];
if (i == 1) {
INSTANCE.withLogs(this.activityClient.removeActivityTransitionUpdates(getActivityUpdatesPendingIntent()), "removeActivityTransitionUpdates");
} else if (i == 2) {
INSTANCE.withLogs(this.activityClient.removeActivityUpdates(getActivityUpdatesPendingIntent()), "removeActivityUpdates");
}
return;
}
MapboxCommonLogger.INSTANCE.logD$common_release(TAG, "stop() skipped. isSubscribed: " + this.isSubscribed + ", has permission: " + hasActivityRecognitionPermission());
} finally {
}
}
public GoogleActivityRecognition(Context context, Mode mode, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(context, (i & 2) != 0 ? Mode.TRANSITION_API : mode);
}
}