package oak.web;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import oak.OAK;
/**
* Activity that takes a url and displays it inside an OakWebViewFragment with Navigation
* Created by ericrichardson on 1/9/14.
*/
public class WebViewActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
if (!getIntent().hasExtra(OAK.EXTRA_URL)) {
throw new IllegalArgumentException("You must include a URL extra using OAK.EXTRA_URL in the bundle for this activity");
}
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
OakWebViewFragment.BundleBuilder builder = new OakWebViewFragment.BundleBuilder(getIntent().getExtras());
builder.openInBrowserEnabled(true);
fragmentTransaction.add(android.R.id.content, OakWebViewFragment.getInstance(builder.build()));
fragmentTransaction.commit();
}
}
public static Intent getIntent(Context context, Bundle bundle) {
Intent intent = new Intent(context, WebViewActivity.class);
intent.putExtras(bundle);
return intent;
}
public static void startWebActivity(Context context, String url) {
OakWebViewFragment.BundleBuilder builder = new OakWebViewFragment.BundleBuilder(url);
context.startActivity(getIntent(context, builder.build()));
}
public static void startWebActivity(Context context, Bundle bundle) {
context.startActivity(getIntent(context, bundle));
}
@Override
public void onBackPressed() {
if (((OakWebViewFragment) getSupportFragmentManager().findFragmentById(android.R.id.content)).canGoBack()) {
((OakWebViewFragment) getSupportFragmentManager().findFragmentById(android.R.id.content)).back();
} else {
super.onBackPressed();
}
}
}