package io.dumpstack.minimap; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.View; import org.osmdroid.config.Configuration; import org.osmdroid.tileprovider.tilesource.TileSourceFactory; import org.osmdroid.views.MapView; public class MainActivity extends AppCompatActivity implements GestureDetector.OnGestureListener { private GestureDetector gestureDetector; private MapView map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Context ctx = getApplicationContext(); Configuration.getInstance().load(ctx, PreferenceManager.getDefaultSharedPreferences(ctx)); setContentView(R.layout.activity_main); map = findViewById(R.id.map); map.setTileSource(TileSourceFactory.MAPNIK); if (getSupportActionBar() != null) { getSupportActionBar().hide(); } View decorView = getWindow().getDecorView(); decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); this.gestureDetector = new GestureDetector(this, this); } public void onResume(){ super.onResume(); map.onResume(); } public void onPause(){ super.onPause(); map.onPause(); } @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (gestureDetector.onTouchEvent(ev)) { return true; } return super.dispatchTouchEvent(ev); } @Override public boolean onDown(MotionEvent e) { return false; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return false; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false; } @Override public void onLongPress(MotionEvent e) { // TODO Use swipe down to close the application finish(); } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return false; } }