yoyocx

Menambahkan Alert Dialog di MainActivity BBM

Nov 30th, 2015
317
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.08 KB | None | 0 0
  1. 1. Kode A
  2.  
  3. .field public static final PREFS_NAME:Ljava/lang/String; = "deltalabs"
  4.  
  5. 2. Kode B
  6.  
  7. .field public dontShowAgain:Landroid/widget/CheckBox;
  8.  
  9. 3. Kode C
  10.  
  11. .method public static HexToText(Ljava/lang/String;)Ljava/lang/String;
  12. .locals 3
  13. .param p0, "hexText" # Ljava/lang/String;
  14.  
  15. .prologue
  16. .line 118
  17. new-instance v0, Ljava/lang/String;
  18.  
  19. new-instance v1, Ljava/math/BigInteger;
  20.  
  21. const/16 v2, 0x10
  22.  
  23. invoke-direct {v1, p0, v2}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
  24.  
  25. invoke-virtual {v1}, Ljava/math/BigInteger;->toByteArray()[B
  26.  
  27. move-result-object v1
  28.  
  29. invoke-direct {v0, v1}, Ljava/lang/String;-><init>([B)V
  30.  
  31. return-object v0
  32. .end method
  33.  
  34. .method static synthetic access$000(Lcom/bbm/ui/activities/MainActivity;)V
  35. .locals 0
  36. .param p0, "x0" # Lcom/bbm/ui/activities/MainActivity;
  37.  
  38. .prologue
  39. .line 35
  40. invoke-direct {p0}, Lcom/bbm/ui/activities/MainActivity;->joinGroup()V
  41.  
  42. return-void
  43. .end method
  44.  
  45. .method private alertDialog()V
  46. .locals 7
  47.  
  48. .prologue
  49. .line 75
  50. new-instance v0, Landroid/app/AlertDialog$Builder;
  51.  
  52. invoke-direct {v0, p0}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V
  53.  
  54. .line 76
  55. .local v0, "adb":Landroid/app/AlertDialog$Builder;
  56. invoke-static {p0}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
  57.  
  58. move-result-object v1
  59.  
  60. .line 77
  61. .local v1, "adbInflater":Landroid/view/LayoutInflater;
  62. const-string v5, "delta_checkbox_skip"
  63.  
  64. const-string v6, "layout"
  65.  
  66. invoke-virtual {p0, v5, v6}, Lcom/bbm/ui/activities/MainActivity;->getID(Ljava/lang/String;Ljava/lang/String;)I
  67.  
  68. move-result v5
  69.  
  70. const/4 v6, 0x0
  71.  
  72. invoke-virtual {v1, v5, v6}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
  73.  
  74. move-result-object v2
  75.  
  76. .line 78
  77. .local v2, "eulaLayout":Landroid/view/View;
  78. const-string v5, "skip"
  79.  
  80. const-string v6, "id"
  81.  
  82. invoke-virtual {p0, v5, v6}, Lcom/bbm/ui/activities/MainActivity;->getID(Ljava/lang/String;Ljava/lang/String;)I
  83.  
  84. move-result v5
  85.  
  86. invoke-virtual {v2, v5}, Landroid/view/View;->findViewById(I)Landroid/view/View;
  87.  
  88. move-result-object v5
  89.  
  90. check-cast v5, Landroid/widget/CheckBox;
  91.  
  92. iput-object v5, p0, Lcom/bbm/ui/activities/MainActivity;->dontShowAgain:Landroid/widget/CheckBox;
  93.  
  94. .line 79
  95. invoke-virtual {v0, v2}, Landroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder;
  96.  
  97. .line 80
  98. const-string v5, "50455248415449414e212121"
  99.  
  100. invoke-static {v5}, Lcom/bbm/ui/activities/MainActivity;->HexToText(Ljava/lang/String;)Ljava/lang/String;
  101.  
  102. move-result-object v5
  103.  
  104. invoke-virtual {v0, v5}, Landroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
  105.  
  106. .line 81
  107. const-string v5, "42424d204d4f4420696e69206469626167696b616e20736563617261206772617469732064616e20746964616b2064697065726a75616c2062656c696b616e2c2061706162696c6120416e6461206d656d62656c692042424d20696e692c2073656c616d617420416e64612074656c616820544552544950552e20556e74756b206d656e64617061746b616e206c656269682062616e79616b206c6167692062626d206d6f642c20676162756e672073656b6172616e67206469205b42424641495d2042424d204d4f4420666f7220414e44524f494420496e646f6e657369612e"
  108.  
  109. invoke-static {v5}, Lcom/bbm/ui/activities/MainActivity;->HexToText(Ljava/lang/String;)Ljava/lang/String;
  110.  
  111. move-result-object v5
  112.  
  113. invoke-virtual {v0, v5}, Landroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
  114.  
  115. .line 82
  116. const-string v5, "476162756e672047726f7570204242464149"
  117.  
  118. invoke-static {v5}, Lcom/bbm/ui/activities/MainActivity;->HexToText(Ljava/lang/String;)Ljava/lang/String;
  119.  
  120. move-result-object v5
  121.  
  122. new-instance v6, Lcom/bbm/ui/activities/MainActivity$1;
  123.  
  124. invoke-direct {v6, p0}, Lcom/bbm/ui/activities/MainActivity$1;-><init>(Lcom/bbm/ui/activities/MainActivity;)V
  125.  
  126. invoke-virtual {v0, v5, v6}, Landroid/app/AlertDialog$Builder;->setPositiveButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
  127.  
  128. .line 97
  129. const-string v5, "4f4b"
  130.  
  131. invoke-static {v5}, Lcom/bbm/ui/activities/MainActivity;->HexToText(Ljava/lang/String;)Ljava/lang/String;
  132.  
  133. move-result-object v5
  134.  
  135. new-instance v6, Lcom/bbm/ui/activities/MainActivity$2;
  136.  
  137. invoke-direct {v6, p0}, Lcom/bbm/ui/activities/MainActivity$2;-><init>(Lcom/bbm/ui/activities/MainActivity;)V
  138.  
  139. invoke-virtual {v0, v5, v6}, Landroid/app/AlertDialog$Builder;->setNegativeButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
  140.  
  141. .line 110
  142. const-string v5, "deltalabs"
  143.  
  144. const/4 v6, 0x0
  145.  
  146. invoke-virtual {p0, v5, v6}, Lcom/bbm/ui/activities/MainActivity;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
  147.  
  148. move-result-object v3
  149.  
  150. .line 111
  151. .local v3, "settings":Landroid/content/SharedPreferences;
  152. const-string v5, "skipMessage"
  153.  
  154. const-string v6, "NOT checked"
  155.  
  156. invoke-interface {v3, v5, v6}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  157.  
  158. move-result-object v4
  159.  
  160. .line 112
  161. .local v4, "skipMessage":Ljava/lang/String;
  162. const-string v5, "checked"
  163.  
  164. invoke-virtual {v4, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  165.  
  166. move-result v5
  167.  
  168. if-nez v5, :cond_0
  169.  
  170. .line 113
  171. invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->show()Landroid/app/AlertDialog;
  172.  
  173. .line 114
  174. :cond_0
  175. return-void
  176. .end method
  177.  
  178. .method private joinGroup()V
  179. .locals 2
  180.  
  181. .prologue
  182. .line 169
  183. new-instance v0, Landroid/content/Intent;
  184.  
  185. const-string v1, "android.intent.action.VIEW"
  186.  
  187. invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
  188.  
  189. .line 170
  190. .local v0, "intent":Landroid/content/Intent;
  191. const-string v1, "https://www.facebook.com/groups/bbfai/"
  192.  
  193. invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
  194.  
  195. move-result-object v1
  196.  
  197. invoke-virtual {v0, v1}, Landroid/content/Intent;->setData(Landroid/net/Uri;)Landroid/content/Intent;
  198.  
  199. .line 171
  200. invoke-virtual {p0, v0}, Lcom/bbm/ui/activities/MainActivity;->startActivity(Landroid/content/Intent;)V
  201.  
  202. .line 173
  203. return-void
  204. .end method
  205.  
  206.  
  207. 4. Kode D
  208.  
  209. .line 54
  210. invoke-direct {p0}, Lcom/bbm/ui/activities/MainActivity;->alertDialog()V
  211.  
  212.  
  213. ================================================== CARA ==================================================
  214. a. Buka MainActivity.smali
  215. - Kode A masukan di dalam # static fields
  216. - Kode B masukan di dalam # instance fields
  217. - Kode C masukan di dalam # direct methods
  218. - Kode D masukan di bawah ;->onCreate(Landroid/os/Bundle;)V
  219. b. Copy delta_checkbox_skip.xml ke folder layout
  220. c. Copy MainActivity$1 dan MainActivity$2 ke folder smali/com/bbm/ui/activities/
Advertisement
Add Comment
Please, Sign In to add comment