package com.integreight.onesheeld.shields.controller.utils; import android.app.Activity; import android.app.Dialog; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.CompoundButton; import android.widget.ScrollView; import android.widget.TextView; import android.widget.ToggleButton; import com.integreight.onesheeld.R; /** * Created by Saad on 1/29/15. */ public class InternetResponsePopup extends Dialog { Activity activity; WebView webView; ScrollView scroll; String response; String webResponse; public InternetResponsePopup(Activity activity, String webResponse, String value) { super(activity, android.R.style.Theme_Translucent_NoTitleBar); this.activity = activity; this.response = value; this.webResponse = webResponse; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.internet_popup_view); scroll = (ScrollView) findViewById(R.id.responseScroll); webView = (WebView) findViewById(R.id.responseWeb); webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { if (isShowing()) { ((TextView) findViewById(R.id.redirecting)).setText(activity.getString(R.string.internet_redirecting_to)+" " + url); findViewById(R.id.redirecting).setVisibility(View.VISIBLE); webView.loadUrl(url); return true; } return false; //Allow WebView to load url } @Override public void onPageFinished(WebView view, String url) { findViewById(R.id.redirecting).setVisibility(View.INVISIBLE); super.onPageFinished(view, url); } }); ((TextView) scroll.getChildAt(0)).setText(response); ((ToggleButton) findViewById(R.id.responseToggle)).setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if (b) { scroll.setVisibility(View.INVISIBLE); ((ViewGroup) webView.getParent()).setVisibility(View.VISIBLE); String mime = "text/html"; String encoding = "utf-8"; webView.getSettings().setJavaScriptEnabled(true); webView.loadDataWithBaseURL(null, webResponse, mime, encoding, null); } else { scroll.setVisibility(View.VISIBLE); ((ViewGroup) webView.getParent()).setVisibility(View.INVISIBLE); ((TextView) scroll.getChildAt(0)).setText(response); } } }); findViewById(R.id.cancelPopup).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { cancel(); } }); } @Override public void setOnCancelListener(OnCancelListener listener) { webView.destroy(); super.setOnCancelListener(listener); } }