package
com.re3icon.hackerspass;
import
android.R.string;
import
android.support.v7.app.ActionBarActivity;
import
android.support.v7.app.ActionBar;
import
android.support.v4.app.Fragment;
import
android.annotation.SuppressLint;
import
android.content.ActivityNotFoundException;
import
android.content.Intent;
import
android.net.Uri;
import
android.net.http.SslError;
import
android.os.Bundle;
import
android.os.Handler;
import
android.util.Log;
import
android.view.KeyEvent;
import
android.view.LayoutInflater;
import
android.view.Menu;
import
android.view.MenuItem;
import
android.view.View;
import
android.view.ViewGroup;
import
android.webkit.SslErrorHandler;
import
android.webkit.WebChromeClient;
import
android.webkit.WebSettings.PluginState;
import
android.webkit.WebView;
import
android.webkit.WebViewClient;
import
android.os.Build;
import
android.provider.Browser;
import
android.webkit.WebSettings;
@SuppressLint
(
"SetJavaScriptEnabled"
)
public
class
MainActivity
extends
ActionBarActivity {
private
final
Handler handler =
new
Handler();
WebView webView1;
WebChromeClient testClient =
new
WebChromeClient();
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if
(savedInstanceState ==
null
) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container,
new
PlaceholderFragment())
.commit();
}
webView1 = (WebView) findViewById(R.id.webView1);
webView1.getSettings().setJavaScriptEnabled(
true
);
webView1.getSettings().setPluginState(PluginState. ON);
webView1.getSettings().setSupportMultipleWindows(
true
);
webView1.getSettings().setJavaScriptCanOpenWindowsAutomatically(
true
);
webView1.setWebChromeClient(testClient);
webView1.setWebViewClient(
new
re3iconWebViewClient());
}
@Override
public
boolean
onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return
true
;
}
@Override
public
boolean
onOptionsItemSelected(MenuItem item) {
int
id = item.getItemId();
if
(id == R.id.action_settings) {
return
true
;
}
return
super
.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public
static
class
PlaceholderFragment
extends
Fragment {
public
PlaceholderFragment() {
}
@Override
public
View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false
);
return
rootView;
}
}
public
boolean
onKeyDown(
int
keyCode, KeyEvent event){
if
( (keyCode == KeyEvent.KEYCODE_BACK) && webView1.canGoBack()){
webView1.goBack();
return
true
;
}
return
super
.onKeyDown(keyCode, event);
}
private
class
re3iconWebViewClient
extends
WebViewClient{
public
void
onReceivedSslError(WebView view, SslErrorHandler handler,
SslError error) {
super
.onReceivedSslError(view, handler, error);
handler.proceed();
}
public
boolean
shouldOverrideUrlLoading(WebView view, String url){
if
( url.contains(
"cddr_dnp"
)){
loadIntent(url);
return
false
;
}
else
{
view.loadUrl(url);
return
true
;
}
}
public
void
loadIntent(String url){
Uri cp_uri = Uri.parse(url);
Intent intent =
new
Intent( Intent.ACTION_VIEW, cp_uri);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.putExtra(Browser.EXTRA_APPLICATION_ID, getPackageName());
try
{
startActivity( intent );
}
catch
( ActivityNotFoundException ex){
}
}
}
}