Ten patch patchuje plik \smali\com\google\android\finsky\api\model\Document.smali
Dla wersj 3.5.16
zamienia
.method public isAvailable(Lcom/google/android/finsky/api/model/DfeToc;Lcom/google/android/finsky/library/Library;)Z
.locals 10
.parameter "dfeToc"
.parameter "library"
.prologue
const/4 v9, 0x2
const/4 v5, 0x1
const/4 v4, 0x0
.line 660
if-eqz p1, :cond_1
.line 661
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getBackend()I
move-result v6
invoke-virtual {p1, v6}, Lcom/google/android/finsky/api/model/DfeToc;->getCorpus(I)Lcom/google/android/finsky/remoting/protos/Toc$CorpusMetadata;
move-result-object v0
.line 662
.local v0, corpus:Lcom/google/android/finsky/remoting/protos/Toc$CorpusMetadata;
if-nez v0, :cond_2
.line 663
const-string v6, "Corpus for %s is not available."
new-array v5, v5, [Ljava/lang/Object;
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getDocId()Ljava/lang/String;
move-result-object v7
aput-object v7, v5, v4
invoke-static {v6, v5}, Lcom/google/android/finsky/utils/DfeLog;->d(Ljava/lang/String;[Ljava/lang/Object;)V
move v2, v4
.line 683
.end local v0 #corpus:Lcom/google/android/finsky/remoting/protos/Toc$CorpusMetadata;
:cond_0
:goto_0
return v2
.line 666
:cond_1
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getBackend()I
move-result v6
const/4 v7, 0x3
if-eq v6, v7, :cond_2
move v2, v4
.line 668
goto :goto_0
.line 671
:cond_2
iget-object v6, p0, Lcom/google/android/finsky/api/model/Document;->mDocument:Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;->hasAvailability()Z
move-result v1
.line 672
.local v1, hasAvailability:Z
if-eqz v1, :cond_4
iget-object v6, p0, Lcom/google/android/finsky/api/model/Document;->mDocument:Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;->getAvailability()Lcom/google/android/finsky/remoting/protos/FilterRules$Availability;
move-result-object v6
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/FilterRules$Availability;->getRestriction()I
move-result v3
.line 673
.local v3, restriction:I
:goto_1
if-ne v3, v5, :cond_5
move v2, v5
.line 674
.local v2, isAvailable:Z
:goto_2
if-nez v2, :cond_3
if-eqz v1, :cond_3
iget-object v6, p0, Lcom/google/android/finsky/api/model/Document;->mDocument:Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;->getAvailability()Lcom/google/android/finsky/remoting/protos/FilterRules$Availability;
move-result-object v6
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/FilterRules$Availability;->getAvailableIfOwned()Z
move-result v6
if-eqz v6, :cond_3
invoke-virtual {p0, p2}, Lcom/google/android/finsky/api/model/Document;->ownedByUser(Lcom/google/android/finsky/library/Library;)Z
move-result v6
if-eqz v6, :cond_3
.line 676
const-string v6, "%s available because owned, overriding [restriction=%d]."
new-array v7, v9, [Ljava/lang/Object;
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getDocId()Ljava/lang/String;
move-result-object v8
aput-object v8, v7, v4
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v7, v5
invoke-static {v6, v7}, Lcom/google/android/finsky/utils/DfeLog;->d(Ljava/lang/String;[Ljava/lang/Object;)V
.line 678
const/4 v2, 0x1
.line 680
:cond_3
if-nez v2, :cond_0
.line 681
const-string v6, "%s not available [restriction=%d]."
new-array v7, v9, [Ljava/lang/Object;
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getDocId()Ljava/lang/String;
move-result-object v8
aput-object v8, v7, v4
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v7, v5
invoke-static {v6, v7}, Lcom/google/android/finsky/utils/DfeLog;->d(Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_0
.line 672
.end local v2 #isAvailable:Z
.end local v3 #restriction:I
:cond_4
const/4 v3, -0x1
goto :goto_1
.restart local v3 #restriction:I
:cond_5
move v2, v4
.line 673
goto :goto_2
.end method
na
.method public isAvailable(Lcom/google/android/finsky/api/model/DfeToc;Lcom/google/android/finsky/library/Library;)Z
.locals 10
.parameter "dfeToc"
.parameter "library"
.prologue
const/4 v0, 0x1
return v0
const/4 v9, 0x2
const/4 v5, 0x1
const/4 v4, 0x0
.line 660
if-eqz p1, :cond_1
.line 661
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getBackend()I
move-result v6
invoke-virtual {p1, v6}, Lcom/google/android/finsky/api/model/DfeToc;->getCorpus(I)Lcom/google/android/finsky/remoting/protos/Toc$CorpusMetadata;
move-result-object v0
.line 662
.local v0, corpus:Lcom/google/android/finsky/remoting/protos/Toc$CorpusMetadata;
if-nez v0, :cond_2
.line 663
const-string v6, "Corpus for %s is not available."
new-array v5, v5, [Ljava/lang/Object;
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getDocId()Ljava/lang/String;
move-result-object v7
aput-object v7, v5, v4
invoke-static {v6, v5}, Lcom/google/android/finsky/utils/DfeLog;->d(Ljava/lang/String;[Ljava/lang/Object;)V
move v2, v4
.line 683
.end local v0 #corpus:Lcom/google/android/finsky/remoting/protos/Toc$CorpusMetadata;
:cond_0
:goto_0
return v2
.line 666
:cond_1
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getBackend()I
move-result v6
const/4 v7, 0x3
if-eq v6, v7, :cond_2
move v2, v4
.line 668
goto :goto_0
.line 671
:cond_2
iget-object v6, p0, Lcom/google/android/finsky/api/model/Document;->mDocument:Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;->hasAvailability()Z
move-result v1
.line 672
.local v1, hasAvailability:Z
if-eqz v1, :cond_4
iget-object v6, p0, Lcom/google/android/finsky/api/model/Document;->mDocument:Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;->getAvailability()Lcom/google/android/finsky/remoting/protos/FilterRules$Availability;
move-result-object v6
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/FilterRules$Availability;->getRestriction()I
move-result v3
.line 673
.local v3, restriction:I
:goto_1
if-ne v3, v5, :cond_5
move v2, v5
.line 674
.local v2, isAvailable:Z
:goto_2
if-nez v2, :cond_3
if-eqz v1, :cond_3
iget-object v6, p0, Lcom/google/android/finsky/api/model/Document;->mDocument:Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/DocumentV2$DocV2;->getAvailability()Lcom/google/android/finsky/remoting/protos/FilterRules$Availability;
move-result-object v6
invoke-virtual {v6}, Lcom/google/android/finsky/remoting/protos/FilterRules$Availability;->getAvailableIfOwned()Z
move-result v6
if-eqz v6, :cond_3
invoke-virtual {p0, p2}, Lcom/google/android/finsky/api/model/Document;->ownedByUser(Lcom/google/android/finsky/library/Library;)Z
move-result v6
if-eqz v6, :cond_3
.line 676
const-string v6, "%s available because owned, overriding [restriction=%d]."
new-array v7, v9, [Ljava/lang/Object;
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getDocId()Ljava/lang/String;
move-result-object v8
aput-object v8, v7, v4
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v7, v5
invoke-static {v6, v7}, Lcom/google/android/finsky/utils/DfeLog;->d(Ljava/lang/String;[Ljava/lang/Object;)V
.line 678
const/4 v2, 0x1
.line 680
:cond_3
if-nez v2, :cond_0
.line 681
const-string v6, "%s not available [restriction=%d]."
new-array v7, v9, [Ljava/lang/Object;
invoke-virtual {p0}, Lcom/google/android/finsky/api/model/Document;->getDocId()Ljava/lang/String;
move-result-object v8
aput-object v8, v7, v4
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v7, v5
invoke-static {v6, v7}, Lcom/google/android/finsky/utils/DfeLog;->d(Ljava/lang/String;[Ljava/lang/Object;)V
goto :goto_0
.line 672
.end local v2 #isAvailable:Z
.end local v3 #restriction:I
:cond_4
const/4 v3, -0x1
goto :goto_1
.restart local v3 #restriction:I
:cond_5
move v2, v4
.line 673
goto :goto_2
.end method
czyli de facto dopisuje na poczatku funkcji
const/4 v0, 0x1
return v0