diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java | 44 |
1 files changed, 33 insertions, 11 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java index 7b01f971bf..60849ab6d0 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java @@ -15,6 +15,7 @@ import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; +import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; @@ -39,6 +40,7 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O private MapboxMap mapboxMap; private ActionBarDrawerToggle actionBarDrawerToggle; private int currentStyleIndex = 0; + private IdleListener idleListener; private static final String[] STYLES = new String[] { Style.MAPBOX_STREETS, @@ -67,7 +69,7 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); - DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + DrawerLayout drawerLayout = findViewById(R.id.drawer_layout); actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.navigation_drawer_open, @@ -103,14 +105,14 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O } private void setFpsView() { - final TextView fpsView = (TextView) findViewById(R.id.fpsView); + final TextView fpsView = findViewById(R.id.fpsView); mapboxMap.setOnFpsChangedListener(fps -> fpsView.setText(String.format(Locale.US, "FPS: %4.2f", fps))); } private void setupNavigationView(List<Layer> layerList) { Timber.v("New style loaded with JSON: %s", mapboxMap.getStyleJson()); final LayerListAdapter adapter = new LayerListAdapter(this, layerList); - ListView listView = (ListView) findViewById(R.id.listView); + ListView listView = findViewById(R.id.listView); listView.setAdapter(adapter); listView.setOnItemClickListener((parent, view, position, id) -> { Layer clickedLayer = adapter.getItem(position); @@ -129,18 +131,17 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O } private void closeNavigationView() { - DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + DrawerLayout drawerLayout = findViewById(R.id.drawer_layout); drawerLayout.closeDrawers(); } private void setupZoomView() { - final TextView textView = (TextView) findViewById(R.id.textZoom); - mapboxMap.setOnCameraChangeListener(position -> - textView.setText(String.format(getString(R.string.debug_zoom), position.zoom))); + final TextView textView = findViewById(R.id.textZoom); + mapboxMap.addOnCameraIdleListener(idleListener = new IdleListener(mapboxMap, textView)); } private void setupDebugChangeView() { - FloatingActionButton fabDebug = (FloatingActionButton) findViewById(R.id.fabDebug); + FloatingActionButton fabDebug = findViewById(R.id.fabDebug); fabDebug.setOnClickListener(view -> { if (mapboxMap != null) { Timber.d("Debug FAB: isDebug Active? %s", mapboxMap.isDebugActive()); @@ -150,7 +151,7 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O } private void setupStyleChangeView() { - FloatingActionButton fabStyles = (FloatingActionButton) findViewById(R.id.fabStyles); + FloatingActionButton fabStyles = findViewById(R.id.fabStyles); fabStyles.setOnClickListener(view -> { if (mapboxMap != null) { currentStyleIndex++; @@ -200,6 +201,9 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O @Override protected void onDestroy() { super.onDestroy(); + if (mapboxMap != null && idleListener != null) { + mapboxMap.removeOnCameraIdleListener(idleListener); + } mapView.onDestroy(); } @@ -241,8 +245,8 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O if (view == null) { view = layoutInflater.inflate(android.R.layout.simple_list_item_2, parent, false); ViewHolder holder = new ViewHolder( - (TextView) view.findViewById(android.R.id.text1), - (TextView) view.findViewById(android.R.id.text2) + view.findViewById(android.R.id.text1), + view.findViewById(android.R.id.text2) ); view.setTag(holder); } @@ -262,4 +266,22 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O } } } + + private static class IdleListener implements MapboxMap.OnCameraIdleListener { + + private MapboxMap mapboxMap; + private TextView textView; + + IdleListener(MapboxMap mapboxMap, TextView textView) { + this.mapboxMap = mapboxMap; + this.textView = textView; + } + + @Override + public void onCameraIdle() { + Context context = textView.getContext(); + CameraPosition position = mapboxMap.getCameraPosition(); + textView.setText(String.format(context.getString(R.string.debug_zoom), position.zoom)); + } + } } |