StubProxyManager.smali

.class public Lorg/acdd/android/proxy/StubProxyManager;
.super Ljava/lang/Object;
.source "StubProxyManager.java"


# static fields
.field private static sComponentsHandler:Lorg/acdd/android/proxy/ComponentsHandler;

.field private static sManifests:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map",
            "<",
            "Ljava/lang/String;",
            "Lorg/acdd/android/proxy/BundleManifest;",
            ">;"
        }
    .end annotation
.end field


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 24
    new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;

    invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V

    sput-object v0, Lorg/acdd/android/proxy/StubProxyManager;->sManifests:Ljava/util/Map;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    .prologue
    .line 21
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static declared-synchronized getBundleImpl(Ljava/lang/String;)Lorg/acdd/framework/BundleImpl;
    .registers 3

    .prologue
    .line 90
    const-class v1, Lorg/acdd/android/proxy/StubProxyManager;

    monitor-enter v1

    :try_start_3
    invoke-static {p0}, Lorg/acdd/framework/BundleManager;->getBundle(Ljava/lang/String;)Lorg/osgi/framework/Bundle;

    move-result-object v0

    check-cast v0, Lorg/acdd/framework/BundleImpl;
    :try_end_9
    .catchall {:try_start_3 .. :try_end_9} :catchall_b

    monitor-exit v1

    return-object v0

    :catchall_b
    move-exception v0

    monitor-exit v1

    throw v0
.end method

