Advertisement
Guest User

isRoamingBetweenOperators

a guest
Jul 27th, 2012
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.09 KB | None | 0 0
  1. .method private isRoamingBetweenOperators(ZLandroid/telephony/ServiceState;)Z
  2. .registers 22
  3. .parameter "gsmRoaming"
  4. .parameter "s"
  5.  
  6. .prologue
  7. .line 1986
  8. const-string v16, "gsm.sim.operator.alpha"
  9.  
  10. const-string v17, "empty"
  11.  
  12. invoke-static/range {v16 .. v17}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  13.  
  14. move-result-object v15
  15.  
  16. .line 1988
  17. .local v15, spn:Ljava/lang/String;
  18. invoke-virtual/range {p2 .. p2}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
  19.  
  20. move-result-object v11
  21.  
  22. .line 1989
  23. .local v11, onsl:Ljava/lang/String;
  24. invoke-virtual/range {p2 .. p2}, Landroid/telephony/ServiceState;->getOperatorAlphaShort()Ljava/lang/String;
  25.  
  26. move-result-object v12
  27.  
  28. .line 1991
  29. .local v12, onss:Ljava/lang/String;
  30. if-eqz v11, :cond_8b
  31.  
  32. invoke-virtual {v15, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  33.  
  34. move-result v16
  35.  
  36. if-eqz v16, :cond_8b
  37.  
  38. const/16 v16, 0x1
  39.  
  40. move/from16 v5, v16
  41.  
  42. .line 1992
  43. .local v5, equalsOnsl:Z
  44. :goto_1c
  45. if-eqz v12, :cond_90
  46.  
  47. invoke-virtual {v15, v12}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  48.  
  49. move-result v16
  50.  
  51. if-eqz v16, :cond_90
  52.  
  53. const/16 v16, 0x1
  54.  
  55. move/from16 v6, v16
  56.  
  57. .line 1994
  58. .local v6, equalsOnss:Z
  59. :goto_28
  60. const-string v16, "gsm.sim.operator.numeric"
  61.  
  62. const-string v17, ""
  63.  
  64. invoke-static/range {v16 .. v17}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  65.  
  66. move-result-object v14
  67.  
  68. .line 1996
  69. .local v14, simNumeric:Ljava/lang/String;
  70. invoke-virtual/range {p2 .. p2}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
  71.  
  72. move-result-object v13
  73.  
  74. .line 1998
  75. .local v13, operatorNumeric:Ljava/lang/String;
  76. const/4 v4, 0x1
  77.  
  78. .line 2000
  79. .local v4, equalsMcc:Z
  80. const/16 v16, 0x0
  81.  
  82. const/16 v17, 0x3
  83.  
  84. :try_start_39
  85. move-object v0, v14
  86.  
  87. move/from16 v1, v16
  88.  
  89. move/from16 v2, v17
  90.  
  91. invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
  92.  
  93. move-result-object v16
  94.  
  95. const/16 v17, 0x0
  96.  
  97. const/16 v18, 0x3
  98.  
  99. move-object v0, v13
  100.  
  101. move/from16 v1, v17
  102.  
  103. move/from16 v2, v18
  104.  
  105. invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
  106.  
  107. move-result-object v17
  108.  
  109. invoke-virtual/range {v16 .. v17}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  110. :try_end_52
  111. .catch Ljava/lang/Exception; {:try_start_39 .. :try_end_52} :catch_a6
  112.  
  113. move-result v4
  114.  
  115. .line 2006
  116. :goto_53
  117. move-object/from16 v0, p0
  118.  
  119. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
  120.  
  121. move-object/from16 v16, v0
  122.  
  123. move-object/from16 v0, v16
  124.  
  125. iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mSIMRecords:Lcom/android/internal/telephony/gsm/SIMRecords;
  126.  
  127. move-object/from16 v16, v0
  128.  
  129. invoke-virtual/range {v16 .. v16}, Lcom/android/internal/telephony/gsm/SIMRecords;->getFakeHomeOn()[Ljava/lang/String;
  130.  
  131. move-result-object v7
  132.  
  133. .line 2007
  134. .local v7, fho:[Ljava/lang/String;
  135. if-eqz v7, :cond_98
  136.  
  137. .line 2008
  138. move-object v3, v7
  139.  
  140. .local v3, arr$:[Ljava/lang/String;
  141. array-length v10, v3
  142.  
  143. .local v10, len$:I
  144. const/4 v9, 0x0
  145.  
  146. .local v9, i$:I
  147. :goto_68
  148. if-ge v9, v10, :cond_98
  149.  
  150. aget-object v8, v3, v9
  151.  
  152. .line 2009
  153. .local v8, h:Ljava/lang/String;
  154. invoke-virtual {v8, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  155.  
  156. move-result v16
  157.  
  158. if-nez v16, :cond_88
  159.  
  160. const/16 v16, 0x0
  161.  
  162. const/16 v17, 0x3
  163.  
  164. move-object v0, v13
  165.  
  166. move/from16 v1, v16
  167.  
  168. move/from16 v2, v17
  169.  
  170. invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
  171.  
  172. move-result-object v16
  173.  
  174. move-object v0, v8
  175.  
  176. move-object/from16 v1, v16
  177.  
  178. invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  179.  
  180. move-result v16
  181.  
  182. if-eqz v16, :cond_95
  183.  
  184. .line 2010
  185. :cond_88
  186. const/16 v16, 0x0
  187.  
  188. .line 2016
  189. .end local v3 #arr$:[Ljava/lang/String;
  190. .end local v8 #h:Ljava/lang/String;
  191. .end local v9 #i$:I
  192. .end local v10 #len$:I
  193. :goto_8a
  194. return v16
  195.  
  196. .line 1991
  197. .end local v4 #equalsMcc:Z
  198. .end local v5 #equalsOnsl:Z
  199. .end local v6 #equalsOnss:Z
  200. .end local v7 #fho:[Ljava/lang/String;
  201. .end local v13 #operatorNumeric:Ljava/lang/String;
  202. .end local v14 #simNumeric:Ljava/lang/String;
  203. :cond_8b
  204. const/16 v16, 0x0
  205.  
  206. move/from16 v5, v16
  207.  
  208. goto :goto_1c
  209.  
  210. .line 1992
  211. .restart local v5 #equalsOnsl:Z
  212. :cond_90
  213. const/16 v16, 0x0
  214.  
  215. move/from16 v6, v16
  216.  
  217. goto :goto_28
  218.  
  219. .line 2008
  220. .restart local v3 #arr$:[Ljava/lang/String;
  221. .restart local v4 #equalsMcc:Z
  222. .restart local v6 #equalsOnss:Z
  223. .restart local v7 #fho:[Ljava/lang/String;
  224. .restart local v8 #h:Ljava/lang/String;
  225. .restart local v9 #i$:I
  226. .restart local v10 #len$:I
  227. .restart local v13 #operatorNumeric:Ljava/lang/String;
  228. .restart local v14 #simNumeric:Ljava/lang/String;
  229. :cond_95
  230. add-int/lit8 v9, v9, 0x1
  231.  
  232. goto :goto_68
  233.  
  234. .line 2016
  235. .end local v3 #arr$:[Ljava/lang/String;
  236. .end local v8 #h:Ljava/lang/String;
  237. .end local v9 #i$:I
  238. .end local v10 #len$:I
  239. :cond_98
  240. if-eqz p1, :cond_a3
  241.  
  242. if-eqz v4, :cond_a0
  243.  
  244. if-nez v5, :cond_a3
  245.  
  246. if-nez v6, :cond_a3
  247.  
  248. :cond_a0
  249. const/16 v16, 0x1
  250.  
  251. goto :goto_8a
  252.  
  253. :cond_a3
  254. const/16 v16, 0x0
  255.  
  256. goto :goto_8a
  257.  
  258. .line 2002
  259. .end local v7 #fho:[Ljava/lang/String;
  260. :catch_a6
  261. move-exception v16
  262.  
  263. goto :goto_53
  264. .end method
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement