PhotoDetailViewPager.smali
.class public Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;
.super Landroid/support/v4/view/ViewPager;
.source "PhotoDetailViewPager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
}
.end annotation
# static fields
.field private static final ZOOM_MAX:F = 0.5f
# instance fields
.field private mObjs:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap",
"<",
"Ljava/lang/Integer;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field private mScale:F
.field private mState:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
.field private oldPage:I
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 33
invoke-direct {p0, p1}, Landroid/support/v4/view/ViewPager;-><init>(Landroid/content/Context;)V
.line 17
new-instance v0, Ljava/util/LinkedHashMap;
invoke-direct {v0}, Ljava/util/LinkedHashMap;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mObjs:Ljava/util/HashMap;
.line 34
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->setClipChildren(Z)V
.line 35
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
.prologue
.line 28
invoke-direct {p0, p1, p2}, Landroid/support/v4/view/ViewPager;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 17
new-instance v0, Ljava/util/LinkedHashMap;
invoke-direct {v0}, Ljava/util/LinkedHashMap;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mObjs:Ljava/util/HashMap;
.line 29
const/4 v0, 0x0
invoke-virtual {p0, v0}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->setClipChildren(Z)V
.line 30
return-void
.end method
.method private animateZoom(Landroid/view/View;Landroid/view/View;FZ)V
.registers 11
.prologue
const/4 v5, 0x1
const/high16 v4, 0x3fc00000 # 1.5f
const/high16 v3, 0x3f800000 # 1.0f
const/high16 v2, 0x3f000000 # 0.5f
.line 85
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mState:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
sget-object v1, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;->IDLE:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
if-eq v0, v1, :cond_5e
.line 86
if-eqz p1, :cond_36
.line 87
invoke-direct {p0, p1, v5}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->manageLayer(Landroid/view/View;Z)V
.line 88
if-eqz p4, :cond_5f
sub-float v0, v3, p3
mul-float/2addr v0, v2
add-float/2addr v0, v2
:goto_18
iput v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mScale:F
.line 89
invoke-virtual {p1}, Landroid/view/View;->getMeasuredWidth()I
move-result v0
int-to-float v0, v0
mul-float/2addr v0, v2
invoke-static {p1, v0}, Lcom/anim/util/ViewHelper;->setPivotX(Landroid/view/View;F)V
.line 90
invoke-virtual {p1}, Landroid/view/View;->getMeasuredHeight()I
move-result v0
int-to-float v0, v0
mul-float/2addr v0, v2
invoke-static {p1, v0}, Lcom/anim/util/ViewHelper;->setPivotY(Landroid/view/View;F)V
.line 91
iget v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mScale:F
invoke-static {p1, v0}, Lcom/anim/util/ViewHelper;->setScaleX(Landroid/view/View;F)V
.line 92
iget v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mScale:F
invoke-static {p1, v0}, Lcom/anim/util/ViewHelper;->setScaleY(Landroid/view/View;F)V
.line 94
:cond_36
if-eqz p2, :cond_5e
.line 95
invoke-direct {p0, p2, v5}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->manageLayer(Landroid/view/View;Z)V
.line 96
if-eqz p4, :cond_65
mul-float v0, v2, p3
add-float/2addr v0, v2
:goto_40
iput v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mScale:F
.line 97
invoke-virtual {p2}, Landroid/view/View;->getMeasuredWidth()I
move-result v0
int-to-float v0, v0
mul-float/2addr v0, v2
invoke-static {p2, v0}, Lcom/anim/util/ViewHelper;->setPivotX(Landroid/view/View;F)V
.line 98
invoke-virtual {p2}, Landroid/view/View;->getMeasuredHeight()I
move-result v0
int-to-float v0, v0
mul-float/2addr v0, v2
invoke-static {p2, v0}, Lcom/anim/util/ViewHelper;->setPivotY(Landroid/view/View;F)V
.line 99
iget v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mScale:F
invoke-static {p2, v0}, Lcom/anim/util/ViewHelper;->setScaleX(Landroid/view/View;F)V
.line 100
iget v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mScale:F
invoke-static {p2, v0}, Lcom/anim/util/ViewHelper;->setScaleY(Landroid/view/View;F)V
.line 103
:cond_5e
return-void
.line 88
:cond_5f
sub-float v0, v3, p3
mul-float/2addr v0, v2
sub-float v0, v4, v0
goto :goto_18
.line 96
:cond_65
mul-float v0, v2, p3
sub-float v0, v4, v0
goto :goto_40
.end method
.method private disableHardwareLayer()V
.registers 5
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.prologue
const/4 v1, 0x0
.line 48
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0xb
if-ge v0, v2, :cond_8
.line 56
:cond_7
return-void
:cond_8
move v0, v1
.line 51
:goto_9
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->getChildCount()I
move-result v2
if-ge v0, v2, :cond_7
.line 52
invoke-virtual {p0, v0}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 53
invoke-virtual {v2}, Landroid/view/View;->getLayerType()I
move-result v3
if-eqz v3, :cond_1d
.line 54
const/4 v3, 0x0
invoke-virtual {v2, v1, v3}, Landroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V
.line 51
:cond_1d
add-int/lit8 v0, v0, 0x1
goto :goto_9
.end method
.method private isSmall(F)Z
.registers 6
.prologue
.line 106
invoke-static {p1}, Ljava/lang/Math;->abs(F)F
move-result v0
float-to-double v0, v0
const-wide v2, 0x3f1a36e2eb1c432dL # 1.0E-4
cmpg-double v0, v0, v2
if-gez v0, :cond_10
const/4 v0, 0x1
:goto_f
return v0
:cond_10
const/4 v0, 0x0
goto :goto_f
.end method
.method private manageLayer(Landroid/view/View;Z)V
.registers 5
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.prologue
.line 39
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xb
if-ge v0, v1, :cond_7
.line 44
:cond_6
:goto_6
return-void
.line 41
:cond_7
if-eqz p2, :cond_15
const/4 v0, 0x2
.line 42
:goto_a
invoke-virtual {p1}, Landroid/view/View;->getLayerType()I
move-result v1
if-eq v0, v1, :cond_6
.line 43
const/4 v1, 0x0
invoke-virtual {p1, v0, v1}, Landroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V
goto :goto_6
.line 41
:cond_15
const/4 v0, 0x0
goto :goto_a
.end method
# virtual methods
.method public findViewFromObject(I)Landroid/view/View;
.registers 8
.prologue
const/4 v1, 0x0
.line 120
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mObjs:Ljava/util/HashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
.line 121
if-nez v3, :cond_f
move-object v0, v1
.line 131
:goto_e
return-object v0
.line 124
:cond_f
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->getAdapter()Landroid/support/v4/view/PagerAdapter;
move-result-object v4
.line 126
const/4 v0, 0x0
:goto_14
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->getChildCount()I
move-result v2
if-ge v0, v2, :cond_29
.line 127
invoke-virtual {p0, v0}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->getChildAt(I)Landroid/view/View;
move-result-object v2
.line 128
invoke-virtual {v4, v2, v3}, Landroid/support/v4/view/PagerAdapter;->isViewFromObject(Landroid/view/View;Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_26
move-object v0, v2
.line 129
goto :goto_e
.line 126
:cond_26
add-int/lit8 v0, v0, 0x1
goto :goto_14
:cond_29
move-object v0, v1
.line 131
goto :goto_e
.end method
.method public onPageScrolled(IFI)V
.registers 9
.prologue
const/4 v1, 0x1
const/4 v2, 0x0
.line 60
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mState:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
sget-object v3, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;->IDLE:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
if-ne v0, v3, :cond_1a
cmpl-float v0, p2, v2
if-lez v0, :cond_1a
.line 61
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->getCurrentItem()I
move-result v0
iput v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->oldPage:I
.line 62
iget v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->oldPage:I
if-ne p1, v0, :cond_4e
sget-object v0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;->GOING_RIGHT:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
:goto_18
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mState:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
.line 64
:cond_1a
iget v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->oldPage:I
if-ne p1, v0, :cond_51
move v0, v1
.line 65
:goto_1f
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mState:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
sget-object v4, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;->GOING_RIGHT:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
if-ne v3, v4, :cond_53
if-nez v0, :cond_53
.line 66
sget-object v0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;->GOING_LEFT:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mState:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
.line 70
:cond_2b
:goto_2b
invoke-direct {p0, p2}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->isSmall(F)Z
move-result v0
if-eqz v0, :cond_60
move v0, v2
.line 72
:goto_32
invoke-virtual {p0, p1}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->findViewFromObject(I)Landroid/view/View;
move-result-object v3
.line 73
add-int/lit8 v4, p1, 0x1
invoke-virtual {p0, v4}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->findViewFromObject(I)Landroid/view/View;
move-result-object v4
.line 74
invoke-direct {p0, v3, v4, v0, v1}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->animateZoom(Landroid/view/View;Landroid/view/View;FZ)V
.line 75
invoke-super {p0, p1, p2, p3}, Landroid/support/v4/view/ViewPager;->onPageScrolled(IFI)V
.line 77
cmpl-float v0, v0, v2
if-nez v0, :cond_4d
.line 78
invoke-direct {p0}, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->disableHardwareLayer()V
.line 79
sget-object v0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;->IDLE:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mState:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
.line 82
:cond_4d
return-void
.line 62
:cond_4e
sget-object v0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;->GOING_LEFT:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
goto :goto_18
.line 64
:cond_51
const/4 v0, 0x0
goto :goto_1f
.line 67
:cond_53
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mState:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
sget-object v4, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;->GOING_LEFT:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
if-ne v3, v4, :cond_2b
if-eqz v0, :cond_2b
.line 68
sget-object v0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;->GOING_RIGHT:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mState:Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager$State;
goto :goto_2b
:cond_60
move v0, p2
.line 70
goto :goto_32
.end method
.method public removeObjectForPosition(I)V
.registers 4
.prologue
.line 114
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mObjs:Ljava/util/HashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_15
.line 115
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mObjs:Ljava/util/HashMap;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 117
:cond_15
return-void
.end method
.method public setObjectForPosition(Ljava/lang/Object;I)V
.registers 5
.prologue
.line 110
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/junk/ui/widget/PhotoDetailViewPager;->mObjs:Ljava/util/HashMap;
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v0, v1, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 111
return-void
.end method