.method public static declared-synchronized getBundleManifest(Landroid/content/Intent;)Lorg/acdd/android/proxy/BundleManifest;
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 75
    const-class v1, Lorg/acdd/android/proxy/StubProxyManager;

    monitor-enter v1

    if-nez p0, :cond_8

    .line 82
    :cond_6
    :goto_6
    monitor-exit v1

    return-object v0

    .line 78
    :cond_8
    :try_start_8
    invoke-virtual {p0}, Landroid/content/Intent;->getComponent()Landroid/content/ComponentName;

    move-result-object v2

    .line 79
    if-eqz v2, :cond_6

    .line 82
    sget-object v0, Lorg/acdd/android/proxy/StubProxyManager;->sManifests:Ljava/util/Map;

    invoke-virtual {v2}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String;

    move-result-object v2

    invoke-interface {v0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lorg/acdd/android/proxy/BundleManifest;
    :try_end_1a
    .catchall {:try_start_8 .. :try_end_1a} :catchall_1b

    goto :goto_6

    .line 75
    :catchall_1b
    move-exception v0

    monitor-exit v1

    throw v0
.end method

.method public static declared-synchronized getBundleManifests()Ljava/util/List;
    .registers 3
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List",
            "<",
            "Lorg/acdd/android/proxy/BundleManifest;",
            ">;"
        }
    .end annotation

    .prologue
    .line 86
    const-class v1, Lorg/acdd/android/proxy/StubProxyManager;

    monitor-enter v1

    :try_start_3
    new-instance v0, Ljava/util/ArrayList;

    sget-object v2, Lorg/acdd/android/proxy/StubProxyManager;->sManifests:Ljava/util/Map;

    invoke-interface {v2}, Ljava/util/Map;->values()Ljava/util/Collection;

    move-result-object v2

    invoke-direct {v0, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
    :try_end_e
    .catchall {:try_start_3 .. :try_end_e} :catchall_10

    monitor-exit v1

    return-object v0

    :catchall_10
    move-exception v0

    monitor-exit v1

    throw v0
.end method

.method public static getComponentsHandler()Lorg/acdd/android/proxy/ComponentsHandler;
    .registers 2

    .prologue
    .line 27
    sget-object v0, Lorg/acdd/android/proxy/StubProxyManager;->sComponentsHandler:Lorg/acdd/android/proxy/ComponentsHandler;

    if-nez v0, :cond_13

    .line 28
    const-class v1, Lorg/acdd/android/proxy/StubProxyManager;

    monitor-enter v1

    .line 29
    :try_start_7
    sget-object v0, Lorg/acdd/android/proxy/StubProxyManager;->sComponentsHandler:Lorg/acdd/android/proxy/ComponentsHandler;

    if-nez v0, :cond_12

    .line 30
    new-instance v0, Lorg/acdd/android/proxy/ComponentsHandler;

    invoke-direct {v0}, Lorg/acdd/android/proxy/ComponentsHandler;-><init>()V

    sput-object v0, Lorg/acdd/android/proxy/StubProxyManager;->sComponentsHandler:Lorg/acdd/android/proxy/ComponentsHandler;

    .line 32
    :cond_12
    monitor-exit v1
    :try_end_13
    .catchall {:try_start_7 .. :try_end_13} :catchall_16

    .line 34
    :cond_13
    sget-object v0, Lorg/acdd/android/proxy/StubProxyManager;->sComponentsHandler:Lorg/acdd/android/proxy/ComponentsHandler;

    return-object v0

    .line 32
    :catchall_16
    move-exception v0

    :try_start_17
    monitor-exit v1
    :try_end_18
    .catchall {:try_start_17 .. :try_end_18} :catchall_16

    throw v0
.end method

.method public static declared-synchronized isBundleManifestCached(Ljava/lang/String;)Z
    .registers 4

    .prologue
    .line 58
    const-class v1, Lorg/acdd/android/proxy/StubProxyManager;

    monitor-enter v1

    const/4 v0, 0x0

    .line 59
    :try_start_4
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    if-nez v2, :cond_10

    .line 60
    sget-object v0, Lorg/acdd/android/proxy/StubProxyManager;->sManifests:Ljava/util/Map;

    invoke-interface {v0, p0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
    :try_end_f
    .catchall {:try_start_4 .. :try_end_f} :catchall_12

    move-result v0

    .line 62
    :cond_10
    monitor-exit v1

    return v0

    .line 58
    :catchall_12
    move-exception v0

    monitor-exit v1

    throw v0
.end method

.method public static declared-synchronized putBundleManifest(Ljava/lang/String;Lorg/acdd/android/proxy/BundleManifest;)V
    .registers 4

    .prologue
    .line 66
    const-class v1, Lorg/acdd/android/proxy/StubProxyManager;

    monitor-enter v1

    :try_start_3
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    :try_end_6
    .catchall {:try_start_3 .. :try_end_6} :catchall_1b

    move-result v0

    if-nez v0, :cond_b

    if-nez p1, :cond_d

    .line 72
    :cond_b
    :goto_b
    monitor-exit v1

    return-void

    .line 69
    :cond_d
    :try_start_d
    sget-object v0, Lorg/acdd/android/proxy/StubProxyManager;->sManifests:Ljava/util/Map;

    invoke-interface {v0, p0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_b

    .line 70
    sget-object v0, Lorg/acdd/android/proxy/StubProxyManager;->sManifests:Ljava/util/Map;

    invoke-interface {v0, p0, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    :try_end_1a
    .catchall {:try_start_d .. :try_end_1a} :catchall_1b

    goto :goto_b

    .line 66
    :catchall_1b
    move-exception v0

    monitor-exit v1

    throw v0
.end method

.method public static resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;
    .registers 4

    .prologue
    .line 48
    invoke-static {}, Lorg/acdd/android/proxy/StubProxyManager;->getBundleManifests()Ljava/util/List;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :cond_8
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_1b

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lorg/acdd/android/proxy/BundleManifest;

    .line 49
    invoke-virtual {v0, p0, p1}, Lorg/acdd/android/proxy/BundleManifest;->resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;

    move-result-object v0

    .line 50
    if-eqz v0, :cond_8

    .line 54
    :goto_1a
    return-object v0

    :cond_1b
    const/4 v0, 0x0

    goto :goto_1a
.end method

.method public static resolveService(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
    .registers 4

    .prologue
    .line 38
    invoke-static {}, Lorg/acdd/android/proxy/StubProxyManager;->getBundleManifests()Ljava/util/List;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v1

    :cond_8
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_1b

    invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lorg/acdd/android/proxy/BundleManifest;

    .line 39
    invoke-virtual {v0, p0, p1}, Lorg/acdd/android/proxy/BundleManifest;->resolveService(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;

    move-result-object v0

    .line 40
    if-eqz v0, :cond_8

    .line 44
    :goto_1a
    return-object v0

    :cond_1b
    const/4 v0, 0x0

    goto :goto_1a
.end method