83 lines
1.5 KiB
Smali
83 lines
1.5 KiB
Smali
.class public Lcom/rd/e/IdUtils;
|
|
.super Ljava/lang/Object;
|
|
.source "IdUtils.java"
|
|
|
|
|
|
# static fields
|
|
.field private static final a:Ljava/util/concurrent/atomic/AtomicInteger;
|
|
|
|
|
|
# direct methods
|
|
.method static constructor <clinit>()V
|
|
.locals 2
|
|
|
|
.line 1
|
|
new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;
|
|
|
|
const/4 v1, 0x1
|
|
|
|
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>(I)V
|
|
|
|
sput-object v0, Lcom/rd/e/IdUtils;->a:Ljava/util/concurrent/atomic/AtomicInteger;
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method private static a()I
|
|
.locals 3
|
|
|
|
.line 1
|
|
:cond_0
|
|
sget-object v0, Lcom/rd/e/IdUtils;->a:Ljava/util/concurrent/atomic/AtomicInteger;
|
|
|
|
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->get()I
|
|
|
|
move-result v0
|
|
|
|
add-int/lit8 v1, v0, 0x1
|
|
|
|
const v2, 0xffffff
|
|
|
|
if-le v1, v2, :cond_1
|
|
|
|
const/4 v1, 0x1
|
|
|
|
.line 2
|
|
:cond_1
|
|
sget-object v2, Lcom/rd/e/IdUtils;->a:Ljava/util/concurrent/atomic/AtomicInteger;
|
|
|
|
invoke-virtual {v2, v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;->compareAndSet(II)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_0
|
|
|
|
return v0
|
|
.end method
|
|
|
|
.method public static b()I
|
|
.locals 2
|
|
|
|
.line 1
|
|
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
|
|
|
|
const/16 v1, 0x11
|
|
|
|
if-ge v0, v1, :cond_0
|
|
|
|
.line 2
|
|
invoke-static {}, Lcom/rd/e/IdUtils;->a()I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
|
|
.line 3
|
|
:cond_0
|
|
invoke-static {}, Landroid/view/View;->generateViewId()I
|
|
|
|
move-result v0
|
|
|
|
return v0
|
|
.end method
|