Combine share via drive and share via maps url into a share button.

Use settings to choose between drive and maps.
This commit is contained in:
Jimmy Shih
2013-04-18 13:34:30 -07:00
parent c4d7b544cb
commit c38ee02d4b
21 changed files with 131 additions and 129 deletions

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

+3 -3
View File
@@ -16,10 +16,10 @@ limitations under the License.
-->
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:icon="@drawable/menu_share_drive"
android:id="@+id/list_context_menu_share_drive"
android:icon="@drawable/menu_share"
android:id="@+id/list_context_menu_share"
android:showAsAction="ifRoom"
android:title="@string/menu_share_drive"/>
android:title="@string/menu_share"/>
<item
android:icon="@drawable/menu_show_on_map"
android:id="@+id/list_context_menu_show_on_map"
+1 -1
View File
@@ -17,7 +17,7 @@ limitations under the License.
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:icon="@drawable/menu_map_layer"
android:orderInCategory="6"
android:orderInCategory="5"
android:showAsAction="ifRoom"
android:title="@string/menu_map_layer">
<menu>
+15 -22
View File
@@ -28,35 +28,28 @@ limitations under the License.
android:showAsAction="ifRoom"
android:title="@string/menu_play"/>
<item
android:icon="@drawable/menu_share_drive"
android:id="@+id/track_detail_share_drive"
android:icon="@drawable/menu_share"
android:id="@+id/track_detail_share"
android:orderInCategory="3"
android:showAsAction="ifRoom"
android:title="@string/menu_share_drive">
</item>
<item
android:icon="@drawable/menu_share_maps"
android:id="@+id/track_detail_share_maps"
android:orderInCategory="4"
android:showAsAction="ifRoom"
android:title="@string/menu_share_maps">
android:title="@string/menu_share">
</item>
<item
android:icon="@drawable/menu_markers"
android:id="@+id/track_detail_markers"
android:orderInCategory="5"
android:orderInCategory="4"
android:showAsAction="ifRoom"
android:title="@string/menu_markers"/>
<!-- android:orderInCategory="6" is in map.xml -->
<!-- android:orderInCategory="5" is in map.xml -->
<item
android:icon="@drawable/menu_send_google"
android:id="@+id/track_detail_send_google"
android:orderInCategory="7"
android:orderInCategory="6"
android:title="@string/menu_send_google"/>
<item
android:icon="@drawable/menu_save"
android:id="@+id/track_detail_save"
android:orderInCategory="8"
android:orderInCategory="7"
android:title="@string/menu_save">
<menu>
<item
@@ -76,41 +69,41 @@ limitations under the License.
<item
android:icon="@drawable/menu_edit"
android:id="@+id/track_detail_edit"
android:orderInCategory="9"
android:orderInCategory="8"
android:title="@string/menu_edit"/>
<item
android:icon="@drawable/menu_delete"
android:id="@+id/track_detail_delete"
android:orderInCategory="10"
android:orderInCategory="9"
android:title="@string/menu_delete"/>
<item
android:icon="@drawable/menu_voice_frequency"
android:id="@+id/track_detail_voice_frequency"
android:orderInCategory="11"
android:orderInCategory="10"
android:title="@string/menu_voice_frequency"/>
<item
android:icon="@drawable/menu_split_frequency"
android:id="@+id/track_detail_split_frequency"
android:orderInCategory="12"
android:orderInCategory="11"
android:title="@string/menu_split_frequency"/>
<item
android:icon="@drawable/menu_sensor_state"
android:id="@+id/track_detail_sensor_state"
android:orderInCategory="13"
android:orderInCategory="12"
android:title="@string/menu_sensor_state"/>
<item
android:icon="@drawable/menu_settings"
android:id="@+id/track_detail_settings"
android:orderInCategory="14"
android:orderInCategory="13"
android:title="@string/menu_settings"/>
<item
android:icon="@drawable/menu_feedback"
android:id="@+id/track_detail_feedback"
android:orderInCategory="15"
android:orderInCategory="14"
android:title="@string/menu_feedback"/>
<item
android:icon="@drawable/menu_help"
android:id="@+id/track_detail_help"
android:orderInCategory="16"
android:orderInCategory="15"
android:title="@string/menu_help"/>
</menu>
@@ -182,6 +182,14 @@ limitations under the License.
<item>@string/sensor_type_value_zephyr</item>
<item>@string/sensor_type_value_none</item>
</string-array>
<string-array name="share_track_options">
<item>@string/settings_sharing_share_track_drive</item>
<item>@string/settings_sharing_share_track_maps</item>
</string-array>
<string-array name="share_track_values">
<item>@string/settings_sharing_share_track_drive_value</item>
<item>@string/settings_sharing_share_track_maps_value</item>
</string-array>
<string-array name="track_color_mode_options">
<item>@string/settings_map_track_color_mode_single</item>
<item>@string/settings_map_track_color_mode_fixed</item>
+2
View File
@@ -94,6 +94,8 @@ Google은 이용자에 대한 위치정보의 이용∙제공사실을 위치정
<string name="settings_recording_track_name_date_local_value">DATE_LOCAL</string>
<string name="settings_recording_track_name_location_value">LOCATION</string>
<string name="settings_recording_track_name_number_value">NUMBER</string>
<string name="settings_sharing_share_track_drive_value">DRIVE</string>
<string name="settings_sharing_share_track_maps_value">MAPS</string>
<string name="track_action_end">com.google.android.apps.mytracks.END_CURRENT_TRACK</string>
<string name="track_action_pause">com.google.android.apps.mytracks.PAUSE_CURRENT_TRACK</string>
<string name="track_action_resume">com.google.android.apps.mytracks.RESUME_CURRENT_TRACK</string>
+1
View File
@@ -49,6 +49,7 @@ limitations under the License.
<string name="send_to_maps_key">sendToMaps</string>
<string name="send_to_spreadsheets_key">sendToSpreadsheets</string>
<string name="sensor_type_key">sensorType</string>
<string name="share_track_key">shareTrack</string>
<string name="split_frequency_key">splitFrequency</string>
<string name="stats_show_coordinate_key">statsShowCoordinate</string>
<string name="stats_show_elevation_key">statsShowElevation</string>
+21 -10
View File
@@ -1097,17 +1097,11 @@ limitations under the License.
Character limit: ~20 (1 line)">
Settings
</string>
<string name="menu_share_maps"
translation_description="In the menu, to share a track via Google Maps.
<string name="menu_share"
translation_description="In the menu, to share a track.
Character limit: ~20 (1 line)">
Share via Google Maps
</string>
<string name="menu_share_drive"
translation_description="In the menu, to share a track via Google Drive.
Character limit: ~20 (1 line)">
Share via Google Drive
Share
</string>
<string name="menu_show_on_map"
translation_description="In the menu, to show a track or a marker on the map.
@@ -2032,7 +2026,24 @@ limitations under the License.
Tracks data.">
Other apps can read, write, start/stop recording My Tracks data.
</string>
<string name="settings_sharing_share_track"
translation_description="In the 'Sharing' settings, the option to configure how to share a
track.
Character limit: ~23 (1 line)">
Share track
</string>
<string name="settings_sharing_share_track_drive"
translation_description="In the 'Sharing' settings, the option in the 'Share track' setting to
share via Google Drive.">
Via Google Drive
</string>
<string name="settings_sharing_share_track_maps"
translation_description="In the 'Sharing' settings, the option in the 'Share track' setting to
share via Google Maps url.">
Via Google Maps url
</string>
<!-- Settings Stats -->
<string name="settings_stats_coordinate"
translation_description="In the 'Stats settings, the option to show latitude and longitude.
+4
View File
@@ -16,6 +16,10 @@ limitations under the License.
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/settings_sharing" >
<ListPreference
android:defaultValue="@string/settings_sharing_share_track_drive_value"
android:key="@string/share_track_key"
android:title="@string/settings_sharing_share_track" />
<CheckBoxPreference
android:defaultValue="false"
android:key="@string/allow_access_key"
@@ -24,6 +24,8 @@ import com.google.android.apps.mytracks.fragments.ChooseAccountDialogFragment;
import com.google.android.apps.mytracks.fragments.ChooseAccountDialogFragment.ChooseAccountCaller;
import com.google.android.apps.mytracks.fragments.ChooseActivityDialogFragment;
import com.google.android.apps.mytracks.fragments.ChooseActivityDialogFragment.ChooseActivityCaller;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment.ConfirmCaller;
import com.google.android.apps.mytracks.io.drive.SendDriveActivity;
import com.google.android.apps.mytracks.io.fusiontables.SendFusionTablesActivity;
import com.google.android.apps.mytracks.io.gdata.maps.MapsConstants;
@@ -34,8 +36,10 @@ import com.google.android.apps.mytracks.io.sendtogoogle.SendToGoogleUtils;
import com.google.android.apps.mytracks.io.sendtogoogle.UploadResultActivity;
import com.google.android.apps.mytracks.io.spreadsheets.SendSpreadsheetsActivity;
import com.google.android.apps.mytracks.io.sync.SyncUtils;
import com.google.android.apps.mytracks.util.AnalyticsUtils;
import com.google.android.apps.mytracks.util.IntentUtils;
import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.apps.mytracks.util.StringUtils;
import com.google.android.maps.mytracks.R;
import android.accounts.Account;
@@ -59,8 +63,9 @@ import java.io.IOException;
*
* @author Jimmy Shih
*/
public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActivity
implements ChooseAccountCaller, CheckPermissionCaller, AddEmailsCaller, ChooseActivityCaller {
public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActivity implements
ChooseAccountCaller, CheckPermissionCaller, AddEmailsCaller, ChooseActivityCaller,
ConfirmCaller {
private static final String TAG = AbstractMyTracksActivity.class.getSimpleName();
private static final String SEND_REQUEST_KEY = "send_request_key";
@@ -329,4 +334,41 @@ public abstract class AbstractSendToGoogleActivity extends AbstractMyTracksActiv
private void onPermissionFailure() {
Toast.makeText(this, R.string.send_google_no_account_permission, Toast.LENGTH_LONG).show();
}
protected void confirmShare(long trackId) {
String shareTrack = PreferencesUtils.getString(
this, R.string.share_track_key, PreferencesUtils.SHARE_TRACK_DEFAULT);
if (shareTrack.equals(PreferencesUtils.SHARE_TRACK_DEFAULT)) {
ConfirmDialogFragment.newInstance(R.string.confirm_share_drive_key,
PreferencesUtils.CONFIRM_SHARE_DRIVE_DEFAULT,
getString(R.string.share_track_drive_confirm_message), trackId)
.show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
} else {
ConfirmDialogFragment.newInstance(R.string.confirm_share_maps_key,
PreferencesUtils.CONFIRM_SHARE_MAPS_DEFAULT, StringUtils.getHtml(this,
R.string.share_track_maps_confirm_message, R.string.maps_public_unlisted_url),
trackId).show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
}
}
@Override
public void onConfirmDone(int confirmId, long trackId) {
switch (confirmId) {
case R.string.confirm_share_drive_key:
AnalyticsUtils.sendPageViews(this, "/action/share_drive");
SendRequest sendRequest = new SendRequest(trackId);
sendRequest.setSendDrive(true);
sendRequest.setDriveShare(true);
sendToGoogle(sendRequest);
break;
case R.string.confirm_share_maps_key:
AnalyticsUtils.sendPageViews(this, "/action/share_maps");
sendRequest = new SendRequest(trackId);
sendRequest.setSendMaps(true);
sendRequest.setMapsShare(true);
sendToGoogle(sendRequest);
break;
default:
}
}
}
@@ -74,7 +74,7 @@ public class MarkerListActivity extends AbstractMyTracksActivity implements Dele
}
public void onPrepare(Menu menu, int position, long id) {
menu.findItem(R.id.list_context_menu_share_drive).setVisible(false);
menu.findItem(R.id.list_context_menu_share).setVisible(false);
menu.findItem(R.id.list_context_menu_show_on_map).setVisible(true);
menu.findItem(R.id.list_context_menu_edit).setVisible(!track.isSharedWithMe());
menu.findItem(R.id.list_context_menu_delete).setVisible(!track.isSharedWithMe());
@@ -24,17 +24,13 @@ import com.google.android.apps.mytracks.content.SearchEngineProvider;
import com.google.android.apps.mytracks.content.Track;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.content.Waypoint.WaypointType;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment.ConfirmCaller;
import com.google.android.apps.mytracks.fragments.DeleteOneMarkerDialogFragment;
import com.google.android.apps.mytracks.fragments.DeleteOneMarkerDialogFragment.DeleteOneMarkerCaller;
import com.google.android.apps.mytracks.fragments.DeleteOneTrackDialogFragment;
import com.google.android.apps.mytracks.fragments.DeleteOneTrackDialogFragment.DeleteOneTrackCaller;
import com.google.android.apps.mytracks.io.sendtogoogle.SendRequest;
import com.google.android.apps.mytracks.services.MyTracksLocationManager;
import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection;
import com.google.android.apps.mytracks.stats.TripStatistics;
import com.google.android.apps.mytracks.util.AnalyticsUtils;
import com.google.android.apps.mytracks.util.ApiAdapterFactory;
import com.google.android.apps.mytracks.util.IntentUtils;
import com.google.android.apps.mytracks.util.ListItemUtils;
@@ -79,7 +75,7 @@ import java.util.SortedSet;
* @author Rodrigo Damazio
*/
public class SearchListActivity extends AbstractSendToGoogleActivity
implements ConfirmCaller, DeleteOneTrackCaller, DeleteOneMarkerCaller {
implements DeleteOneTrackCaller, DeleteOneMarkerCaller {
private static final String TAG = SearchListActivity.class.getSimpleName();
@@ -141,7 +137,7 @@ public class SearchListActivity extends AbstractSendToGoogleActivity
Long trackId = (Long) item.get(TRACK_ID_FIELD);
Long markerId = (Long) item.get(MARKER_ID_FIELD);
Track track = myTracksProviderUtils.getTrack(trackId);
menu.findItem(R.id.list_context_menu_share_drive)
menu.findItem(R.id.list_context_menu_share)
.setVisible(markerId == null && !track.isSharedWithMe());
menu.findItem(R.id.list_context_menu_show_on_map).setVisible(markerId != null);
menu.findItem(R.id.list_context_menu_edit).setVisible(!track.isSharedWithMe());
@@ -328,11 +324,8 @@ public class SearchListActivity extends AbstractSendToGoogleActivity
Long markerId = (Long) item.get(MARKER_ID_FIELD);
Intent intent;
switch (itemId) {
case R.id.list_context_menu_share_drive:
ConfirmDialogFragment.newInstance(R.string.confirm_share_drive_key,
PreferencesUtils.CONFIRM_SHARE_DRIVE_DEFAULT,
getString(R.string.share_track_drive_confirm_message), trackId)
.show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
case R.id.list_context_menu_share:
confirmShare(trackId);
return true;
case R.id.list_context_menu_show_on_map:
if (markerId != null) {
@@ -510,20 +503,6 @@ public class SearchListActivity extends AbstractSendToGoogleActivity
resultMap.put(MARKER_ID_FIELD, null);
}
@Override
public void onConfirmDone(int confirmId, long trackId) {
switch (confirmId) {
case R.string.confirm_share_drive_key:
AnalyticsUtils.sendPageViews(this, "/action/share_drive");
SendRequest sendRequest = new SendRequest(trackId);
sendRequest.setSendDrive(true);
sendRequest.setDriveShare(true);
sendToGoogle(sendRequest);
break;
default:
}
}
@Override
public TrackRecordingServiceConnection getTrackRecordingServiceConnection() {
return trackRecordingServiceConnection;
@@ -25,7 +25,6 @@ import com.google.android.apps.mytracks.fragments.ChartFragment;
import com.google.android.apps.mytracks.fragments.ChooseUploadServiceDialogFragment;
import com.google.android.apps.mytracks.fragments.ChooseUploadServiceDialogFragment.ChooseUploadServiceCaller;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment.ConfirmCaller;
import com.google.android.apps.mytracks.fragments.DeleteOneTrackDialogFragment;
import com.google.android.apps.mytracks.fragments.DeleteOneTrackDialogFragment.DeleteOneTrackCaller;
import com.google.android.apps.mytracks.fragments.FrequencyDialogFragment;
@@ -41,7 +40,6 @@ import com.google.android.apps.mytracks.util.AnalyticsUtils;
import com.google.android.apps.mytracks.util.GoogleFeedbackUtils;
import com.google.android.apps.mytracks.util.IntentUtils;
import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.apps.mytracks.util.StringUtils;
import com.google.android.apps.mytracks.util.TrackRecordingServiceConnectionUtils;
import com.google.android.maps.mytracks.R;
@@ -72,7 +70,7 @@ import java.util.Locale;
* @author Rodrigo Damazio
*/
public class TrackDetailActivity extends AbstractSendToGoogleActivity
implements ConfirmCaller, ChooseUploadServiceCaller, DeleteOneTrackCaller {
implements ChooseUploadServiceCaller, DeleteOneTrackCaller {
public static final String EXTRA_TRACK_ID = "track_id";
public static final String EXTRA_MARKER_ID = "marker_id";
@@ -99,8 +97,7 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
private MenuItem insertMarkerMenuItem;
private MenuItem playMenuItem;
private MenuItem shareDriveMenuItem;
private MenuItem shareMapsMenuItem;
private MenuItem shareMenuItem;
private MenuItem sendGoogleMenuItem;
private MenuItem saveMenuItem;
private MenuItem voiceFrequencyMenuItem;
@@ -301,13 +298,12 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
Track track = myTracksProviderUtils.getTrack(trackId);
boolean sharedWithMe = track != null ? track.isSharedWithMe() : true;
menu.findItem(R.id.track_detail_edit).setVisible(!sharedWithMe);
shareDriveMenuItem = menu.findItem(R.id.track_detail_share_drive);
shareDriveMenuItem.setEnabled(!sharedWithMe);
shareDriveMenuItem.setVisible(!sharedWithMe);
shareMenuItem = menu.findItem(R.id.track_detail_share);
shareMenuItem.setEnabled(!sharedWithMe);
shareMenuItem.setVisible(!sharedWithMe);
insertMarkerMenuItem = menu.findItem(R.id.track_detail_insert_marker);
playMenuItem = menu.findItem(R.id.track_detail_play);
shareMapsMenuItem = menu.findItem(R.id.track_detail_share_maps);
sendGoogleMenuItem = menu.findItem(R.id.track_detail_send_google);
saveMenuItem = menu.findItem(R.id.track_detail_save);
voiceFrequencyMenuItem = menu.findItem(R.id.track_detail_voice_frequency);
@@ -349,17 +345,8 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
getSupportFragmentManager(), InstallEarthDialogFragment.INSTALL_EARTH_DIALOG_TAG);
}
return true;
case R.id.track_detail_share_drive:
ConfirmDialogFragment.newInstance(R.string.confirm_share_drive_key,
PreferencesUtils.CONFIRM_SHARE_DRIVE_DEFAULT,
getString(R.string.share_track_drive_confirm_message), trackId)
.show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
return true;
case R.id.track_detail_share_maps:
ConfirmDialogFragment.newInstance(R.string.confirm_share_maps_key,
PreferencesUtils.CONFIRM_SHARE_MAPS_DEFAULT, StringUtils.getHtml(
this, R.string.share_track_maps_confirm_message, R.string.maps_public_unlisted_url),
trackId).show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
case R.id.track_detail_share:
confirmShare(trackId);
return true;
case R.id.track_detail_markers:
intent = IntentUtils.newIntent(this, MarkerListActivity.class)
@@ -439,32 +426,17 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
@Override
public void onConfirmDone(int confirmId, long confirmTrackId) {
SendRequest sendRequest;
Intent intent;
switch (confirmId) {
case R.string.confirm_play_earth_key:
AnalyticsUtils.sendPageViews(this, "/action/play");
intent = IntentUtils.newIntent(this, SaveActivity.class)
Intent intent = IntentUtils.newIntent(this, SaveActivity.class)
.putExtra(SaveActivity.EXTRA_TRACK_ID, confirmTrackId)
.putExtra(SaveActivity.EXTRA_TRACK_FILE_FORMAT, (Parcelable) TrackFileFormat.KML)
.putExtra(SaveActivity.EXTRA_PLAY_TRACK, true);
startActivity(intent);
break;
case R.string.confirm_share_maps_key:
AnalyticsUtils.sendPageViews(this, "/action/share_maps");
sendRequest = new SendRequest(trackId);
sendRequest.setSendMaps(true);
sendRequest.setMapsShare(true);
sendToGoogle(sendRequest);
break;
case R.string.confirm_share_drive_key:
AnalyticsUtils.sendPageViews(this, "/action/share_drive");
sendRequest = new SendRequest(trackId);
sendRequest.setSendDrive(true);
sendRequest.setDriveShare(true);
sendToGoogle(sendRequest);
break;
default:
super.onConfirmDone(confirmId, confirmTrackId);
}
}
@@ -576,11 +548,8 @@ public class TrackDetailActivity extends AbstractSendToGoogleActivity
if (playMenuItem != null) {
playMenuItem.setVisible(!isRecording);
}
if (shareMapsMenuItem != null) {
shareMapsMenuItem.setVisible(!isRecording);
}
if (shareDriveMenuItem != null && shareDriveMenuItem.isEnabled()) {
shareDriveMenuItem.setVisible(!isRecording);
if (shareMenuItem != null && shareMenuItem.isEnabled()) {
shareMenuItem.setVisible(!isRecording);
}
if (sendGoogleMenuItem != null) {
sendGoogleMenuItem.setVisible(!isRecording);
@@ -23,8 +23,6 @@ import com.google.android.apps.mytracks.content.TrackDataListener;
import com.google.android.apps.mytracks.content.TrackDataType;
import com.google.android.apps.mytracks.content.TracksColumns;
import com.google.android.apps.mytracks.content.Waypoint;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment;
import com.google.android.apps.mytracks.fragments.ConfirmDialogFragment.ConfirmCaller;
import com.google.android.apps.mytracks.fragments.DeleteAllTrackDialogFragment;
import com.google.android.apps.mytracks.fragments.DeleteOneTrackDialogFragment;
import com.google.android.apps.mytracks.fragments.DeleteOneTrackDialogFragment.DeleteOneTrackCaller;
@@ -96,7 +94,7 @@ import java.util.Locale;
* @author Leif Hendrik Wilden
*/
public class TrackListActivity extends AbstractSendToGoogleActivity
implements EulaCaller, EnableSyncCaller, ConfirmCaller, DeleteOneTrackCaller {
implements EulaCaller, EnableSyncCaller, DeleteOneTrackCaller {
private static final String TAG = TrackListActivity.class.getSimpleName();
private static final String START_GPS_KEY = "start_gps_key";
@@ -204,7 +202,7 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
public void onPrepare(Menu menu, int position, long id) {
Track track = myTracksProviderUtils.getTrack(id);
menu.findItem(R.id.list_context_menu_share_drive).setVisible(!track.isSharedWithMe());
menu.findItem(R.id.list_context_menu_share).setVisible(!track.isSharedWithMe());
menu.findItem(R.id.list_context_menu_show_on_map).setVisible(false);
menu.findItem(R.id.list_context_menu_edit).setVisible(!track.isSharedWithMe());
menu.findItem(R.id.list_context_menu_delete).setVisible(true);
@@ -655,20 +653,6 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
return super.onKeyUp(keyCode, event);
}
@Override
public void onConfirmDone(int confirmId, long trackId) {
switch (confirmId) {
case R.string.confirm_share_drive_key:
AnalyticsUtils.sendPageViews(this, "/action/share_drive");
SendRequest sendRequest = new SendRequest(trackId);
sendRequest.setSendDrive(true);
sendRequest.setDriveShare(true);
sendToGoogle(sendRequest);
break;
default:
}
}
@Override
public TrackRecordingServiceConnection getTrackRecordingServiceConnection() {
return trackRecordingServiceConnection;
@@ -828,11 +812,8 @@ public class TrackListActivity extends AbstractSendToGoogleActivity
private boolean handleContextItem(int itemId, long trackId) {
Intent intent;
switch (itemId) {
case R.id.list_context_menu_share_drive:
ConfirmDialogFragment.newInstance(R.string.confirm_share_drive_key,
PreferencesUtils.CONFIRM_SHARE_DRIVE_DEFAULT,
getString(R.string.share_track_drive_confirm_message), trackId)
.show(getSupportFragmentManager(), ConfirmDialogFragment.CONFIRM_DIALOG_TAG);
case R.id.list_context_menu_share:
confirmShare(trackId);
return true;
case R.id.list_context_menu_show_on_map:
intent = IntentUtils.newIntent(this, TrackDetailActivity.class)
@@ -17,12 +17,14 @@
package com.google.android.apps.mytracks.settings;
import com.google.android.apps.mytracks.util.DialogUtils;
import com.google.android.apps.mytracks.util.PreferencesUtils;
import com.google.android.maps.mytracks.R;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
@@ -35,6 +37,7 @@ public class SharingSettingsActivity extends AbstractSettingsActivity {
private static final int DIALOG_CONFIRM_ALLOW_ACCESS_ID = 0;
private ListPreference shareTrackListPreference;
private CheckBoxPreference allowAccessCheckBoxPreference;
@SuppressWarnings("deprecation")
@@ -42,6 +45,14 @@ public class SharingSettingsActivity extends AbstractSettingsActivity {
protected void onCreate(Bundle bundle) {
super.onCreate(bundle);
addPreferencesFromResource(R.xml.sharing_settings);
shareTrackListPreference = (ListPreference) findPreference(getString(R.string.share_track_key));
String value = PreferencesUtils.getString(
this, R.string.share_track_key, PreferencesUtils.SHARE_TRACK_DEFAULT);
String[] values = getResources().getStringArray(R.array.share_track_values);
String[] options = getResources().getStringArray(R.array.share_track_options);
configureListPreference(shareTrackListPreference, options, options, values, value, null);
allowAccessCheckBoxPreference = (CheckBoxPreference) findPreference(
getString(R.string.allow_access_key));
@@ -94,6 +94,7 @@ public class PreferencesUtils {
public static final boolean SEND_TO_SPREADSHEETS_DEFAULT = false;
public static final String SENSOR_TYPE_DEFAULT = "NONE";
public static final String SHARE_TRACK_DEFAULT = "DRIVE";
public static final int SPLIT_FREQUENCY_DEFAULT = 0;
public static final boolean STATS_SHOW_COORDINATE_DEFAULT = false;
public static final boolean STATS_SHOW_ELEVATION_DEFAULT = false;