SandboxDataProvider.smali
.class public Lcom/sandboxol/center/provider/SandboxDataProvider;
.super Landroid/content/ContentProvider;
.source "SandboxDataProvider.java"
# instance fields
.field private dataMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/sandboxol/center/provider/data/IBaseDataRepository;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.registers 2
.line 1
invoke-direct {p0}, Landroid/content/ContentProvider;-><init>()V
.line 2
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
iput-object v0, p0, Lcom/sandboxol/center/provider/SandboxDataProvider;->dataMap:Ljava/util/Map;
return-void
.end method
.method private getData(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 5
.line 1
iget-object v0, p0, Lcom/sandboxol/center/provider/SandboxDataProvider;->dataMap:Ljava/util/Map;
invoke-interface {v0, p2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
check-cast p2, Lcom/sandboxol/center/provider/data/IBaseDataRepository;
if-eqz p2, :cond_f
.line 2
invoke-interface {p2, p1}, Lcom/sandboxol/center/provider/data/IBaseDataRepository;->getData(Landroid/content/Context;)Ljava/lang/String;
move-result-object p1
return-object p1
:cond_f
return-object p3
.end method
.method private getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 4
.line 1
invoke-static {}, Lcom/sandboxol/common/base/app/BaseApplication;->getContext()Landroid/content/Context;
move-result-object v0
invoke-direct {p0, v0, p1, p2}, Lcom/sandboxol/center/provider/SandboxDataProvider;->getData(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method private registerData(Lcom/sandboxol/center/provider/data/IBaseDataRepository;)V
.registers 4
.line 1
iget-object v0, p0, Lcom/sandboxol/center/provider/SandboxDataProvider;->dataMap:Ljava/util/Map;
invoke-interface {p1}, Lcom/sandboxol/center/provider/data/IBaseDataRepository;->getDataKey()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
# virtual methods
.method protected createCursor([Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
.registers 5
.line 1
new-instance v0, Landroid/database/MatrixCursor;
const/4 v1, 0x1
invoke-direct {v0, p1, v1}, Landroid/database/MatrixCursor;-><init>([Ljava/lang/String;I)V
.line 2
invoke-virtual {v0, p2}, Landroid/database/MatrixCursor;->addRow([Ljava/lang/Object;)V
return-object v0
.end method
.method public delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
.registers 4
const/4 p1, 0x0
return p1
.end method
.method public getType(Landroid/net/Uri;)Ljava/lang/String;
.registers 2
const-string p1, "content"
return-object p1
.end method
.method public insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
.registers 3
const/4 p1, 0x0
return-object p1
.end method
.method public onCreate()Z
.registers 2
.line 1
new-instance v0, Lcom/sandboxol/center/provider/data/UserDataRepository;
invoke-direct {v0}, Lcom/sandboxol/center/provider/data/UserDataRepository;-><init>()V
invoke-direct {p0, v0}, Lcom/sandboxol/center/provider/SandboxDataProvider;->registerData(Lcom/sandboxol/center/provider/data/IBaseDataRepository;)V
.line 2
new-instance v0, Lcom/sandboxol/center/provider/data/DeviceDataRepository;
invoke-direct {v0}, Lcom/sandboxol/center/provider/data/DeviceDataRepository;-><init>()V
invoke-direct {p0, v0}, Lcom/sandboxol/center/provider/SandboxDataProvider;->registerData(Lcom/sandboxol/center/provider/data/IBaseDataRepository;)V
const/4 v0, 0x1
return v0
.end method
.method public query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
.registers 7
const/4 p1, 0x0
if-nez p2, :cond_5
const/4 p3, 0x0
goto :goto_6
.line 1
:cond_5
array-length p3, p2
:goto_6
if-lez p3, :cond_1e
.line 2
new-array p4, p3, [Ljava/lang/String;
:goto_a
if-ge p1, p3, :cond_19
.line 3
aget-object p5, p2, p1
const-string v0, ""
invoke-direct {p0, p5, v0}, Lcom/sandboxol/center/provider/SandboxDataProvider;->getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p5
aput-object p5, p4, p1
add-int/lit8 p1, p1, 0x1
goto :goto_a
.line 4
:cond_19
invoke-virtual {p0, p2, p4}, Lcom/sandboxol/center/provider/SandboxDataProvider;->createCursor([Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
move-result-object p1
return-object p1
:cond_1e
const/4 p1, 0x0
return-object p1
.end method
.method public update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
.registers 5
const/4 p1, 0x0
return p1
.end method