package org.osmdroid; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.KeyEvent; import org.osmdroid.bugtestfragments.BugFactory; import org.osmdroid.bugtestfragments.WeathForceActivity; import org.osmdroid.model.IBaseActivity; import org.osmdroid.samplefragments.BaseSampleFragment; import org.osmdroid.samplefragments.ui.SamplesMenuFragment; import org.osmdroid.views.MapView; import java.util.ArrayList; import java.util.List; /** * Created by alex on 6/29/16. */ public class BugsTestingActivity extends AppCompatActivity { public static final String SAMPLES_FRAGMENT_TAG = "org.osmdroid.BUGS_FRAGMENT_TAG"; SamplesMenuFragment fragmentSamples; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MainActivity.updateStoragePrefreneces(this); //needed for unit tests setContentView(R.layout.activity_extra_samples); Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); FragmentManager fm = this.getSupportFragmentManager(); if (fm.findFragmentByTag(SAMPLES_FRAGMENT_TAG) == null) { List<IBaseActivity> extras = new ArrayList<>() ; extras.add(new WeathForceActivity()); fragmentSamples = SamplesMenuFragment.newInstance(BugFactory.getInstance(),extras); fm.beginTransaction().add(org.osmdroid.R.id.samples_container, fragmentSamples, SAMPLES_FRAGMENT_TAG).commit(); } } @Override public void onDestroy(){ super.onDestroy(); fragmentSamples=null; } /** * small example of keyboard events on the mapview * page up = zoom out * page down = zoom in * @param keyCode * @param event * @return */ @Override public boolean onKeyUp (int keyCode, KeyEvent event){ Fragment frag = getSupportFragmentManager().findFragmentByTag(SAMPLES_FRAGMENT_TAG); if (frag==null) { return super.onKeyUp(keyCode, event); } if (!(frag instanceof BaseSampleFragment)) { return super.onKeyUp(keyCode,event); } MapView mMapView = ((BaseSampleFragment)frag).getmMapView(); if (mMapView==null) return super.onKeyUp(keyCode,event); switch (keyCode) { case KeyEvent.KEYCODE_PAGE_DOWN: mMapView.getController().zoomIn(); return true; case KeyEvent.KEYCODE_PAGE_UP: mMapView.getController().zoomOut(); return true; } return super.onKeyUp(keyCode,event); } }