.class public Lcn/jzvd/JZResizeTextureView; .super Landroid/view/TextureView; .source "JZResizeTextureView.java" # static fields .field protected static final TAG:Ljava/lang/String; = "JZResizeTextureView" # instance fields .field public currentVideoHeight:I .field public currentVideoWidth:I # direct methods .method public constructor (Landroid/content/Context;)V .registers 2 .line 24 invoke-direct {p0, p1}, Landroid/view/TextureView;->(Landroid/content/Context;)V const/4 p1, 0x0 .line 25 iput p1, p0, Lcn/jzvd/JZResizeTextureView;->currentVideoWidth:I .line 26 iput p1, p0, Lcn/jzvd/JZResizeTextureView;->currentVideoHeight:I return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .registers 3 .line 30 invoke-direct {p0, p1, p2}, Landroid/view/TextureView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V const/4 p1, 0x0 .line 31 iput p1, p0, Lcn/jzvd/JZResizeTextureView;->currentVideoWidth:I .line 32 iput p1, p0, Lcn/jzvd/JZResizeTextureView;->currentVideoHeight:I return-void .end method # virtual methods .method protected onMeasure(II)V .registers 20 move-object/from16 v0, p0 .line 53 new-instance v1, Ljava/lang/StringBuilder; const-string v2, "onMeasure [" invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual/range {p0 .. p0}, Ljava/lang/Object;->hashCode()I move-result v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, "] " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const-string v2, "JZResizeTextureView" invoke-static {v2, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 54 invoke-virtual/range {p0 .. p0}, Lcn/jzvd/JZResizeTextureView;->getRotation()F move-result v1 float-to-int v1, v1 .line 55 iget v3, v0, Lcn/jzvd/JZResizeTextureView;->currentVideoWidth:I .line 56 iget v4, v0, Lcn/jzvd/JZResizeTextureView;->currentVideoHeight:I .line 59 invoke-virtual/range {p0 .. p0}, Lcn/jzvd/JZResizeTextureView;->getParent()Landroid/view/ViewParent; move-result-object v5 check-cast v5, Landroid/view/View; invoke-virtual {v5}, Landroid/view/View;->getMeasuredHeight()I move-result v5 .line 60 invoke-virtual/range {p0 .. p0}, Lcn/jzvd/JZResizeTextureView;->getParent()Landroid/view/ViewParent; move-result-object v6 check-cast v6, Landroid/view/View; invoke-virtual {v6}, Landroid/view/View;->getMeasuredWidth()I move-result v6 const/16 v7, 0x10e const/16 v8, 0x5a if-eqz v6, :cond_5a if-eqz v5, :cond_5a if-eqz v3, :cond_5a if-eqz v4, :cond_5a .line 62 sget v9, Lcn/jzvd/JZVideoPlayer;->VIDEO_IMAGE_DISPLAY_TYPE:I const/4 v10, 0x1 if-ne v9, v10, :cond_5a if-eq v1, v8, :cond_52 if-ne v1, v7, :cond_57 :cond_52 move/from16 v16, v6 move v6, v5 move/from16 v5, v16 :cond_57 mul-int v4, v3, v5 .line 69 div-int/2addr v4, v6 :cond_5a if-eq v1, v8, :cond_64 if-ne v1, v7, :cond_5f goto :goto_64 :cond_5f move/from16 v9, p1 move/from16 v10, p2 goto :goto_68 :cond_64 :goto_64 move/from16 v10, p1 move/from16 v9, p2 .line 80 :goto_68 invoke-static {v3, v9}, Lcn/jzvd/JZResizeTextureView;->getDefaultSize(II)I move-result v11 .line 81 invoke-static {v4, v10}, Lcn/jzvd/JZResizeTextureView;->getDefaultSize(II)I move-result v12 if-lez v3, :cond_105 if-lez v4, :cond_105 .line 84 invoke-static {v9}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v11 .line 85 invoke-static {v9}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result v12 .line 86 invoke-static {v10}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v13 .line 87 invoke-static {v10}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result v14 .line 89 new-instance v15, Ljava/lang/StringBuilder; const-string v7, "widthMeasureSpec [" invoke-direct {v15, v7}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-static {v9}, Landroid/view/View$MeasureSpec;->toString(I)Ljava/lang/String; move-result-object v7 invoke-virtual {v15, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v7 const-string v9, "]" invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v7 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v7 invoke-static {v2, v7}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 90 new-instance v7, Ljava/lang/StringBuilder; const-string v15, "heightMeasureSpec [" invoke-direct {v7, v15}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-static {v10}, Landroid/view/View$MeasureSpec;->toString(I)Ljava/lang/String; move-result-object v10 invoke-virtual {v7, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v7 invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v7 invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v7 invoke-static {v2, v7}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I const/high16 v2, 0x40000000 # 2.0f if-ne v11, v2, :cond_d0 if-ne v13, v2, :cond_d0 mul-int v2, v3, v14 mul-int v7, v12, v4 if-ge v2, v7, :cond_c9 .line 98 div-int v11, v2, v4 goto :goto_f1 :cond_c9 if-le v2, v7, :cond_ce .line 100 div-int v2, v7, v3 goto :goto_e0 :cond_ce move v11, v12 goto :goto_f1 :cond_d0 const/high16 v7, -0x80000000 if-ne v11, v2, :cond_e3 mul-int v2, v12, v4 .line 105 div-int/2addr v2, v3 if-ne v13, v7, :cond_e0 if-le v2, v14, :cond_e0 mul-int v2, v14, v3 .line 109 div-int v11, v2, v4 goto :goto_f1 :cond_e0 :goto_e0 move v11, v12 move v12, v2 goto :goto_105 :cond_e3 if-ne v13, v2, :cond_f3 mul-int v2, v14, v3 .line 114 div-int/2addr v2, v4 if-ne v11, v7, :cond_f0 if-le v2, v12, :cond_f0 mul-int v2, v12, v4 .line 118 div-int/2addr v2, v3 goto :goto_e0 :cond_f0 move v11, v2 :goto_f1 move v12, v14 goto :goto_105 :cond_f3 if-ne v13, v7, :cond_fb if-le v4, v14, :cond_fb mul-int v2, v14, v3 .line 127 div-int/2addr v2, v4 goto :goto_fd :cond_fb move v2, v3 move v14, v4 :goto_fd if-ne v11, v7, :cond_f0 if-le v2, v12, :cond_f0 mul-int v2, v12, v4 .line 132 div-int/2addr v2, v3 goto :goto_e0 :cond_105 :goto_105 if-eqz v6, :cond_140 if-eqz v5, :cond_140 if-eqz v3, :cond_140 if-eqz v4, :cond_140 .line 139 sget v2, Lcn/jzvd/JZVideoPlayer;->VIDEO_IMAGE_DISPLAY_TYPE:I const/4 v7, 0x3 if-ne v2, v7, :cond_113 goto :goto_142 .line 143 :cond_113 sget v2, Lcn/jzvd/JZVideoPlayer;->VIDEO_IMAGE_DISPLAY_TYPE:I const/4 v7, 0x2 if-ne v2, v7, :cond_140 if-eq v1, v8, :cond_11e const/16 v2, 0x10e if-ne v1, v2, :cond_123 :cond_11e move/from16 v16, v6 move v6, v5 move/from16 v5, v16 :cond_123 int-to-double v1, v4 int-to-double v3, v3 div-double/2addr v1, v3 int-to-double v3, v5 int-to-double v7, v6 div-double v9, v3, v7 cmpl-double v13, v1, v9 if-lez v13, :cond_135 int-to-double v1, v11 div-double/2addr v7, v1 int-to-double v1, v12 mul-double/2addr v7, v1 double-to-int v4, v7 move v3, v6 goto :goto_142 :cond_135 cmpg-double v1, v1, v9 if-gez v1, :cond_140 int-to-double v1, v12 div-double/2addr v3, v1 int-to-double v1, v11 mul-double/2addr v3, v1 double-to-int v3, v3 move v4, v5 goto :goto_142 :cond_140 move v3, v11 move v4, v12 .line 159 :goto_142 invoke-virtual {v0, v3, v4}, Lcn/jzvd/JZResizeTextureView;->setMeasuredDimension(II)V return-void .end method .method public setRotation(F)V .registers 3 .line 45 invoke-virtual {p0}, Lcn/jzvd/JZResizeTextureView;->getRotation()F move-result v0 cmpl-float v0, p1, v0 if-eqz v0, :cond_e .line 46 invoke-super {p0, p1}, Landroid/view/TextureView;->setRotation(F)V .line 47 invoke-virtual {p0}, Lcn/jzvd/JZResizeTextureView;->requestLayout()V :cond_e return-void .end method .method public setVideoSize(II)V .registers 4 .line 36 iget v0, p0, Lcn/jzvd/JZResizeTextureView;->currentVideoWidth:I if-ne v0, p1, :cond_8 iget v0, p0, Lcn/jzvd/JZResizeTextureView;->currentVideoHeight:I if-eq v0, p2, :cond_f .line 37 :cond_8 iput p1, p0, Lcn/jzvd/JZResizeTextureView;->currentVideoWidth:I .line 38 iput p2, p0, Lcn/jzvd/JZResizeTextureView;->currentVideoHeight:I .line 39 invoke-virtual {p0}, Lcn/jzvd/JZResizeTextureView;->requestLayout()V :cond_f return-void .end method