forked from upstream-mirrors/OpenTracks
Remove MenuManager.java.
This commit is contained in:
@@ -1,167 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010 Google Inc.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
||||||
* use this file except in compliance with the License. You may obtain a copy of
|
|
||||||
* the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
* License for the specific language governing permissions and limitations under
|
|
||||||
* the License.
|
|
||||||
*/
|
|
||||||
package com.google.android.apps.mytracks;
|
|
||||||
|
|
||||||
import static com.google.android.apps.mytracks.Constants.CHART_TAB_TAG;
|
|
||||||
import static com.google.android.apps.mytracks.Constants.MAP_TAB_TAG;
|
|
||||||
|
|
||||||
import com.google.android.maps.mytracks.R;
|
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Intent;
|
|
||||||
import android.view.Menu;
|
|
||||||
import android.view.MenuItem;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Manage the application menus.
|
|
||||||
*
|
|
||||||
* @author Sandor Dornbush
|
|
||||||
*/
|
|
||||||
class MenuManager {
|
|
||||||
|
|
||||||
private final TrackDetailActivity activity;
|
|
||||||
private MenuItem recordTrack;
|
|
||||||
private MenuItem stopRecording;
|
|
||||||
|
|
||||||
public MenuManager(TrackDetailActivity activity) {
|
|
||||||
this.activity = activity;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Fills the menu with its initial options.
|
|
||||||
*
|
|
||||||
* @param menu the menu to fill
|
|
||||||
* @return true on success, false otherwise
|
|
||||||
*/
|
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
|
||||||
activity.getMenuInflater().inflate(R.menu.track_detail, menu);
|
|
||||||
|
|
||||||
// TODO: Replace search button with search widget if API level >= 11
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Prepares the menu for display.
|
|
||||||
*
|
|
||||||
* @param menu the menu to update for display
|
|
||||||
* @param hasRecorded whether any track has been recorded
|
|
||||||
* @param isRecording whether we're recording a track now
|
|
||||||
* @param hasSelectedTrack whether there's a track currently selected for display
|
|
||||||
* @param isSatelliteMode whether the map is currently in satellite mode
|
|
||||||
* @param currentTabTag the tag for the currently-displayed tab
|
|
||||||
*/
|
|
||||||
public void onPrepareOptionsMenu(Menu menu, boolean hasRecorded,
|
|
||||||
boolean isRecording, boolean hasSelectedTrack,
|
|
||||||
boolean isSatelliteMode, String currentTabTag) {
|
|
||||||
menu.findItem(R.id.menu_markers)
|
|
||||||
.setEnabled(hasRecorded && hasSelectedTrack);
|
|
||||||
|
|
||||||
recordTrack = menu.findItem(R.id.menu_record_track);
|
|
||||||
stopRecording = menu.findItem(R.id.menu_stop_recording);
|
|
||||||
updateActionItems(isRecording);
|
|
||||||
|
|
||||||
menu.findItem(R.id.menu_chart_settings)
|
|
||||||
.setVisible(CHART_TAB_TAG.equals(currentTabTag));
|
|
||||||
|
|
||||||
boolean isMapTab = MAP_TAB_TAG.equals(currentTabTag);
|
|
||||||
menu.findItem(R.id.menu_my_location)
|
|
||||||
.setVisible(isMapTab);
|
|
||||||
menu.findItem(R.id.menu_satellite_mode)
|
|
||||||
.setVisible(isMapTab)
|
|
||||||
.setTitle(isSatelliteMode ? R.string.menu_map_mode : R.string.menu_satellite_mode);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Updates the action items.<br>
|
|
||||||
* TODO: also update the action items when
|
|
||||||
* <ul>
|
|
||||||
* <li>start/stop a recording from the home screen widget.<il>
|
|
||||||
* <li>receive a direct service call to start/stop a recording.<il>
|
|
||||||
* </ul>
|
|
||||||
*
|
|
||||||
* @param isRecording true if recording a track
|
|
||||||
*/
|
|
||||||
private void updateActionItems(boolean isRecording) {
|
|
||||||
recordTrack.setEnabled(!isRecording).setVisible(!isRecording);
|
|
||||||
stopRecording.setEnabled(isRecording).setVisible(isRecording);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Called when an option from the menu is selected.
|
|
||||||
*
|
|
||||||
* @param item the selected item
|
|
||||||
* @return true if the action was handled, false otherwise
|
|
||||||
*/
|
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
|
||||||
switch (item.getItemId()) {
|
|
||||||
case R.id.menu_record_track: {
|
|
||||||
activity.startRecording();
|
|
||||||
updateActionItems(true);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case R.id.menu_stop_recording: {
|
|
||||||
activity.stopRecording();
|
|
||||||
updateActionItems(false);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case R.id.menu_markers: {
|
|
||||||
Intent startIntent = new Intent(activity, WaypointsList.class);
|
|
||||||
startIntent.putExtra("trackid", activity.getSelectedTrackId());
|
|
||||||
activity.startActivityForResult(startIntent, Constants.SHOW_WAYPOINT);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case R.id.menu_sensor_state: {
|
|
||||||
return startActivity(SensorStateActivity.class);
|
|
||||||
}
|
|
||||||
case R.id.menu_settings: {
|
|
||||||
return startActivity(SettingsActivity.class);
|
|
||||||
}
|
|
||||||
case R.id.menu_aggregated_statistics: {
|
|
||||||
return startActivity(AggregatedStatsActivity.class);
|
|
||||||
}
|
|
||||||
case R.id.menu_help: {
|
|
||||||
return startActivity(WelcomeActivity.class);
|
|
||||||
}
|
|
||||||
case R.id.menu_search: {
|
|
||||||
// TODO: Pass the current track ID and current location to do some fancier ranking.
|
|
||||||
activity.onSearchRequested();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case R.id.menu_chart_settings: {
|
|
||||||
activity.showChartSettings();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case R.id.menu_my_location: {
|
|
||||||
activity.showMyLocation();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case R.id.menu_satellite_mode: {
|
|
||||||
activity.toggleSatelliteView();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Starts an activity with the given class.
|
|
||||||
*/
|
|
||||||
private boolean startActivity(Class<? extends Activity> activityClass) {
|
|
||||||
activity.startActivity(new Intent(activity, activityClass));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -29,6 +29,7 @@ import com.google.android.apps.mytracks.services.ServiceUtils;
|
|||||||
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
|
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
|
||||||
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
|
||||||
import com.google.android.maps.mytracks.R;
|
import com.google.android.maps.mytracks.R;
|
||||||
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
|
||||||
import android.app.TabActivity;
|
import android.app.TabActivity;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -64,10 +65,12 @@ public class TrackDetailActivity extends TabActivity implements OnTouchListener
|
|||||||
private MyTracksProviderUtils myTracksProviderUtils;
|
private MyTracksProviderUtils myTracksProviderUtils;
|
||||||
private SharedPreferences sharedPreferences;
|
private SharedPreferences sharedPreferences;
|
||||||
private TrackDataHub trackDataHub;
|
private TrackDataHub trackDataHub;
|
||||||
private MenuManager menuManager;
|
|
||||||
private TrackRecordingServiceConnection trackRecordingServiceConnection;
|
private TrackRecordingServiceConnection trackRecordingServiceConnection;
|
||||||
private NavControls navControls;
|
private NavControls navControls;
|
||||||
|
|
||||||
|
private MenuItem recordTrack;
|
||||||
|
private MenuItem stopRecording;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* True if a new track should be created after the track recording service
|
* True if a new track should be created after the track recording service
|
||||||
* binds.
|
* binds.
|
||||||
@@ -106,7 +109,6 @@ public class TrackDetailActivity extends TabActivity implements OnTouchListener
|
|||||||
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
|
myTracksProviderUtils = MyTracksProviderUtils.Factory.get(this);
|
||||||
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
sharedPreferences = getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
||||||
trackDataHub = ((MyTracksApplication) getApplication()).getTrackDataHub();
|
trackDataHub = ((MyTracksApplication) getApplication()).getTrackDataHub();
|
||||||
menuManager = new MenuManager(this);
|
|
||||||
trackRecordingServiceConnection = new TrackRecordingServiceConnection(this, serviceBindCallback);
|
trackRecordingServiceConnection = new TrackRecordingServiceConnection(this, serviceBindCallback);
|
||||||
|
|
||||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
||||||
@@ -196,29 +198,117 @@ public class TrackDetailActivity extends TabActivity implements OnTouchListener
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
super.onCreateOptionsMenu(menu);
|
getMenuInflater().inflate(R.menu.track_detail, menu);
|
||||||
return menuManager.onCreateOptionsMenu(menu);
|
recordTrack = menu.findItem(R.id.menu_record_track);
|
||||||
|
stopRecording = menu.findItem(R.id.menu_stop_recording);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||||
MapActivity map = getMapTab();
|
updateMenuItems(ServiceUtils.isRecording(
|
||||||
boolean isSatelliteView = map != null ? map.isSatelliteView() : false;
|
this, trackRecordingServiceConnection.getServiceIfBound(), sharedPreferences));
|
||||||
|
|
||||||
menuManager.onPrepareOptionsMenu(menu, myTracksProviderUtils.getLastTrack() != null,
|
String currentTabTag = getTabHost().getCurrentTabTag();
|
||||||
ServiceUtils.isRecording(this, trackRecordingServiceConnection.getServiceIfBound(), sharedPreferences),
|
menu.findItem(R.id.menu_chart_settings).setVisible(CHART_TAB_TAG.equals(currentTabTag));
|
||||||
trackDataHub.isATrackSelected(),
|
menu.findItem(R.id.menu_my_location).setVisible(MAP_TAB_TAG.equals(currentTabTag));
|
||||||
isSatelliteView,
|
|
||||||
getTabHost().getCurrentTabTag());
|
// Set map or satellite mode
|
||||||
|
MapActivity mapActivity = (MapActivity) getLocalActivityManager().getActivity(MAP_TAB_TAG);
|
||||||
|
boolean isSatelliteMode = mapActivity != null ? mapActivity.isSatelliteView() : false;
|
||||||
|
menu.findItem(R.id.menu_satellite_mode)
|
||||||
|
.setVisible(MAP_TAB_TAG.equals(currentTabTag))
|
||||||
|
.setTitle(isSatelliteMode ? R.string.menu_map_mode : R.string.menu_satellite_mode);
|
||||||
|
|
||||||
return super.onPrepareOptionsMenu(menu);
|
return super.onPrepareOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates menu item
|
||||||
|
*
|
||||||
|
* @param isRecording true if recording
|
||||||
|
*/
|
||||||
|
private void updateMenuItems(boolean isRecording) {
|
||||||
|
if (recordTrack != null) {
|
||||||
|
recordTrack.setVisible(!isRecording);
|
||||||
|
}
|
||||||
|
if (stopRecording != null) {
|
||||||
|
stopRecording.setVisible(isRecording);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
return menuManager.onOptionsItemSelected(item)
|
MapActivity mapActivity;
|
||||||
? true
|
switch (item.getItemId()) {
|
||||||
: super.onOptionsItemSelected(item);
|
case R.id.menu_record_track:
|
||||||
|
updateMenuItems(true);
|
||||||
|
startRecording();
|
||||||
|
return true;
|
||||||
|
case R.id.menu_stop_recording:
|
||||||
|
updateMenuItems(false);
|
||||||
|
stopRecording();
|
||||||
|
return true;
|
||||||
|
case R.id.menu_markers:
|
||||||
|
Intent intent = new Intent(this, WaypointsList.class)
|
||||||
|
.putExtra("trackid", trackDataHub.getSelectedTrackId());
|
||||||
|
startActivityForResult(intent, Constants.SHOW_WAYPOINT);
|
||||||
|
return true;
|
||||||
|
case R.id.menu_sensor_state:
|
||||||
|
startActivity(new Intent(this, SensorStateActivity.class));
|
||||||
|
return true;
|
||||||
|
case R.id.menu_settings:
|
||||||
|
startActivity(new Intent(this, SettingsActivity.class));
|
||||||
|
return true;
|
||||||
|
case R.id.menu_aggregated_statistics:
|
||||||
|
startActivity(new Intent(this, AggregatedStatsActivity.class));
|
||||||
|
return true;
|
||||||
|
case R.id.menu_help:
|
||||||
|
startActivity(new Intent(this, WelcomeActivity.class));
|
||||||
|
return true;
|
||||||
|
case R.id.menu_search:
|
||||||
|
onSearchRequested();
|
||||||
|
return true;
|
||||||
|
case R.id.menu_chart_settings:
|
||||||
|
ChartActivity chartActivity = (ChartActivity) getLocalActivityManager()
|
||||||
|
.getActivity(CHART_TAB_TAG);
|
||||||
|
if (chartActivity != null) {
|
||||||
|
chartActivity.showChartSettingsDialog();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case R.id.menu_my_location:
|
||||||
|
mapActivity = (MapActivity) getLocalActivityManager().getActivity(MAP_TAB_TAG);
|
||||||
|
if (mapActivity != null) {
|
||||||
|
mapActivity.showMyLocation();
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
case R.id.menu_satellite_mode:
|
||||||
|
mapActivity = (MapActivity) getLocalActivityManager().getActivity(MAP_TAB_TAG);
|
||||||
|
if (mapActivity != null) {
|
||||||
|
mapActivity.setSatelliteView(!mapActivity.isSatelliteView());
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActivityResult(int requestCode, int resultCode, final Intent results) {
|
||||||
|
if (requestCode != Constants.SHOW_WAYPOINT) {
|
||||||
|
Log.d(TAG, "Warning unhandled request code: " + requestCode);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (results != null) {
|
||||||
|
long waypointId = results.getLongExtra(WaypointDetails.WAYPOINT_ID_EXTRA, -1L);
|
||||||
|
if (waypointId != -1L) {
|
||||||
|
MapActivity mapActivity = (MapActivity) getLocalActivityManager().getActivity(MAP_TAB_TAG);
|
||||||
|
if (mapActivity != null) {
|
||||||
|
getTabHost().setCurrentTab(0);
|
||||||
|
mapActivity.showWaypoint(waypointId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -240,21 +330,11 @@ public class TrackDetailActivity extends TabActivity implements OnTouchListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityResult(int requestCode, int resultCode, final Intent results) {
|
public boolean onTouch(View v, MotionEvent event) {
|
||||||
if (requestCode != Constants.SHOW_WAYPOINT) {
|
if (event.getAction() == MotionEvent.ACTION_DOWN) {
|
||||||
Log.d(TAG, "Warning unhandled request code: " + requestCode);
|
navControls.show();
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (results != null) {
|
|
||||||
long waypointId = results.getLongExtra(WaypointDetails.WAYPOINT_ID_EXTRA, -1L);
|
|
||||||
if (waypointId != -1L) {
|
|
||||||
MapActivity map = getMapTab();
|
|
||||||
if (map != null) {
|
|
||||||
getTabHost().setCurrentTab(0);
|
|
||||||
map.showWaypoint(waypointId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void showWaypoint(long trackId, long waypointId) {
|
private void showWaypoint(long trackId, long waypointId) {
|
||||||
@@ -268,14 +348,6 @@ public class TrackDetailActivity extends TabActivity implements OnTouchListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onTouch(View v, MotionEvent event) {
|
|
||||||
if (event.getAction() == MotionEvent.ACTION_DOWN) {
|
|
||||||
navControls.show();
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inserts a waypoint marker.
|
* Inserts a waypoint marker.
|
||||||
*
|
*
|
||||||
@@ -320,6 +392,7 @@ public class TrackDetailActivity extends TabActivity implements OnTouchListener
|
|||||||
* Starts the track recording service (if not already running) and binds to
|
* Starts the track recording service (if not already running) and binds to
|
||||||
* it. Starts recording a new track.
|
* it. Starts recording a new track.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void startRecording() {
|
void startRecording() {
|
||||||
synchronized (trackRecordingServiceConnection) {
|
synchronized (trackRecordingServiceConnection) {
|
||||||
startNewTrackRequested = true;
|
startNewTrackRequested = true;
|
||||||
@@ -337,11 +410,10 @@ public class TrackDetailActivity extends TabActivity implements OnTouchListener
|
|||||||
* Stops the track recording service and unbinds from it. Will display a toast
|
* Stops the track recording service and unbinds from it. Will display a toast
|
||||||
* "Stopped recording" and pop up the Track Details activity.
|
* "Stopped recording" and pop up the Track Details activity.
|
||||||
*/
|
*/
|
||||||
|
@VisibleForTesting
|
||||||
void stopRecording() {
|
void stopRecording() {
|
||||||
// Save the track id as the shared preference will overwrite the recording track id.
|
// Save the track id as the shared preference will overwrite the recording track id.
|
||||||
SharedPreferences sharedPreferences = getSharedPreferences(
|
long currentTrackId = sharedPreferences.getLong(getString(R.string.recording_track_key), -1L);
|
||||||
Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
|
||||||
long currentTrackId = sharedPreferences.getLong(getString(R.string.recording_track_key), -1);
|
|
||||||
|
|
||||||
ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound();
|
ITrackRecordingService trackRecordingService = trackRecordingServiceConnection.getServiceIfBound();
|
||||||
if (trackRecordingService != null) {
|
if (trackRecordingService != null) {
|
||||||
@@ -361,52 +433,4 @@ public class TrackDetailActivity extends TabActivity implements OnTouchListener
|
|||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
long getSelectedTrackId() {
|
|
||||||
return trackDataHub.getSelectedTrackId();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asks the chart tab to show its settings.
|
|
||||||
*/
|
|
||||||
public void showChartSettings() {
|
|
||||||
ChartActivity chart = getChartTab();
|
|
||||||
if (chart != null) {
|
|
||||||
chart.showChartSettingsDialog();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asks the map tab to show the map in satellite mode.
|
|
||||||
*/
|
|
||||||
public void toggleSatelliteView() {
|
|
||||||
MapActivity mapTab = getMapTab();
|
|
||||||
if (mapTab != null) {
|
|
||||||
mapTab.setSatelliteView(!mapTab.isSatelliteView());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Asks the map tab to jump to the current location.
|
|
||||||
*/
|
|
||||||
public void showMyLocation() {
|
|
||||||
MapActivity mapTab = getMapTab();
|
|
||||||
if (mapTab != null) {
|
|
||||||
mapTab.showMyLocation();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the map tab instance if available, or null otherwise.
|
|
||||||
*/
|
|
||||||
private MapActivity getMapTab() {
|
|
||||||
return (MapActivity) getLocalActivityManager().getActivity(MAP_TAB_TAG);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the chart tab instance if available, or null otherwise.
|
|
||||||
*/
|
|
||||||
private ChartActivity getChartTab() {
|
|
||||||
return (ChartActivity) getLocalActivityManager().getActivity(CHART_TAB_TAG);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -35,7 +35,6 @@ import android.content.Context;
|
|||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.content.SharedPreferences.Editor;
|
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
@@ -448,16 +447,6 @@ public class TrackListActivity extends FragmentActivity {
|
|||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
MyTracksProviderUtils.Factory.get(getActivity()).deleteAllTracks();
|
MyTracksProviderUtils.Factory.get(getActivity()).deleteAllTracks();
|
||||||
/*
|
|
||||||
* TODO Verify that selected_track_key is still needed with the
|
|
||||||
* ICS navigation design
|
|
||||||
*/
|
|
||||||
SharedPreferences sharedPreferences = getActivity()
|
|
||||||
.getSharedPreferences(Constants.SETTINGS_NAME, Context.MODE_PRIVATE);
|
|
||||||
Editor editor = sharedPreferences.edit();
|
|
||||||
// TODO: Go through data manager
|
|
||||||
editor.putLong(getString(R.string.selected_track_key), -1L);
|
|
||||||
ApiAdapterFactory.getApiAdapter().applyPreferenceChanges(editor);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,9 +60,6 @@ public class TrackDetailActivityTest extends ActivityInstrumentationTestCase2<Tr
|
|||||||
// Check if not recording.
|
// Check if not recording.
|
||||||
assertFalse(isRecording());
|
assertFalse(isRecording());
|
||||||
assertEquals(-1, getRecordingTrackId());
|
assertEquals(-1, getRecordingTrackId());
|
||||||
long selectedTrackId = getSharedPreferences().getLong(
|
|
||||||
getActivity().getString(R.string.selected_track_key), -1);
|
|
||||||
assertEquals(selectedTrackId, getActivity().getSelectedTrackId());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testInitialization_viewActionWithNoData() {
|
public void testInitialization_viewActionWithNoData() {
|
||||||
@@ -76,9 +73,6 @@ public class TrackDetailActivityTest extends ActivityInstrumentationTestCase2<Tr
|
|||||||
// Check if not recording.
|
// Check if not recording.
|
||||||
assertFalse(isRecording());
|
assertFalse(isRecording());
|
||||||
assertEquals(-1, getRecordingTrackId());
|
assertEquals(-1, getRecordingTrackId());
|
||||||
long selectedTrackId = getSharedPreferences().getLong(
|
|
||||||
getActivity().getString(R.string.selected_track_key), -1);
|
|
||||||
assertEquals(selectedTrackId, getActivity().getSelectedTrackId());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testInitialization_viewActionWithValidData() throws Exception {
|
public void testInitialization_viewActionWithValidData() throws Exception {
|
||||||
@@ -97,9 +91,6 @@ public class TrackDetailActivityTest extends ActivityInstrumentationTestCase2<Tr
|
|||||||
// Check if not recording.
|
// Check if not recording.
|
||||||
assertFalse(isRecording());
|
assertFalse(isRecording());
|
||||||
assertEquals(-1, getRecordingTrackId());
|
assertEquals(-1, getRecordingTrackId());
|
||||||
long selectedTrackId = getSharedPreferences().getLong(
|
|
||||||
getActivity().getString(R.string.selected_track_key), -1);
|
|
||||||
assertEquals(selectedTrackId, getActivity().getSelectedTrackId());
|
|
||||||
|
|
||||||
// TODO: Finish this test.
|
// TODO: Finish this test.
|
||||||
}
|
}
|
||||||
@@ -117,9 +108,6 @@ public class TrackDetailActivityTest extends ActivityInstrumentationTestCase2<Tr
|
|||||||
// Check if not recording.
|
// Check if not recording.
|
||||||
assertFalse(isRecording());
|
assertFalse(isRecording());
|
||||||
assertEquals(-1, getRecordingTrackId());
|
assertEquals(-1, getRecordingTrackId());
|
||||||
long selectedTrackId = getSharedPreferences().getLong(
|
|
||||||
getActivity().getString(R.string.selected_track_key), -1);
|
|
||||||
assertEquals(selectedTrackId, getActivity().getSelectedTrackId());
|
|
||||||
|
|
||||||
// TODO: Finish this test.
|
// TODO: Finish this test.
|
||||||
}
|
}
|
||||||
@@ -133,9 +121,6 @@ public class TrackDetailActivityTest extends ActivityInstrumentationTestCase2<Tr
|
|||||||
|
|
||||||
assertFalse(isRecording());
|
assertFalse(isRecording());
|
||||||
assertEquals(-1, getRecordingTrackId());
|
assertEquals(-1, getRecordingTrackId());
|
||||||
long selectedTrackId = getSharedPreferences().getLong(
|
|
||||||
getActivity().getString(R.string.selected_track_key), -1);
|
|
||||||
assertEquals(selectedTrackId, getActivity().getSelectedTrackId());
|
|
||||||
|
|
||||||
// Start a new track.
|
// Start a new track.
|
||||||
getActivity().startRecording();
|
getActivity().startRecording();
|
||||||
@@ -147,10 +132,9 @@ public class TrackDetailActivityTest extends ActivityInstrumentationTestCase2<Tr
|
|||||||
waitForIdle();
|
waitForIdle();
|
||||||
assertEquals(recordingTrackId, getSharedPreferences().getLong(
|
assertEquals(recordingTrackId, getSharedPreferences().getLong(
|
||||||
getActivity().getString(R.string.recording_track_key), -1));
|
getActivity().getString(R.string.recording_track_key), -1));
|
||||||
selectedTrackId = getSharedPreferences().getLong(
|
long selectedTrackId = getSharedPreferences().getLong(
|
||||||
getActivity().getString(R.string.selected_track_key), -1);
|
getActivity().getString(R.string.selected_track_key), -1);
|
||||||
assertEquals(recordingTrackId, selectedTrackId);
|
assertEquals(recordingTrackId, selectedTrackId);
|
||||||
assertEquals(selectedTrackId, getActivity().getSelectedTrackId());
|
|
||||||
|
|
||||||
// Watch for MyTracksDetails activity.
|
// Watch for MyTracksDetails activity.
|
||||||
ActivityMonitor monitor = getInstrumentation().addMonitor(
|
ActivityMonitor monitor = getInstrumentation().addMonitor(
|
||||||
@@ -182,8 +166,6 @@ public class TrackDetailActivityTest extends ActivityInstrumentationTestCase2<Tr
|
|||||||
assertEquals(recordingTrackId, getRecordingTrackId());
|
assertEquals(recordingTrackId, getRecordingTrackId());
|
||||||
assertEquals(recordingTrackId, getSharedPreferences().getLong(
|
assertEquals(recordingTrackId, getSharedPreferences().getLong(
|
||||||
getActivity().getString(R.string.recording_track_key), -1));
|
getActivity().getString(R.string.recording_track_key), -1));
|
||||||
// Make sure this is the same track as the last recording track ID.
|
|
||||||
assertEquals(selectedTrackId, getActivity().getSelectedTrackId());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertInitialized() {
|
private void assertInitialized() {
|
||||||
|
|||||||
Reference in New Issue
Block a user