forked from upstream-mirrors/OpenTracks
Code cleanup: cleanup AbtractSendToGoogleActivity
This commit is contained in:
@@ -35,6 +35,8 @@ public abstract class AbstractMyTracksActivity extends FragmentActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
// Set volume control stream for text to speech
|
||||||
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
setVolumeControlStream(TextToSpeech.Engine.DEFAULT_STREAM);
|
||||||
|
|
||||||
// Hide title must be before setContentView
|
// Hide title must be before setContentView
|
||||||
@@ -50,11 +52,6 @@ public abstract class AbstractMyTracksActivity extends FragmentActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the layout resource id.
|
|
||||||
*/
|
|
||||||
protected abstract int getLayoutResId();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true to hide the title. Be default, do not hide the title.
|
* Returns true to hide the title. Be default, do not hide the title.
|
||||||
*/
|
*/
|
||||||
@@ -62,6 +59,11 @@ public abstract class AbstractMyTracksActivity extends FragmentActivity {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the layout resource id.
|
||||||
|
*/
|
||||||
|
protected abstract int getLayoutResId();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns true to configure the action bar home button as the up button.
|
* Returns true to configure the action bar home button as the up button.
|
||||||
*/
|
*/
|
||||||
@@ -69,25 +71,31 @@ public abstract class AbstractMyTracksActivity extends FragmentActivity {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Callback when the home menu item is selected.
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
*/
|
|
||||||
protected void onHomeSelected() {
|
// Set menu icon color
|
||||||
finish();
|
TrackIconUtils.setMenuIconColor(menu);
|
||||||
|
|
||||||
|
return super.onCreateOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onCreateOptionsMenu(Menu menu) {
|
|
||||||
TrackIconUtils.setMenuIconColor(menu);
|
|
||||||
return super.onCreateOptionsMenu(menu);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item) {
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
|
||||||
|
// Handle home menu item, up navigation
|
||||||
if (item.getItemId() == android.R.id.home) {
|
if (item.getItemId() == android.R.id.home) {
|
||||||
onHomeSelected();
|
onHomeSelected();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback when the home menu item is selected. E.g., setup the back stack
|
||||||
|
* when home is selected.
|
||||||
|
*/
|
||||||
|
protected void onHomeSelected() {
|
||||||
|
finish();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import com.google.android.apps.mytracks.fragments.ConfirmDeleteDialogFragment.Co
|
|||||||
import com.google.android.apps.mytracks.fragments.ConfirmSyncDialogFragment;
|
import com.google.android.apps.mytracks.fragments.ConfirmSyncDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.ConfirmSyncDialogFragment.ConfirmSyncCaller;
|
import com.google.android.apps.mytracks.fragments.ConfirmSyncDialogFragment.ConfirmSyncCaller;
|
||||||
import com.google.android.apps.mytracks.fragments.InstallEarthDialogFragment;
|
import com.google.android.apps.mytracks.fragments.InstallEarthDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.PlayMultipleDialogFragment.PlayMultipleCaller;
|
|
||||||
import com.google.android.apps.mytracks.fragments.ShareTrackDialogFragment;
|
import com.google.android.apps.mytracks.fragments.ShareTrackDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.ShareTrackDialogFragment.ShareTrackCaller;
|
import com.google.android.apps.mytracks.fragments.ShareTrackDialogFragment.ShareTrackCaller;
|
||||||
import com.google.android.apps.mytracks.io.drive.SendDriveActivity;
|
import com.google.android.apps.mytracks.io.drive.SendDriveActivity;
|
||||||
@@ -64,13 +63,19 @@ import android.widget.Toast;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An abstract class for sending a track to Google services.
|
* An abstract class for the following common tasks across
|
||||||
|
* {@link TrackListActivity}, {@link TrackDetailActivity}, and
|
||||||
|
* {@link SearchListActivity}:
|
||||||
|
* <p>
|
||||||
|
* - share track <br>
|
||||||
|
* - delete track <br>
|
||||||
|
* - play track <br>
|
||||||
*
|
*
|
||||||
* @author Jimmy Shih
|
* @author Jimmy Shih
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActivity implements
|
public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActivity implements
|
||||||
ChooseAccountCaller, ConfirmSyncCaller, CheckPermissionCaller, ShareTrackCaller,
|
ChooseAccountCaller, ConfirmSyncCaller, CheckPermissionCaller, ShareTrackCaller,
|
||||||
ConfirmDeleteCaller, PlayMultipleCaller {
|
ConfirmDeleteCaller {
|
||||||
|
|
||||||
private static final String TAG = AbstractMyTracksActivity.class.getSimpleName();
|
private static final String TAG = AbstractMyTracksActivity.class.getSimpleName();
|
||||||
private static final String SEND_REQUEST_KEY = "send_request_key";
|
private static final String SEND_REQUEST_KEY = "send_request_key";
|
||||||
@@ -371,7 +376,12 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
|
|||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void deleteTrack(long[] trackIds) {
|
/**
|
||||||
|
* Delete tracks.
|
||||||
|
*
|
||||||
|
* @param trackIds the track ids
|
||||||
|
*/
|
||||||
|
protected void deleteTracks(long[] trackIds) {
|
||||||
ConfirmDeleteDialogFragment.newInstance(trackIds)
|
ConfirmDeleteDialogFragment.newInstance(trackIds)
|
||||||
.show(getSupportFragmentManager(), ConfirmDeleteDialogFragment.CONFIRM_DELETE_DIALOG_TAG);
|
.show(getSupportFragmentManager(), ConfirmDeleteDialogFragment.CONFIRM_DELETE_DIALOG_TAG);
|
||||||
}
|
}
|
||||||
@@ -399,16 +409,23 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
|
|||||||
startActivityForResult(intent, DELETE_REQUEST_CODE);
|
startActivityForResult(intent, DELETE_REQUEST_CODE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the track recording service connection. For stopping the current
|
||||||
|
* recording if need to delete the current recording track.
|
||||||
|
*/
|
||||||
abstract protected TrackRecordingServiceConnection getTrackRecordingServiceConnection();
|
abstract protected TrackRecordingServiceConnection getTrackRecordingServiceConnection();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called after {@link DeleteActivity} returns its result.
|
||||||
|
*/
|
||||||
abstract protected void onDeleted();
|
abstract protected void onDeleted();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Play track in Google Earth.
|
* Play tracks in Google Earth.
|
||||||
*
|
*
|
||||||
* @param trackIds the track ids
|
* @param trackIds the track ids
|
||||||
*/
|
*/
|
||||||
protected void playTrack(long[] trackIds) {
|
protected void playTracks(long[] trackIds) {
|
||||||
AnalyticsUtils.sendPageViews(this, AnalyticsUtils.ACTION_PLAY);
|
AnalyticsUtils.sendPageViews(this, AnalyticsUtils.ACTION_PLAY);
|
||||||
if (GoogleEarthUtils.isEarthInstalled(this)) {
|
if (GoogleEarthUtils.isEarthInstalled(this)) {
|
||||||
Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
|
Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
|
||||||
@@ -421,9 +438,4 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
|
|||||||
getSupportFragmentManager(), InstallEarthDialogFragment.INSTALL_EARTH_DIALOG_TAG);
|
getSupportFragmentManager(), InstallEarthDialogFragment.INSTALL_EARTH_DIALOG_TAG);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPlayMultipleDone(long[] trackIds) {
|
|
||||||
playTrack(trackIds);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,6 @@ import com.google.android.apps.mytracks.content.SearchEngineProvider;
|
|||||||
import com.google.android.apps.mytracks.content.Track;
|
import com.google.android.apps.mytracks.content.Track;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint;
|
import com.google.android.apps.mytracks.content.Waypoint;
|
||||||
import com.google.android.apps.mytracks.content.Waypoint.WaypointType;
|
import com.google.android.apps.mytracks.content.Waypoint.WaypointType;
|
||||||
import com.google.android.apps.mytracks.fragments.ConfirmDeleteDialogFragment;
|
|
||||||
import com.google.android.apps.mytracks.fragments.DeleteMarkerDialogFragment;
|
import com.google.android.apps.mytracks.fragments.DeleteMarkerDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.DeleteMarkerDialogFragment.DeleteMarkerCaller;
|
import com.google.android.apps.mytracks.fragments.DeleteMarkerDialogFragment.DeleteMarkerCaller;
|
||||||
import com.google.android.apps.mytracks.services.MyTracksLocationManager;
|
import com.google.android.apps.mytracks.services.MyTracksLocationManager;
|
||||||
@@ -348,7 +347,7 @@ public class SearchListActivity extends AbstractSendToGoogleActivity implements
|
|||||||
Intent intent;
|
Intent intent;
|
||||||
switch (itemId) {
|
switch (itemId) {
|
||||||
case R.id.list_context_menu_play:
|
case R.id.list_context_menu_play:
|
||||||
playTrack(new long[] {trackId});
|
playTracks(new long[] {trackId});
|
||||||
return true;
|
return true;
|
||||||
case R.id.list_context_menu_share:
|
case R.id.list_context_menu_share:
|
||||||
shareTrack(trackId);
|
shareTrack(trackId);
|
||||||
@@ -376,8 +375,7 @@ public class SearchListActivity extends AbstractSendToGoogleActivity implements
|
|||||||
DeleteMarkerDialogFragment.newInstance(new long[] { markerId }).show(
|
DeleteMarkerDialogFragment.newInstance(new long[] { markerId }).show(
|
||||||
getSupportFragmentManager(), DeleteMarkerDialogFragment.DELETE_MARKER_DIALOG_TAG);
|
getSupportFragmentManager(), DeleteMarkerDialogFragment.DELETE_MARKER_DIALOG_TAG);
|
||||||
} else {
|
} else {
|
||||||
ConfirmDeleteDialogFragment.newInstance(new long[] { trackId })
|
deleteTracks(new long[] { trackId });
|
||||||
.show(getSupportFragmentManager(), ConfirmDeleteDialogFragment.CONFIRM_DELETE_DIALOG_TAG);
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -25,13 +25,13 @@ import com.google.android.apps.mytracks.content.WaypointCreationRequest;
|
|||||||
import com.google.android.apps.mytracks.fragments.ChartFragment;
|
import com.google.android.apps.mytracks.fragments.ChartFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.ChooseActivityTypeDialogFragment;
|
import com.google.android.apps.mytracks.fragments.ChooseActivityTypeDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.ChooseActivityTypeDialogFragment.ChooseActivityTypeCaller;
|
import com.google.android.apps.mytracks.fragments.ChooseActivityTypeDialogFragment.ChooseActivityTypeCaller;
|
||||||
import com.google.android.apps.mytracks.fragments.ConfirmDeleteDialogFragment;
|
|
||||||
import com.google.android.apps.mytracks.fragments.ExportDialogFragment;
|
import com.google.android.apps.mytracks.fragments.ExportDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.ExportDialogFragment.ExportCaller;
|
import com.google.android.apps.mytracks.fragments.ExportDialogFragment.ExportCaller;
|
||||||
import com.google.android.apps.mytracks.fragments.ExportDialogFragment.ExportType;
|
import com.google.android.apps.mytracks.fragments.ExportDialogFragment.ExportType;
|
||||||
import com.google.android.apps.mytracks.fragments.FrequencyDialogFragment;
|
import com.google.android.apps.mytracks.fragments.FrequencyDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.MyTracksMapFragment;
|
import com.google.android.apps.mytracks.fragments.MyTracksMapFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.PlayMultipleDialogFragment;
|
import com.google.android.apps.mytracks.fragments.PlayMultipleDialogFragment;
|
||||||
|
import com.google.android.apps.mytracks.fragments.PlayMultipleDialogFragment.PlayMultipleCaller;
|
||||||
import com.google.android.apps.mytracks.fragments.StatsFragment;
|
import com.google.android.apps.mytracks.fragments.StatsFragment;
|
||||||
import com.google.android.apps.mytracks.io.file.TrackFileFormat;
|
import com.google.android.apps.mytracks.io.file.TrackFileFormat;
|
||||||
import com.google.android.apps.mytracks.io.file.exporter.SaveActivity;
|
import com.google.android.apps.mytracks.io.file.exporter.SaveActivity;
|
||||||
@@ -82,7 +82,7 @@ import java.util.Date;
|
|||||||
* @author Rodrigo Damazio
|
* @author Rodrigo Damazio
|
||||||
*/
|
*/
|
||||||
public class TrackDetailActivity extends AbstractSendToGoogleActivity
|
public class TrackDetailActivity extends AbstractSendToGoogleActivity
|
||||||
implements ChooseActivityTypeCaller, ExportCaller {
|
implements ChooseActivityTypeCaller, ExportCaller, PlayMultipleCaller {
|
||||||
|
|
||||||
public static final String EXTRA_TRACK_ID = "track_id";
|
public static final String EXTRA_TRACK_ID = "track_id";
|
||||||
public static final String EXTRA_MARKER_ID = "marker_id";
|
public static final String EXTRA_MARKER_ID = "marker_id";
|
||||||
@@ -415,7 +415,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
|
|||||||
startActivityForResult(intent, CAMERA_REQUEST_CODE);
|
startActivityForResult(intent, CAMERA_REQUEST_CODE);
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_detail_play:
|
case R.id.track_detail_play:
|
||||||
playTrack(new long[] {trackId});
|
playTracks(new long[] {trackId});
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_detail_share:
|
case R.id.track_detail_share:
|
||||||
shareTrack(trackId);
|
shareTrack(trackId);
|
||||||
@@ -451,8 +451,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
|
|||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_detail_delete:
|
case R.id.track_detail_delete:
|
||||||
ConfirmDeleteDialogFragment.newInstance(new long[] { trackId })
|
deleteTracks(new long[] { trackId });
|
||||||
.show(getSupportFragmentManager(), ConfirmDeleteDialogFragment.CONFIRM_DELETE_DIALOG_TAG);
|
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_detail_sensor_state:
|
case R.id.track_detail_sensor_state:
|
||||||
intent = IntentUtils.newIntent(this, SensorStateActivity.class);
|
intent = IntentUtils.newIntent(this, SensorStateActivity.class);
|
||||||
@@ -649,4 +648,9 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
|
|||||||
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
|
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPlayMultipleDone(long[] trackIds) {
|
||||||
|
playTracks(trackIds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -19,7 +19,6 @@ package com.google.android.apps.mytracks;
|
|||||||
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
import com.google.android.apps.mytracks.content.MyTracksProviderUtils;
|
||||||
import com.google.android.apps.mytracks.content.Track;
|
import com.google.android.apps.mytracks.content.Track;
|
||||||
import com.google.android.apps.mytracks.content.TracksColumns;
|
import com.google.android.apps.mytracks.content.TracksColumns;
|
||||||
import com.google.android.apps.mytracks.fragments.ConfirmDeleteDialogFragment;
|
|
||||||
import com.google.android.apps.mytracks.fragments.EnableSyncDialogFragment;
|
import com.google.android.apps.mytracks.fragments.EnableSyncDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.EnableSyncDialogFragment.EnableSyncCaller;
|
import com.google.android.apps.mytracks.fragments.EnableSyncDialogFragment.EnableSyncCaller;
|
||||||
import com.google.android.apps.mytracks.fragments.EulaDialogFragment;
|
import com.google.android.apps.mytracks.fragments.EulaDialogFragment;
|
||||||
@@ -27,6 +26,7 @@ import com.google.android.apps.mytracks.fragments.EulaDialogFragment.EulaCaller;
|
|||||||
import com.google.android.apps.mytracks.fragments.FileTypeDialogFragment;
|
import com.google.android.apps.mytracks.fragments.FileTypeDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.FileTypeDialogFragment.FileTypeCaller;
|
import com.google.android.apps.mytracks.fragments.FileTypeDialogFragment.FileTypeCaller;
|
||||||
import com.google.android.apps.mytracks.fragments.PlayMultipleDialogFragment;
|
import com.google.android.apps.mytracks.fragments.PlayMultipleDialogFragment;
|
||||||
|
import com.google.android.apps.mytracks.fragments.PlayMultipleDialogFragment.PlayMultipleCaller;
|
||||||
import com.google.android.apps.mytracks.io.file.TrackFileFormat;
|
import com.google.android.apps.mytracks.io.file.TrackFileFormat;
|
||||||
import com.google.android.apps.mytracks.io.file.exporter.SaveActivity;
|
import com.google.android.apps.mytracks.io.file.exporter.SaveActivity;
|
||||||
import com.google.android.apps.mytracks.io.file.importer.ImportActivity;
|
import com.google.android.apps.mytracks.io.file.importer.ImportActivity;
|
||||||
@@ -92,7 +92,7 @@ import java.util.Locale;
|
|||||||
* @author Leif Hendrik Wilden
|
* @author Leif Hendrik Wilden
|
||||||
*/
|
*/
|
||||||
public class TrackListActivity extends AbstractSendToGoogleActivity
|
public class TrackListActivity extends AbstractSendToGoogleActivity
|
||||||
implements EulaCaller, EnableSyncCaller, FileTypeCaller {
|
implements EulaCaller, EnableSyncCaller, FileTypeCaller, PlayMultipleCaller {
|
||||||
|
|
||||||
private static final String TAG = TrackListActivity.class.getSimpleName();
|
private static final String TAG = TrackListActivity.class.getSimpleName();
|
||||||
private static final String[] PROJECTION = new String[] { TracksColumns._ID, TracksColumns.NAME,
|
private static final String[] PROJECTION = new String[] { TracksColumns._ID, TracksColumns.NAME,
|
||||||
@@ -565,8 +565,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
|
|||||||
.show(getSupportFragmentManager(), FileTypeDialogFragment.FILE_TYPE_DIALOG_TAG);
|
.show(getSupportFragmentManager(), FileTypeDialogFragment.FILE_TYPE_DIALOG_TAG);
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_list_delete_all:
|
case R.id.track_list_delete_all:
|
||||||
ConfirmDeleteDialogFragment.newInstance(new long[] {-1L})
|
deleteTracks(new long[] {-1L});
|
||||||
.show(getSupportFragmentManager(), ConfirmDeleteDialogFragment.CONFIRM_DELETE_DIALOG_TAG);
|
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_list_settings:
|
case R.id.track_list_settings:
|
||||||
intent = IntentUtils.newIntent(this, SettingsActivity.class);
|
intent = IntentUtils.newIntent(this, SettingsActivity.class);
|
||||||
@@ -790,7 +789,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
|
|||||||
private boolean handleContextItem(int itemId, long[] trackIds) {
|
private boolean handleContextItem(int itemId, long[] trackIds) {
|
||||||
switch (itemId) {
|
switch (itemId) {
|
||||||
case R.id.list_context_menu_play:
|
case R.id.list_context_menu_play:
|
||||||
playTrack(trackIds);
|
playTracks(trackIds);
|
||||||
return true;
|
return true;
|
||||||
case R.id.list_context_menu_share:
|
case R.id.list_context_menu_share:
|
||||||
shareTrack(trackIds[0]);
|
shareTrack(trackIds[0]);
|
||||||
@@ -804,8 +803,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
|
|||||||
if (trackIds.length > 1 && trackIds.length == listView.getCount()) {
|
if (trackIds.length > 1 && trackIds.length == listView.getCount()) {
|
||||||
trackIds = new long[] {-1L};
|
trackIds = new long[] {-1L};
|
||||||
}
|
}
|
||||||
ConfirmDeleteDialogFragment.newInstance(trackIds)
|
deleteTracks(trackIds);
|
||||||
.show(getSupportFragmentManager(), ConfirmDeleteDialogFragment.CONFIRM_DELETE_DIALOG_TAG);
|
|
||||||
return true;
|
return true;
|
||||||
case R.id.list_context_menu_select_all:
|
case R.id.list_context_menu_select_all:
|
||||||
int size = listView.getCount();
|
int size = listView.getCount();
|
||||||
@@ -817,4 +815,9 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPlayMultipleDone(long[] trackIds) {
|
||||||
|
playTracks(trackIds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user