//package org.org.apprunner.protocoder.fragments;
//
////Created by plusminus on 00:23:14 - 03.10.2008
//
//import org.osmdroid.ResourceProxy;
//import org.osmdroid.tileprovider.tilesource.ITileSource;
//import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
//import org.osmdroid.tileprovider.util.CloudmadeUtil;
//import org.osmdroid.util.ResourceProxyImpl;
//import org.osmdroid.views.MapView;
//import org.osmdroid.views.overlay.MinimapOverlay;
//import org.osmdroid.views.overlay.ScaleBarOverlay;
//import org.osmdroid.views.overlay.compass.CompassOverlay;
//import org.osmdroid.views.overlay.compass.InternalCompassOrientationProvider;
//import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider;
//import org.osmdroid.views.overlay.mylocation.MyLocationNewOverlay;
//
//import android.annotation.TargetApi;
//import android.content.Context;
//import android.content.SharedPreferences;
//import android.os.Build;
//import android.os.Bundle;
//import android.support.v4.app.Fragment;
//import android.support.v4.app.FragmentManager;
//import android.util.DisplayMetrics;
//import android.view.LayoutInflater;
//import android.view.Menu;
//import android.view.MenuInflater;
//import android.view.MenuItem;
//import android.view.MenuItem.OnMenuItemClickListener;
//import android.view.SubMenu;
//import android.view.View;
//import android.view.ViewGroup;
//
///**
// * Default map view activity.
// *
// * @author Marc Kurtz
// * @author Manuel Stahl
// *
// */
//public class MapFragment extends Fragment implements OpenStreetMapConstants {
// // ===========================================================
// // Constants
// // ===========================================================
//
// private static final int DIALOG_ABOUT_ID = 1;
//
// private static final int MENU_SAMPLES = Menu.FIRST + 1;
// private static final int MENU_ABOUT = MENU_SAMPLES + 1;
//
// private static final int MENU_LAST_ID = MENU_ABOUT + 1; // Always set to
// // last unused id
//
// // ===========================================================
// // Fields
// // ===========================================================
//
// private SharedPreferences mPrefs;
// private MapView mMapView;
// private MyLocationNewOverlay mLocationOverlay;
// private CompassOverlay mCompassOverlay;
// private MinimapOverlay mMinimapOverlay;
// private ScaleBarOverlay mScaleBarOverlay;
// private RotationGestureOverlay mRotationGestureOverlay;
// private ResourceProxy mResourceProxy;
//
// @Override
// public void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
// }
//
// @Override
// public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// mResourceProxy = new ResourceProxyImpl(inflater.getContext().getApplicationContext());
// mMapView = new MapView(inflater.getContext(), 256, mResourceProxy);
// mMapView.setUseSafeCanvas(true);
// setHardwareAccelerationOff();
// return mMapView;
// }
//
// @TargetApi(Build.VERSION_CODES.HONEYCOMB)
// private void setHardwareAccelerationOff() {
// // Turn off hardware acceleration here, or in manifest
// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// mMapView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
// }
// }
//
// @Override
// public void onActivityCreated(Bundle savedInstanceState) {
// super.onActivityCreated(savedInstanceState);
//
// final Context mainScriptContext = this.getActivity();
// final DisplayMetrics dm = mainScriptContext.getResources().getDisplayMetrics();
// // mResourceProxy = new
// // ResourceProxyImpl(getActivity().getApplicationContext());
//
// mPrefs = mainScriptContext.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
//
// // only do static initialisation if needed
// if (CloudmadeUtil.getCloudmadeKey().length() == 0) {
// CloudmadeUtil.retrieveCloudmadeKey(mainScriptContext.getApplicationContext());
// }
//
// this.mCompassOverlay = new CompassOverlay(mainScriptContext, new InternalCompassOrientationProvider(mainScriptContext), mMapView);
// this.mLocationOverlay = new MyLocationNewOverlay(mainScriptContext, new GpsMyLocationProvider(mainScriptContext), mMapView);
//
// mMinimapOverlay = new MinimapOverlay(getActivity(), mMapView.getTileRequestCompleteHandler());
// mMinimapOverlay.setWidth(dm.widthPixels / 5);
// mMinimapOverlay.setHeight(dm.heightPixels / 5);
//
// mScaleBarOverlay = new ScaleBarOverlay(mainScriptContext);
// mScaleBarOverlay.setCentred(true);
// mScaleBarOverlay.setScaleBarOffset(dm.widthPixels / 2, 10);
//
// mRotationGestureOverlay = new RotationGestureOverlay(mainScriptContext, mMapView);
// mRotationGestureOverlay.setEnabled(false);
//
// mMapView.setBuiltInZoomControls(true);
// mMapView.setMultiTouchControls(true);
// mMapView.getOverlays().add(this.mLocationOverlay);
// mMapView.getOverlays().add(this.mCompassOverlay);
// mMapView.getOverlays().add(this.mMinimapOverlay);
// mMapView.getOverlays().add(this.mScaleBarOverlay);
// mMapView.getOverlays().add(this.mRotationGestureOverlay);
//
// mMapView.getController().setZoom(mPrefs.getInt(PREFS_ZOOM_LEVEL, 1));
// mMapView.scrollTo(mPrefs.getInt(PREFS_SCROLL_X, 0), mPrefs.getInt(PREFS_SCROLL_Y, 0));
//
// mLocationOverlay.enableMyLocation();
// mCompassOverlay.enableCompass();
//
// setHasOptionsMenu(true);
// }
//
// @Override
// public void onPause() {
// final SharedPreferences.Editor edit = mPrefs.edit();
// edit.putString(PREFS_TILE_SOURCE, mMapView.getTileProvider().getTileSource().name());
// edit.putInt(PREFS_SCROLL_X, mMapView.getScrollX());
// edit.putInt(PREFS_SCROLL_Y, mMapView.getScrollY());
// edit.putInt(PREFS_ZOOM_LEVEL, mMapView.getZoomLevel());
// edit.putBoolean(PREFS_SHOW_LOCATION, mLocationOverlay.isMyLocationEnabled());
// edit.putBoolean(PREFS_SHOW_COMPASS, mCompassOverlay.isCompassEnabled());
// edit.commit();
//
// this.mLocationOverlay.disableMyLocation();
// this.mCompassOverlay.disableCompass();
//
// super.onPause();
// }
//
// @Override
// public void onResume() {
// super.onResume();
// final String tileSourceName = mPrefs.getString(PREFS_TILE_SOURCE, TileSourceFactory.DEFAULT_TILE_SOURCE.name());
// try {
// final ITileSource tileSource = TileSourceFactory.getTileSource(tileSourceName);
// mMapView.setTileSource(tileSource);
// } catch (final IllegalArgumentException ignore) {
// }
// if (mPrefs.getBoolean(PREFS_SHOW_LOCATION, false)) {
// this.mLocationOverlay.enableMyLocation();
// }
// if (mPrefs.getBoolean(PREFS_SHOW_COMPASS, false)) {
// this.mCompassOverlay.enableCompass();
// }
// }
//
// @Override
// public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// // Put overlay items first
// mMapView.getOverlayManager().onCreateOptionsMenu(menu, MENU_LAST_ID, mMapView);
//
// // Put samples next
// SubMenu samplesSubMenu = menu.addSubMenu(0, MENU_SAMPLES, Menu.NONE, R.string.samples).setIcon(
// android.R.drawable.ic_menu_gallery);
// SampleFactory sampleFactory = SampleFactory.getInstance();
// for (int a = 0; a < sampleFactory.count(); a++) {
// final BaseSampleFragment f = sampleFactory.getSample(a);
// samplesSubMenu.add(f.getSampleTitle()).setOnMenuItemClickListener(new OnMenuItemClickListener() {
// @Override
// public boolean onMenuItemClick(MenuItem item) {
// startSampleFragment(f);
// return true;
// }
// });
// }
//
// // Put "About" menu item last
// menu.add(0, MENU_ABOUT, Menu.CATEGORY_SECONDARY, R.string.about).setIcon(
// android.R.drawable.ic_menu_info_details);
//
// super.onCreateOptionsMenu(menu, inflater);
// }
//
// protected void startSampleFragment(Fragment fragment) {
// FragmentManager fm = getFragmentManager();
// fm.beginTransaction().hide(this).add(android.R.id.content, fragment, "SampleFragment").addToBackStack(null)
// .commit();
// }
//
// @Override
// public void onPrepareOptionsMenu(final Menu pMenu) {
// mMapView.getOverlayManager().onPrepareOptionsMenu(pMenu, MENU_LAST_ID, mMapView);
// super.onPrepareOptionsMenu(pMenu);
// }
//
// @Override
// public boolean onOptionsItemSelected(MenuItem item) {
// if (mMapView.getOverlayManager().onOptionsItemSelected(item, MENU_LAST_ID, mMapView)) {
// return true;
// }
//
// switch (item.getItemId()) {
// case MENU_ABOUT:
// getActivity().showDialog(DIALOG_ABOUT_ID);
// return true;
// }
// return super.onOptionsItemSelected(item);
// }
//
// // @Override
// // public boolean onTrackballEvent(final MotionEvent event) {
// // return this.mMapView.onTrackballEvent(event);
// // }
// }