Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .method private isRoamingBetweenOperators(ZLandroid/telephony/ServiceState;)Z
- .registers 22
- .parameter "gsmRoaming"
- .parameter "s"
- .prologue
- .line 1986
- const-string v16, "gsm.sim.operator.alpha"
- const-string v17, "empty"
- invoke-static/range {v16 .. v17}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
- move-result-object v15
- .line 1988
- .local v15, spn:Ljava/lang/String;
- invoke-virtual/range {p2 .. p2}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
- move-result-object v11
- .line 1989
- .local v11, onsl:Ljava/lang/String;
- invoke-virtual/range {p2 .. p2}, Landroid/telephony/ServiceState;->getOperatorAlphaShort()Ljava/lang/String;
- move-result-object v12
- .line 1991
- .local v12, onss:Ljava/lang/String;
- if-eqz v11, :cond_8b
- invoke-virtual {v15, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
- move-result v16
- if-eqz v16, :cond_8b
- const/16 v16, 0x1
- move/from16 v5, v16
- .line 1992
- .local v5, equalsOnsl:Z
- :goto_1c
- if-eqz v12, :cond_90
- invoke-virtual {v15, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
- move-result v16
- if-eqz v16, :cond_90
- const/16 v16, 0x1
- move/from16 v6, v16
- .line 1994
- .local v6, equalsOnss:Z
- :goto_28
- const-string v16, "gsm.sim.operator.numeric"
- const-string v17, ""
- invoke-static/range {v16 .. v17}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
- move-result-object v14
- .line 1996
- .local v14, simNumeric:Ljava/lang/String;
- invoke-virtual/range {p2 .. p2}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
- move-result-object v13
- .line 1998
- .local v13, operatorNumeric:Ljava/lang/String;
- const/4 v4, 0x1
- .line 2000
- .local v4, equalsMcc:Z
- const/16 v16, 0x0
- const/16 v17, 0x3
- :try_start_39
- move-object v0, v14
- move/from16 v1, v16
- move/from16 v2, v17
- invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
- move-result-object v16
- const/16 v17, 0x0
- const/16 v18, 0x3
- move-object v0, v13
- move/from16 v1, v17
- move/from16 v2, v18
- invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
- move-result-object v17
- invoke-virtual/range {v16 .. v17}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
- :try_end_52
- .catch Ljava/lang/Exception; {:try_start_39 .. :try_end_52} :catch_a6
- move-result v4
- .line 2006
- :goto_53
- move-object/from16 v0, p0
- iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
- move-object/from16 v16, v0
- move-object/from16 v0, v16
- iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
- move-object/from16 v16, v0
- invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/gsm/SIMRecords;->getFakeHomeOn()[Ljava/lang/String;
- move-result-object v7
- .line 2007
- .local v7, fho:[Ljava/lang/String;
- if-eqz v7, :cond_98
- .line 2008
- move-object v3, v7
- .local v3, arr$:[Ljava/lang/String;
- array-length v10, v3
- .local v10, len$:I
- const/4 v9, 0x0
- .local v9, i$:I
- :goto_68
- if-ge v9, v10, :cond_98
- aget-object v8, v3, v9
- .line 2009
- .local v8, h:Ljava/lang/String;
- invoke-virtual {v8, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
- move-result v16
- if-nez v16, :cond_88
- const/16 v16, 0x0
- const/16 v17, 0x3
- move-object v0, v13
- move/from16 v1, v16
- move/from16 v2, v17
- invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
- move-result-object v16
- move-object v0, v8
- move-object/from16 v1, v16
- invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
- move-result v16
- if-eqz v16, :cond_95
- .line 2010
- :cond_88
- const/16 v16, 0x0
- .line 2016
- .end local v3 #arr$:[Ljava/lang/String;
- .end local v8 #h:Ljava/lang/String;
- .end local v9 #i$:I
- .end local v10 #len$:I
- :goto_8a
- return v16
- .line 1991
- .end local v4 #equalsMcc:Z
- .end local v5 #equalsOnsl:Z
- .end local v6 #equalsOnss:Z
- .end local v7 #fho:[Ljava/lang/String;
- .end local v13 #operatorNumeric:Ljava/lang/String;
- .end local v14 #simNumeric:Ljava/lang/String;
- :cond_8b
- const/16 v16, 0x0
- move/from16 v5, v16
- goto :goto_1c
- .line 1992
- .restart local v5 #equalsOnsl:Z
- :cond_90
- const/16 v16, 0x0
- move/from16 v6, v16
- goto :goto_28
- .line 2008
- .restart local v3 #arr$:[Ljava/lang/String;
- .restart local v4 #equalsMcc:Z
- .restart local v6 #equalsOnss:Z
- .restart local v7 #fho:[Ljava/lang/String;
- .restart local v8 #h:Ljava/lang/String;
- .restart local v9 #i$:I
- .restart local v10 #len$:I
- .restart local v13 #operatorNumeric:Ljava/lang/String;
- .restart local v14 #simNumeric:Ljava/lang/String;
- :cond_95
- add-int/lit8 v9, v9, 0x1
- goto :goto_68
- .line 2016
- .end local v3 #arr$:[Ljava/lang/String;
- .end local v8 #h:Ljava/lang/String;
- .end local v9 #i$:I
- .end local v10 #len$:I
- :cond_98
- if-eqz p1, :cond_a3
- if-eqz v4, :cond_a0
- if-nez v5, :cond_a3
- if-nez v6, :cond_a3
- :cond_a0
- const/16 v16, 0x1
- goto :goto_8a
- :cond_a3
- const/16 v16, 0x0
- goto :goto_8a
- .line 2002
- .end local v7 #fho:[Ljava/lang/String;
- :catch_a6
- move-exception v16
- goto :goto_53
- .end method
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement