From 34450aa5e7abd353afa5189edeab4b037d057a8e Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Sat, 13 Jul 2019 12:12:15 +0200 Subject: [PATCH] Share is working in TrackDetailActivity. --- .../android/apps/mytracks/AbstractTrackActivity.java | 3 +-- .../google/android/apps/mytracks/SearchListActivity.java | 2 ++ .../google/android/apps/mytracks/TrackDetailActivity.java | 6 +++++- myTracks/src/main/res/menu/list_context_menu.xml | 8 +------- myTracks/src/main/res/menu/track_detail.xml | 4 ++-- 5 files changed, 11 insertions(+), 12 deletions(-) diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractTrackActivity.java b/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractTrackActivity.java index 08a3356b4..fde4953f1 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractTrackActivity.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/AbstractTrackActivity.java @@ -77,8 +77,7 @@ public abstract class AbstractTrackActivity extends AbstractActivity implements @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { - contextualActionModeCallback.onPrepare( - menu, getCheckedPositions(listView), listView.getCheckedItemIds(), true); + contextualActionModeCallback.onPrepare(menu, getCheckedPositions(listView), listView.getCheckedItemIds(), true); return true; } diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/SearchListActivity.java b/myTracks/src/main/java/com/google/android/apps/mytracks/SearchListActivity.java index d2edbb240..23c7db38e 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/SearchListActivity.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/SearchListActivity.java @@ -146,6 +146,8 @@ public class SearchListActivity extends AbstractTrackActivity implements DeleteM } // Not recording, one item, item is a track menu.findItem(R.id.list_context_menu_share).setVisible(!isRecording && isSingleSelection && isSingleSelectionTrack); + //TODO Setup shareIntent. + // One item, item is a marker menu.findItem(R.id.list_context_menu_show_on_map) .setVisible(isSingleSelection && !isSingleSelectionTrack); diff --git a/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java b/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java index 71d75f479..1a4fb11d2 100644 --- a/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java +++ b/myTracks/src/main/java/com/google/android/apps/mytracks/TrackDetailActivity.java @@ -28,6 +28,7 @@ import com.google.android.apps.mytracks.fragments.ChooseActivityTypeDialogFragme import com.google.android.apps.mytracks.fragments.ConfirmDeleteDialogFragment; import com.google.android.apps.mytracks.fragments.FrequencyDialogFragment; import com.google.android.apps.mytracks.fragments.StatsFragment; +import com.google.android.apps.mytracks.io.file.TrackFileFormat; import com.google.android.apps.mytracks.services.TrackRecordingServiceConnection; import com.google.android.apps.mytracks.settings.SettingsActivity; import com.google.android.apps.mytracks.util.FileUtils; @@ -57,9 +58,9 @@ import androidx.viewpager.widget.ViewPager; import android.util.Log; import android.view.Menu; import android.view.MenuItem; -import android.view.MotionEvent; import android.view.View; import android.view.View.OnClickListener; +import android.widget.ShareActionProvider; import android.widget.TabHost; import android.widget.TabHost.TabSpec; import android.widget.Toast; @@ -335,6 +336,9 @@ public class TrackDetailActivity extends AbstractTrackActivity insertPhotoMenuItem.setVisible(new Intent(MediaStore.ACTION_IMAGE_CAPTURE).resolveActivity(getPackageManager()) != null); shareMenuItem = menu.findItem(R.id.track_detail_share); + ShareActionProvider shareActionProvider = (ShareActionProvider) shareMenuItem.getActionProvider(); + //TODO: Share the actual track when track is finished? How to get the file path or create a new file? + shareActionProvider.setShareIntent(IntentUtils.newShareFileIntent(this, trackId, "", TrackFileFormat.KML)); voiceFrequencyMenuItem = menu.findItem(R.id.track_detail_voice_frequency); splitFrequencyMenuItem = menu.findItem(R.id.track_detail_split_frequency); diff --git a/myTracks/src/main/res/menu/list_context_menu.xml b/myTracks/src/main/res/menu/list_context_menu.xml index 59b5a6a97..1d7efa10b 100644 --- a/myTracks/src/main/res/menu/list_context_menu.xml +++ b/myTracks/src/main/res/menu/list_context_menu.xml @@ -19,13 +19,7 @@ limitations under the License. android:id="@+id/list_context_menu_share" android:icon="@drawable/ic_menu_share" android:title="@string/menu_share" - app:showAsAction="ifRoom" /> - + android:actionProviderClass="android.widget.ShareActionProvider" + app:showAsAction="ifRoom" />