Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .method public declared-synchronized checkAccess(Lcom/android/vending/licensing/LicenseCheckerCallback;)V
- .registers 11
- .parameter "callback"
- .prologue
- .line 133
- monitor-enter p0
- :try_start_1
- iget-object v1, p0, Lcom/android/vending/licensing/LicenseChecker;->mPolicy:Lcom/android/vending/licensing/Policy;
- invoke-interface {v1}, Lcom/android/vending/licensing/Policy;->allowAccess()Z
- move-result v1
- if-eqz v1, :cond_15
- .line 134
- const-string v1, "LicenseChecker"
- const-string v2, "Using cached license response"
- invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
- .line 135
- invoke-interface {p1}, Lcom/android/vending/licensing/LicenseCheckerCallback;->allow()V
- :try_end_13
- .catchall {:try_start_1 .. :try_end_13} :catchall_57
- .line 162
- :goto_13
- monitor-exit p0
- return-void
- .line 137
- :cond_15
- :try_start_15
- new-instance v0, Lcom/android/vending/licensing/LicenseValidator;
- iget-object v1, p0, Lcom/android/vending/licensing/LicenseChecker;->mPolicy:Lcom/android/vending/licensing/Policy;
- new-instance v2, Lcom/android/vending/licensing/NullDeviceLimiter;
- invoke-direct {v2}, Lcom/android/vending/licensing/NullDeviceLimiter;-><init>()V
- invoke-direct {p0}, Lcom/android/vending/licensing/LicenseChecker;->generateNonce()I
- move-result v4
- iget-object v5, p0, Lcom/android/vending/licensing/LicenseChecker;->mPackageName:Ljava/lang/String;
- iget-object v6, p0, Lcom/android/vending/licensing/LicenseChecker;->mVersionCode:Ljava/lang/String;
- move-object v3, p1
- invoke-direct/range {v0 .. v6}, Lcom/android/vending/licensing/LicenseValidator;-><init>(Lcom/android/vending/licensing/Policy;Lcom/android/vending/licensing/DeviceLimiter;Lcom/android/vending/licensing/LicenseCheckerCallback;ILjava/lang/String;Ljava/lang/String;)V
- .line 140
- .local v0, validator:Lcom/android/vending/licensing/LicenseValidator;
- iget-object v1, p0, Lcom/android/vending/licensing/LicenseChecker;->mService:Lcom/android/vending/licensing/ILicensingService;
- if-nez v1, :cond_65
- .line 141
- const-string v1, "LicenseChecker"
- const-string v2, "Binding to licensing service."
- invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
- :try_end_35
- .catchall {:try_start_15 .. :try_end_35} :catchall_57
- .line 143
- :try_start_35
- iget-object v1, p0, Lcom/android/vending/licensing/LicenseChecker;->mContext:Landroid/content/Context;
- new-instance v2, Landroid/content/Intent;
- const-class v3, Lcom/android/vending/licensing/ILicensingService;
- invoke-virtual {v3}, Ljava/lang/Class;->getName()Ljava/lang/String;
- move-result-object v3
- invoke-direct {v2, v3}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
- const/4 v3, 0x1
- invoke-virtual {v1, v2, p0, v3}, Landroid/content/Context;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
- move-result v7
- .line 148
- .local v7, bindResult:Z
- if-eqz v7, :cond_5a
- .line 149
- iget-object v1, p0, Lcom/android/vending/licensing/LicenseChecker;->mPendingChecks:Ljava/util/Queue;
- invoke-interface {v1, v0}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
- :try_end_4e
- .catchall {:try_start_35 .. :try_end_4e} :catchall_57
- .catch Ljava/lang/SecurityException; {:try_start_35 .. :try_end_4e} :catch_4f
- goto :goto_13
- .line 154
- .end local v7 #bindResult:Z
- :catch_4f
- move-exception v1
- move-object v8, v1
- .line 155
- .local v8, e:Ljava/lang/SecurityException;
- :try_start_51
- sget-object v1, Lcom/android/vending/licensing/LicenseCheckerCallback$ApplicationErrorCode;->MISSING_PERMISSION:Lcom/android/vending/licensing/LicenseCheckerCallback$ApplicationErrorCode;
- invoke-interface {p1, v1}, Lcom/android/vending/licensing/LicenseCheckerCallback;->applicationError(Lcom/android/vending/licensing/LicenseCheckerCallback$ApplicationErrorCode;)V
- :try_end_56
- .catchall {:try_start_51 .. :try_end_56} :catchall_57
- goto :goto_13
- .line 133
- .end local v0 #validator:Lcom/android/vending/licensing/LicenseValidator;
- .end local v8 #e:Ljava/lang/SecurityException;
- :catchall_57
- move-exception v1
- monitor-exit p0
- throw v1
- .line 151
- .restart local v0 #validator:Lcom/android/vending/licensing/LicenseValidator;
- .restart local v7 #bindResult:Z
- :cond_5a
- :try_start_5a
- const-string v1, "LicenseChecker"
- const-string v2, "Could not bind to service."
- invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
- .line 152
- invoke-direct {p0, v0}, Lcom/android/vending/licensing/LicenseChecker;->handleServiceConnectionError(Lcom/android/vending/licensing/LicenseValidator;)V
- :try_end_64
- .catchall {:try_start_5a .. :try_end_64} :catchall_57
- .catch Ljava/lang/SecurityException; {:try_start_5a .. :try_end_64} :catch_4f
- goto :goto_13
- .line 158
- .end local v7 #bindResult:Z
- :cond_65
- :try_start_65
- iget-object v1, p0, Lcom/android/vending/licensing/LicenseChecker;->mPendingChecks:Ljava/util/Queue;
- invoke-interface {v1, v0}, Ljava/util/Queue;->offer(Ljava/lang/Object;)Z
- .line 159
- invoke-direct {p0}, Lcom/android/vending/licensing/LicenseChecker;->runChecks()V
- :try_end_6d
- .catchall {:try_start_65 .. :try_end_6d} :catchall_57
- goto :goto_13
- .end method
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement