Advertisement
Guest User

MmsProvisionReceiver.smali

a guest
Oct 10th, 2013
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.08 KB | None | 0 0
  1. .class public Lcom/android/mms/provisioning/MmsProvisionReceiver;
  2. .super Landroid/content/BroadcastReceiver;
  3. .source "MmsProvisionReceiver.java"
  4.  
  5.  
  6. # static fields
  7. .field private static final TAG:Ljava/lang/String; = "MmsProvisionReceiver"
  8.  
  9.  
  10. # instance fields
  11. .field private final CHAMELEON_UPDATE:Ljava/lang/String;
  12.  
  13. .field private final START_PREFERENCE:Ljava/lang/String;
  14.  
  15.  
  16. # direct methods
  17. .method public constructor <init>()V
  18. .locals 1
  19.  
  20. .prologue
  21. .line 15
  22. invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
  23.  
  24. .line 17
  25. const-string v0, "com.sec.android.app.mmsprovision"
  26.  
  27. iput-object v0, p0, Lcom/android/mms/provisioning/MmsProvisionReceiver;->START_PREFERENCE:Ljava/lang/String;
  28.  
  29. .line 18
  30. const-string v0, "android.intent.action.CHAMELEON_SMS_MMS_UPDATE"
  31.  
  32. iput-object v0, p0, Lcom/android/mms/provisioning/MmsProvisionReceiver;->CHAMELEON_UPDATE:Ljava/lang/String;
  33.  
  34. return-void
  35. .end method
  36.  
  37.  
  38. # virtual methods
  39. .method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
  40. .locals 13
  41. .parameter "context"
  42. .parameter "intent"
  43.  
  44. .prologue
  45. .line 23
  46. invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
  47.  
  48. move-result-object v10
  49.  
  50. const-string v11, "com.sec.android.app.mmsprovision"
  51.  
  52. invoke-virtual {v10, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  53.  
  54. move-result v10
  55.  
  56. if-eqz v10, :cond_1
  57.  
  58. .line 24
  59. new-instance v1, Landroid/content/Intent;
  60.  
  61. const-string v10, "android.intent.action.MAIN"
  62.  
  63. invoke-direct {v1, v10}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  64.  
  65. .line 25
  66. .local v1, i:Landroid/content/Intent;
  67. const-class v10, Lcom/android/mms/provisioning/MmsProvisionActivity;
  68.  
  69. invoke-virtual {v1, p1, v10}, Landroid/content/Intent;->setClass(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent;
  70.  
  71. .line 26
  72. const/high16 v10, 0x1000
  73.  
  74. invoke-virtual {v1, v10}, Landroid/content/Intent;->setFlags(I)Landroid/content/Intent;
  75.  
  76. .line 27
  77. invoke-virtual {p1, v1}, Landroid/content/Context;->startActivity(Landroid/content/Intent;)V
  78.  
  79. .line 70
  80. .end local v1 #i:Landroid/content/Intent;
  81. :cond_0
  82. :goto_0
  83. return-void
  84.  
  85. .line 28
  86. :cond_1
  87. invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
  88.  
  89. move-result-object v10
  90.  
  91. const-string v11, "android.intent.action.CHAMELEON_SMS_MMS_UPDATE"
  92.  
  93. invoke-virtual {v10, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  94.  
  95. move-result v10
  96.  
  97. if-eqz v10, :cond_0
  98.  
  99. .line 29
  100. const-string v10, "MmsProvisionReceiver"
  101.  
  102. const-string v11, "update MMS parameters from Chameleon"
  103.  
  104. invoke-static {v10, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  105.  
  106. .line 30
  107. const-string v10, "serverURL"
  108.  
  109. invoke-virtual {p2, v10}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
  110.  
  111. move-result-object v7
  112.  
  113. .line 31
  114. .local v7, serverURL:Ljava/lang/String;
  115. const-string v10, "proxy"
  116.  
  117. invoke-virtual {p2, v10}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
  118.  
  119. move-result-object v6
  120.  
  121. .line 32
  122. .local v6, proxy:Ljava/lang/String;
  123. const-string v10, "networkcode"
  124.  
  125. invoke-virtual {p2, v10}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
  126.  
  127. move-result-object v3
  128.  
  129. .line 33
  130. .local v3, networkcode:Ljava/lang/String;
  131. const/4 v5, 0x0
  132.  
  133. .line 35
  134. .local v5, port:Ljava/lang/String;
  135. const-string v10, ":"
  136.  
  137. invoke-virtual {v6, v10}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
  138.  
  139. move-result v10
  140.  
  141. if-eqz v10, :cond_2
  142.  
  143. .line 36
  144. const-string v10, ":"
  145.  
  146. invoke-virtual {v6, v10}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
  147.  
  148. move-result-object v0
  149.  
  150. .line 37
  151. .local v0, address:[Ljava/lang/String;
  152. const/4 v10, 0x0
  153.  
  154. aget-object v6, v0, v10
  155.  
  156. .line 38
  157. const/4 v10, 0x1
  158.  
  159. aget-object v5, v0, v10
  160.  
  161. .line 42
  162. .end local v0 #address:[Ljava/lang/String;
  163. :cond_2
  164. const-string v10, "MmsProvisionReceiver"
  165.  
  166. new-instance v11, Ljava/lang/StringBuilder;
  167.  
  168. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  169.  
  170. const-string v12, " MMSC: "
  171.  
  172. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  173.  
  174. move-result-object v11
  175.  
  176. invoke-virtual {v11, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  177.  
  178. move-result-object v11
  179.  
  180. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  181.  
  182. move-result-object v11
  183.  
  184. invoke-static {v10, v11}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  185.  
  186. .line 43
  187. const-string v10, "MmsProvisionReceiver"
  188.  
  189. new-instance v11, Ljava/lang/StringBuilder;
  190.  
  191. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  192.  
  193. const-string v12, " PROXY: "
  194.  
  195. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  196.  
  197. move-result-object v11
  198.  
  199. invoke-virtual {v11, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  200.  
  201. move-result-object v11
  202.  
  203. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  204.  
  205. move-result-object v11
  206.  
  207. invoke-static {v10, v11}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  208.  
  209. .line 44
  210. const-string v10, "MmsProvisionReceiver"
  211.  
  212. new-instance v11, Ljava/lang/StringBuilder;
  213.  
  214. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  215.  
  216. const-string v12, " PORT: "
  217.  
  218. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  219.  
  220. move-result-object v11
  221.  
  222. invoke-virtual {v11, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  223.  
  224. move-result-object v11
  225.  
  226. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  227.  
  228. move-result-object v11
  229.  
  230. invoke-static {v10, v11}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  231.  
  232. .line 45
  233. const-string v10, "MmsProvisionReceiver"
  234.  
  235. new-instance v11, Ljava/lang/StringBuilder;
  236.  
  237. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  238.  
  239. const-string v12, " NUMERIC: "
  240.  
  241. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  242.  
  243. move-result-object v11
  244.  
  245. invoke-virtual {v11, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  246.  
  247. move-result-object v11
  248.  
  249. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  250.  
  251. move-result-object v11
  252.  
  253. invoke-static {v10, v11}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
  254.  
  255. .line 48
  256. const-string v10, "0.0.0.0"
  257.  
  258. invoke-virtual {v6, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  259.  
  260. move-result v10
  261.  
  262. if-nez v10, :cond_0
  263.  
  264. .line 49
  265. new-instance v8, Landroid/content/ContentValues;
  266.  
  267. invoke-direct {v8}, Landroid/content/ContentValues;-><init>()V
  268.  
  269. .line 50
  270. .local v8, values:Landroid/content/ContentValues;
  271. const-string v10, "mmsc"
  272.  
  273. invoke-virtual {v8, v10, v7}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
  274.  
  275. .line 51
  276. const-string v10, "mmsproxy"
  277.  
  278. invoke-virtual {v8, v10, v6}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
  279.  
  280. .line 52
  281. const-string v10, "mmsport"
  282.  
  283. invoke-virtual {v8, v10, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
  284.  
  285. .line 55
  286. new-instance v10, Ljava/lang/StringBuilder;
  287.  
  288. invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
  289.  
  290. const-string v11, "numeric = \'"
  291.  
  292. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  293.  
  294. move-result-object v10
  295.  
  296. invoke-virtual {v10, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  297.  
  298. move-result-object v10
  299.  
  300. const-string v11, "\' AND "
  301.  
  302. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  303.  
  304. move-result-object v10
  305.  
  306. const-string v11, "mmsc"
  307.  
  308. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  309.  
  310. move-result-object v10
  311.  
  312. const-string v11, " IS NOT NULL"
  313.  
  314. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  315.  
  316. move-result-object v10
  317.  
  318. invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  319.  
  320. move-result-object v9
  321.  
  322. .line 56
  323. .local v9, where:Ljava/lang/String;
  324. invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  325.  
  326. move-result-object v10
  327.  
  328. sget-object v11, Landroid/provider/Telephony$Carriers;->CONTENT_URI:Landroid/net/Uri;
  329.  
  330. const/4 v12, 0x0
  331.  
  332. invoke-virtual {v10, v11, v8, v9, v12}, Landroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
  333.  
  334. .line 57
  335. const-string v10, "MmsProvisionReceiver"
  336.  
  337. new-instance v11, Ljava/lang/StringBuilder;
  338.  
  339. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  340.  
  341. const-string v12, "update MMSC using where "
  342.  
  343. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  344.  
  345. move-result-object v11
  346.  
  347. invoke-virtual {v11, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  348.  
  349. move-result-object v11
  350.  
  351. const-string v12, "[chameleon]"
  352.  
  353. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  354.  
  355. move-result-object v11
  356.  
  357. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  358.  
  359. move-result-object v11
  360.  
  361. invoke-static {v10, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  362.  
  363. .line 60
  364. const-string v10, "phone"
  365.  
  366. invoke-virtual {p1, v10}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
  367.  
  368. move-result-object v2
  369.  
  370. check-cast v2, Landroid/telephony/TelephonyManager;
  371.  
  372. .line 61
  373. .local v2, mTelephonyManager:Landroid/telephony/TelephonyManager;
  374. invoke-virtual {v2}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
  375.  
  376. move-result-object v4
  377.  
  378. .line 62
  379. .local v4, numeric:Ljava/lang/String;
  380. const-string v10, "MmsProvisionReceiver"
  381.  
  382. new-instance v11, Ljava/lang/StringBuilder;
  383.  
  384. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  385.  
  386. const-string v12, "get [gsm.sim.operator.numeric] "
  387.  
  388. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  389.  
  390. move-result-object v11
  391.  
  392. invoke-virtual {v11, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  393.  
  394. move-result-object v11
  395.  
  396. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  397.  
  398. move-result-object v11
  399.  
  400. invoke-static {v10, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  401.  
  402. .line 63
  403. if-eqz v4, :cond_0
  404.  
  405. invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  406.  
  407. move-result v10
  408.  
  409. if-nez v10, :cond_0
  410.  
  411. .line 64
  412. new-instance v10, Ljava/lang/StringBuilder;
  413.  
  414. invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
  415.  
  416. const-string v11, "numeric = \'"
  417.  
  418. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  419.  
  420. move-result-object v10
  421.  
  422. invoke-virtual {v10, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  423.  
  424. move-result-object v10
  425.  
  426. const-string v11, "\' AND "
  427.  
  428. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  429.  
  430. move-result-object v10
  431.  
  432. const-string v11, "mmsc"
  433.  
  434. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  435.  
  436. move-result-object v10
  437.  
  438. const-string v11, " IS NOT NULL"
  439.  
  440. invoke-virtual {v10, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  441.  
  442. move-result-object v10
  443.  
  444. invoke-virtual {v10}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  445.  
  446. move-result-object v9
  447.  
  448. .line 65
  449. invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
  450.  
  451. move-result-object v10
  452.  
  453. sget-object v11, Landroid/provider/Telephony$Carriers;->CONTENT_URI:Landroid/net/Uri;
  454.  
  455. const/4 v12, 0x0
  456.  
  457. invoke-virtual {v10, v11, v8, v9, v12}, Landroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
  458.  
  459. .line 66
  460. const-string v10, "MmsProvisionReceiver"
  461.  
  462. new-instance v11, Ljava/lang/StringBuilder;
  463.  
  464. invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
  465.  
  466. const-string v12, "update MMSC using where "
  467.  
  468. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  469.  
  470. move-result-object v11
  471.  
  472. invoke-virtual {v11, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  473.  
  474. move-result-object v11
  475.  
  476. const-string v12, "[gsm.sim.operator.numeric]"
  477.  
  478. invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  479.  
  480. move-result-object v11
  481.  
  482. invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  483.  
  484. move-result-object v11
  485.  
  486. invoke-static {v10, v11}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
  487.  
  488. goto/16 :goto_0
  489. .end method
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement