package org.techbooster.app.abc.fragments;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.Toast;
import com.sys1yagi.indirectinjector.IndirectInjector;
import org.techbooster.app.abc.R;
import org.techbooster.app.abc.controllers.ActionBarController;
import javax.inject.Inject;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
public class AccessFragment extends Fragment {
@InjectView(R.id.open_map_button)
Button mOpenMapButton;
@InjectView(R.id.access_webview)
WebView mWebView;
@Inject
private ActionBarController mActionBarController;
public static AccessFragment newInstance() {
AccessFragment fragment = new AccessFragment();
return fragment;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
IndirectInjector.inject(getActivity(), this);
mActionBarController.setTitle(R.string.menu_map);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(
R.layout.fragment_access, null, false);
ButterKnife.inject(this, view);
mWebView.loadUrl(getString(R.string.map_asset_html));
mWebView.getSettings().setJavaScriptEnabled(false);
return view;
}
@OnClick(R.id.open_map_button) void openMap() {
final String action = android.content.Intent.ACTION_VIEW;
final Uri uri = Uri.parse(getString(R.string.map_link));
try {
// Open with Maps app
final Intent intent = new Intent(action, uri);
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
} catch (ActivityNotFoundException e) {
// fall-back, do not specify app
try {
final Intent intent = new Intent(action, uri);
startActivity(intent);
} catch (ActivityNotFoundException e2) {
Toast.makeText(getActivity().getApplicationContext(), R.string.map_apps_not_found_error, Toast.LENGTH_SHORT);
}
}
}
}