437 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Smali
		
	
	
	
	
	
			
		
		
	
	
			437 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Smali
		
	
	
	
	
	
| .class public Lr7/a;
 | |
| .super Ljava/lang/Object;
 | |
| .source "ShuttleProfiler.java"
 | |
| 
 | |
| 
 | |
| # static fields
 | |
| .field public static final A:Ljava/lang/String; = "app_build_number"
 | |
| 
 | |
| .field public static final B:Ljava/lang/String; = "UNKNOWN"
 | |
| 
 | |
| .field public static final C:Ljava/lang/String; = "Android"
 | |
| 
 | |
| .field public static final D:Ljava/lang/String; = "android"
 | |
| 
 | |
| .field public static final E:Ljava/lang/String; = "WIFI"
 | |
| 
 | |
| .field public static final F:Ljava/lang/String; = "NOT WIFI"
 | |
| 
 | |
| .field public static final G:Ljava/lang/String; = ""
 | |
| 
 | |
| .field public static final a:Ljava/lang/String; = "sentinel_meta"
 | |
| 
 | |
| .field public static final b:Ljava/lang/String; = "_$body"
 | |
| 
 | |
| .field public static final c:Ljava/lang/String; = "properties"
 | |
| 
 | |
| .field public static final d:Ljava/lang/String; = "_$encryptionFields"
 | |
| 
 | |
| .field public static final e:Ljava/lang/String; = "_$fieldOrder"
 | |
| 
 | |
| .field public static final f:Ljava/lang/String; = "_$schemaId"
 | |
| 
 | |
| .field public static final g:Ljava/lang/String; = "_$projectId"
 | |
| 
 | |
| .field public static final h:Ljava/lang/String; = "token"
 | |
| 
 | |
| .field public static final i:Ljava/lang/String; = "base_time"
 | |
| 
 | |
| .field public static final j:Ljava/lang/String; = "local_time"
 | |
| 
 | |
| .field public static final k:Ljava/lang/String; = "rake_lib"
 | |
| 
 | |
| .field public static final l:Ljava/lang/String; = "rake_lib_version"
 | |
| 
 | |
| .field public static final m:Ljava/lang/String; = "os_name"
 | |
| 
 | |
| .field public static final n:Ljava/lang/String; = "os_version"
 | |
| 
 | |
| .field public static final o:Ljava/lang/String; = "manufacturer"
 | |
| 
 | |
| .field public static final p:Ljava/lang/String; = "device_model"
 | |
| 
 | |
| .field public static final q:Ljava/lang/String; = "device_id"
 | |
| 
 | |
| .field public static final r:Ljava/lang/String; = "screen_height"
 | |
| 
 | |
| .field public static final s:Ljava/lang/String; = "screen_width"
 | |
| 
 | |
| .field public static final t:Ljava/lang/String; = "resolution"
 | |
| 
 | |
| .field public static final u:Ljava/lang/String; = "carrier_name"
 | |
| 
 | |
| .field public static final v:Ljava/lang/String; = "network_type"
 | |
| 
 | |
| .field public static final w:Ljava/lang/String; = "language_code"
 | |
| 
 | |
| .field public static final x:Ljava/lang/String; = "log_version"
 | |
| 
 | |
| .field public static final y:Ljava/lang/String; = "app_version"
 | |
| 
 | |
| .field public static final z:Ljava/lang/String; = "app_release"
 | |
| 
 | |
| 
 | |
| # direct methods
 | |
| .method public constructor <init>()V
 | |
|     .locals 0
 | |
| 
 | |
|     .line 1
 | |
|     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
 | |
| 
 | |
|     return-void
 | |
| .end method
 | |
| 
 | |
| .method public static a(Lorg/json/JSONObject;Lorg/json/JSONObject;Lorg/json/JSONObject;)Lorg/json/JSONObject;
 | |
|     .locals 3
 | |
| 
 | |
|     const/4 v0, 0x0
 | |
| 
 | |
|     if-eqz p0, :cond_2
 | |
| 
 | |
|     if-nez p2, :cond_0
 | |
| 
 | |
|     goto :goto_1
 | |
| 
 | |
|     .line 1
 | |
|     :cond_0
 | |
|     :try_start_0
 | |
|     invoke-static {p0}, Lr7/a;->b(Lorg/json/JSONObject;)Lorg/json/JSONObject;
 | |
| 
 | |
|     move-result-object v1
 | |
| 
 | |
|     const-string v2, "_$fieldOrder"
 | |
| 
 | |
|     .line 2
 | |
|     invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
 | |
| 
 | |
|     move-result-object v2
 | |
| 
 | |
|     .line 3
 | |
|     invoke-static {v2, p0, p1, p2}, Lr7/a;->d(Lorg/json/JSONObject;Lorg/json/JSONObject;Lorg/json/JSONObject;Lorg/json/JSONObject;)Lorg/json/JSONObject;
 | |
| 
 | |
|     move-result-object p0
 | |
| 
 | |
|     if-eqz p0, :cond_1
 | |
| 
 | |
