mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-08 20:33:06 +02:00
Move to Android ShareSheet.
This commit is contained in:
@@ -69,6 +69,7 @@ public class IntentUtils {
|
||||
* @param context the context
|
||||
* @param trackIds the track ids
|
||||
*/
|
||||
//TODO Share mulitple tracks in different files!
|
||||
public static Intent newShareFileIntent(Context context, long[] trackIds) {
|
||||
String trackDescription = "";
|
||||
if (trackIds.length == 1) {
|
||||
@@ -76,7 +77,6 @@ public class IntentUtils {
|
||||
trackDescription = track == null ? "" : new DescriptionGeneratorImpl(context).generateTrackDescription(track, false);
|
||||
}
|
||||
Pair<Uri, String> uriAndMime = ShareContentProvider.createURI(trackIds, TrackFileFormat.KMZ_WITH_TRACKDETAIL_AND_SENSORDATA_AND_PICTURES);
|
||||
|
||||
return new Intent(Intent.ACTION_SEND)
|
||||
.putExtra(Intent.EXTRA_STREAM, uriAndMime.first)
|
||||
.putExtra(Intent.EXTRA_SUBJECT, context.getString(R.string.share_track_subject))
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
package de.dennisguse.opentracks.util;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.MenuItem;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.widget.ShareActionProvider;
|
||||
import androidx.core.internal.view.SupportMenuItem;
|
||||
import androidx.core.view.MenuItemCompat;
|
||||
|
||||
public class ToolbarUtils {
|
||||
|
||||
private ToolbarUtils() {
|
||||
}
|
||||
|
||||
//TODO Compat is not working as the AbsListView.MultiChoiceModeListener; instantiating it manually using the non-compat is a workaround.
|
||||
@Deprecated
|
||||
public static void setupShareActionProvider(@NonNull Context context, @NonNull MenuItem shareMenuItem, @NonNull long[] trackIds) {
|
||||
android.widget.ShareActionProvider shareActionProvider = new android.widget.ShareActionProvider(context);
|
||||
shareActionProvider.setShareIntent(trackIds.length == 0 ? null : IntentUtils.newShareFileIntent(context, trackIds));
|
||||
shareMenuItem.setActionProvider(shareActionProvider);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param shareMenuItem Should be a {@link SupportMenuItem}.
|
||||
*/
|
||||
public static void setupShareActionProviderCompat(@NonNull Context context, @NonNull MenuItem shareMenuItem, @NonNull long[] trackIds) {
|
||||
ShareActionProvider shareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareMenuItem);
|
||||
shareActionProvider.setShareIntent(trackIds.length == 0 ? null : IntentUtils.newShareFileIntent(context, trackIds));
|
||||
MenuItemCompat.setActionProvider(shareMenuItem, shareActionProvider);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user