KeyboardVisibilityEvent.smali
.class public Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/KeyboardVisibilityEvent;
.super Ljava/lang/Object;
# static fields
.field private static final KEYBOARD_VISIBLE_THRESHOLD_DP:I = 0x64
# direct methods
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static getActivityRoot(Landroid/app/Activity;)Landroid/view/View;
.registers 3
const v0, 0x1020002
invoke-virtual {p0, v0}, Landroid/app/Activity;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/view/ViewGroup;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method public static isKeyboardVisible(Landroid/app/Activity;)Z
.registers 4
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/KeyboardVisibilityEvent;->getActivityRoot(Landroid/app/Activity;)Landroid/view/View;
move-result-object v1
const/high16 v2, 0x42c80000 # 100.0f
invoke-static {p0, v2}, Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/util/UIUtil;->convertDpToPx(Landroid/content/Context;F)F
move-result v2
invoke-static {v2}, Ljava/lang/Math;->round(F)I
move-result v2
invoke-virtual {v1, v0}, Landroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V
invoke-virtual {v1}, Landroid/view/View;->getRootView()Landroid/view/View;
move-result-object v1
invoke-virtual {v1}, Landroid/view/View;->getHeight()I
move-result v1
invoke-virtual {v0}, Landroid/graphics/Rect;->height()I
move-result v0
sub-int v0, v1, v0
if-le v0, v2, :cond_28
const/4 v0, 0x1
:goto_27
return v0
:cond_28
const/4 v0, 0x0
goto :goto_27
.end method
.method public static setEventListener(Landroid/app/Activity;Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/KeyboardVisibilityEventListener;)V
.registers 6
if-nez p0, :cond_b
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "Parameter:activity must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_b
if-nez p1, :cond_16
new-instance v0, Ljava/lang/NullPointerException;
const-string/jumbo v1, "Parameter:listener must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
:cond_16
invoke-static {p0}, Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/KeyboardVisibilityEvent;->getActivityRoot(Landroid/app/Activity;)Landroid/view/View;
move-result-object v0
new-instance v1, Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/KeyboardVisibilityEvent$1;
invoke-direct {v1, p0, v0, p1}, Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/KeyboardVisibilityEvent$1;-><init>(Landroid/app/Activity;Landroid/view/View;Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/KeyboardVisibilityEventListener;)V
invoke-virtual {v0}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object v2
invoke-virtual {v2, v1}, Landroid/view/ViewTreeObserver;->addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
invoke-virtual {p0}, Landroid/app/Activity;->getApplication()Landroid/app/Application;
move-result-object v2
new-instance v3, Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/KeyboardVisibilityEvent$2;
invoke-direct {v3, p0, v0, v1}, Lcom/sdk/orion/ui/baselibrary/utils/keyboardvisibilityevent/KeyboardVisibilityEvent$2;-><init>(Landroid/app/Activity;Landroid/view/View;Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
invoke-virtual {v2, v3}, Landroid/app/Application;->registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
return-void
.end method