KPSwitchFSPanelLayoutHandler.smali

.class public Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;
.super Ljava/lang/Object;
.source "KPSwitchFSPanelLayoutHandler.java"

# interfaces
.implements Lcn/dreamtobe/kpswitch/IFSPanelConflictLayout;


# instance fields
.field private isKeyboardShowing:Z

.field private final panelLayout:Landroid/view/View;

.field private recordedFocusView:Landroid/view/View;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(Landroid/view/View;)V
    .registers 2
    .param p1, "panelLayout"    # Landroid/view/View;

    .line 34
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 35
    iput-object p1, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->panelLayout:Landroid/view/View;

    .line 36
    return-void
.end method

.method private restoreFocusView()V
    .registers 3

    .line 73
    iget-object v0, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->panelLayout:Landroid/view/View;

    const/4 v1, 0x4

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    .line 74
    iget-object v0, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->recordedFocusView:Landroid/view/View;

    invoke-static {v0}, Lcn/dreamtobe/kpswitch/util/KeyboardUtil;->showKeyboard(Landroid/view/View;)V

    .line 76
    return-void
.end method

.method private saveFocusView(Landroid/view/View;)V
    .registers 4
    .param p1, "focusView"    # Landroid/view/View;

    .line 67
    iput-object p1, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->recordedFocusView:Landroid/view/View;

    .line 68
    invoke-virtual {p1}, Landroid/view/View;->clearFocus()V

    .line 69
    iget-object v0, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->panelLayout:Landroid/view/View;

    const/16 v1, 0x8

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    .line 70
    return-void
.end method


# virtual methods
.method public onKeyboardShowing(Z)V
    .registers 4
    .param p1, "showing"    # Z

    .line 39
    iput-boolean p1, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->isKeyboardShowing:Z

    .line 40
    if-nez p1, :cond_14

    iget-object v0, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->panelLayout:Landroid/view/View;

    invoke-virtual {v0}, Landroid/view/View;->getVisibility()I

    move-result v0

    const/4 v1, 0x4

    if-ne v0, v1, :cond_14

    .line 41
    iget-object v0, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->panelLayout:Landroid/view/View;

    const/16 v1, 0x8

    invoke-virtual {v0, v1}, Landroid/view/View;->setVisibility(I)V

    .line 44
    :cond_14
    if-nez p1, :cond_20

    iget-object v0, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->recordedFocusView:Landroid/view/View;

    if-eqz v0, :cond_20

    .line 45
    invoke-direct {p0}, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->restoreFocusView()V

    .line 46
    const/4 v0, 0x0

    iput-object v0, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->recordedFocusView:Landroid/view/View;

    .line 48
    :cond_20
    return-void
.end method

.method public recordKeyboardStatus(Landroid/view/Window;)V
    .registers 4
    .param p1, "window"    # Landroid/view/Window;

    .line 52
    invoke-virtual {p1}, Landroid/view/Window;->getCurrentFocus()Landroid/view/View;

    move-result-object v0

    .line 53
    .local v0, "focusView":Landroid/view/View;
    if-nez v0, :cond_7

    .line 54
    return-void

    .line 57
    :cond_7
    iget-boolean v1, p0, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->isKeyboardShowing:Z

    if-eqz v1, :cond_f

    .line 58
    invoke-direct {p0, v0}, Lcn/dreamtobe/kpswitch/handler/KPSwitchFSPanelLayoutHandler;->saveFocusView(Landroid/view/View;)V

    goto :goto_12

    .line 60
    :cond_f
    invoke-virtual {v0}, Landroid/view/View;->clearFocus()V

    .line 62
    :goto_12
    return-void
.end method