Public paste
StatusBarIcon.smali
By: Guest | Date: Jul 27 2010 19:52 | Format: None | Expires: never | Size: 19.1 KB | Hits: 980

  1. .class Lcom/android/server/status/StatusBarIcon;
  2. .super Ljava/lang/Object;
  3. .source "StatusBarIcon.java"
  4.  
  5.  
  6. # static fields
  7. .field private static final ICON_GAP:I = 0x8
  8.  
  9. .field private static final ICON_HEIGHT:I = 0x19
  10.  
  11. .field private static final ICON_WIDTH:I = 0x19
  12.  
  13.  
  14. # instance fields
  15. .field mData:Lcom/android/server/status/IconData;
  16.  
  17. .field private mImageView:Lcom/android/server/status/AnimatedImageView;
  18.  
  19. .field private mNumberView:Landroid/widget/TextView;
  20.  
  21. .field private mTextView:Landroid/widget/TextView;
  22.  
  23. .field public view:Landroid/view/View;
  24.  
  25.  
  26. # direct methods
  27. .method public constructor <init>(Landroid/content/Context;Lcom/android/server/status/IconData;Landroid/view/ViewGroup;)V
  28.     .registers 13
  29.     .parameter "context"
  30.     .parameter "data"
  31.     .parameter "parent"
  32.  
  33.     .prologue
  34.     const/4 v8, 0x0
  35.  
  36.     .line 34
  37.     invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  38.  
  39.     .line 35
  40.     invoke-virtual {p2}, Lcom/android/server/status/IconData;->clone()Lcom/android/server/status/IconData;
  41.  
  42.     move-result-object v6
  43.  
  44.     iput-object v6, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  45.  
  46.     .line 37
  47.     iget v6, p2, Lcom/android/server/status/IconData;->type:I
  48.  
  49.     packed-switch v6, :pswitch_data_a2
  50.  
  51.     .line 87
  52.     :goto_f
  53.     return-void
  54.  
  55.     .line 40
  56.     :pswitch_10
  57.     new-instance v4, Landroid/widget/TextView;
  58.  
  59.     invoke-direct {v4, p1}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
  60.  
  61.     .line 41
  62.     .local v4, t:Landroid/widget/TextView;
  63.     iput-object v4, p0, Lcom/android/server/status/StatusBarIcon;->mTextView:Landroid/widget/TextView;
  64.  
  65.     .line 42
  66.     new-instance v2, Landroid/widget/LinearLayout$LayoutParams;
  67.  
  68.     const/4 v6, -0x2
  69.  
  70.     const/4 v7, -0x1
  71.  
  72.     invoke-direct {v2, v6, v7}, Landroid/widget/LinearLayout$LayoutParams;-><init>(II)V
  73.  
  74.     .line 45
  75.     .local v2, layoutParams:Landroid/widget/LinearLayout$LayoutParams;
  76.     const/high16 v6, 0x4180
  77.  
  78.     invoke-virtual {v4, v6}, Landroid/widget/TextView;->setTextSize(F)V
  79.  
  80.     .line 51
  81.     const v6, -0x1
  82.  
  83.  
  84.     invoke-virtual {v4, v6}, Landroid/widget/TextView;->setTextColor(I)V
  85.  
  86.     .line 52
  87.     sget-object v6, Landroid/graphics/Typeface;->DEFAULT_BOLD:Landroid/graphics/Typeface;
  88.  
  89.     invoke-virtual {v4, v6}, Landroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;)V
  90.  
  91.     .line 53
  92.     const/16 v6, 0x13
  93.  
  94.     invoke-virtual {v4, v6}, Landroid/widget/TextView;->setGravity(I)V
  95.  
  96.     .line 54
  97.         const/4 v6, 0x6
  98.  
  99.     invoke-virtual {v4, v8, v8, v8, v8}, Landroid/widget/TextView;->setPadding(IIII)V
  100.  
  101.     .line 55
  102.     invoke-static {p1, p2}, Lcom/android/server/status/StatusBarIcon;->getIcon(Landroid/content/Context;Lcom/android/server/status/IconData;)Landroid/graphics/drawable/Drawable;
  103.  
  104.     move-result-object v6
  105.  
  106.     invoke-virtual {v4, v6}, Landroid/widget/TextView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
  107.  
  108.     .line 56
  109.     invoke-virtual {v4, v2}, Landroid/widget/TextView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
  110.  
  111.     .line 57
  112.     iget-object v6, p2, Lcom/android/server/status/IconData;->text:Ljava/lang/CharSequence;
  113.  
  114.     invoke-virtual {v4, v6}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  115.  
  116.     .line 58
  117.     iput-object v4, p0, Lcom/android/server/status/StatusBarIcon;->view:Landroid/view/View;
  118.  
  119.     goto :goto_f
  120.  
  121.     .line 64
  122.     .end local v2           #layoutParams:Landroid/widget/LinearLayout$LayoutParams;
  123.     .end local v4           #t:Landroid/widget/TextView;
  124.     :pswitch_47
  125.     const-string v6, "layout_inflater"
  126.  
  127.     invoke-virtual {p1, v6}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
  128.  
  129.     move-result-object v1
  130.  
  131.     check-cast v1, Landroid/view/LayoutInflater;
  132.  
  133.     .line 66
  134.     .local v1, inflater:Landroid/view/LayoutInflater;
  135.     const v6, 0x109005b
  136.  
  137.     invoke-virtual {v1, v6, p3, v8}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
  138.  
  139.     move-result-object v5
  140.  
  141.     .line 67
  142.     .local v5, v:Landroid/view/View;
  143.     iput-object v5, p0, Lcom/android/server/status/StatusBarIcon;->view:Landroid/view/View;
  144.  
  145.     .line 70
  146.     const v6, 0x1020169
  147.  
  148.     invoke-virtual {v5, v6}, Landroid/view/View;->findViewById(I)Landroid/view/View;
  149.  
  150.     move-result-object v0
  151.  
  152.     check-cast v0, Lcom/android/server/status/AnimatedImageView;
  153.  
  154.     .line 71
  155.     .local v0, im:Lcom/android/server/status/AnimatedImageView;
  156.     invoke-static {p1, p2}, Lcom/android/server/status/StatusBarIcon;->getIcon(Landroid/content/Context;Lcom/android/server/status/IconData;)Landroid/graphics/drawable/Drawable;
  157.  
  158.     move-result-object v6
  159.  
  160.     invoke-virtual {v0, v6}, Lcom/android/server/status/AnimatedImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
  161.  
  162.     .line 72
  163.     iget v6, p2, Lcom/android/server/status/IconData;->iconLevel:I
  164.  
  165.     invoke-virtual {v0, v6}, Lcom/android/server/status/AnimatedImageView;->setImageLevel(I)V
  166.  
  167.     .line 73
  168.     iput-object v0, p0, Lcom/android/server/status/StatusBarIcon;->mImageView:Lcom/android/server/status/AnimatedImageView;
  169.  
  170.     .line 76
  171.     const v6, 0x1020053
  172.  
  173.     invoke-virtual {v5, v6}, Landroid/view/View;->findViewById(I)Landroid/view/View;
  174.  
  175.     move-result-object v3
  176.  
  177.     check-cast v3, Landroid/widget/TextView;
  178.  
  179.     .line 77
  180.     .local v3, nv:Landroid/widget/TextView;
  181.     iput-object v3, p0, Lcom/android/server/status/StatusBarIcon;->mNumberView:Landroid/widget/TextView;
  182.  
  183.     .line 78
  184.     iget v6, p2, Lcom/android/server/status/IconData;->number:I
  185.  
  186.     if-lez v6, :cond_9b
  187.  
  188.     .line 79
  189.     new-instance v6, Ljava/lang/StringBuilder;
  190.  
  191.     invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
  192.  
  193.     const-string v7, ""
  194.  
  195.     invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  196.  
  197.     move-result-object v6
  198.  
  199.     iget v7, p2, Lcom/android/server/status/IconData;->number:I
  200.  
  201.     invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  202.  
  203.     move-result-object v6
  204.  
  205.     invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  206.  
  207.     move-result-object v6
  208.  
  209.     invoke-virtual {v3, v6}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  210.  
  211.     .line 80
  212.     invoke-virtual {v3, v8}, Landroid/widget/TextView;->setVisibility(I)V
  213.  
  214.     goto/16 :goto_f
  215.  
  216.     .line 82
  217.     :cond_9b
  218.     const/16 v6, 0x8
  219.  
  220.     invoke-virtual {v3, v6}, Landroid/widget/TextView;->setVisibility(I)V
  221.  
  222.     goto/16 :goto_f
  223.  
  224.     .line 37
  225.     :pswitch_data_a2
  226.     .packed-switch 0x1
  227.         :pswitch_10
  228.         :pswitch_47
  229.     .end packed-switch
  230. .end method
  231.  
  232. .method static getIcon(Landroid/content/Context;Lcom/android/server/status/IconData;)Landroid/graphics/drawable/Drawable;
  233.     .registers 9
  234.     .parameter "context"
  235.     .parameter "data"
  236.  
  237.     .prologue
  238.     const/4 v5, 0x0
  239.  
  240.     const-string v6, "StatusBar"
  241.  
  242.     .line 145
  243.     const/4 v2, 0x0
  244.  
  245.     .line 147
  246.     .local v2, r:Landroid/content/res/Resources;
  247.     iget-object v3, p1, Lcom/android/server/status/IconData;->iconPackage:Ljava/lang/String;
  248.  
  249.     if-eqz v3, :cond_37
  250.  
  251.     .line 149
  252.     :try_start_8
  253.     invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
  254.  
  255.     move-result-object v3
  256.  
  257.     iget-object v4, p1, Lcom/android/server/status/IconData;->iconPackage:Ljava/lang/String;
  258.  
  259.     invoke-virtual {v3, v4}, Landroid/content/pm/PackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;
  260.     :try_end_11
  261.     .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_8 .. :try_end_11} :catch_19
  262.  
  263.     move-result-object v2
  264.  
  265.     .line 159
  266.     :goto_12
  267.     :try_start_12
  268.     iget v3, p1, Lcom/android/server/status/IconData;->iconId:I
  269.  
  270.     invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;
  271.     :try_end_17
  272.     .catch Ljava/lang/RuntimeException; {:try_start_12 .. :try_end_17} :catch_3c
  273.  
  274.     move-result-object v3
  275.  
  276.     .line 166
  277.     :goto_18
  278.     return-object v3
  279.  
  280.     .line 150
  281.     :catch_19
  282.     move-exception v3
  283.  
  284.     move-object v1, v3
  285.  
  286.     .line 151
  287.     .local v1, ex:Landroid/content/pm/PackageManager$NameNotFoundException;
  288.     const-string v3, "StatusBar"
  289.  
  290.     new-instance v3, Ljava/lang/StringBuilder;
  291.  
  292.     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  293.  
  294.     const-string v4, "Icon package not found: "
  295.  
  296.     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  297.  
  298.     move-result-object v3
  299.  
  300.     iget-object v4, p1, Lcom/android/server/status/IconData;->iconPackage:Ljava/lang/String;
  301.  
  302.     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  303.  
  304.     move-result-object v3
  305.  
  306.     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  307.  
  308.     move-result-object v3
  309.  
  310.     invoke-static {v6, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
  311.  
  312.     move-object v3, v5
  313.  
  314.     .line 152
  315.     goto :goto_18
  316.  
  317.     .line 155
  318.     .end local v1           #ex:Landroid/content/pm/PackageManager$NameNotFoundException;
  319.     :cond_37
  320.     invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  321.  
  322.     move-result-object v2
  323.  
  324.     goto :goto_12
  325.  
  326.     .line 160
  327.     :catch_3c
  328.     move-exception v3
  329.  
  330.     move-object v0, v3
  331.  
  332.     .line 161
  333.     .local v0, e:Ljava/lang/RuntimeException;
  334.     const-string v3, "StatusBar"
  335.  
  336.     new-instance v3, Ljava/lang/StringBuilder;
  337.  
  338.     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  339.  
  340.     const-string v4, "Icon not found in "
  341.  
  342.     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  343.  
  344.     move-result-object v3
  345.  
  346.     iget-object v4, p1, Lcom/android/server/status/IconData;->iconPackage:Ljava/lang/String;
  347.  
  348.     if-eqz v4, :cond_72
  349.  
  350.     iget v4, p1, Lcom/android/server/status/IconData;->iconId:I
  351.  
  352.     invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
  353.  
  354.     move-result-object v4
  355.  
  356.     :goto_55
  357.     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
  358.  
  359.     move-result-object v3
  360.  
  361.     const-string v4, ": "
  362.  
  363.     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  364.  
  365.     move-result-object v3
  366.  
  367.     iget v4, p1, Lcom/android/server/status/IconData;->iconId:I
  368.  
  369.     invoke-static {v4}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String;
  370.  
  371.     move-result-object v4
  372.  
  373.     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  374.  
  375.     move-result-object v3
  376.  
  377.     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  378.  
  379.     move-result-object v3
  380.  
  381.     invoke-static {v6, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
  382.  
  383.     move-object v3, v5
  384.  
  385.     .line 166
  386.     goto :goto_18
  387.  
  388.     .line 161
  389.     :cond_72
  390.     const-string v4, "<system>"
  391.  
  392.     goto :goto_55
  393. .end method
  394.  
  395.  
  396. # virtual methods
  397. .method getNumber()I
  398.     .registers 2
  399.  
  400.     .prologue
  401.     .line 170
  402.     iget-object v0, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  403.  
  404.     iget v0, v0, Lcom/android/server/status/IconData;->number:I
  405.  
  406.     return v0
  407. .end method
  408.  
  409. .method public update(I)V
  410.     .registers 6
  411.     .parameter "number"
  412.  
  413.     .prologue
  414.     const-string v3, ""
  415.  
  416.     .line 123
  417.     iget-object v1, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  418.  
  419.     iget v1, v1, Lcom/android/server/status/IconData;->number:I
  420.  
  421.     if-eq v1, p1, :cond_22
  422.  
  423.     .line 124
  424.     iget-object v0, p0, Lcom/android/server/status/StatusBarIcon;->mNumberView:Landroid/widget/TextView;
  425.  
  426.     .line 125
  427.     .local v0, nv:Landroid/widget/TextView;
  428.     if-lez p1, :cond_27
  429.  
  430.     .line 126
  431.     new-instance v1, Ljava/lang/StringBuilder;
  432.  
  433.     invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
  434.  
  435.     const-string v2, ""
  436.  
  437.     invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  438.  
  439.     move-result-object v1
  440.  
  441.     invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  442.  
  443.     move-result-object v1
  444.  
  445.     invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  446.  
  447.     move-result-object v1
  448.  
  449.     invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  450.  
  451.     .line 131
  452.     .end local v0           #nv:Landroid/widget/TextView;
  453.     :cond_22
  454.     :goto_22
  455.     iget-object v1, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  456.  
  457.     iput p1, v1, Lcom/android/server/status/IconData;->number:I
  458.  
  459.     .line 132
  460.     return-void
  461.  
  462.     .line 128
  463.     .restart local v0       #nv:Landroid/widget/TextView;
  464.     :cond_27
  465.     const-string v1, ""
  466.  
  467.     invoke-virtual {v0, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  468.  
  469.     goto :goto_22
  470. .end method
  471.  
  472. .method public update(Landroid/content/Context;Lcom/android/server/status/IconData;)V
  473.     .registers 9
  474.     .parameter "context"
  475.     .parameter "data"
  476.     .annotation system Ldalvik/annotation/Throws;
  477.         value = {
  478.             Lcom/android/server/status/StatusBarException;
  479.         }
  480.     .end annotation
  481.  
  482.     .prologue
  483.     const-string v5, ""
  484.  
  485.     .line 90
  486.     iget-object v3, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  487.  
  488.     iget v3, v3, Lcom/android/server/status/IconData;->type:I
  489.  
  490.     iget v4, p2, Lcom/android/server/status/IconData;->type:I
  491.  
  492.     if-eq v3, v4, :cond_12
  493.  
  494.     .line 91
  495.     new-instance v3, Lcom/android/server/status/StatusBarException;
  496.  
  497.     const-string v4, "status bar entry type can't change"
  498.  
  499.     invoke-direct {v3, v4}, Lcom/android/server/status/StatusBarException;-><init>(Ljava/lang/String;)V
  500.  
  501.     throw v3
  502.  
  503.     .line 93
  504.     :cond_12
  505.     iget v3, p2, Lcom/android/server/status/IconData;->type:I
  506.  
  507.     packed-switch v3, :pswitch_data_92
  508.  
  509.     .line 119
  510.     :cond_17
  511.     :goto_17
  512.     iget-object v3, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  513.  
  514.     invoke-virtual {v3, p2}, Lcom/android/server/status/IconData;->copyFrom(Lcom/android/server/status/IconData;)V
  515.  
  516.     .line 120
  517.     return-void
  518.  
  519.     .line 95
  520.     :pswitch_1d
  521.     iget-object v3, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  522.  
  523.     iget-object v3, v3, Lcom/android/server/status/IconData;->text:Ljava/lang/CharSequence;
  524.  
  525.     iget-object v4, p2, Lcom/android/server/status/IconData;->text:Ljava/lang/CharSequence;
  526.  
  527.     invoke-static {v3, v4}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
  528.  
  529.     move-result v3
  530.  
  531.     if-nez v3, :cond_17
  532.  
  533.     .line 96
  534.     iget-object v2, p0, Lcom/android/server/status/StatusBarIcon;->mTextView:Landroid/widget/TextView;
  535.  
  536.     .line 97
  537.     .local v2, tv:Landroid/widget/TextView;
  538.     iget-object v3, p2, Lcom/android/server/status/IconData;->text:Ljava/lang/CharSequence;
  539.  
  540.     invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  541.  
  542.     goto :goto_17
  543.  
  544.     .line 101
  545.     .end local v2           #tv:Landroid/widget/TextView;
  546.     :pswitch_31
  547.     iget-object v3, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  548.  
  549.     iget-object v3, v3, Lcom/android/server/status/IconData;->iconPackage:Ljava/lang/String;
  550.  
  551.     if-eqz v3, :cond_47
  552.  
  553.     iget-object v3, p2, Lcom/android/server/status/IconData;->iconPackage:Ljava/lang/String;
  554.  
  555.     if-eqz v3, :cond_47
  556.  
  557.     iget-object v3, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  558.  
  559.     iget-object v3, v3, Lcom/android/server/status/IconData;->iconPackage:Ljava/lang/String;
  560.  
  561.     iget-object v4, p2, Lcom/android/server/status/IconData;->iconPackage:Ljava/lang/String;
  562.  
  563.     invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
  564.  
  565.     move-result v3
  566.  
  567.     if-eqz v3, :cond_57
  568.  
  569.     :cond_47
  570.     iget-object v3, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  571.  
  572.     iget v3, v3, Lcom/android/server/status/IconData;->iconId:I
  573.  
  574.     iget v4, p2, Lcom/android/server/status/IconData;->iconId:I
  575.  
  576.     if-ne v3, v4, :cond_57
  577.  
  578.     iget-object v3, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  579.  
  580.     iget v3, v3, Lcom/android/server/status/IconData;->iconLevel:I
  581.  
  582.     iget v4, p2, Lcom/android/server/status/IconData;->iconLevel:I
  583.  
  584.     if-eq v3, v4, :cond_65
  585.  
  586.     .line 105
  587.     :cond_57
  588.     iget-object v0, p0, Lcom/android/server/status/StatusBarIcon;->mImageView:Lcom/android/server/status/AnimatedImageView;
  589.  
  590.     .line 106
  591.     .local v0, im:Landroid/widget/ImageView;
  592.     invoke-static {p1, p2}, Lcom/android/server/status/StatusBarIcon;->getIcon(Landroid/content/Context;Lcom/android/server/status/IconData;)Landroid/graphics/drawable/Drawable;
  593.  
  594.     move-result-object v3
  595.  
  596.     invoke-virtual {v0, v3}, Lcom/android/server/status/AnimatedImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
  597.  
  598.     .line 107
  599.     iget v3, p2, Lcom/android/server/status/IconData;->iconLevel:I
  600.  
  601.     invoke-virtual {v0, v3}, Lcom/android/server/status/AnimatedImageView;->setImageLevel(I)V
  602.  
  603.     .line 109
  604.     .end local v0           #im:Landroid/widget/ImageView;
  605.     :cond_65
  606.     iget-object v3, p0, Lcom/android/server/status/StatusBarIcon;->mData:Lcom/android/server/status/IconData;
  607.  
  608.     iget v3, v3, Lcom/android/server/status/IconData;->number:I
  609.  
  610.     iget v4, p2, Lcom/android/server/status/IconData;->number:I
  611.  
  612.     if-eq v3, v4, :cond_17
  613.  
  614.     .line 110
  615.     iget-object v1, p0, Lcom/android/server/status/StatusBarIcon;->mNumberView:Landroid/widget/TextView;
  616.  
  617.     .line 111
  618.     .local v1, nv:Landroid/widget/TextView;
  619.     iget v3, p2, Lcom/android/server/status/IconData;->number:I
  620.  
  621.     if-lez v3, :cond_8c
  622.  
  623.     .line 112
  624.     new-instance v3, Ljava/lang/StringBuilder;
  625.  
  626.     invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
  627.  
  628.     const-string v4, ""
  629.  
  630.     invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
  631.  
  632.     move-result-object v3
  633.  
  634.     iget v4, p2, Lcom/android/server/status/IconData;->number:I
  635.  
  636.     invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
  637.  
  638.     move-result-object v3
  639.  
  640.     invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
  641.  
  642.     move-result-object v3
  643.  
  644.     invoke-virtual {v1, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  645.  
  646.     goto :goto_17
  647.  
  648.     .line 114
  649.     :cond_8c
  650.     const-string v3, ""
  651.  
  652.     invoke-virtual {v1, v5}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
  653.  
  654.     goto :goto_17
  655.  
  656.     .line 93
  657.     :pswitch_data_92
  658.     .packed-switch 0x1
  659.         :pswitch_1d
  660.         :pswitch_31
  661.     .end packed-switch
  662. .end method