LiteavAudioApiDetector.smali
.class Lcom/tencent/liteav/audio/LiteavAudioApiDetector;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation runtime Lcom/tencent/liteav/base/annotations/JNINamespace;
value = "liteav::audio"
.end annotation
# static fields
.field private static final DEBUG:Z = true
.field private static final TAG:Ljava/lang/String; = "LiteavAudioApiDetector"
# instance fields
.field private mIsAAudioSupported:Z
.field private mIsFastJavaSupported:Z
.field private mIsOboeSupported:Z
.field private mIsOpenSLSupported:Z
# direct methods
.method constructor <init>(J)V
.registers 6
.line 23
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 24
invoke-direct {p0}, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->storeAudioParameters()V
.line 25
iget-boolean v0, p0, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->mIsOpenSLSupported:Z
iget-boolean v1, p0, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->mIsAAudioSupported:Z
iget-boolean v2, p0, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->mIsFastJavaSupported:Z
invoke-static {p1, p2, v0, v1, v2}, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->nativeCacheAudioParameters(JZZZ)V
return-void
.end method
.method private isAAudioSupported()Z
.registers 3
.line 39
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v0
const/16 v1, 0x1b
if-lt v0, v1, :cond_a
const/4 v0, 0x1
return v0
:cond_a
const/4 v0, 0x0
return v0
.end method
.method private isFastJavaSupported()Z
.registers 3
.line 43
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v0
const/16 v1, 0x1d
if-lt v0, v1, :cond_a
const/4 v0, 0x1
return v0
:cond_a
const/4 v0, 0x0
return v0
.end method
.method private isOboeSupported()Z
.registers 2
.line 30
invoke-direct {p0}, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->isOpenSLSupported()Z
move-result v0
if-nez v0, :cond_f
invoke-direct {p0}, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->isAAudioSupported()Z
move-result v0
if-eqz v0, :cond_d
goto :goto_f
:cond_d
const/4 v0, 0x0
return v0
:cond_f
:goto_f
const/4 v0, 0x1
return v0
.end method
.method private isOpenSLSupported()Z
.registers 3
.line 34
invoke-static {}, Lcom/tencent/liteav/base/system/LiteavSystemInfo;->getSystemOSVersionInt()I
move-result v0
const/16 v1, 0x18
if-lt v0, v1, :cond_a
const/4 v0, 0x1
return v0
:cond_a
const/4 v0, 0x0
return v0
.end method
.method private static native nativeCacheAudioParameters(JZZZ)V
.end method
.method private storeAudioParameters()V
.registers 2
.line 47
invoke-direct {p0}, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->isOboeSupported()Z
move-result v0
iput-boolean v0, p0, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->mIsOboeSupported:Z
.line 48
invoke-direct {p0}, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->isOpenSLSupported()Z
move-result v0
iput-boolean v0, p0, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->mIsOpenSLSupported:Z
.line 49
invoke-direct {p0}, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->isAAudioSupported()Z
move-result v0
iput-boolean v0, p0, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->mIsAAudioSupported:Z
.line 50
invoke-direct {p0}, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->isFastJavaSupported()Z
move-result v0
iput-boolean v0, p0, Lcom/tencent/liteav/audio/LiteavAudioApiDetector;->mIsFastJavaSupported:Z
return-void
.end method