Combine share via drive and share via maps url into a share button.
Use settings to choose between drive and maps.
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||