CommonUtility.smali
.class public Lio/agora/rtc2/internal/CommonUtility;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/agora/rtc2/internal/CommonUtility$Listener;,
Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;,
Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;,
Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
}
.end annotation
# static fields
.field private static final INTERNAL_UPDATE_ROTATION:I = 0xc8
.field private static final LENGTH_SEPARATOR_CHARACTER:Ljava/lang/String; = "agora_length_&&_"
.field private static final OFFSET_SEPARATOR_CHARACTER:Ljava/lang/String; = "agora_offset_&&_"
.field public static final PREFIX_ASSETS:Ljava/lang/String; = "/assets/"
.field public static final PREFIX_URI:Ljava/lang/String; = "content://"
.field private static final TAG:Ljava/lang/String; = "CommonUtility"
.field static final UNKNOWN_BATTERY_PERCENTAGE:I = 0xff
.field private static final URI_PROTOCOL_HEAD:Ljava/lang/String; = "/proc/"
.field private static failedToGetRunningTasks:Z
.field private static ignoreMonitor:Z
# instance fields
.field private volatile lastOrientation:I
.field private volatile mBatteryPercentage:I
.field private mConnectionBroadcastReceiver:Lio/agora/rtc2/internal/ConnectionChangeBroadcastReceiver;
.field private final mContext:Ljava/lang/ref/WeakReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/WeakReference<",
"Landroid/content/Context;",
">;"
}
.end annotation
.end field
.field private mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
.field private mDisposed:Z
.field private mExtraConnectivityFilterActionForTesting:Ljava/lang/String;
.field private final mHandler:Landroid/os/Handler;
.field private mLastOrientation:I
.field private mListener:Lio/agora/rtc2/internal/CommonUtility$Listener;
.field private mNativeHandle:J
.field private mOrientationListener:Landroid/view/OrientationEventListener;
.field private mOrientationObserver:Landroid/content/BroadcastReceiver;
.field private mPhoneStateListener:Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
.field private mPowerChangeReceiver:Lio/agora/rtc2/internal/PowerChangeReceiver;
.field private mProcessLifecycleOwner:Lio/agora/rtc2/internal/ProcessLifecycleOwner;
.field private final mThreadChecker:Lio/agora/base/internal/ThreadUtils$ThreadChecker;
.field private volatile mUpdateRotationTrigger:Z
.field private mobileNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
.field private final rotationRunnable:Ljava/lang/Runnable;
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Landroid/content/Context;J)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"context",
"handle"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mobileNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
const/16 v1, 0xff
iput v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mBatteryPercentage:I
const/4 v1, 0x0
iput-boolean v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisposed:Z
iput-boolean v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mUpdateRotationTrigger:Z
const/4 v1, -0x1
iput v1, p0, Lio/agora/rtc2/internal/CommonUtility;->lastOrientation:I
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mPhoneStateListener:Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mConnectionBroadcastReceiver:Lio/agora/rtc2/internal/ConnectionChangeBroadcastReceiver;
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mPowerChangeReceiver:Lio/agora/rtc2/internal/PowerChangeReceiver;
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mProcessLifecycleOwner:Lio/agora/rtc2/internal/ProcessLifecycleOwner;
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationListener:Landroid/view/OrientationEventListener;
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationObserver:Landroid/content/BroadcastReceiver;
iput v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mLastOrientation:I
new-instance v0, Lio/agora/rtc2/internal/CommonUtility$8;
invoke-direct {v0, p0}, Lio/agora/rtc2/internal/CommonUtility$8;-><init>(Lio/agora/rtc2/internal/CommonUtility;)V
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->rotationRunnable:Ljava/lang/Runnable;
const-string v0, "CommonUtility"
const-string v1, "constructor()"
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
new-instance v0, Ljava/lang/ref/WeakReference;
invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
iput-wide p2, p0, Lio/agora/rtc2/internal/CommonUtility;->mNativeHandle:J
new-instance p1, Lio/agora/base/internal/ThreadUtils$ThreadChecker;
invoke-direct {p1}, Lio/agora/base/internal/ThreadUtils$ThreadChecker;-><init>()V
iput-object p1, p0, Lio/agora/rtc2/internal/CommonUtility;->mThreadChecker:Lio/agora/base/internal/ThreadUtils$ThreadChecker;
new-instance p1, Landroid/os/HandlerThread;
const-string p2, "UtilityThread"
invoke-direct {p1, p2}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Landroid/os/HandlerThread;->start()V
new-instance p2, Landroid/os/Handler;
invoke-virtual {p1}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object p1
invoke-direct {p2, p1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object p2, p0, Lio/agora/rtc2/internal/CommonUtility;->mHandler:Landroid/os/Handler;
new-instance p1, Lio/agora/rtc2/internal/CommonUtility$1;
invoke-direct {p1, p0}, Lio/agora/rtc2/internal/CommonUtility$1;-><init>(Lio/agora/rtc2/internal/CommonUtility;)V
invoke-virtual {p2, p1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method static synthetic access$000(Lio/agora/rtc2/internal/CommonUtility;)V
.registers 1
invoke-direct {p0}, Lio/agora/rtc2/internal/CommonUtility;->stopMonitor()V
return-void
.end method
.method static synthetic access$100(Lio/agora/rtc2/internal/CommonUtility;)Landroid/os/Handler;
.registers 1
iget-object p0, p0, Lio/agora/rtc2/internal/CommonUtility;->mHandler:Landroid/os/Handler;
return-object p0
.end method
.method static synthetic access$200(Ljava/net/InetAddress;)Ljava/lang/String;
.registers 1
invoke-static {p0}, Lio/agora/rtc2/internal/CommonUtility;->inetAddressToIpAddress(Ljava/net/InetAddress;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method static synthetic access$300(Lio/agora/rtc2/internal/CommonUtility;)Ljava/lang/ref/WeakReference;
.registers 1
iget-object p0, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
return-object p0
.end method
.method static synthetic access$402(Lio/agora/rtc2/internal/CommonUtility;Z)Z
.registers 2
iput-boolean p1, p0, Lio/agora/rtc2/internal/CommonUtility;->mUpdateRotationTrigger:Z
return p1
.end method
.method static checkAccessNetworkState(Landroid/content/Context;)Z
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
const/4 v0, 0x0
if-nez p0, :cond_4
return v0
:cond_4
const-string v1, "android.permission.ACCESS_NETWORK_STATE"
invoke-virtual {p0, v1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
move-result p0
if-nez p0, :cond_d
const/4 v0, 0x1
:cond_d
return v0
.end method
.method static checkAccessWifiState(Landroid/content/Context;)Z
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
const/4 v0, 0x0
if-nez p0, :cond_4
return v0
:cond_4
const-string v1, "android.permission.ACCESS_WIFI_STATE"
invoke-virtual {p0, v1}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I
move-result p0
if-nez p0, :cond_d
const/4 v0, 0x1
:cond_d
return v0
.end method
.method private disableDisplayListener()V
.registers 3
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/Context;
if-nez v0, :cond_b
return-void
:cond_b
const-string v1, "display"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/display/DisplayManager;
if-eqz v0, :cond_1d
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
invoke-virtual {v0, v1}, Landroid/hardware/display/DisplayManager;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V
const/4 v0, 0x0
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
:cond_1d
const-string v0, "CommonUtility"
const-string v1, "[disableDisplayListener] done!"
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method private enableDisplayListener(Landroid/content/Context;)V
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
if-eqz p1, :cond_25
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
if-eqz v0, :cond_7
goto :goto_25
:cond_7
const-string v0, "display"
invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/hardware/display/DisplayManager;
if-nez p1, :cond_12
return-void
:cond_12
new-instance v0, Lio/agora/rtc2/internal/CommonUtility$7;
invoke-direct {v0, p0}, Lio/agora/rtc2/internal/CommonUtility$7;-><init>(Lio/agora/rtc2/internal/CommonUtility;)V
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisplayListener:Landroid/hardware/display/DisplayManager$DisplayListener;
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mHandler:Landroid/os/Handler;
invoke-virtual {p1, v0, v1}, Landroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
const-string p1, "CommonUtility"
const-string v0, "[enableDisplayListener] done!"
invoke-static {p1, v0}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_25
:goto_25
return-void
.end method
.method private static fillWifiInfoIfPossible(Landroid/content/Context;Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;)V
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"context",
"ni"
}
.end annotation
invoke-static {p0}, Lio/agora/rtc2/internal/CommonUtility;->checkAccessWifiState(Landroid/content/Context;)Z
move-result v0
const-string v1, "CommonUtility"
if-nez v0, :cond_e
const-string p0, "fail to fillWifiInfo, permission ACCESS_WIFI_STATE not granted"
invoke-static {v1, p0}, Lio/agora/rtc2/internal/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_e
const-string/jumbo v0, "wifi"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/net/wifi/WifiManager;
invoke-virtual {p0}, Landroid/net/wifi/WifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
move-result-object v0
if-eqz v0, :cond_2b
iget v0, v0, Landroid/net/DhcpInfo;->gateway:I
invoke-static {v0}, Lio/agora/rtc2/internal/CommonUtility;->intToInetAddress(I)Ljava/net/InetAddress;
move-result-object v0
if-eqz v0, :cond_2b
invoke-virtual {v0}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String;
move-result-object v0
iput-object v0, p1, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->gatewayIp4:Ljava/lang/String;
:cond_2b
invoke-virtual {p0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
move-result-object p0
if-eqz p0, :cond_62
invoke-virtual {p0}, Landroid/net/wifi/WifiInfo;->getRssi()I
move-result v0
iput v0, p1, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->rssi:I
iget v0, p1, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->rssi:I
const/4 v1, 0x5
invoke-static {v0, v1}, Landroid/net/wifi/WifiManager;->calculateSignalLevel(II)I
move-result v0
iput v0, p1, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->signalLevel:I
invoke-virtual {p0}, Landroid/net/wifi/WifiInfo;->getLinkSpeed()I
move-result v0
iput v0, p1, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->linkspeed:I
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_67
invoke-virtual {p0}, Landroid/net/wifi/WifiInfo;->getFrequency()I
move-result p0
iput p0, p1, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->frequency:I
const/16 v0, 0x1388
if-lt p0, v0, :cond_5b
const/16 p0, 0x65
:goto_58
iput p0, p1, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->networkSubtype:I
goto :goto_67
:cond_5b
const/16 v0, 0x960
if-lt p0, v0, :cond_67
const/16 p0, 0x64
goto :goto_58
:cond_62
const-string p0, "fail to fillWifiInfo, wifiInfo null"
invoke-static {v1, p0}, Lio/agora/rtc2/internal/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
:cond_67
:goto_67
return-void
.end method
.method public static getAndroidVersion()I
.registers 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
return v0
.end method
.method private static getAppPrivateStorageDir(Landroid/content/Context;)Ljava/lang/String;
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v1, "mounted"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_18
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/content/Context;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
move-result-object v0
if-eqz v0, :cond_18
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_18
invoke-virtual {p0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object p0
invoke-virtual {p0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static getAssetsFilePath(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 8
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"context",
"url"
}
.end annotation
const/4 v0, 0x0
if-eqz p0, :cond_c8
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_b
goto/16 :goto_c8
:cond_b
invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object p0
const-string v1, "/assets/"
invoke-virtual {p1, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v2
add-int/lit8 v2, v2, 0x8
invoke-virtual {p1, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
:try_start_1b
invoke-virtual {p0, p1}, Landroid/content/res/AssetManager;->openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
move-result-object p0
:try_end_1f
.catch Ljava/lang/Exception; {:try_start_1b .. :try_end_1f} :catch_98
.catchall {:try_start_1b .. :try_end_1f} :catchall_96
:try_start_1f
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
move-result-object p1
invoke-static {p1}, Landroid/os/ParcelFileDescriptor;->dup(Ljava/io/FileDescriptor;)Landroid/os/ParcelFileDescriptor;
move-result-object p1
invoke-virtual {p1}, Landroid/os/ParcelFileDescriptor;->getFd()I
move-result p1
:try_end_2b
.catch Ljava/lang/Exception; {:try_start_1f .. :try_end_2b} :catch_91
.catchall {:try_start_1f .. :try_end_2b} :catchall_8e
if-gez p1, :cond_38
if-eqz p0, :cond_37
:try_start_2f
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->close()V
:try_end_32
.catch Ljava/io/IOException; {:try_start_2f .. :try_end_32} :catch_33
goto :goto_37
:catch_33
move-exception p0
invoke-virtual {p0}, Ljava/io/IOException;->printStackTrace()V
:cond_37
:goto_37
return-object v0
:cond_38
:try_start_38
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, "agora_offset_&&_"
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
move-result-wide v3
invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string p1, "agora_length_&&_"
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
move-result-wide v3
invoke-virtual {v2, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "getAssetsFilePath for init offset:"
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->getStartOffset()J
move-result-wide v1
invoke-virtual {p1, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v1, ","
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
move-result-wide v1
invoke-virtual {p1, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lio/agora/rtc2/internal/Logging;->i(Ljava/lang/String;)V
:try_end_83
.catch Ljava/lang/Exception; {:try_start_38 .. :try_end_83} :catch_91
.catchall {:try_start_38 .. :try_end_83} :catchall_8e
if-eqz p0, :cond_a8
:try_start_85
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->close()V
:try_end_88
.catch Ljava/io/IOException; {:try_start_85 .. :try_end_88} :catch_89
goto :goto_a8
:catch_89
move-exception p0
invoke-virtual {p0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_a8
:catchall_8e
move-exception p1
move-object v0, p0
goto :goto_bd
:catch_91
move-exception p1
move-object v5, v0
move-object v0, p0
move-object p0, v5
goto :goto_9a
:catchall_96
move-exception p1
goto :goto_bd
:catch_98
move-exception p1
move-object p0, v0
:goto_9a
:try_start_9a
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_9d
.catchall {:try_start_9a .. :try_end_9d} :catchall_96
if-eqz v0, :cond_a7
:try_start_9f
invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->close()V
:try_end_a2
.catch Ljava/io/IOException; {:try_start_9f .. :try_end_a2} :catch_a3
goto :goto_a7
:catch_a3
move-exception p1
invoke-virtual {p1}, Ljava/io/IOException;->printStackTrace()V
:cond_a7
:goto_a7
move-object v0, p0
:cond_a8
:goto_a8
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-string p1, "getAssetsFilePath is: "
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0, v0}, 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 {p0}, Lio/agora/rtc2/internal/Logging;->i(Ljava/lang/String;)V
return-object v0
:goto_bd
if-eqz v0, :cond_c7
:try_start_bf
invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->close()V
:try_end_c2
.catch Ljava/io/IOException; {:try_start_bf .. :try_end_c2} :catch_c3
goto :goto_c7
:catch_c3
move-exception p0
invoke-virtual {p0}, Ljava/io/IOException;->printStackTrace()V
:cond_c7
:goto_c7
throw p1
:cond_c8
:goto_c8
const-string p0, "getAssetsFilePath failed for init error"
invoke-static {p0}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;)V
return-object v0
.end method
.method public static getContentFilePath(Landroid/content/Context;Landroid/net/Uri;)Ljava/lang/String;
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"context",
"uri"
}
.end annotation
const/4 v0, 0x0
if-eqz p0, :cond_79
if-nez p1, :cond_7
goto/16 :goto_79
:cond_7
invoke-virtual {p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p0
const/4 v1, -0x1
:try_start_c
const-string v2, "r"
invoke-virtual {p0, p1, v2}, Landroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
move-result-object p0
:try_end_12
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_12} :catch_2d
.catchall {:try_start_c .. :try_end_12} :catchall_2b
:try_start_12
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
move-result-object p1
invoke-static {p1}, Landroid/os/ParcelFileDescriptor;->dup(Ljava/io/FileDescriptor;)Landroid/os/ParcelFileDescriptor;
move-result-object p1
invoke-virtual {p1}, Landroid/os/ParcelFileDescriptor;->getFd()I
move-result v1
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_12 .. :try_end_1e} :catch_29
.catchall {:try_start_12 .. :try_end_1e} :catchall_6c
if-eqz p0, :cond_37
:try_start_20
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->close()V
:try_end_23
.catch Ljava/io/IOException; {:try_start_20 .. :try_end_23} :catch_24
goto :goto_37
:catch_24
move-exception p0
invoke-virtual {p0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_37
:catch_29
move-exception p1
goto :goto_2f
:catchall_2b
move-exception p1
goto :goto_6e
:catch_2d
move-exception p1
move-object p0, v0
:goto_2f
:try_start_2f
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_32
.catchall {:try_start_2f .. :try_end_32} :catchall_6c
if-eqz p0, :cond_37
:try_start_34
invoke-virtual {p0}, Landroid/content/res/AssetFileDescriptor;->close()V
:try_end_37
.catch Ljava/io/IOException; {:try_start_34 .. :try_end_37} :catch_24
:cond_37
:goto_37
if-gez v1, :cond_3a
return-object v0
:cond_3a
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct {p0}, Ljava/lang/StringBuilder;-><init>()V
const-string p1, "/proc/"
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Landroid/os/Process;->myPid()I
move-result p1
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string p1, "/fd/"
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "getContentFilePath is: "
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p0}, 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 {p1}, Lio/agora/rtc2/internal/Logging;->i(Ljava/lang/String;)V
return-object p0
:catchall_6c
move-exception p1
move-object v0, p0
:goto_6e
if-eqz v0, :cond_78
:try_start_70
invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->close()V
:try_end_73
.catch Ljava/io/IOException; {:try_start_70 .. :try_end_73} :catch_74
goto :goto_78
:catch_74
move-exception p0
invoke-virtual {p0}, Ljava/io/IOException;->printStackTrace()V
:cond_78
:goto_78
throw p1
:cond_79
:goto_79
const-string p0, "getContentFilePath failed for init error"
invoke-static {p0}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;)V
return-object v0
.end method
.method public static getContextInfo(Landroid/content/Context;)Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
if-nez p0, :cond_b
const-string p0, "CommonUtility"
const-string v0, "fail to getContextInfo, context null"
invoke-static {p0, v0}, Lio/agora/rtc2/internal/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
const/4 p0, 0x0
return-object p0
:cond_b
new-instance v0, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;
invoke-direct {v0}, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;-><init>()V
invoke-static {}, Lio/agora/rtc2/internal/DeviceUtils;->getDeviceId()Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;->device:Ljava/lang/String;
invoke-static {p0}, Lio/agora/rtc2/internal/CommonUtility;->getAppPrivateStorageDir(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;->configDir:Ljava/lang/String;
invoke-virtual {p0}, Landroid/content/Context;->getCacheDir()Ljava/io/File;
move-result-object v1
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;->dataDir:Ljava/lang/String;
invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v1
iget-object v1, v1, Landroid/content/pm/ApplicationInfo;->nativeLibraryDir:Ljava/lang/String;
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;->pluginDir:Ljava/lang/String;
invoke-static {}, Lio/agora/rtc2/internal/DeviceUtils;->getDeviceInfo()Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;->deviceInfo:Ljava/lang/String;
invoke-static {}, Lio/agora/rtc2/internal/DeviceUtils;->getSystemInfo()Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;->systemInfo:Ljava/lang/String;
invoke-static {}, Lio/agora/rtc2/internal/DeviceUtils;->getManufacturer()Ljava/lang/String;
move-result-object v1
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;->manufacturer:Ljava/lang/String;
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p0
iput-object p0, v0, Lio/agora/rtc2/internal/CommonUtility$AndroidContextInfo;->pkgName:Ljava/lang/String;
return-object v0
.end method
.method public static getCpuTemperature()I
.registers 1
invoke-static {}, Lio/agora/rtc2/internal/DeviceUtils;->getCpuTemperature()I
move-result v0
return v0
.end method
.method public static getDisplayMetrics()[I
.registers 5
invoke-static {}, Lio/agora/base/internal/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const/4 v1, 0x2
if-nez v0, :cond_d
new-array v0, v1, [I
fill-array-data v0, :array_68
return-object v0
:cond_d
const-string/jumbo v2, "window"
invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/WindowManager;
new-instance v2, Landroid/util/DisplayMetrics;
invoke-direct {v2}, Landroid/util/DisplayMetrics;-><init>()V
if-nez v0, :cond_23
new-array v0, v1, [I
fill-array-data v0, :array_70
return-object v0
:cond_23
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
if-nez v0, :cond_2f
new-array v0, v1, [I
fill-array-data v0, :array_78
return-object v0
:cond_2f
sget v3, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x11
if-lt v3, v4, :cond_38
invoke-virtual {v0, v2}, Landroid/view/Display;->getRealMetrics(Landroid/util/DisplayMetrics;)V
:cond_38
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "getDisplayMetrics widthPixel: "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v3, v2, Landroid/util/DisplayMetrics;->heightPixels:I
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v3, " , heightPixel: "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v3, v2, Landroid/util/DisplayMetrics;->widthPixels:I
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v3, "CommonUtility"
invoke-static {v3, v0}, Lio/agora/rtc2/internal/Logging;->i(Ljava/lang/String;Ljava/lang/String;)V
new-array v0, v1, [I
const/4 v1, 0x0
iget v3, v2, Landroid/util/DisplayMetrics;->widthPixels:I
aput v3, v0, v1
const/4 v1, 0x1
iget v2, v2, Landroid/util/DisplayMetrics;->heightPixels:I
aput v2, v0, v1
return-object v0
nop
:array_68
.array-data 4
0x0
0x0
.end array-data
:array_70
.array-data 4
0x0
0x0
.end array-data
:array_78
.array-data 4
0x0
0x0
.end array-data
.end method
.method private static getIpAddressByType(Ljava/net/InetAddress;ZLjava/lang/StringBuilder;)Ljava/lang/String;
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"addr",
"is_ipv4",
"first_local_ip"
}
.end annotation
if-eqz p1, :cond_1a
instance-of v0, p0, Ljava/net/Inet4Address;
if-eqz v0, :cond_1a
invoke-static {p0}, Lio/agora/rtc2/internal/CommonUtility;->getPublicIpAddress(Ljava/net/InetAddress;)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p1
if-nez p1, :cond_19
invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I
move-result p1
if-nez p1, :cond_19
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_19
return-object p0
:cond_1a
if-nez p1, :cond_34
instance-of p1, p0, Ljava/net/Inet6Address;
if-eqz p1, :cond_34
invoke-static {p0}, Lio/agora/rtc2/internal/CommonUtility;->getPublicIpAddress(Ljava/net/InetAddress;)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p1
if-nez p1, :cond_33
invoke-virtual {p2}, Ljava/lang/StringBuilder;->length()I
move-result p1
if-nez p1, :cond_33
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_33
return-object p0
:cond_34
const/4 p0, 0x0
return-object p0
.end method
.method public static getLocalHost(Z)Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"is_ipv4"
}
.end annotation
:try_start_0
invoke-static {}, Ljava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration;
move-result-object v0
invoke-static {v0}, Ljava/util/Collections;->list(Ljava/util/Enumeration;)Ljava/util/ArrayList;
move-result-object v0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_11
:goto_11
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_4d
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/net/NetworkInterface;
invoke-virtual {v2}, Ljava/net/NetworkInterface;->getName()Ljava/lang/String;
move-result-object v3
const-string v4, "usb"
invoke-virtual {v3, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_2a
goto :goto_11
:cond_2a
invoke-virtual {v2}, Ljava/net/NetworkInterface;->getInetAddresses()Ljava/util/Enumeration;
move-result-object v2
invoke-static {v2}, Ljava/util/Collections;->list(Ljava/util/Enumeration;)Ljava/util/ArrayList;
move-result-object v2
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_36
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_11
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/net/InetAddress;
invoke-static {v3, p0, v1}, Lio/agora/rtc2/internal/CommonUtility;->getIpAddressByType(Ljava/net/InetAddress;ZLjava/lang/StringBuilder;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_36
return-object v3
:cond_4d
invoke-virtual {v1}, Ljava/lang/StringBuilder;->length()I
move-result p0
if-lez p0, :cond_60
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
:try_end_57
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_57} :catch_58
return-object p0
:catch_58
move-exception p0
const-string v0, "CommonUtility"
const-string v1, "fail to getLocalHost"
invoke-static {v0, v1, p0}, Lio/agora/rtc2/internal/Logging;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_60
const/4 p0, 0x0
return-object p0
.end method
.method public static getLocalHostList()[Ljava/lang/String;
.registers 6
:try_start_0
invoke-static {}, Ljava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration;
move-result-object v0
invoke-static {v0}, Ljava/util/Collections;->list(Ljava/util/Enumeration;)Ljava/util/ArrayList;
move-result-object v0
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_11
:goto_11
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_64
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/net/NetworkInterface;
invoke-virtual {v2}, Ljava/net/NetworkInterface;->getName()Ljava/lang/String;
move-result-object v3
const-string v4, "usb"
invoke-virtual {v3, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_2a
goto :goto_11
:cond_2a
invoke-virtual {v2}, Ljava/net/NetworkInterface;->getInetAddresses()Ljava/util/Enumeration;
move-result-object v2
invoke-static {v2}, Ljava/util/Collections;->list(Ljava/util/Enumeration;)Ljava/util/ArrayList;
move-result-object v2
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_36
:goto_36
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_11
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/net/InetAddress;
invoke-static {v4}, Lio/agora/rtc2/internal/CommonUtility;->inetAddressToIpAddress(Ljava/net/InetAddress;)Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_36
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, "+"
invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-interface {v1, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_36
:cond_64
invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
move-result v0
if-nez v0, :cond_8f
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v0
new-array v0, v0, [Ljava/lang/String;
const/4 v2, 0x0
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_75
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_86
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
aput-object v3, v0, v2
:try_end_83
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_83} :catch_87
add-int/lit8 v2, v2, 0x1
goto :goto_75
:cond_86
return-object v0
:catch_87
move-exception v0
const-string v1, "CommonUtility"
const-string v2, "fail to getLocalHostList"
invoke-static {v1, v2, v0}, Lio/agora/rtc2/internal/Logging;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_8f
const/4 v0, 0x0
return-object v0
.end method
.method private getNetworkInfo(Landroid/content/Context;)Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;
.registers 7
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
new-instance v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;
invoke-direct {v0}, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;-><init>()V
invoke-static {p1}, Lio/agora/rtc2/internal/CommonUtility;->checkAccessNetworkState(Landroid/content/Context;)Z
move-result v1
const-string v2, "CommonUtility"
if-nez v1, :cond_13
const-string p1, "fail to getNetworkInfo, permission ACCESS_NETWORK_STATE not granted"
invoke-static {v2, p1}, Lio/agora/rtc2/internal/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
return-object v0
:cond_13
const/4 v1, 0x1
invoke-static {v1}, Lio/agora/rtc2/internal/CommonUtility;->getLocalHost(Z)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_20
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->localIp4:Ljava/lang/String;
:cond_20
const/4 v1, 0x0
invoke-static {v1}, Lio/agora/rtc2/internal/CommonUtility;->getLocalHost(Z)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_2d
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->localIp6:Ljava/lang/String;
:cond_2d
invoke-static {p1}, Lio/agora/rtc2/internal/Connectivity;->getNetworkInfo(Landroid/content/Context;)Landroid/net/NetworkInfo;
move-result-object v1
invoke-static {v1}, Lio/agora/rtc2/internal/Connectivity;->getNetworkType(Landroid/net/NetworkInfo;)I
move-result v3
iput v3, v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->networkType:I
if-eqz v1, :cond_3f
invoke-virtual {v1}, Landroid/net/NetworkInfo;->getSubtype()I
move-result v1
iput v1, v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->networkSubtype:I
:cond_3f
invoke-static {}, Lio/agora/rtc2/internal/Connectivity;->getDnsList()Ljava/util/ArrayList;
move-result-object v1
iput-object v1, v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->dnsList:Ljava/util/ArrayList;
iget v1, v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->networkType:I
const/4 v3, 0x2
const-string v4, " level = "
if-ne v1, v3, :cond_6e
invoke-static {p1, v0}, Lio/agora/rtc2/internal/CommonUtility;->fillWifiInfoIfPossible(Landroid/content/Context;Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;)V
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "networkType from WIFI, rssi = "
:goto_56
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->rssi:I
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->signalLevel:I
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v2, p1}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_7d
:cond_6e
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mPhoneStateListener:Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
if-eqz v1, :cond_7d
invoke-virtual {v1, p1, v0}, Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;->fillCellInfoIfPossible(Landroid/content/Context;Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;)V
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "networkType from Phone State Listener\uff0c rssi = "
goto :goto_56
:cond_7d
:goto_7d
invoke-virtual {p0}, Lio/agora/rtc2/internal/CommonUtility;->getVpnIfconfigs()Ljava/util/ArrayList;
move-result-object p1
iput-object p1, v0, Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;->ifconfigs:Ljava/util/ArrayList;
return-object v0
.end method
.method private static getPublicIpAddress(Ljava/net/InetAddress;)Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"address"
}
.end annotation
invoke-virtual {p0}, Ljava/net/InetAddress;->isLoopbackAddress()Z
move-result v0
if-nez v0, :cond_17
invoke-virtual {p0}, Ljava/net/InetAddress;->isLinkLocalAddress()Z
move-result v0
if-nez v0, :cond_17
invoke-virtual {p0}, Ljava/net/InetAddress;->isAnyLocalAddress()Z
move-result v0
if-nez v0, :cond_17
invoke-virtual {p0}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_17
const/4 p0, 0x0
return-object p0
.end method
.method private getRotationByDM()I
.registers 3
invoke-static {}, Lio/agora/base/internal/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v0
if-eqz v0, :cond_13
invoke-static {}, Lio/agora/base/internal/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string v1, "display"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/hardware/display/DisplayManager;
goto :goto_14
:cond_13
const/4 v0, 0x0
:goto_14
if-eqz v0, :cond_22
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display;
move-result-object v0
if-eqz v0, :cond_22
invoke-virtual {v0}, Landroid/view/Display;->getRotation()I
move-result v0
goto :goto_23
:cond_22
const/4 v0, -0x1
:goto_23
return v0
.end method
.method private getRotationByWM()I
.registers 3
invoke-static {}, Lio/agora/base/internal/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v0
if-eqz v0, :cond_14
invoke-static {}, Lio/agora/base/internal/ContextUtils;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string/jumbo v1, "window"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/view/WindowManager;
goto :goto_15
:cond_14
const/4 v0, 0x0
:goto_15
if-eqz v0, :cond_22
invoke-interface {v0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
move-result-object v0
if-eqz v0, :cond_22
invoke-virtual {v0}, Landroid/view/Display;->getRotation()I
move-result v0
goto :goto_23
:cond_22
const/4 v0, 0x0
:goto_23
return v0
.end method
.method private static getSystemProperty(Ljava/lang/String;)Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"name"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
const-string v0, "android.os.SystemProperties"
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const/4 v1, 0x1
new-array v2, v1, [Ljava/lang/Class;
const-class v3, Ljava/lang/String;
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "get"
invoke-virtual {v0, v3, v2}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
new-array v1, v1, [Ljava/lang/Object;
aput-object p0, v1, v4
invoke-virtual {v2, v0, v1}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/String;
return-object p0
.end method
.method public static getSystemService(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/Object;
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"context",
"serviceName"
}
.end annotation
invoke-virtual {p0, p1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method private static inetAddressToIpAddress(Ljava/net/InetAddress;)Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"address"
}
.end annotation
invoke-virtual {p0}, Ljava/net/InetAddress;->isLoopbackAddress()Z
move-result v0
if-nez v0, :cond_13
instance-of v0, p0, Ljava/net/Inet4Address;
if-eqz v0, :cond_11
check-cast p0, Ljava/net/Inet4Address;
invoke-virtual {p0}, Ljava/net/Inet4Address;->getHostAddress()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_11
instance-of p0, p0, Ljava/net/Inet6Address;
:cond_13
const/4 p0, 0x0
return-object p0
.end method
.method private static intToInetAddress(I)Ljava/net/InetAddress;
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"hostAddress"
}
.end annotation
const/4 v0, 0x4
new-array v0, v0, [B
and-int/lit16 v1, p0, 0xff
int-to-byte v1, v1
const/4 v2, 0x0
aput-byte v1, v0, v2
shr-int/lit8 v1, p0, 0x8
and-int/lit16 v1, v1, 0xff
int-to-byte v1, v1
const/4 v2, 0x1
aput-byte v1, v0, v2
shr-int/lit8 v1, p0, 0x10
and-int/lit16 v1, v1, 0xff
int-to-byte v1, v1
const/4 v2, 0x2
aput-byte v1, v0, v2
shr-int/lit8 p0, p0, 0x18
and-int/lit16 p0, p0, 0xff
int-to-byte p0, p0
const/4 v1, 0x3
aput-byte p0, v0, v1
:try_start_21
invoke-static {v0}, Ljava/net/InetAddress;->getByAddress([B)Ljava/net/InetAddress;
move-result-object p0
:try_end_25
.catch Ljava/net/UnknownHostException; {:try_start_21 .. :try_end_25} :catch_26
return-object p0
:catch_26
const/4 p0, 0x0
return-object p0
.end method
.method public static isAppInForeground()Z
.registers 5
new-instance v0, Landroid/app/ActivityManager$RunningAppProcessInfo;
invoke-direct {v0}, Landroid/app/ActivityManager$RunningAppProcessInfo;-><init>()V
new-instance v1, Ljava/util/concurrent/CountDownLatch;
const/4 v2, 0x1
invoke-direct {v1, v2}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
new-instance v3, Lio/agora/rtc2/internal/CommonUtility$6;
invoke-direct {v3, v0, v1}, Lio/agora/rtc2/internal/CommonUtility$6;-><init>(Landroid/app/ActivityManager$RunningAppProcessInfo;Ljava/util/concurrent/CountDownLatch;)V
new-instance v4, Ljava/lang/Thread;
invoke-direct {v4, v3}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
invoke-virtual {v4}, Ljava/lang/Thread;->start()V
const-wide/16 v3, 0x64
invoke-static {v1, v3, v4}, Lio/agora/base/internal/ThreadUtils;->awaitUninterruptibly(Ljava/util/concurrent/CountDownLatch;J)Z
move-result v1
if-nez v1, :cond_28
const-string v0, "CommonUtility"
const-string v1, "get App InForeground state timeout."
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
return v2
:cond_28
iget v1, v0, Landroid/app/ActivityManager$RunningAppProcessInfo;->importance:I
const/16 v3, 0x64
if-eq v1, v3, :cond_36
iget v0, v0, Landroid/app/ActivityManager$RunningAppProcessInfo;->importance:I
const/16 v1, 0xc8
if-ne v0, v1, :cond_35
goto :goto_36
:cond_35
const/4 v2, 0x0
:cond_36
:goto_36
return v2
.end method
.method public static isSimulator()Z
.registers 8
const-string v0, "CommonUtility"
const-string v1, ""
const/4 v2, 0x0
const/4 v3, 0x1
:try_start_6
sget-object v4, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;
:try_end_8
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_8} :catch_2c
:try_start_8
invoke-virtual {v4}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v5
const-string v6, "netease"
invoke-virtual {v5, v6}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
:try_end_12
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_12} :catch_2d
if-eqz v5, :cond_16
move v5, v3
goto :goto_17
:cond_16
move v5, v2
:goto_17
:try_start_17
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "manufacturer = "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-static {v0, v6}, Lio/agora/rtc2/internal/Logging;->i(Ljava/lang/String;Ljava/lang/String;)V
:try_end_2b
.catch Ljava/lang/Exception; {:try_start_17 .. :try_end_2b} :catch_2e
goto :goto_33
:catch_2c
move-object v4, v1
:catch_2d
move v5, v2
:catch_2e
const-string v6, "get manufacturer info fail."
invoke-static {v0, v6}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
:goto_33
invoke-static {}, Lio/agora/rtc2/internal/CommonUtility;->isSimulatorProperty()Z
move-result v0
if-eqz v0, :cond_3b
add-int/lit8 v5, v5, 0x1
:cond_3b
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v6, 0x1c
const-string/jumbo v7, "welldo"
if-le v0, v6, :cond_6e
const-string v0, "nokia"
invoke-virtual {v0, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_61
sget-object v0, Landroid/os/Build;->DEVICE:Ljava/lang/String;
const-string v1, "Nokia_N1"
invoke-virtual {v1, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_60
sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;
const-string v1, "N1"
invoke-virtual {v1, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_61
:cond_60
return v2
:cond_61
if-lez v5, :cond_87
invoke-virtual {v4}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v7}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_87
return v3
:cond_6e
invoke-virtual {v1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
const-string v1, "unknown"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_7c
if-lez v5, :cond_87
:cond_7c
invoke-virtual {v4}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v7}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_87
return v3
:cond_87
return v2
.end method
.method private static isSimulatorProperty()Z
.registers 13
const-string v0, "android"
const-string v1, "CommonUtility"
const-string v2, ""
sget-object v3, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;
const/4 v4, 0x0
const/4 v5, 0x1
:try_start_a
const-string v6, "ro.hardware"
invoke-static {v6}, Lio/agora/rtc2/internal/CommonUtility;->getSystemProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
:try_end_10
.catch Ljava/lang/Exception; {:try_start_a .. :try_end_10} :catch_20
if-eqz v6, :cond_1e
:try_start_12
invoke-virtual {v6}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v7
const-string v8, "intel"
invoke-virtual {v7, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
:try_end_1c
.catch Ljava/lang/Exception; {:try_start_12 .. :try_end_1c} :catch_21
if-eqz v7, :cond_26
:cond_1e
move v7, v5
goto :goto_27
:catch_20
move-object v6, v2
:catch_21
const-string v7, "get property hardware fail."
invoke-static {v1, v7}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_26
move v7, v4
:goto_27
:try_start_27
const-string v8, "os.arch"
invoke-static {v8}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_27 .. :try_end_2d} :catch_4a
if-eqz v8, :cond_47
:try_start_2f
invoke-virtual {v8}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v9
const-string v10, "i686"
invoke-virtual {v9, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
if-eqz v9, :cond_50
invoke-virtual {v3}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v9
const-string v10, "asus"
invoke-virtual {v9, v10}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v9
:try_end_45
.catch Ljava/lang/Exception; {:try_start_2f .. :try_end_45} :catch_4b
if-nez v9, :cond_50
:cond_47
add-int/lit8 v7, v7, 0x1
goto :goto_50
:catch_4a
move-object v8, v2
:catch_4b
const-string v9, "get property arch fail."
invoke-static {v1, v9}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_50
:goto_50
sget v9, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v10, 0x1c
if-le v9, v10, :cond_ca
if-eqz v6, :cond_70
invoke-virtual {v6}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v9
const-string v10, "ttvm"
invoke-virtual {v9, v10}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v9
if-nez v9, :cond_70
invoke-virtual {v6}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v9
const-string v10, "nox"
invoke-virtual {v9, v10}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v9
if-eqz v9, :cond_72
:cond_70
add-int/lit8 v7, v7, 0x1
:cond_72
:try_start_72
const-string v9, "ro.build.flavor"
invoke-static {v9}, Lio/agora/rtc2/internal/CommonUtility;->getSystemProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v9
:try_end_78
.catch Ljava/lang/Exception; {:try_start_72 .. :try_end_78} :catch_8d
if-eqz v9, :cond_8a
:try_start_7a
const-string v10, "vbox"
invoke-virtual {v9, v10}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v10
if-nez v10, :cond_8a
const-string v10, "sdk_gphone"
invoke-virtual {v9, v10}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v10
:try_end_88
.catch Ljava/lang/Exception; {:try_start_7a .. :try_end_88} :catch_8e
if-eqz v10, :cond_93
:cond_8a
add-int/lit8 v7, v7, 0x1
goto :goto_93
:catch_8d
move-object v9, v2
:catch_8e
const-string v10, "get property buildFlavor fail."
invoke-static {v1, v10}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_93
:goto_93
:try_start_93
const-string v10, "ro.product.board"
invoke-static {v10}, Lio/agora/rtc2/internal/CommonUtility;->getSystemProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v10
:try_end_99
.catch Ljava/lang/Exception; {:try_start_93 .. :try_end_99} :catch_ac
if-eqz v10, :cond_a9
:try_start_9b
invoke-virtual {v10, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v11
if-nez v11, :cond_a9
const-string v11, "goldfish"
invoke-virtual {v10, v11}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v11
:try_end_a7
.catch Ljava/lang/Exception; {:try_start_9b .. :try_end_a7} :catch_ad
if-eqz v11, :cond_b2
:cond_a9
add-int/lit8 v7, v7, 0x1
goto :goto_b2
:catch_ac
move-object v10, v2
:catch_ad
const-string v11, "get property productBoard fail."
invoke-static {v1, v11}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
:cond_b2
:goto_b2
:try_start_b2
const-string v11, "ro.board.platform"
invoke-static {v11}, Lio/agora/rtc2/internal/CommonUtility;->getSystemProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v11
:try_end_b8
.catch Ljava/lang/Exception; {:try_start_b2 .. :try_end_b8} :catch_c3
if-eqz v11, :cond_c0
:try_start_ba
invoke-virtual {v11, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
:try_end_be
.catch Ljava/lang/Exception; {:try_start_ba .. :try_end_be} :catch_c4
if-eqz v0, :cond_cd
:cond_c0
add-int/lit8 v7, v7, 0x1
goto :goto_cd
:catch_c3
move-object v11, v2
:catch_c4
const-string v0, "get property boardPlatform fail."
invoke-static {v1, v0}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_cd
:cond_ca
move-object v9, v2
move-object v10, v9
move-object v11, v10
:cond_cd
:goto_cd
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v12, "suspectCount = "
invoke-virtual {v0, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v12, ", hardware = "
invoke-virtual {v0, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, ", arch = "
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, ", baseBandVersion = "
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ", buildFlavor = "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ", productBoard = "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ", boardPlatform = "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ", manufacturer = "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v3}, 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}, Lio/agora/rtc2/internal/Logging;->i(Ljava/lang/String;Ljava/lang/String;)V
if-lez v7, :cond_11c
move v4, v5
:cond_11c
return v4
.end method
.method public static isSpeakerphoneEnabled(Landroid/content/Context;)I
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
if-nez p0, :cond_b
const-string p0, "CommonUtility"
const-string v0, "fail to isSpeakerphoneEnabled, context null"
invoke-static {p0, v0}, Lio/agora/rtc2/internal/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
const/4 p0, -0x1
return p0
:cond_b
const-string v0, "audio"
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/media/AudioManager;
invoke-virtual {p0}, Landroid/media/AudioManager;->isSpeakerphoneOn()Z
move-result p0
return p0
.end method
.method private monitorOrientationChange(Landroid/content/Context;Z)V
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"context",
"enable"
}
.end annotation
if-eqz p2, :cond_9
invoke-direct {p0, p1}, Lio/agora/rtc2/internal/CommonUtility;->enableDisplayListener(Landroid/content/Context;)V
invoke-direct {p0, p1}, Lio/agora/rtc2/internal/CommonUtility;->regiseterBroadcaster(Landroid/content/Context;)V
goto :goto_f
:cond_9
invoke-direct {p0}, Lio/agora/rtc2/internal/CommonUtility;->disableDisplayListener()V
invoke-direct {p0, p1}, Lio/agora/rtc2/internal/CommonUtility;->unregisterBroadcaster(Landroid/content/Context;)V
:goto_f
return-void
.end method
.method private native nativeAudioRoutingPhoneChanged(ZII)V
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"enableAudio",
"event",
"arg"
}
.end annotation
.end method
.method private native nativeNotifyAddressBound(Ljava/lang/String;)V
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"addr"
}
.end annotation
.end method
.method private native nativeNotifyForegroundChanged(Z)V
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"isForeground"
}
.end annotation
.end method
.method private native nativeNotifyGravityOriChange(I)V
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"mOrientation"
}
.end annotation
.end method
.method private native nativeNotifyNetworkChange(Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;)V
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"networkInfo"
}
.end annotation
.end method
.method private regiseterBroadcaster(Landroid/content/Context;)V
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
if-nez p1, :cond_3
return-void
:cond_3
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationObserver:Landroid/content/BroadcastReceiver;
if-eqz v0, :cond_8
return-void
:cond_8
new-instance v0, Lio/agora/rtc2/internal/CommonUtility$9;
invoke-direct {v0, p0}, Lio/agora/rtc2/internal/CommonUtility$9;-><init>(Lio/agora/rtc2/internal/CommonUtility;)V
iput-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationObserver:Landroid/content/BroadcastReceiver;
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
const-string v1, "android.intent.action.CONFIGURATION_CHANGED"
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationObserver:Landroid/content/BroadcastReceiver;
invoke-virtual {p1, v1, v0}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
const-string p1, "CommonUtility"
const-string v0, "[regiseterBroadcaster] done!"
invoke-static {p1, v0}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public static safeLoadLibrary(Ljava/lang/String;)I
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"path"
}
.end annotation
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_8
const/4 p0, -0x2
return p0
:cond_8
const/4 v0, 0x0
const/4 v1, -0x1
:try_start_a
invoke-static {p0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
:try_end_d
.catch Ljava/lang/SecurityException; {:try_start_a .. :try_end_d} :catch_e
.catch Ljava/lang/UnsatisfiedLinkError; {:try_start_a .. :try_end_d} :catch_e
.catch Ljava/lang/NullPointerException; {:try_start_a .. :try_end_d} :catch_e
.catch Ljava/lang/Exception; {:try_start_a .. :try_end_d} :catch_e
goto :goto_f
:catch_e
move v0, v1
:goto_f
if-eqz v0, :cond_27
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "failed to load library: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string v1, "CommonUtility"
invoke-static {v1, p0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_27
return v0
.end method
.method public static setIgnoreMonitor(Z)V
.registers 1
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"ignore"
}
.end annotation
sput-boolean p0, Lio/agora/rtc2/internal/CommonUtility;->ignoreMonitor:Z
return-void
.end method
.method private stopMonitor()V
.registers 7
const-string v0, "CommonUtility"
const-string v1, "stopMonitor()"
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/content/Context;
if-nez v1, :cond_12
return-void
:cond_12
const/4 v2, 0x0
const/4 v3, 0x0
:try_start_14
iget-object v4, p0, Lio/agora/rtc2/internal/CommonUtility;->mPhoneStateListener:Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
if-eqz v4, :cond_2c
const-string v4, "phone"
invoke-virtual {v1, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Landroid/telephony/TelephonyManager;
iget-object v5, p0, Lio/agora/rtc2/internal/CommonUtility;->mPhoneStateListener:Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
invoke-virtual {v4, v5, v2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
iput-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mPhoneStateListener:Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
:try_end_27
.catch Ljava/lang/Exception; {:try_start_14 .. :try_end_27} :catch_28
goto :goto_2c
:catch_28
move-exception v4
invoke-virtual {v4}, Ljava/lang/Exception;->printStackTrace()V
:cond_2c
:goto_2c
:try_start_2c
iget-object v4, p0, Lio/agora/rtc2/internal/CommonUtility;->mConnectionBroadcastReceiver:Lio/agora/rtc2/internal/ConnectionChangeBroadcastReceiver;
if-eqz v4, :cond_3a
invoke-virtual {v1, v4}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
iput-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mConnectionBroadcastReceiver:Lio/agora/rtc2/internal/ConnectionChangeBroadcastReceiver;
:try_end_35
.catch Ljava/lang/Exception; {:try_start_2c .. :try_end_35} :catch_36
goto :goto_3a
:catch_36
move-exception v4
invoke-virtual {v4}, Ljava/lang/Exception;->printStackTrace()V
:cond_3a
:goto_3a
:try_start_3a
iget-object v4, p0, Lio/agora/rtc2/internal/CommonUtility;->mPowerChangeReceiver:Lio/agora/rtc2/internal/PowerChangeReceiver;
if-eqz v4, :cond_48
invoke-virtual {v1, v4}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
iput-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mPowerChangeReceiver:Lio/agora/rtc2/internal/PowerChangeReceiver;
:try_end_43
.catch Ljava/lang/Exception; {:try_start_3a .. :try_end_43} :catch_44
goto :goto_48
:catch_44
move-exception v4
invoke-virtual {v4}, Ljava/lang/Exception;->printStackTrace()V
:cond_48
:goto_48
:try_start_48
iget-object v4, p0, Lio/agora/rtc2/internal/CommonUtility;->mProcessLifecycleOwner:Lio/agora/rtc2/internal/ProcessLifecycleOwner;
if-eqz v4, :cond_60
invoke-virtual {v1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v4
check-cast v4, Landroid/app/Application;
iget-object v5, p0, Lio/agora/rtc2/internal/CommonUtility;->mProcessLifecycleOwner:Lio/agora/rtc2/internal/ProcessLifecycleOwner;
invoke-virtual {v4, v5}, Landroid/app/Application;->unregisterActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
iput-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mProcessLifecycleOwner:Lio/agora/rtc2/internal/ProcessLifecycleOwner;
:try_end_59
.catch Ljava/lang/Exception; {:try_start_48 .. :try_end_59} :catch_5a
goto :goto_60
:catch_5a
move-exception v3
const-string v4, "unregister ProcessLifecycleOwner failed "
invoke-static {v0, v4, v3}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_60
:goto_60
:try_start_60
invoke-direct {p0, v1, v2}, Lio/agora/rtc2/internal/CommonUtility;->monitorOrientationChange(Landroid/content/Context;Z)V
:try_end_63
.catch Ljava/lang/Exception; {:try_start_60 .. :try_end_63} :catch_64
goto :goto_6a
:catch_64
move-exception v1
const-string v2, "Unable to monitorOrientationChange, "
invoke-static {v0, v2, v1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_6a
invoke-virtual {p0}, Lio/agora/rtc2/internal/CommonUtility;->closeGravityMonitor()I
return-void
.end method
.method private unregisterBroadcaster(Landroid/content/Context;)V
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"context"
}
.end annotation
if-eqz p1, :cond_11
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationObserver:Landroid/content/BroadcastReceiver;
if-nez v0, :cond_7
goto :goto_11
:cond_7
invoke-virtual {p1, v0}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
const-string p1, "CommonUtility"
const-string v0, "[unregisterBroadcaster] done!"
invoke-static {p1, v0}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_11
:goto_11
return-void
.end method
# virtual methods
.method public VPNBehindAddress()I
.registers 2
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/Context;
if-nez v0, :cond_c
const/4 v0, 0x1
return v0
:cond_c
invoke-static {v0}, Lio/agora/rtc2/internal/Connectivity;->VPNBehindAddress(Landroid/content/Context;)I
move-result v0
return v0
.end method
.method public bindSocket2Network(ILjava/lang/String;)V
.registers 11
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"socketfd",
"address"
}
.end annotation
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-ge v0, v1, :cond_7
return-void
:cond_7
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/Context;
const-string v1, "connectivity"
invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/net/ConnectivityManager;
new-instance v1, Landroid/net/NetworkRequest$Builder;
invoke-direct {v1}, Landroid/net/NetworkRequest$Builder;-><init>()V
const/4 v2, 0x0
invoke-virtual {v1, v2}, Landroid/net/NetworkRequest$Builder;->addTransportType(I)Landroid/net/NetworkRequest$Builder;
move-result-object v1
invoke-virtual {v1}, Landroid/net/NetworkRequest$Builder;->build()Landroid/net/NetworkRequest;
move-result-object v7
invoke-virtual {p2}, Ljava/lang/String;->toString()Ljava/lang/String;
move-result-object v4
iget-object p2, p0, Lio/agora/rtc2/internal/CommonUtility;->mobileNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
if-eqz p2, :cond_30
invoke-virtual {v0, p2}, Landroid/net/ConnectivityManager;->unregisterNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
:cond_30
new-instance p2, Lio/agora/rtc2/internal/CommonUtility$4;
move-object v1, p2
move-object v2, p0
move-object v3, v0
move v5, p1
move-object v6, p0
invoke-direct/range {v1 .. v6}, Lio/agora/rtc2/internal/CommonUtility$4;-><init>(Lio/agora/rtc2/internal/CommonUtility;Landroid/net/ConnectivityManager;Ljava/lang/String;ILio/agora/rtc2/internal/CommonUtility;)V
iput-object p2, p0, Lio/agora/rtc2/internal/CommonUtility;->mobileNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
:try_start_3c
invoke-virtual {v0, v7, p2}, Landroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V
:try_end_3f
.catch Ljava/lang/Exception; {:try_start_3c .. :try_end_3f} :catch_40
goto :goto_5e
:catch_40
move-exception p1
const/4 p2, 0x0
iput-object p2, p0, Lio/agora/rtc2/internal/CommonUtility;->mobileNetworkCallback:Landroid/net/ConnectivityManager$NetworkCallback;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "requestNetwork failed "
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
const-string p2, "CommonUtility"
invoke-static {p2, p1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
:goto_5e
return-void
.end method
.method public checkOrientation(I)I
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"orientation"
}
.end annotation
const/4 v0, -0x1
if-ne p1, v0, :cond_4
return v0
:cond_4
const/16 v0, 0x154
if-gt p1, v0, :cond_c
const/16 v0, 0x14
if-ge p1, v0, :cond_18
:cond_c
iget v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mLastOrientation:I
const/16 v1, 0x10e
if-eq v0, v1, :cond_18
:goto_12
iput v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mLastOrientation:I
invoke-direct {p0, v1}, Lio/agora/rtc2/internal/CommonUtility;->nativeNotifyGravityOriChange(I)V
goto :goto_48
:cond_18
const/16 v0, 0x46
if-le p1, v0, :cond_27
const/16 v0, 0x6e
if-ge p1, v0, :cond_27
iget v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mLastOrientation:I
const/16 v1, 0xb4
if-eq v0, v1, :cond_27
goto :goto_12
:cond_27
const/16 v0, 0xa0
if-le p1, v0, :cond_36
const/16 v0, 0xc8
if-ge p1, v0, :cond_36
iget v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mLastOrientation:I
const/16 v1, 0x5a
if-eq v0, v1, :cond_36
goto :goto_12
:cond_36
const/16 v0, 0xfa
if-le p1, v0, :cond_48
const/16 v0, 0x122
if-ge p1, v0, :cond_48
iget p1, p0, Lio/agora/rtc2/internal/CommonUtility;->mLastOrientation:I
if-eqz p1, :cond_48
const/4 p1, 0x0
iput p1, p0, Lio/agora/rtc2/internal/CommonUtility;->mLastOrientation:I
invoke-direct {p0, p1}, Lio/agora/rtc2/internal/CommonUtility;->nativeNotifyGravityOriChange(I)V
:cond_48
:goto_48
iget p1, p0, Lio/agora/rtc2/internal/CommonUtility;->mLastOrientation:I
return p1
.end method
.method public closeGravityMonitor()I
.registers 5
const-string v0, "CommonUtility"
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/content/Context;
const/4 v2, -0x1
if-nez v1, :cond_e
return v2
:cond_e
:try_start_e
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationListener:Landroid/view/OrientationEventListener;
if-eqz v1, :cond_1f
invoke-virtual {v1}, Landroid/view/OrientationEventListener;->disable()V
const/4 v1, 0x0
iput-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationListener:Landroid/view/OrientationEventListener;
const-string v1, "[closeGravityMonitor] done!"
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->i(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x0
return v0
:cond_1f
const-string v1, "[closeGravityMonitor] mOrientationListener is null!"
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
:try_end_24
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_24} :catch_25
goto :goto_2b
:catch_25
move-exception v1
const-string v3, "Unable to close OrientationEventListener, "
invoke-static {v0, v3, v1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_2b
return v2
.end method
.method public dispose()V
.registers 4
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mThreadChecker:Lio/agora/base/internal/ThreadUtils$ThreadChecker;
invoke-virtual {v0}, Lio/agora/base/internal/ThreadUtils$ThreadChecker;->checkIsOnValidThread()V
iget-boolean v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisposed:Z
if-eqz v0, :cond_a
return-void
:cond_a
invoke-static {}, Lio/agora/rtc2/internal/HardwareEarMonitorController;->destroy()V
const/4 v0, 0x1
iput-boolean v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisposed:Z
const-wide/16 v1, 0x0
iput-wide v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mNativeHandle:J
const-string v1, "CommonUtility"
const-string v2, "dispose()"
invoke-static {v1, v2}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mHandler:Landroid/os/Handler;
new-instance v2, Lio/agora/rtc2/internal/CommonUtility$2;
invoke-direct {v2, p0}, Lio/agora/rtc2/internal/CommonUtility$2;-><init>(Lio/agora/rtc2/internal/CommonUtility;)V
invoke-virtual {v1, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
new-instance v1, Ljava/util/concurrent/CountDownLatch;
invoke-direct {v1, v0}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mHandler:Landroid/os/Handler;
new-instance v2, Lio/agora/rtc2/internal/CommonUtility$3;
invoke-direct {v2, p0, v1}, Lio/agora/rtc2/internal/CommonUtility$3;-><init>(Lio/agora/rtc2/internal/CommonUtility;Ljava/util/concurrent/CountDownLatch;)V
invoke-virtual {v0, v2}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
:try_start_34
invoke-virtual {v1}, Ljava/util/concurrent/CountDownLatch;->await()V
:try_end_37
.catch Ljava/lang/InterruptedException; {:try_start_34 .. :try_end_37} :catch_38
goto :goto_3c
:catch_38
move-exception v0
invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
:goto_3c
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mListener:Lio/agora/rtc2/internal/CommonUtility$Listener;
if-eqz v0, :cond_43
invoke-interface {v0}, Lio/agora/rtc2/internal/CommonUtility$Listener;->onDispose()V
:cond_43
return-void
.end method
.method public getAssetsCacheFile(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 9
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"context",
"pathOrUri",
"fileName"
}
.end annotation
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "getAssetsCacheFile filePath: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, 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, "CommonUtility"
invoke-static {v1, v0}, Lio/agora/rtc2/internal/Logging;->i(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "content://"
invoke-virtual {p2, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
new-instance v1, Ljava/io/File;
invoke-virtual {p1}, Landroid/content/Context;->getCacheDir()Ljava/io/File;
move-result-object v2
invoke-direct {v1, v2, p3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
const/4 p3, 0x0
:try_start_26
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_2f
invoke-virtual {v1}, Ljava/io/File;->delete()Z
:try_end_2f
.catch Ljava/lang/SecurityException; {:try_start_26 .. :try_end_2f} :catch_da
:cond_2f
if-eqz v0, :cond_49
:try_start_31
new-instance v0, Ljava/io/FileInputStream;
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p1
invoke-static {p2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object p2
const-string v2, "r"
invoke-virtual {p1, p2, v2}, Landroid/content/ContentResolver;->openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
move-result-object p1
invoke-virtual {p1}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
move-result-object p1
invoke-direct {v0, p1}, Ljava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;)V
goto :goto_51
:cond_49
invoke-virtual {p1}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object p1
invoke-virtual {p1, p2}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object v0
:try_end_51
.catch Ljava/io/IOException; {:try_start_31 .. :try_end_51} :catch_ae
.catch Ljava/lang/SecurityException; {:try_start_31 .. :try_end_51} :catch_96
.catchall {:try_start_31 .. :try_end_51} :catchall_93
:goto_51
:try_start_51
new-instance p1, Ljava/io/FileOutputStream;
invoke-direct {p1, v1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_56
.catch Ljava/io/IOException; {:try_start_51 .. :try_end_56} :catch_90
.catch Ljava/lang/SecurityException; {:try_start_51 .. :try_end_56} :catch_8d
.catchall {:try_start_51 .. :try_end_56} :catchall_8a
const/16 p2, 0x400
:try_start_58
new-array p2, p2, [B
:goto_5a
invoke-virtual {v0, p2}, Ljava/io/InputStream;->read([B)I
move-result v2
if-lez v2, :cond_65
const/4 v3, 0x0
invoke-virtual {p1, p2, v3, v2}, Ljava/io/FileOutputStream;->write([BII)V
:try_end_64
.catch Ljava/io/IOException; {:try_start_58 .. :try_end_64} :catch_85
.catch Ljava/lang/SecurityException; {:try_start_58 .. :try_end_64} :catch_80
.catchall {:try_start_58 .. :try_end_64} :catchall_79
goto :goto_5a
:cond_65
if-eqz v0, :cond_6d
:try_start_67
invoke-virtual {v0}, Ljava/io/InputStream;->close()V
goto :goto_6d
:catch_6b
move-exception p1
goto :goto_71
:cond_6d
:goto_6d
invoke-virtual {p1}, Ljava/io/FileOutputStream;->close()V
:try_end_70
.catch Ljava/io/IOException; {:try_start_67 .. :try_end_70} :catch_6b
goto :goto_74
:goto_71
invoke-virtual {p1}, Ljava/io/IOException;->printStackTrace()V
:goto_74
invoke-virtual {v1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object p1
return-object p1
:catchall_79
move-exception p2
move-object p3, v0
move-object v4, p2
move-object p2, p1
move-object p1, v4
goto/16 :goto_c8
:catch_80
move-exception p2
move-object v4, p2
move-object p2, p1
move-object p1, v4
goto :goto_99
:catch_85
move-exception p2
move-object v4, p2
move-object p2, p1
move-object p1, v4
goto :goto_b1
:catchall_8a
move-exception p1
move-object p2, p3
goto :goto_c7
:catch_8d
move-exception p1
move-object p2, p3
goto :goto_99
:catch_90
move-exception p1
move-object p2, p3
goto :goto_b1
:catchall_93
move-exception p1
move-object p2, p3
goto :goto_c8
:catch_96
move-exception p1
move-object p2, p3
move-object v0, p2
:goto_99
:try_start_99
invoke-virtual {p1}, Ljava/lang/SecurityException;->printStackTrace()V
:try_end_9c
.catchall {:try_start_99 .. :try_end_9c} :catchall_c6
if-eqz v0, :cond_a4
:try_start_9e
invoke-virtual {v0}, Ljava/io/InputStream;->close()V
goto :goto_a4
:catch_a2
move-exception p1
goto :goto_aa
:cond_a4
:goto_a4
if-eqz p2, :cond_ad
invoke-virtual {p2}, Ljava/io/FileOutputStream;->close()V
:try_end_a9
.catch Ljava/io/IOException; {:try_start_9e .. :try_end_a9} :catch_a2
goto :goto_ad
:goto_aa
invoke-virtual {p1}, Ljava/io/IOException;->printStackTrace()V
:cond_ad
:goto_ad
return-object p3
:catch_ae
move-exception p1
move-object p2, p3
move-object v0, p2
:goto_b1
:try_start_b1
invoke-virtual {p1}, Ljava/io/IOException;->printStackTrace()V
:try_end_b4
.catchall {:try_start_b1 .. :try_end_b4} :catchall_c6
if-eqz v0, :cond_bc
:try_start_b6
invoke-virtual {v0}, Ljava/io/InputStream;->close()V
goto :goto_bc
:catch_ba
move-exception p1
goto :goto_c2
:cond_bc
:goto_bc
if-eqz p2, :cond_c5
invoke-virtual {p2}, Ljava/io/FileOutputStream;->close()V
:try_end_c1
.catch Ljava/io/IOException; {:try_start_b6 .. :try_end_c1} :catch_ba
goto :goto_c5
:goto_c2
invoke-virtual {p1}, Ljava/io/IOException;->printStackTrace()V
:cond_c5
:goto_c5
return-object p3
:catchall_c6
move-exception p1
:goto_c7
move-object p3, v0
:goto_c8
if-eqz p3, :cond_d0
:try_start_ca
invoke-virtual {p3}, Ljava/io/InputStream;->close()V
goto :goto_d0
:catch_ce
move-exception p2
goto :goto_d6
:cond_d0
:goto_d0
if-eqz p2, :cond_d9
invoke-virtual {p2}, Ljava/io/FileOutputStream;->close()V
:try_end_d5
.catch Ljava/io/IOException; {:try_start_ca .. :try_end_d5} :catch_ce
goto :goto_d9
:goto_d6
invoke-virtual {p2}, Ljava/io/IOException;->printStackTrace()V
:cond_d9
:goto_d9
throw p1
:catch_da
move-exception p1
invoke-virtual {p1}, Ljava/lang/SecurityException;->printStackTrace()V
return-object p3
.end method
.method public getBatteryLifePercent()I
.registers 2
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/Context;
if-eqz v0, :cond_d
iget v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mBatteryPercentage:I
return v0
:cond_d
const/16 v0, 0xff
return v0
.end method
.method public getDisplayRotation()I
.registers 4
iget-boolean v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mUpdateRotationTrigger:Z
if-nez v0, :cond_c
iget v0, p0, Lio/agora/rtc2/internal/CommonUtility;->lastOrientation:I
const/4 v1, -0x1
if-eq v0, v1, :cond_c
iget v0, p0, Lio/agora/rtc2/internal/CommonUtility;->lastOrientation:I
return v0
:cond_c
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x11
if-lt v0, v1, :cond_18
invoke-direct {p0}, Lio/agora/rtc2/internal/CommonUtility;->getRotationByDM()I
move-result v0
if-gez v0, :cond_1c
:cond_18
invoke-direct {p0}, Lio/agora/rtc2/internal/CommonUtility;->getRotationByWM()I
move-result v0
:cond_1c
iget v1, p0, Lio/agora/rtc2/internal/CommonUtility;->lastOrientation:I
if-eq v1, v0, :cond_36
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "getDisplayRotation: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
const-string v2, "CommonUtility"
invoke-static {v2, v1}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
:cond_36
iput v0, p0, Lio/agora/rtc2/internal/CommonUtility;->lastOrientation:I
return v0
.end method
.method getHandler()Landroid/os/Handler;
.registers 2
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mHandler:Landroid/os/Handler;
return-object v0
.end method
.method public getNativeHandle()J
.registers 3
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mThreadChecker:Lio/agora/base/internal/ThreadUtils$ThreadChecker;
invoke-virtual {v0}, Lio/agora/base/internal/ThreadUtils$ThreadChecker;->checkIsOnValidThread()V
iget-wide v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mNativeHandle:J
return-wide v0
.end method
.method public getNetworkInfo()Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;
.registers 2
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/Context;
if-eqz v0, :cond_f
invoke-direct {p0, v0}, Lio/agora/rtc2/internal/CommonUtility;->getNetworkInfo(Landroid/content/Context;)Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;
move-result-object v0
return-object v0
:cond_f
const/4 v0, 0x0
return-object v0
.end method
.method public getNetworkType()I
.registers 4
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/Context;
const/4 v1, -0x1
if-nez v0, :cond_c
return v1
:cond_c
invoke-static {v0}, Lio/agora/rtc2/internal/CommonUtility;->checkAccessNetworkState(Landroid/content/Context;)Z
move-result v2
if-eqz v2, :cond_17
invoke-static {v0}, Lio/agora/rtc2/internal/Connectivity;->getNetworkType(Landroid/content/Context;)I
move-result v0
return v0
:cond_17
const-string v0, "CommonUtility"
const-string v2, "fail to getNetworkType, permission ACCESS_NETWORK_STATE not granted"
invoke-static {v0, v2}, Lio/agora/rtc2/internal/Logging;->w(Ljava/lang/String;Ljava/lang/String;)V
return v1
.end method
.method getProcessLifecycleOwner()Lio/agora/rtc2/internal/ProcessLifecycleOwner;
.registers 2
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mProcessLifecycleOwner:Lio/agora/rtc2/internal/ProcessLifecycleOwner;
return-object v0
.end method
.method public getRealFilePath(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"context",
"url"
}
.end annotation
const-string v0, ""
if-eqz p1, :cond_2d
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_b
goto :goto_2d
:cond_b
const/4 v1, 0x0
const-string v2, "/assets/"
invoke-virtual {p2, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_19
invoke-static {p1, p2}, Lio/agora/rtc2/internal/CommonUtility;->getAssetsFilePath(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
goto :goto_29
:cond_19
const-string v2, "content://"
invoke-virtual {p2, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_29
invoke-static {p2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object p2
invoke-static {p1, p2}, Lio/agora/rtc2/internal/CommonUtility;->getContentFilePath(Landroid/content/Context;Landroid/net/Uri;)Ljava/lang/String;
move-result-object v1
:cond_29
:goto_29
if-eqz v1, :cond_2c
move-object v0, v1
:cond_2c
return-object v0
:cond_2d
:goto_2d
const-string p1, "getRealFilePath failed for init error"
invoke-static {p1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;)V
return-object v0
.end method
.method public getVpnIfconfigs()Ljava/util/ArrayList;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;"
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
:try_start_5
invoke-static {}, Ljava/net/NetworkInterface;->getNetworkInterfaces()Ljava/util/Enumeration;
move-result-object v1
invoke-static {v1}, Ljava/util/Collections;->list(Ljava/util/Enumeration;)Ljava/util/ArrayList;
move-result-object v1
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_11
:goto_11
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_4d
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/net/NetworkInterface;
invoke-virtual {v2}, Ljava/net/NetworkInterface;->getName()Ljava/lang/String;
move-result-object v2
const-string v3, "tun"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_41
const-string v3, "ppp"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_41
const-string v3, "ipsec"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_41
const-string v3, "tap"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v3
if-eqz v3, :cond_11
:cond_41
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_44
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_44} :catch_45
goto :goto_11
:catch_45
move-exception v1
const-string v2, "CommonUtility"
const-string v3, "Fail to get network interfaces array list. "
invoke-static {v2, v3, v1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_4d
return-object v0
.end method
.method public notifyAddressBound(Ljava/lang/String;)V
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"addr"
}
.end annotation
invoke-direct {p0, p1}, Lio/agora/rtc2/internal/CommonUtility;->nativeNotifyAddressBound(Ljava/lang/String;)V
return-void
.end method
.method onAudioRoutingPhoneChanged(ZII)V
.registers 8
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x10,
0x10,
0x10
}
names = {
"enableAudio",
"event",
"arg"
}
.end annotation
iget-boolean v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisposed:Z
if-nez v0, :cond_3d
iget-wide v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mNativeHandle:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_d
goto :goto_3d
:cond_d
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "onAudioRoutingPhoneChanged() enableAudio:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v1, ", event:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, ", arg: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "CommonUtility"
invoke-static {v1, v0}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
invoke-direct {p0, p1, p2, p3}, Lio/agora/rtc2/internal/CommonUtility;->nativeAudioRoutingPhoneChanged(ZII)V
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mListener:Lio/agora/rtc2/internal/CommonUtility$Listener;
if-eqz v0, :cond_3d
invoke-interface {v0, p1, p2, p3}, Lio/agora/rtc2/internal/CommonUtility$Listener;->onAudioRoutingPhoneChanged(ZII)V
:cond_3d
:goto_3d
return-void
.end method
.method onForegroundChanged(Z)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"foreground"
}
.end annotation
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "onForegroundChanged() "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "CommonUtility"
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
iget-boolean v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisposed:Z
if-eqz v0, :cond_1b
return-void
:cond_1b
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mListener:Lio/agora/rtc2/internal/CommonUtility$Listener;
if-eqz v0, :cond_22
invoke-interface {v0, p1}, Lio/agora/rtc2/internal/CommonUtility$Listener;->onForegroundChanged(Z)V
:cond_22
iget-wide v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mNativeHandle:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-eqz v0, :cond_2d
invoke-direct {p0, p1}, Lio/agora/rtc2/internal/CommonUtility;->nativeNotifyForegroundChanged(Z)V
:cond_2d
return-void
.end method
.method onNetworkChange()V
.registers 5
iget-boolean v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisposed:Z
if-nez v0, :cond_2a
iget-wide v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mNativeHandle:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_d
goto :goto_2a
:cond_d
const-string v0, "CommonUtility"
const-string v1, "onNetworkChange()"
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/content/Context;
invoke-direct {p0, v0}, Lio/agora/rtc2/internal/CommonUtility;->getNetworkInfo(Landroid/content/Context;)Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;
move-result-object v0
invoke-direct {p0, v0}, Lio/agora/rtc2/internal/CommonUtility;->nativeNotifyNetworkChange(Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;)V
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mListener:Lio/agora/rtc2/internal/CommonUtility$Listener;
if-eqz v1, :cond_2a
invoke-interface {v1, v0}, Lio/agora/rtc2/internal/CommonUtility$Listener;->onNetworkChange(Lio/agora/rtc2/internal/CommonUtility$MediaNetworkInfo;)V
:cond_2a
:goto_2a
return-void
.end method
.method onPowerChange(I)V
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"batteryPercentage"
}
.end annotation
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "onPowerChange() "
invoke-virtual {v0, v1}, 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}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "CommonUtility"
invoke-static {v1, v0}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
iput p1, p0, Lio/agora/rtc2/internal/CommonUtility;->mBatteryPercentage:I
return-void
.end method
.method setExtraConnectionActionForTesting(Ljava/lang/String;)V
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"action"
}
.end annotation
iput-object p1, p0, Lio/agora/rtc2/internal/CommonUtility;->mExtraConnectivityFilterActionForTesting:Ljava/lang/String;
return-void
.end method
.method setListener(Lio/agora/rtc2/internal/CommonUtility$Listener;)V
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"listener"
}
.end annotation
iput-object p1, p0, Lio/agora/rtc2/internal/CommonUtility;->mListener:Lio/agora/rtc2/internal/CommonUtility$Listener;
return-void
.end method
.method public setupGravityMonitor()I
.registers 6
const-string v0, "CommonUtility"
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/content/Context;
const/4 v2, -0x1
if-nez v1, :cond_e
return v2
:cond_e
:try_start_e
iget-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationListener:Landroid/view/OrientationEventListener;
if-nez v3, :cond_1a
new-instance v3, Lio/agora/rtc2/internal/CommonUtility$5;
const/4 v4, 0x2
invoke-direct {v3, p0, v1, v4}, Lio/agora/rtc2/internal/CommonUtility$5;-><init>(Lio/agora/rtc2/internal/CommonUtility;Landroid/content/Context;I)V
iput-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationListener:Landroid/view/OrientationEventListener;
:cond_1a
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mOrientationListener:Landroid/view/OrientationEventListener;
invoke-virtual {v1}, Landroid/view/OrientationEventListener;->enable()V
const-string v1, "[setupGravityMonitor] done!"
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->i(Ljava/lang/String;Ljava/lang/String;)V
:try_end_24
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_24} :catch_25
goto :goto_2b
:catch_25
move-exception v1
const-string v3, "Unable to create OrientationEventListener, "
invoke-static {v0, v3, v1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_2b
return v2
.end method
.method startMonitor()V
.registers 6
const-string v0, "CommonUtility"
const-string v1, "startMonitor()"
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->d(Ljava/lang/String;Ljava/lang/String;)V
sget-boolean v1, Lio/agora/rtc2/internal/CommonUtility;->ignoreMonitor:Z
if-eqz v1, :cond_11
const-string v1, "ignoreMonitor in simulator, just for ut"
invoke-static {v0, v1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_11
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->mContext:Ljava/lang/ref/WeakReference;
invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/content/Context;
if-nez v1, :cond_1c
return-void
:cond_1c
:try_start_1c
new-instance v2, Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
iget-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mHandler:Landroid/os/Handler;
invoke-direct {v2, p0, v3}, Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;-><init>(Lio/agora/rtc2/internal/CommonUtility;Landroid/os/Handler;)V
iput-object v2, p0, Lio/agora/rtc2/internal/CommonUtility;->mPhoneStateListener:Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
const-string v2, "phone"
invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/telephony/TelephonyManager;
iget-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mPhoneStateListener:Lio/agora/rtc2/internal/CommonUtility$AgoraPhoneStateListener;
const/16 v4, 0x120
invoke-virtual {v2, v3, v4}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
:try_end_34
.catch Ljava/lang/Exception; {:try_start_1c .. :try_end_34} :catch_35
goto :goto_3b
:catch_35
move-exception v2
const-string v3, "Unable to create PhoneStateListener, "
invoke-static {v0, v3, v2}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_3b
:try_start_3b
new-instance v2, Lio/agora/rtc2/internal/ConnectionChangeBroadcastReceiver;
invoke-direct {v2, p0}, Lio/agora/rtc2/internal/ConnectionChangeBroadcastReceiver;-><init>(Lio/agora/rtc2/internal/CommonUtility;)V
iput-object v2, p0, Lio/agora/rtc2/internal/CommonUtility;->mConnectionBroadcastReceiver:Lio/agora/rtc2/internal/ConnectionChangeBroadcastReceiver;
new-instance v3, Landroid/content/IntentFilter;
const-string v4, "android.net.conn.CONNECTIVITY_CHANGE"
invoke-direct {v3, v4}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v2, v3}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
iget-object v2, p0, Lio/agora/rtc2/internal/CommonUtility;->mExtraConnectivityFilterActionForTesting:Ljava/lang/String;
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_67
iget-object v2, p0, Lio/agora/rtc2/internal/CommonUtility;->mConnectionBroadcastReceiver:Lio/agora/rtc2/internal/ConnectionChangeBroadcastReceiver;
new-instance v3, Landroid/content/IntentFilter;
iget-object v4, p0, Lio/agora/rtc2/internal/CommonUtility;->mExtraConnectivityFilterActionForTesting:Ljava/lang/String;
invoke-direct {v3, v4}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v2, v3}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
:try_end_60
.catch Ljava/lang/Exception; {:try_start_3b .. :try_end_60} :catch_61
goto :goto_67
:catch_61
move-exception v2
const-string v3, "Unable to create ConnectionChangeBroadcastReceiver, "
invoke-static {v0, v3, v2}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_67
:goto_67
:try_start_67
new-instance v2, Lio/agora/rtc2/internal/PowerChangeReceiver;
invoke-direct {v2, p0}, Lio/agora/rtc2/internal/PowerChangeReceiver;-><init>(Lio/agora/rtc2/internal/CommonUtility;)V
iput-object v2, p0, Lio/agora/rtc2/internal/CommonUtility;->mPowerChangeReceiver:Lio/agora/rtc2/internal/PowerChangeReceiver;
new-instance v2, Landroid/content/IntentFilter;
invoke-direct {v2}, Landroid/content/IntentFilter;-><init>()V
const-string v3, "android.intent.action.BATTERY_CHANGED"
invoke-virtual {v2, v3}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
iget-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mPowerChangeReceiver:Lio/agora/rtc2/internal/PowerChangeReceiver;
invoke-virtual {v1, v3, v2}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
:try_end_7d
.catch Ljava/lang/Exception; {:try_start_67 .. :try_end_7d} :catch_7e
goto :goto_84
:catch_7e
move-exception v2
const-string v3, "Unable to create PowerChangeReceiver, "
invoke-static {v0, v3, v2}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_84
:try_start_84
new-instance v2, Lio/agora/rtc2/internal/ProcessLifecycleOwner;
invoke-static {}, Lio/agora/rtc2/internal/CommonUtility;->isAppInForeground()Z
move-result v3
invoke-direct {v2, v3, p0}, Lio/agora/rtc2/internal/ProcessLifecycleOwner;-><init>(ZLio/agora/rtc2/internal/CommonUtility;)V
iput-object v2, p0, Lio/agora/rtc2/internal/CommonUtility;->mProcessLifecycleOwner:Lio/agora/rtc2/internal/ProcessLifecycleOwner;
invoke-virtual {v1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v2
check-cast v2, Landroid/app/Application;
iget-object v3, p0, Lio/agora/rtc2/internal/CommonUtility;->mProcessLifecycleOwner:Lio/agora/rtc2/internal/ProcessLifecycleOwner;
invoke-virtual {v2, v3}, Landroid/app/Application;->registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
:try_end_9a
.catch Ljava/lang/Exception; {:try_start_84 .. :try_end_9a} :catch_9b
goto :goto_a1
:catch_9b
move-exception v2
const-string v3, "Unable to registerActivityLifecycleCallbacks, "
invoke-static {v0, v3, v2}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_a1
const/4 v2, 0x1
:try_start_a2
invoke-direct {p0, v1, v2}, Lio/agora/rtc2/internal/CommonUtility;->monitorOrientationChange(Landroid/content/Context;Z)V
:try_end_a5
.catch Ljava/lang/Exception; {:try_start_a2 .. :try_end_a5} :catch_a6
goto :goto_ac
:catch_a6
move-exception v1
const-string v2, "Unable to monitorOrientationChange, "
invoke-static {v0, v2, v1}, Lio/agora/rtc2/internal/Logging;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_ac
return-void
.end method
.method public updateOrientationManual()V
.registers 5
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mHandler:Landroid/os/Handler;
if-eqz v0, :cond_1d
iget-boolean v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mDisposed:Z
if-nez v0, :cond_1d
iget-wide v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mNativeHandle:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-nez v0, :cond_11
goto :goto_1d
:cond_11
const/4 v0, 0x1
iput-boolean v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mUpdateRotationTrigger:Z
iget-object v0, p0, Lio/agora/rtc2/internal/CommonUtility;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Lio/agora/rtc2/internal/CommonUtility;->rotationRunnable:Ljava/lang/Runnable;
const-wide/16 v2, 0xc8
invoke-virtual {v0, v1, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
:cond_1d
:goto_1d
return-void
.end method