.class public final Lcom/google/zxing/client/android/camera/CameraConfigurationUtils; .super Ljava/lang/Object; .source "CameraConfigurationUtils.java" # static fields .field private static final AREA_PER_1000:I = 0x190 .field private static final MAX_EXPOSURE_COMPENSATION:F = 1.5f .field private static final MAX_FPS:I = 0x14 .field private static final MIN_EXPOSURE_COMPENSATION:F = 0.0f .field private static final MIN_FPS:I = 0xa .field private static final SEMICOLON:Ljava/util/regex/Pattern; .field private static final TAG:Ljava/lang/String; = "CameraConfiguration" # direct methods .method public static constructor ()V .locals 1 const-string v0, ";" .line 1 invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern; move-result-object v0 sput-object v0, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->SEMICOLON:Ljava/util/regex/Pattern; return-void .end method .method private constructor ()V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method private static buildMiddleArea(I)Ljava/util/List; .locals 3 .annotation build Landroid/annotation/TargetApi; value = 0xf .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(I)", "Ljava/util/List<", "Landroid/hardware/Camera$Area;", ">;" } .end annotation .line 1 new-instance v0, Landroid/hardware/Camera$Area; new-instance v1, Landroid/graphics/Rect; neg-int v2, p0 invoke-direct {v1, v2, v2, p0, p0}, Landroid/graphics/Rect;->(IIII)V const/4 p0, 0x1 invoke-direct {v0, v1, p0}, Landroid/hardware/Camera$Area;->(Landroid/graphics/Rect;I)V invoke-static {v0}, Ljava/util/Collections;->singletonList(Ljava/lang/Object;)Ljava/util/List; move-result-object p0 return-object p0 .end method .method public static collectStats(Landroid/hardware/Camera$Parameters;)Ljava/lang/String; .locals 0 .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->flatten()Ljava/lang/String; move-result-object p0 invoke-static {p0}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->collectStats(Ljava/lang/CharSequence;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static collectStats(Ljava/lang/CharSequence;)Ljava/lang/String; .locals 5 const/16 v0, 0x3e8 const-string v1, "BOARD=" .line 2 invoke-static {v0, v1}, Landroidx/fragment/app/a;->a(ILjava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 .line 3 sget-object v1, Landroid/os/Build;->BOARD:Ljava/lang/String; const/16 v2, 0xa const-string v3, "BRAND=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 4 sget-object v1, Landroid/os/Build;->BRAND:Ljava/lang/String; const-string v3, "CPU_ABI=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 5 sget-object v1, Landroid/os/Build;->CPU_ABI:Ljava/lang/String; const-string v3, "DEVICE=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 6 sget-object v1, Landroid/os/Build;->DEVICE:Ljava/lang/String; const-string v3, "DISPLAY=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 7 sget-object v1, Landroid/os/Build;->DISPLAY:Ljava/lang/String; const-string v3, "FINGERPRINT=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 8 sget-object v1, Landroid/os/Build;->FINGERPRINT:Ljava/lang/String; const-string v3, "HOST=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 9 sget-object v1, Landroid/os/Build;->HOST:Ljava/lang/String; const-string v3, "ID=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 10 sget-object v1, Landroid/os/Build;->ID:Ljava/lang/String; const-string v3, "MANUFACTURER=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 11 sget-object v1, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String; const-string v3, "MODEL=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 12 sget-object v1, Landroid/os/Build;->MODEL:Ljava/lang/String; const-string v3, "PRODUCT=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 13 sget-object v1, Landroid/os/Build;->PRODUCT:Ljava/lang/String; const-string v3, "TAGS=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 14 sget-object v1, Landroid/os/Build;->TAGS:Ljava/lang/String; const-string v3, "TIME=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 15 sget-wide v3, Landroid/os/Build;->TIME:J invoke-virtual {v0, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; const-string v1, "TYPE=" .line 16 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; sget-object v1, Landroid/os/Build;->TYPE:Ljava/lang/String; const-string v3, "USER=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 17 sget-object v1, Landroid/os/Build;->USER:Ljava/lang/String; const-string v3, "VERSION.CODENAME=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 18 sget-object v1, Landroid/os/Build$VERSION;->CODENAME:Ljava/lang/String; const-string v3, "VERSION.INCREMENTAL=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 19 sget-object v1, Landroid/os/Build$VERSION;->INCREMENTAL:Ljava/lang/String; const-string v3, "VERSION.RELEASE=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 20 sget-object v1, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String; const-string v3, "VERSION.SDK_INT=" invoke-static {v0, v1, v2, v3}, Lb3/e;->a(Ljava/lang/StringBuilder;Ljava/lang/String;CLjava/lang/String;)V .line 21 sget v1, Landroid/os/Build$VERSION;->SDK_INT:I invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; if-eqz p0, :cond_0 .line 22 sget-object v1, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->SEMICOLON:Ljava/util/regex/Pattern; invoke-virtual {v1, p0}, Ljava/util/regex/Pattern;->split(Ljava/lang/CharSequence;)[Ljava/lang/String; move-result-object p0 .line 23 invoke-static {p0}, Ljava/util/Arrays;->sort([Ljava/lang/Object;)V .line 24 array-length v1, p0 const/4 v3, 0x0 :goto_0 if-ge v3, v1, :cond_0 aget-object v4, p0, v3 .line 25 invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 26 :cond_0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static varargs findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/String;", "Ljava/util/Collection<", "Ljava/lang/String;", ">;[", "Ljava/lang/String;", ")", "Ljava/lang/String;" } .end annotation const-string v0, "Requesting " const-string v1, " value from among: " .line 1 invoke-static {v0, p0, v1}, Landroidx/activity/result/g;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-static {p2}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const-string v1, "CameraConfiguration" invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 2 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v2, "Supported " invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v2, " values: " invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I if-eqz p1, :cond_1 .line 3 array-length v0, p2 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_1 aget-object v3, p2, v2 .line 4 invoke-interface {p1, v3}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_0 .line 5 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V const-string p2, "Can set " invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p0, " to: " invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I return-object v3 :cond_0 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_1 const-string p0, "No supported values match" .line 6 invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I const/4 p0, 0x0 return-object p0 .end method .method private static indexOfClosestZoom(Landroid/hardware/Camera$Parameters;D)Ljava/lang/Integer; .locals 10 .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getZoomRatios()Ljava/util/List; move-result-object v0 .line 2 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Zoom ratios: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const-string v2, "CameraConfiguration" invoke-static {v2, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 3 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getMaxZoom()I move-result p0 if-eqz v0, :cond_3 .line 4 invoke-interface {v0}, Ljava/util/List;->isEmpty()Z move-result v1 if-nez v1, :cond_3 invoke-interface {v0}, Ljava/util/List;->size()I move-result v1 add-int/lit8 p0, p0, 0x1 if-eq v1, p0, :cond_0 goto :goto_1 :cond_0 const-wide/high16 v3, 0x4059000000000000L # 100.0 mul-double/2addr p1, v3 const-wide/high16 v5, 0x7ff0000000000000L # Double.POSITIVE_INFINITY const/4 p0, 0x0 move v1, p0 .line 5 :goto_0 invoke-interface {v0}, Ljava/util/List;->size()I move-result v7 if-ge p0, v7, :cond_2 .line 6 invoke-interface {v0, p0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v7 check-cast v7, Ljava/lang/Integer; invoke-virtual {v7}, Ljava/lang/Integer;->intValue()I move-result v7 int-to-double v7, v7 sub-double/2addr v7, p1 invoke-static {v7, v8}, Ljava/lang/Math;->abs(D)D move-result-wide v7 cmpg-double v9, v7, v5 if-gez v9, :cond_1 move v1, p0 move-wide v5, v7 :cond_1 add-int/lit8 p0, p0, 0x1 goto :goto_0 :cond_2 const-string p0, "Chose zoom ratio of " .line 7 invoke-static {p0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/lang/Integer; invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I move-result p1 int-to-double p1, p1 div-double/2addr p1, v3 invoke-virtual {p0, p1, p2}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-static {v2, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 8 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p0 return-object p0 :cond_3 :goto_1 const-string p0, "Invalid zoom ratios!" .line 9 invoke-static {v2, p0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I const/4 p0, 0x0 return-object p0 .end method .method public static setBarcodeSceneMode(Landroid/hardware/Camera$Parameters;)V .locals 3 .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getSceneMode()Ljava/lang/String; move-result-object v0 const-string v1, "barcode" invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 const-string p0, "CameraConfiguration" const-string v0, "Barcode scene mode already set" .line 2 invoke-static {p0, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I return-void .line 3 :cond_0 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getSupportedSceneModes()Ljava/util/List; move-result-object v0 filled-new-array {v1}, [Ljava/lang/String; move-result-object v1 const-string v2, "scene mode" .line 4 invoke-static {v2, v0, v1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_1 .line 5 invoke-virtual {p0, v0}, Landroid/hardware/Camera$Parameters;->setSceneMode(Ljava/lang/String;)V :cond_1 return-void .end method .method public static setBestExposure(Landroid/hardware/Camera$Parameters;Z)V .locals 6 .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getMinExposureCompensation()I move-result v0 .line 2 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getMaxExposureCompensation()I move-result v1 .line 3 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getExposureCompensationStep()F move-result v2 const-string v3, "CameraConfiguration" if-nez v0, :cond_0 if-eqz v1, :cond_3 :cond_0 const/4 v4, 0x0 cmpl-float v5, v2, v4 if-lez v5, :cond_3 if-eqz p1, :cond_1 goto :goto_0 :cond_1 const/high16 v4, 0x3fc00000 # 1.5f :goto_0 div-float/2addr v4, v2 .line 4 invoke-static {v4}, Ljava/lang/Math;->round(F)I move-result p1 int-to-float v4, p1 mul-float/2addr v2, v4 .line 5 invoke-static {p1, v1}, Ljava/lang/Math;->min(II)I move-result p1 invoke-static {p1, v0}, Ljava/lang/Math;->max(II)I move-result p1 .line 6 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getExposureCompensation()I move-result v0 const-string v1, " / " if-ne v0, p1, :cond_2 .line 7 new-instance p0, Ljava/lang/StringBuilder; invoke-direct {p0}, Ljava/lang/StringBuilder;->()V const-string v0, "Exposure compensation already set to " invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder; invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-static {v3, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_1 .line 8 :cond_2 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v4, "Setting exposure compensation to " invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 9 invoke-virtual {p0, p1}, Landroid/hardware/Camera$Parameters;->setExposureCompensation(I)V goto :goto_1 :cond_3 const-string p0, "Camera does not support exposure compensation" .line 10 invoke-static {v3, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I :goto_1 return-void .end method .method public static setBestPreviewFPS(Landroid/hardware/Camera$Parameters;)V .locals 2 const/16 v0, 0xa const/16 v1, 0x14 .line 1 invoke-static {p0, v0, v1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->setBestPreviewFPS(Landroid/hardware/Camera$Parameters;II)V return-void .end method .method public static setBestPreviewFPS(Landroid/hardware/Camera$Parameters;II)V .locals 9 .line 2 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getSupportedPreviewFpsRange()Ljava/util/List; move-result-object v0 const-string v1, "Supported FPS ranges: " .line 3 invoke-static {v1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-static {v0}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->toString(Ljava/util/Collection;)Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const-string v2, "CameraConfiguration" invoke-static {v2, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I if-eqz v0, :cond_4 .line 4 invoke-interface {v0}, Ljava/util/List;->isEmpty()Z move-result v1 if-nez v1, :cond_4 const/4 v1, 0x0 .line 5 invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v3 const/4 v4, 0x1 const/4 v5, 0x0 if-eqz v3, :cond_1 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, [I .line 6 aget v6, v3, v5 .line 7 aget v7, v3, v4 mul-int/lit16 v8, p1, 0x3e8 if-lt v6, v8, :cond_0 mul-int/lit16 v6, p2, 0x3e8 if-gt v7, v6, :cond_0 move-object v1, v3 :cond_1 if-nez v1, :cond_2 const-string p0, "No suitable FPS range?" .line 8 invoke-static {v2, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 :cond_2 const/4 p1, 0x2 new-array p1, p1, [I .line 9 invoke-virtual {p0, p1}, Landroid/hardware/Camera$Parameters;->getPreviewFpsRange([I)V .line 10 invoke-static {p1, v1}, Ljava/util/Arrays;->equals([I[I)Z move-result p1 if-eqz p1, :cond_3 const-string p0, "FPS range already set to " .line 11 invoke-static {p0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-static {v1}, Ljava/util/Arrays;->toString([I)Ljava/lang/String; move-result-object p1 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-static {v2, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 :cond_3 const-string p1, "Setting FPS range to " .line 12 invoke-static {p1}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-static {v1}, Ljava/util/Arrays;->toString([I)Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-static {v2, p1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 13 aget p1, v1, v5 aget p2, v1, v4 invoke-virtual {p0, p1, p2}, Landroid/hardware/Camera$Parameters;->setPreviewFpsRange(II)V :cond_4 :goto_0 return-void .end method .method public static setFocus(Landroid/hardware/Camera$Parameters;Lcom/journeyapps/barcodescanner/camera/CameraSettings$FocusMode;Z)V .locals 5 .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getSupportedFocusModes()Ljava/util/List; move-result-object v0 const-string v1, "macro" const-string v2, "auto" const-string v3, "focus mode" if-nez p2, :cond_4 .line 2 sget-object v4, Lcom/journeyapps/barcodescanner/camera/CameraSettings$FocusMode;->AUTO:Lcom/journeyapps/barcodescanner/camera/CameraSettings$FocusMode; if-ne p1, v4, :cond_0 goto :goto_0 .line 3 :cond_0 sget-object v4, Lcom/journeyapps/barcodescanner/camera/CameraSettings$FocusMode;->CONTINUOUS:Lcom/journeyapps/barcodescanner/camera/CameraSettings$FocusMode; if-ne p1, v4, :cond_1 const-string p1, "continuous-picture" const-string v4, "continuous-video" .line 4 filled-new-array {p1, v4, v2}, [Ljava/lang/String; move-result-object p1 invoke-static {v3, v0, p1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; move-result-object p1 goto :goto_1 .line 5 :cond_1 sget-object v2, Lcom/journeyapps/barcodescanner/camera/CameraSettings$FocusMode;->INFINITY:Lcom/journeyapps/barcodescanner/camera/CameraSettings$FocusMode; if-ne p1, v2, :cond_2 const-string p1, "infinity" .line 6 filled-new-array {p1}, [Ljava/lang/String; move-result-object p1 invoke-static {v3, v0, p1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; move-result-object p1 goto :goto_1 .line 7 :cond_2 sget-object v2, Lcom/journeyapps/barcodescanner/camera/CameraSettings$FocusMode;->MACRO:Lcom/journeyapps/barcodescanner/camera/CameraSettings$FocusMode; if-ne p1, v2, :cond_3 .line 8 filled-new-array {v1}, [Ljava/lang/String; move-result-object p1 invoke-static {v3, v0, p1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; move-result-object p1 goto :goto_1 :cond_3 const/4 p1, 0x0 goto :goto_1 .line 9 :cond_4 :goto_0 filled-new-array {v2}, [Ljava/lang/String; move-result-object p1 invoke-static {v3, v0, p1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; move-result-object p1 :goto_1 if-nez p2, :cond_5 if-nez p1, :cond_5 const-string p1, "edof" .line 10 filled-new-array {v1, p1}, [Ljava/lang/String; move-result-object p1 invoke-static {v3, v0, p1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; move-result-object p1 :cond_5 if-eqz p1, :cond_7 .line 11 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getFocusMode()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p2 if-eqz p2, :cond_6 .line 12 new-instance p0, Ljava/lang/StringBuilder; invoke-direct {p0}, Ljava/lang/StringBuilder;->()V const-string p2, "Focus mode already set to " invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 const-string p1, "CameraConfiguration" invoke-static {p1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_2 .line 13 :cond_6 invoke-virtual {p0, p1}, Landroid/hardware/Camera$Parameters;->setFocusMode(Ljava/lang/String;)V :cond_7 :goto_2 return-void .end method .method public static setFocusArea(Landroid/hardware/Camera$Parameters;)V .locals 4 .annotation build Landroid/annotation/TargetApi; value = 0xf .end annotation .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getMaxNumFocusAreas()I move-result v0 const-string v1, "CameraConfiguration" if-lez v0, :cond_0 const-string v0, "Old focus areas: " .line 2 invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getFocusAreas()Ljava/util/List; move-result-object v2 invoke-static {v2}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->toString(Ljava/lang/Iterable;)Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I const/16 v0, 0x190 .line 3 invoke-static {v0}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->buildMiddleArea(I)Ljava/util/List; move-result-object v0 const-string v2, "Setting focus area to : " .line 4 invoke-static {v2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-static {v0}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->toString(Ljava/lang/Iterable;)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 5 invoke-virtual {p0, v0}, Landroid/hardware/Camera$Parameters;->setFocusAreas(Ljava/util/List;)V goto :goto_0 :cond_0 const-string p0, "Device does not support focus areas" .line 6 invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I :goto_0 return-void .end method .method public static setInvertColor(Landroid/hardware/Camera$Parameters;)V .locals 3 .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getColorEffect()Ljava/lang/String; move-result-object v0 const-string v1, "negative" invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-eqz v0, :cond_0 const-string p0, "CameraConfiguration" const-string v0, "Negative effect already set" .line 2 invoke-static {p0, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I return-void .line 3 :cond_0 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getSupportedColorEffects()Ljava/util/List; move-result-object v0 filled-new-array {v1}, [Ljava/lang/String; move-result-object v1 const-string v2, "color effect" .line 4 invoke-static {v2, v0, v1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_1 .line 5 invoke-virtual {p0, v0}, Landroid/hardware/Camera$Parameters;->setColorEffect(Ljava/lang/String;)V :cond_1 return-void .end method .method public static setMetering(Landroid/hardware/Camera$Parameters;)V .locals 4 .annotation build Landroid/annotation/TargetApi; value = 0xf .end annotation .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getMaxNumMeteringAreas()I move-result v0 const-string v1, "CameraConfiguration" if-lez v0, :cond_0 const-string v0, "Old metering areas: " .line 2 invoke-static {v0}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getMeteringAreas()Ljava/util/List; move-result-object v2 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I const/16 v0, 0x190 .line 3 invoke-static {v0}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->buildMiddleArea(I)Ljava/util/List; move-result-object v0 const-string v2, "Setting metering area to : " .line 4 invoke-static {v2}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-static {v0}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->toString(Ljava/lang/Iterable;)Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 5 invoke-virtual {p0, v0}, Landroid/hardware/Camera$Parameters;->setMeteringAreas(Ljava/util/List;)V goto :goto_0 :cond_0 const-string p0, "Device does not support metering areas" .line 6 invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I :goto_0 return-void .end method .method public static setTorch(Landroid/hardware/Camera$Parameters;Z)V .locals 3 .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getSupportedFlashModes()Ljava/util/List; move-result-object v0 const-string v1, "flash mode" if-eqz p1, :cond_0 const-string p1, "torch" const-string v2, "on" .line 2 filled-new-array {p1, v2}, [Ljava/lang/String; move-result-object p1 invoke-static {v1, v0, p1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; move-result-object p1 goto :goto_0 :cond_0 const-string p1, "off" .line 3 filled-new-array {p1}, [Ljava/lang/String; move-result-object p1 invoke-static {v1, v0, p1}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->findSettableValue(Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Ljava/lang/String; move-result-object p1 :goto_0 if-eqz p1, :cond_2 .line 4 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getFlashMode()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 const-string v1, "CameraConfiguration" if-eqz v0, :cond_1 .line 5 new-instance p0, Ljava/lang/StringBuilder; invoke-direct {p0}, Ljava/lang/StringBuilder;->()V const-string v0, "Flash mode already set to " invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_1 .line 6 :cond_1 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v2, "Setting flash mode to " invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 7 invoke-virtual {p0, p1}, Landroid/hardware/Camera$Parameters;->setFlashMode(Ljava/lang/String;)V :cond_2 :goto_1 return-void .end method .method public static setVideoStabilization(Landroid/hardware/Camera$Parameters;)V .locals 2 .annotation build Landroid/annotation/TargetApi; value = 0xf .end annotation .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->isVideoStabilizationSupported()Z move-result v0 const-string v1, "CameraConfiguration" if-eqz v0, :cond_1 .line 2 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getVideoStabilization()Z move-result v0 if-eqz v0, :cond_0 const-string p0, "Video stabilization already enabled" .line 3 invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 :cond_0 const-string v0, "Enabling video stabilization..." .line 4 invoke-static {v1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I const/4 v0, 0x1 .line 5 invoke-virtual {p0, v0}, Landroid/hardware/Camera$Parameters;->setVideoStabilization(Z)V goto :goto_0 :cond_1 const-string p0, "This device does not support video stabilization" .line 6 invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I :goto_0 return-void .end method .method public static setZoom(Landroid/hardware/Camera$Parameters;D)V .locals 2 .line 1 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->isZoomSupported()Z move-result v0 const-string v1, "CameraConfiguration" if-eqz v0, :cond_2 .line 2 invoke-static {p0, p1, p2}, Lcom/google/zxing/client/android/camera/CameraConfigurationUtils;->indexOfClosestZoom(Landroid/hardware/Camera$Parameters;D)Ljava/lang/Integer; move-result-object p1 if-nez p1, :cond_0 return-void .line 3 :cond_0 invoke-virtual {p0}, Landroid/hardware/Camera$Parameters;->getZoom()I move-result p2 invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I move-result v0 if-ne p2, v0, :cond_1 .line 4 new-instance p0, Ljava/lang/StringBuilder; invoke-direct {p0}, Ljava/lang/StringBuilder;->()V const-string p2, "Zoom is already set to " invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I goto :goto_0 .line 5 :cond_1 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2}, Ljava/lang/StringBuilder;->()V const-string v0, "Setting zoom to " invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-static {v1, p2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 6 invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I move-result p1 invoke-virtual {p0, p1}, Landroid/hardware/Camera$Parameters;->setZoom(I)V goto :goto_0 :cond_2 const-string p0, "Zoom is not supported" .line 7 invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I :goto_0 return-void .end method .method private static toString(Ljava/lang/Iterable;)Ljava/lang/String; .locals 3 .annotation build Landroid/annotation/TargetApi; value = 0xf .end annotation .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Iterable<", "Landroid/hardware/Camera$Area;", ">;)", "Ljava/lang/String;" } .end annotation if-nez p0, :cond_0 const/4 p0, 0x0 return-object p0 .line 10 :cond_0 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V .line 11 invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p0 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/hardware/Camera$Area; .line 12 iget-object v2, v1, Landroid/hardware/Camera$Area;->rect:Landroid/graphics/Rect; invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const/16 v2, 0x3a invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; iget v1, v1, Landroid/hardware/Camera$Area;->weight:I invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const/16 v1, 0x20 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; goto :goto_0 .line 13 :cond_1 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method .method private static toString(Ljava/util/Collection;)Ljava/lang/String; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/Collection<", "[I>;)", "Ljava/lang/String;" } .end annotation if-eqz p0, :cond_3 .line 1 invoke-interface {p0}, Ljava/util/Collection;->isEmpty()Z move-result v0 if-eqz v0, :cond_0 goto :goto_1 :cond_0 const/16 v0, 0x5b .line 2 invoke-static {v0}, Lcom/airbnb/lottie/parser/moshi/a;->a(C)Ljava/lang/StringBuilder; move-result-object v0 .line 3 invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator; move-result-object p0 .line 4 :cond_1 :goto_0 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 .line 5 invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, [I invoke-static {v1}, Ljava/util/Arrays;->toString([I)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 6 invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 const-string v1, ", " .line 7 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; goto :goto_0 :cond_2 const/16 p0, 0x5d .line 8 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; .line 9 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 :cond_3 :goto_1 const-string p0, "[]" return-object p0 .end method