FullScreenView.smali
.class public Lcn/jpush/android/ui/FullScreenView;
.super Landroid/widget/LinearLayout;
# static fields
.field private static final TAG:Ljava/lang/String; = "FullScreenView"
.field public static webViewHelper:Lcn/jpush/android/j/a/f;
# instance fields
.field private btnBackClickListener:Landroid/view/View$OnClickListener;
.field private imgBtnBack:Landroid/widget/ImageButton;
.field private final mContext:Landroid/content/Context;
.field private mWebView:Landroid/webkit/WebView;
.field private pushPrograssBar:Landroid/widget/ProgressBar;
.field private rlTitleBar:Landroid/widget/RelativeLayout;
.field private tvTitle:Landroid/widget/TextView;
# direct methods
.method static constructor <clinit>()V
.registers 1
const/4 v0, 0x0
sput-object v0, Lcn/jpush/android/ui/FullScreenView;->webViewHelper:Lcn/jpush/android/j/a/f;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
invoke-direct {p0, p1, p2}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
new-instance v0, Lcn/jpush/android/ui/FullScreenView$1;
invoke-direct {v0, p0}, Lcn/jpush/android/ui/FullScreenView$1;-><init>(Lcn/jpush/android/ui/FullScreenView;)V
iput-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->btnBackClickListener:Landroid/view/View$OnClickListener;
iput-object p1, p0, Lcn/jpush/android/ui/FullScreenView;->mContext:Landroid/content/Context;
return-void
.end method
.method static synthetic access$000(Lcn/jpush/android/ui/FullScreenView;)Landroid/content/Context;
.registers 2
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mContext:Landroid/content/Context;
return-object v0
.end method
.method static synthetic access$100(Lcn/jpush/android/ui/FullScreenView;)Landroid/webkit/WebView;
.registers 2
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
return-object v0
.end method
.method private quitFullScreen()V
.registers 3
:try_start_0
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mContext:Landroid/content/Context;
check-cast v0, Landroid/app/Activity;
invoke-virtual {v0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object v1
iget v0, v1, Landroid/view/WindowManager$LayoutParams;->flags:I
and-int/lit16 v0, v0, -0x401
iput v0, v1, Landroid/view/WindowManager$LayoutParams;->flags:I
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mContext:Landroid/content/Context;
check-cast v0, Landroid/app/Activity;
invoke-virtual {v0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0, v1}, Landroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mContext:Landroid/content/Context;
check-cast v0, Landroid/app/Activity;
invoke-virtual {v0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
const/16 v1, 0x200
invoke-virtual {v0, v1}, Landroid/view/Window;->clearFlags(I)V
:try_end_2a
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_2a} :catch_2b
:goto_2a
return-void
:catch_2b
move-exception v0
const-string v0, "FullScreenView"
const-string v1, "quitFullScreen errno"
invoke-static {v0, v1}, Lcn/jpush/android/helper/Logger;->w(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_2a
.end method
.method private reflectAddJsInterface()V
.registers 6
const/4 v1, 0x2
const/4 v4, 0x1
const/4 v3, 0x0
new-array v0, v1, [Ljava/lang/Object;
new-array v1, v1, [Ljava/lang/Class;
sget-object v2, Lcn/jpush/android/ui/FullScreenView;->webViewHelper:Lcn/jpush/android/j/a/f;
aput-object v2, v0, v3
const-string v2, "JPushWeb"
aput-object v2, v0, v4
const-class v2, Ljava/lang/Object;
aput-object v2, v1, v3
const-class v2, Ljava/lang/String;
aput-object v2, v1, v4
:try_start_17
iget-object v2, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
const-string v3, "addJavascriptInterface"
invoke-static {v2, v3, v1, v0}, Lcn/jpush/android/i/d;->a(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_17 .. :try_end_1e} :catch_1f
:goto_1e
return-void
:catch_1f
move-exception v0
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
const-string v1, "FullScreenView"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "addJavascriptInterface failed:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcn/jpush/android/helper/Logger;->e(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_1e
.end method
# virtual methods
.method public destory()V
.registers 2
invoke-virtual {p0}, Lcn/jpush/android/ui/FullScreenView;->removeAllViews()V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_19
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0}, Landroid/webkit/WebView;->removeAllViews()V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0}, Landroid/webkit/WebView;->clearSslPreferences()V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0}, Landroid/webkit/WebView;->destroy()V
const/4 v0, 0x0
iput-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
:cond_19
return-void
.end method
.method public initModule(Landroid/content/Context;Lcn/jpush/android/c/d;)V
.registers 10
const/16 v6, 0x400
const/4 v5, 0x1
iget-object v1, p2, Lcn/jpush/android/c/d;->O:Ljava/lang/String;
invoke-virtual {p0, v5}, Lcn/jpush/android/ui/FullScreenView;->setFocusable(Z)V
invoke-virtual {p0}, Lcn/jpush/android/ui/FullScreenView;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v2, "fullWebView"
const-string v3, "id"
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v0, v2, v3, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
invoke-virtual {p0, v0}, Lcn/jpush/android/ui/FullScreenView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/webkit/WebView;
iput-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {p0}, Lcn/jpush/android/ui/FullScreenView;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v2, "rlRichpushTitleBar"
const-string v3, "id"
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v0, v2, v3, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
invoke-virtual {p0, v0}, Lcn/jpush/android/ui/FullScreenView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/RelativeLayout;
iput-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->rlTitleBar:Landroid/widget/RelativeLayout;
invoke-virtual {p0}, Lcn/jpush/android/ui/FullScreenView;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v2, "tvRichpushTitle"
const-string v3, "id"
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v0, v2, v3, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
invoke-virtual {p0, v0}, Lcn/jpush/android/ui/FullScreenView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/TextView;
iput-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->tvTitle:Landroid/widget/TextView;
invoke-virtual {p0}, Lcn/jpush/android/ui/FullScreenView;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v2, "imgRichpushBtnBack"
const-string v3, "id"
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v0, v2, v3, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
invoke-virtual {p0, v0}, Lcn/jpush/android/ui/FullScreenView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageButton;
iput-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->imgBtnBack:Landroid/widget/ImageButton;
invoke-virtual {p0}, Lcn/jpush/android/ui/FullScreenView;->getResources()Landroid/content/res/Resources;
move-result-object v0
const-string v2, "pushPrograssBar"
const-string v3, "id"
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v0, v2, v3, v4}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
move-result v0
invoke-virtual {p0, v0}, Lcn/jpush/android/ui/FullScreenView;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ProgressBar;
iput-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->pushPrograssBar:Landroid/widget/ProgressBar;
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_90
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->rlTitleBar:Landroid/widget/RelativeLayout;
if-eqz v0, :cond_90
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->tvTitle:Landroid/widget/TextView;
if-eqz v0, :cond_90
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->imgBtnBack:Landroid/widget/ImageButton;
if-nez v0, :cond_9e
:cond_90
const-string v0, "FullScreenView"
const-string v2, "Please use default code in jpush_webview_layout.xml!"
invoke-static {v0, v2}, Lcn/jpush/android/helper/Logger;->ee(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mContext:Landroid/content/Context;
check-cast v0, Landroid/app/Activity;
invoke-virtual {v0}, Landroid/app/Activity;->finish()V
:cond_9e
iget v0, p2, Lcn/jpush/android/c/d;->R:I
if-ne v5, v0, :cond_10a
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->rlTitleBar:Landroid/widget/RelativeLayout;
const/16 v1, 0x8
invoke-virtual {v0, v1}, Landroid/widget/RelativeLayout;->setVisibility(I)V
move-object v0, p1
check-cast v0, Landroid/app/Activity;
invoke-virtual {v0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0, v6, v6}, Landroid/view/Window;->setFlags(II)V
:goto_b3
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0, v5}, Landroid/webkit/WebView;->setScrollbarFadingEnabled(Z)V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
const/high16 v1, 0x2000000
invoke-virtual {v0, v1}, Landroid/webkit/WebView;->setScrollBarStyle(I)V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
move-result-object v0
invoke-static {v0}, Lcn/jpush/android/i/a;->a(Landroid/webkit/WebSettings;)V
iget-object v1, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-static {v1}, Lcn/jpush/android/i/a;->a(Landroid/webkit/WebView;)V
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/webkit/WebSettings;->setSavePassword(Z)V
new-instance v0, Lcn/jpush/android/j/a/f;
invoke-direct {v0, p1, p2}, Lcn/jpush/android/j/a/f;-><init>(Landroid/content/Context;Lcn/jpush/android/c/d;)V
sput-object v0, Lcn/jpush/android/ui/FullScreenView;->webViewHelper:Lcn/jpush/android/j/a/f;
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x11
if-lt v0, v1, :cond_e8
const-string v0, "FullScreenView"
const-string v1, "Android sdk version greater than or equal to 17, Java\u2014Js interact by annotation!"
invoke-static {v0, v1}, Lcn/jpush/android/helper/Logger;->dd(Ljava/lang/String;Ljava/lang/String;)V
invoke-direct {p0}, Lcn/jpush/android/ui/FullScreenView;->reflectAddJsInterface()V
:cond_e8
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
new-instance v1, Lcn/jpush/android/j/a/a;
const-string v2, "JPushWeb"
const-class v3, Lcn/jpush/android/j/a/b;
iget-object v4, p0, Lcn/jpush/android/ui/FullScreenView;->pushPrograssBar:Landroid/widget/ProgressBar;
iget-object v5, p0, Lcn/jpush/android/ui/FullScreenView;->tvTitle:Landroid/widget/TextView;
invoke-direct {v1, v2, v3, v4, v5}, Lcn/jpush/android/j/a/a;-><init>(Ljava/lang/String;Ljava/lang/Class;Landroid/widget/ProgressBar;Landroid/widget/TextView;)V
invoke-virtual {v0, v1}, Landroid/webkit/WebView;->setWebChromeClient(Landroid/webkit/WebChromeClient;)V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
new-instance v1, Lcn/jpush/android/ui/a;
invoke-direct {v1, p2, p1}, Lcn/jpush/android/ui/a;-><init>(Lcn/jpush/android/c/d;Landroid/content/Context;)V
invoke-virtual {v0, v1}, Landroid/webkit/WebView;->setWebViewClient(Landroid/webkit/WebViewClient;)V
sget-object v0, Lcn/jpush/android/ui/FullScreenView;->webViewHelper:Lcn/jpush/android/j/a/f;
invoke-static {v0}, Lcn/jpush/android/j/a/b;->setWebViewHelper(Lcn/jpush/android/j/a/f;)V
return-void
:cond_10a
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->tvTitle:Landroid/widget/TextView;
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->imgBtnBack:Landroid/widget/ImageButton;
iget-object v1, p0, Lcn/jpush/android/ui/FullScreenView;->btnBackClickListener:Landroid/view/View$OnClickListener;
invoke-virtual {v0, v1}, Landroid/widget/ImageButton;->setOnClickListener(Landroid/view/View$OnClickListener;)V
goto :goto_b3
.end method
.method public loadUrl(Ljava/lang/String;)V
.registers 5
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_21
const-string v0, "FullScreenView"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "loadUrl:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p1}, 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
invoke-static {v0, v1}, Lcn/jpush/android/helper/Logger;->d(Ljava/lang/String;Ljava/lang/String;)V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0, p1}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
:cond_21
return-void
.end method
.method public pause()V
.registers 3
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_f
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xb
if-lt v0, v1, :cond_f
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0}, Landroid/webkit/WebView;->onPause()V
:cond_f
return-void
.end method
.method public resume()V
.registers 3
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_14
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xb
if-lt v0, v1, :cond_f
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0}, Landroid/webkit/WebView;->onResume()V
:cond_f
sget-object v0, Lcn/jpush/android/ui/FullScreenView;->webViewHelper:Lcn/jpush/android/j/a/f;
invoke-static {v0}, Lcn/jpush/android/j/a/b;->setWebViewHelper(Lcn/jpush/android/j/a/f;)V
:cond_14
return-void
.end method
.method public showTitleBar()V
.registers 5
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->rlTitleBar:Landroid/widget/RelativeLayout;
if-eqz v0, :cond_2e
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->rlTitleBar:Landroid/widget/RelativeLayout;
invoke-virtual {v0}, Landroid/widget/RelativeLayout;->getVisibility()I
move-result v0
const/16 v1, 0x8
if-ne v0, v1, :cond_2e
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->rlTitleBar:Landroid/widget/RelativeLayout;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/widget/RelativeLayout;->setVisibility(I)V
invoke-direct {p0}, Lcn/jpush/android/ui/FullScreenView;->quitFullScreen()V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->imgBtnBack:Landroid/widget/ImageButton;
iget-object v1, p0, Lcn/jpush/android/ui/FullScreenView;->btnBackClickListener:Landroid/view/View$OnClickListener;
invoke-virtual {v0, v1}, Landroid/widget/ImageButton;->setOnClickListener(Landroid/view/View$OnClickListener;)V
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_2e
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
new-instance v1, Lcn/jpush/android/ui/FullScreenView$2;
invoke-direct {v1, p0}, Lcn/jpush/android/ui/FullScreenView$2;-><init>(Lcn/jpush/android/ui/FullScreenView;)V
const-wide/16 v2, 0x3e8
invoke-virtual {v0, v1, v2, v3}, Landroid/webkit/WebView;->postDelayed(Ljava/lang/Runnable;J)Z
:cond_2e
return-void
.end method
.method public webviewCanGoBack()Z
.registers 2
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_b
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0}, Landroid/webkit/WebView;->canGoBack()Z
move-result v0
:goto_a
return v0
:cond_b
const/4 v0, 0x0
goto :goto_a
.end method
.method public webviewGoBack()V
.registers 2
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
if-eqz v0, :cond_9
iget-object v0, p0, Lcn/jpush/android/ui/FullScreenView;->mWebView:Landroid/webkit/WebView;
invoke-virtual {v0}, Landroid/webkit/WebView;->goBack()V
:cond_9
return-void
.end method