forked from upstream-mirrors/OpenTracks
Rename to play multiple
This commit is contained in:
|
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 536 B |
|
Before Width: | Height: | Size: 403 B After Width: | Height: | Size: 403 B |
|
Before Width: | Height: | Size: 647 B After Width: | Height: | Size: 647 B |
@@ -45,10 +45,10 @@ limitations under the License.
|
|||||||
android:orderInCategory="5"
|
android:orderInCategory="5"
|
||||||
android:title="@string/menu_markers"/>
|
android:title="@string/menu_markers"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/ic_menu_merge"
|
android:icon="@drawable/ic_menu_play_multiple"
|
||||||
android:id="@+id/track_detail_merge"
|
android:id="@+id/track_detail_play_multiple"
|
||||||
android:orderInCategory="6"
|
android:orderInCategory="6"
|
||||||
android:title="@string/menu_merge"/>
|
android:title="@string/menu_play_multiple"/>
|
||||||
<!-- android:orderInCategory="7" is in map.xml -->
|
<!-- android:orderInCategory="7" is in map.xml -->
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/ic_menu_export"
|
android:icon="@drawable/ic_menu_export"
|
||||||
|
|||||||
@@ -27,9 +27,9 @@ limitations under the License.
|
|||||||
android:showAsAction="ifRoom"
|
android:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_start_gps"/>
|
android:title="@string/menu_start_gps"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/ic_menu_merge"
|
android:icon="@drawable/ic_menu_play_multiple"
|
||||||
android:id="@+id/track_list_merge"
|
android:id="@+id/track_list_play_mutliple"
|
||||||
android:title="@string/menu_merge"/>
|
android:title="@string/menu_play_multiple"/>
|
||||||
<item
|
<item
|
||||||
android:icon="@drawable/ic_menu_refresh"
|
android:icon="@drawable/ic_menu_refresh"
|
||||||
android:id="@+id/track_list_refresh"
|
android:id="@+id/track_list_refresh"
|
||||||
|
|||||||
@@ -563,7 +563,7 @@ limitations under the License.
|
|||||||
translation_description="Label for weight in kilograms.">
|
translation_description="Label for weight in kilograms.">
|
||||||
Weight (kg)
|
Weight (kg)
|
||||||
</string>
|
</string>
|
||||||
|
|
||||||
<!-- Eula -->
|
<!-- Eula -->
|
||||||
<string name="eula_accept"
|
<string name="eula_accept"
|
||||||
translation_description="In the 'Terms of Service' dialog, the button to accept.">
|
translation_description="In the 'Terms of Service' dialog, the button to accept.">
|
||||||
@@ -887,7 +887,7 @@ limitations under the License.
|
|||||||
%1$s location settings. E.g., 'Google location settings'.">
|
%1$s location settings. E.g., 'Google location settings'.">
|
||||||
Current location cannot be determined. Select the high-accuracy location mode at %1$s & make
|
Current location cannot be determined. Select the high-accuracy location mode at %1$s & make
|
||||||
sure the sky is visible. Try again later.
|
sure the sky is visible. Try again later.
|
||||||
</string>
|
</string>
|
||||||
<string name="gps_not_found"
|
<string name="gps_not_found"
|
||||||
translation_description="On application start, message when there is no GPS on the device.">
|
translation_description="On application start, message when there is no GPS on the device.">
|
||||||
No GPS is found on the device.
|
No GPS is found on the device.
|
||||||
@@ -1181,18 +1181,18 @@ limitations under the License.
|
|||||||
Character limit: ~20 (1 line)">
|
Character limit: ~20 (1 line)">
|
||||||
Markers
|
Markers
|
||||||
</string>
|
</string>
|
||||||
<string name="menu_merge"
|
|
||||||
translation_description="In the menu, to merge and play tracks.
|
|
||||||
|
|
||||||
Character limit: ~20 (1 line)">
|
|
||||||
Merge & play
|
|
||||||
</string>
|
|
||||||
<string name="menu_play"
|
<string name="menu_play"
|
||||||
translation_description="In the menu, to play a track.
|
translation_description="In the menu, to play a track.
|
||||||
|
|
||||||
Character limit: ~20 (1 line)">
|
Character limit: ~20 (1 line)">
|
||||||
Play
|
Play
|
||||||
</string>
|
</string>
|
||||||
|
<string name="menu_play_multiple"
|
||||||
|
translation_description="In the menu, to play multiple tracks together.
|
||||||
|
|
||||||
|
Character limit: ~20 (1 line)">
|
||||||
|
Play multiple
|
||||||
|
</string>
|
||||||
<string name="menu_refresh"
|
<string name="menu_refresh"
|
||||||
translation_description="In the menu, to refresh with Google Drive.
|
translation_description="In the menu, to refresh with Google Drive.
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ 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.MergeDialogFragment.MergeCaller;
|
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;
|
||||||
@@ -71,7 +71,7 @@ import java.io.IOException;
|
|||||||
*/
|
*/
|
||||||
public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActivity implements
|
public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActivity implements
|
||||||
ChooseAccountCaller, ConfirmSyncCaller, CheckPermissionCaller, ShareTrackCaller,
|
ChooseAccountCaller, ConfirmSyncCaller, CheckPermissionCaller, ShareTrackCaller,
|
||||||
ConfirmDeleteCaller, MergeCaller {
|
ConfirmDeleteCaller, PlayMultipleCaller {
|
||||||
|
|
||||||
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";
|
||||||
@@ -413,7 +413,7 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMergeDone(long[] trackIds) {
|
public void onPlayMultipleDone(long[] trackIds) {
|
||||||
playTrack(trackIds);
|
playTrack(trackIds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ 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.MergeDialogFragment;
|
import com.google.android.apps.mytracks.fragments.PlayMultipleDialogFragment;
|
||||||
import com.google.android.apps.mytracks.fragments.MyTracksMapFragment;
|
import com.google.android.apps.mytracks.fragments.MyTracksMapFragment;
|
||||||
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;
|
||||||
@@ -427,9 +427,9 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
|
|||||||
.putExtra(MarkerListActivity.EXTRA_TRACK_ID, trackId);
|
.putExtra(MarkerListActivity.EXTRA_TRACK_ID, trackId);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_detail_merge:
|
case R.id.track_detail_play_multiple:
|
||||||
MergeDialogFragment.newInstance(trackId)
|
PlayMultipleDialogFragment.newInstance(trackId)
|
||||||
.show(getSupportFragmentManager(), MergeDialogFragment.MERGE_DIALOG_TAG);
|
.show(getSupportFragmentManager(), PlayMultipleDialogFragment.PLAY_MULTIPLE_DIALOG_TAG);
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_detail_voice_frequency:
|
case R.id.track_detail_voice_frequency:
|
||||||
FrequencyDialogFragment.newInstance(R.string.voice_frequency_key,
|
FrequencyDialogFragment.newInstance(R.string.voice_frequency_key,
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ import com.google.android.apps.mytracks.fragments.EulaDialogFragment;
|
|||||||
import com.google.android.apps.mytracks.fragments.EulaDialogFragment.EulaCaller;
|
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.MergeDialogFragment;
|
import com.google.android.apps.mytracks.fragments.PlayMultipleDialogFragment;
|
||||||
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;
|
||||||
@@ -529,9 +529,9 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
|
|||||||
}
|
}
|
||||||
myTracksLocationManager.close();
|
myTracksLocationManager.close();
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_list_merge:
|
case R.id.track_list_play_mutliple:
|
||||||
MergeDialogFragment.newInstance(-1L)
|
PlayMultipleDialogFragment.newInstance(-1L)
|
||||||
.show(getSupportFragmentManager(), MergeDialogFragment.MERGE_DIALOG_TAG);
|
.show(getSupportFragmentManager(), PlayMultipleDialogFragment.PLAY_MULTIPLE_DIALOG_TAG);
|
||||||
return true;
|
return true;
|
||||||
case R.id.track_list_refresh:
|
case R.id.track_list_refresh:
|
||||||
if (driveSync) {
|
if (driveSync) {
|
||||||
|
|||||||
+13
-13
@@ -32,39 +32,39 @@ import android.util.SparseBooleanArray;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A DialogFragment to merge and play tracks.
|
* A DialogFragment to play multiple tracks.
|
||||||
*
|
*
|
||||||
* @author Jimmy Shih
|
* @author Jimmy Shih
|
||||||
*/
|
*/
|
||||||
public class MergeDialogFragment extends AbstractMyTracksDialogFragment {
|
public class PlayMultipleDialogFragment extends AbstractMyTracksDialogFragment {
|
||||||
|
|
||||||
public static final String MERGE_DIALOG_TAG = "mergeDialog";
|
public static final String PLAY_MULTIPLE_DIALOG_TAG = "playMultipleDialog";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Interface for caller of this dialog fragment.
|
* Interface for caller of this dialog fragment.
|
||||||
*
|
*
|
||||||
* @author Jimmy Shih
|
* @author Jimmy Shih
|
||||||
*/
|
*/
|
||||||
public interface MergeCaller {
|
public interface PlayMultipleCaller {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when merge is done.
|
* Called when play multiple is done.
|
||||||
*/
|
*/
|
||||||
public void onMergeDone(long[] trackIds);
|
public void onPlayMultipleDone(long[] trackIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final String KEY_TRACK_ID = "trackId";
|
private static final String KEY_TRACK_ID = "trackId";
|
||||||
|
|
||||||
public static MergeDialogFragment newInstance(long trackId) {
|
public static PlayMultipleDialogFragment newInstance(long trackId) {
|
||||||
Bundle bundle = new Bundle();
|
Bundle bundle = new Bundle();
|
||||||
bundle.putLong(KEY_TRACK_ID, trackId);
|
bundle.putLong(KEY_TRACK_ID, trackId);
|
||||||
|
|
||||||
MergeDialogFragment fragment = new MergeDialogFragment();
|
PlayMultipleDialogFragment fragment = new PlayMultipleDialogFragment();
|
||||||
fragment.setArguments(bundle);
|
fragment.setArguments(bundle);
|
||||||
return fragment;
|
return fragment;
|
||||||
}
|
}
|
||||||
|
|
||||||
private MergeCaller caller;
|
private PlayMultipleCaller caller;
|
||||||
private String[] items;
|
private String[] items;
|
||||||
private boolean[] checkedItems;
|
private boolean[] checkedItems;
|
||||||
private long[] trackIds;
|
private long[] trackIds;
|
||||||
@@ -73,10 +73,10 @@ public class MergeDialogFragment extends AbstractMyTracksDialogFragment {
|
|||||||
public void onAttach(Activity activity) {
|
public void onAttach(Activity activity) {
|
||||||
super.onAttach(activity);
|
super.onAttach(activity);
|
||||||
try {
|
try {
|
||||||
caller = (MergeCaller) activity;
|
caller = (PlayMultipleCaller) activity;
|
||||||
} catch (ClassCastException e) {
|
} catch (ClassCastException e) {
|
||||||
throw new ClassCastException(
|
throw new ClassCastException(
|
||||||
activity.toString() + " must implement " + MergeCaller.class.getSimpleName());
|
activity.toString() + " must implement " + PlayMultipleCaller.class.getSimpleName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,9 +90,9 @@ public class MergeDialogFragment extends AbstractMyTracksDialogFragment {
|
|||||||
public void onClick(DialogInterface dialog, int which) {
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
SparseBooleanArray array = ((AlertDialog) dialog).getListView()
|
SparseBooleanArray array = ((AlertDialog) dialog).getListView()
|
||||||
.getCheckedItemPositions();
|
.getCheckedItemPositions();
|
||||||
caller.onMergeDone(getChecked(array));
|
caller.onPlayMultipleDone(getChecked(array));
|
||||||
}
|
}
|
||||||
}).setTitle(R.string.menu_merge).create();
|
}).setTitle(R.string.menu_play_multiple).create();
|
||||||
}
|
}
|
||||||
|
|
||||||
private long[] getChecked(SparseBooleanArray array) {
|
private long[] getChecked(SparseBooleanArray array) {
|
||||||
Reference in New Issue
Block a user