|     const-string p1, "properties"
 | |
| 
 | |
|     .line 4
 | |
|     invoke-virtual {v1, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
 | |
|     :try_end_0
 | |
|     .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
 | |
| 
 | |
|     move-object v0, v1
 | |
| 
 | |
|     goto :goto_0
 | |
| 
 | |
|     :catch_0
 | |
|     move-exception p0
 | |
| 
 | |
|     const-string p1, "Failed to make valid shuttle"
 | |
| 
 | |
|     .line 5
 | |
|     invoke-static {p1, p0}, Ls7/b;->h(Ljava/lang/String;Ljava/lang/Throwable;)I
 | |
| 
 | |
|     :cond_1
 | |
|     :goto_0
 | |
|     return-object v0
 | |
| 
 | |
|     :cond_2
 | |
|     :goto_1
 | |
|     const-string p0, "Can\'t create valid shuttle using null userProps, defaultProps"
 | |
| 
 | |
|     .line 6
 | |
|     invoke-static {p0}, Ls7/b;->e(Ljava/lang/String;)I
 | |
| 
 | |
|     return-object v0
 | |
| .end method
 | |
| 
 | |
| .method public static b(Lorg/json/JSONObject;)Lorg/json/JSONObject;
 | |
|     .locals 6
 | |
|     .annotation system Ldalvik/annotation/Throws;
 | |
|         value = {
 | |
|             Lorg/json/JSONException;,
 | |
|             Ljava/lang/NullPointerException;
 | |
|         }
 | |
|     .end annotation
 | |
| 
 | |
|     .line 1
 | |
|     invoke-static {p0}, Lr7/a;->c(Lorg/json/JSONObject;)Z
 | |
| 
 | |
|     move-result v0
 | |
| 
 | |
|     if-nez v0, :cond_0
 | |
| 
 | |
|     const-string p0, "Passed JSONObject is not created by Shuttle.toJSONObject"
 | |
| 
 | |
|     .line 2
 | |
|     invoke-static {p0}, Ls7/b;->e(Ljava/lang/String;)I
 | |
| 
 | |
|     const/4 p0, 0x0
 | |
| 
 | |
|     return-object p0
 | |
| 
 | |
|     .line 3
 | |
|     :cond_0
 | |
|     new-instance v0, Lorg/json/JSONObject;
 | |
| 
 | |
|     invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
 | |
| 
 | |
|     const-string v1, "sentinel_meta"
 | |
| 
 | |
|     .line 4
 | |
|     invoke-virtual {p0, v1}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
 | |
| 
 | |
|     move-result-object v2
 | |
| 
 | |
|     .line 5
 | |
|     invoke-virtual {v2}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator;
 | |
| 
 | |
|     move-result-object v3
 | |
| 
 | |
|     :goto_0
 | |
|     invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
 | |
| 
 | |
|     move-result v4
 | |
| 
 | |
|     if-eqz v4, :cond_1
 | |
| 
 | |
|     .line 6
 | |
|     invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
 | |
| 
 | |
|     move-result-object v4
 | |
| 
 | |
|     check-cast v4, Ljava/lang/String;
 | |
| 
 | |
|     .line 7
 | |
|     invoke-virtual {v2, v4}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     move-result-object v5
 | |
| 
 | |
|     invoke-virtual {v0, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
 | |
| 
 | |
|     goto :goto_0
 | |
| 
 | |
|     .line 8
 | |
|     :cond_1
 | |
|     invoke-virtual {p0, v1}, Lorg/json/JSONObject;->remove(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     return-object v0
 | |
| .end method
 | |
| 
 | |
| .method public static c(Lorg/json/JSONObject;)Z
 | |
|     .locals 3
 | |
| 
 | |
|     const/4 v0, 0x0
 | |
| 
 | |
|     if-nez p0, :cond_0
 | |
| 
 | |
|     return v0
 | |
| 
 | |
|     :cond_0
 | |
|     const/4 v1, 0x1
 | |
| 
 | |
|     :try_start_0
 | |
|     const-string v2, "_$body"
 | |
| 
 | |
|     .line 1
 | |
|     invoke-virtual {p0, v2}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     const-string v2, "sentinel_meta"
 | |
| 
 | |
|     .line 2
 | |
|     invoke-virtual {p0, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
 | |
| 
 | |
|     move-result-object p0
 | |
| 
 | |
|     const-string v2, "_$encryptionFields"
 | |
| 
 | |
|     .line 3
 | |
|     invoke-virtual {p0, v2}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     const-string v2, "_$projectId"
 | |
| 
 | |
|     .line 4
 | |
|     invoke-virtual {p0, v2}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     const-string v2, "_$schemaId"
 | |
| 
 | |
|     .line 5
 | |
|     invoke-virtual {p0, v2}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     const-string v2, "_$fieldOrder"
 | |
| 
 | |
|     .line 6
 | |
|     invoke-virtual {p0, v2}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
|     :try_end_0
 | |
|     .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
 | |
| 
 | |
|     move v0, v1
 | |
| 
 | |
|     :catch_0
 | |
|     return v0
 | |
| .end method
 | |
| 
 | |
| .method public static d(Lorg/json/JSONObject;Lorg/json/JSONObject;Lorg/json/JSONObject;Lorg/json/JSONObject;)Lorg/json/JSONObject;
 | |
|     .locals 5
 | |
|     .annotation system Ldalvik/annotation/Throws;
 | |
|         value = {
 | |
|             Lorg/json/JSONException;,
 | |
|             Ljava/lang/NullPointerException;
 | |
|         }
 | |
|     .end annotation
 | |
| 
 | |
|     .line 1
 | |
|     new-instance v0, Lorg/json/JSONObject;
 | |
| 
 | |
|     invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
 | |
| 
 | |
|     if-eqz p2, :cond_1
 | |
| 
 | |
|     .line 2
 | |
|     invoke-virtual {p2}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator;
 | |
| 
 | |
|     move-result-object v1
 | |
| 
 | |
|     :cond_0
 | |
|     :goto_0
 | |
|     invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
 | |
| 
 | |
|     move-result v2
 | |
| 
 | |
|     if-eqz v2, :cond_1
 | |
| 
 | |
|     .line 3
 | |
|     invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
 | |
| 
 | |
|     move-result-object v2
 | |
| 
 | |
|     check-cast v2, Ljava/lang/String;
 | |
| 
 | |
|     .line 4
 | |
|     invoke-virtual {p2, v2}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     move-result-object v3
 | |
| 
 | |
|     .line 5
 | |
|     invoke-virtual {p0, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
 | |
| 
 | |
|     move-result v4
 | |
| 
 | |
|     if-eqz v4, :cond_0
 | |
| 
 | |
|     .line 6
 | |
|     invoke-virtual {v0, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
 | |
| 
 | |
|     goto :goto_0
 | |
| 
 | |
|     .line 7
 | |
|     :cond_1
 | |
|     invoke-virtual {p1}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator;
 | |
| 
 | |
|     move-result-object p2
 | |
| 
 | |
|     :cond_2
 | |
|     :goto_1
 | |
|     invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
 | |
| 
 | |
|     move-result v1
 | |
| 
 | |
|     if-eqz v1, :cond_5
 | |
| 
 | |
|     .line 8
 | |
|     invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
 | |
| 
 | |
|     move-result-object v1
 | |
| 
 | |
|     check-cast v1, Ljava/lang/String;
 | |
| 
 | |
|     .line 9
 | |
|     invoke-virtual {p1, v1}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     move-result-object v2
 | |
| 
 | |
|     if-nez v2, :cond_3
 | |
| 
 | |
|     goto :goto_1
 | |
| 
 | |
|     .line 10
 | |
|     :cond_3
 | |
|     invoke-virtual {p0, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
 | |
| 
 | |
|     move-result v3
 | |
| 
 | |
|     if-eqz v3, :cond_2
 | |
| 
 | |
|     .line 11
 | |
|     invoke-virtual {v0, v1}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
 | |
| 
 | |
|     move-result v3
 | |
| 
 | |
|     if-eqz v3, :cond_4
 | |
| 
 | |
|     invoke-virtual {v0, v1}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     move-result-object v3
 | |
| 
 | |
|     if-eqz v3, :cond_4
 | |
| 
 | |
|     invoke-virtual {v2}, Ljava/lang/Object;->toString()Ljava/lang/String;
 | |
| 
 | |
|     move-result-object v3
 | |
| 
 | |
|     const-string v4, ""
 | |
| 
 | |
|     invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
 | |
| 
 | |
|     move-result v3
 | |
| 
 | |
|     if-nez v3, :cond_2
 | |
| 
 | |
|     .line 12
 | |
|     :cond_4
 | |
|     invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
 | |
| 
 | |
|     goto :goto_1
 | |
| 
 | |
|     .line 13
 | |
|     :cond_5
 | |
|     invoke-virtual {p3}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator;
 | |
| 
 | |
|     move-result-object p1
 | |
| 
 | |
|     :cond_6
 | |
|     :goto_2
 | |
|     invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
 | |
| 
 | |
|     move-result p2
 | |
| 
 | |
|     if-eqz p2, :cond_7
 | |
| 
 | |
|     .line 14
 | |
|     invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
 | |
| 
 | |
|     move-result-object p2
 | |
| 
 | |
|     check-cast p2, Ljava/lang/String;
 | |
| 
 | |
|     .line 15
 | |
|     invoke-virtual {p0, p2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z
 | |
| 
 | |
|     move-result v1
 | |
| 
 | |
|     if-eqz v1, :cond_6
 | |
| 
 | |
|     .line 16
 | |
|     invoke-virtual {p3, p2}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 | |
| 
 | |
|     move-result-object v1
 | |
| 
 | |
|     invoke-virtual {v0, p2, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
 | |
| 
 | |
|     goto :goto_2
 | |
| 
 | |
|     :cond_7
 | |
|     return-object v0
 | |
| .end method
 |