mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-11-04 09:13:00 +00:00 
			
		
		
		
	Refactoring + deduplicated code
This commit is contained in:
		@@ -1,7 +1,6 @@
 | 
			
		||||
package org.schabi.newpipe.download;
 | 
			
		||||
 | 
			
		||||
import android.app.Activity;
 | 
			
		||||
import android.content.ActivityNotFoundException;
 | 
			
		||||
import android.content.ComponentName;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.content.DialogInterface;
 | 
			
		||||
@@ -54,7 +53,7 @@ import org.schabi.newpipe.extractor.stream.StreamInfo;
 | 
			
		||||
import org.schabi.newpipe.extractor.stream.SubtitlesStream;
 | 
			
		||||
import org.schabi.newpipe.extractor.stream.VideoStream;
 | 
			
		||||
import org.schabi.newpipe.settings.NewPipeSettings;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerHelper;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerSafeGuard;
 | 
			
		||||
import org.schabi.newpipe.streams.io.StoredDirectoryHelper;
 | 
			
		||||
import org.schabi.newpipe.streams.io.StoredFileHelper;
 | 
			
		||||
import org.schabi.newpipe.util.FilePickerActivityHelper;
 | 
			
		||||
@@ -689,12 +688,12 @@ public class DownloadDialog extends DialogFragment
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void launchDirectoryPicker(final ActivityResultLauncher<Intent> launcher) {
 | 
			
		||||
        try {
 | 
			
		||||
            launcher.launch(StoredDirectoryHelper.getPicker(context));
 | 
			
		||||
        } catch (final ActivityNotFoundException aex) {
 | 
			
		||||
            Log.w(TAG, "Unable to launch directory picker", aex);
 | 
			
		||||
            NoFileManagerHelper.showActivityNotFoundAlert(getContext());
 | 
			
		||||
        }
 | 
			
		||||
        NoFileManagerSafeGuard.launchSafe(
 | 
			
		||||
                launcher,
 | 
			
		||||
                StoredDirectoryHelper.getPicker(context),
 | 
			
		||||
                TAG,
 | 
			
		||||
                context
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void prepareSelectedDownload() {
 | 
			
		||||
@@ -773,13 +772,12 @@ public class DownloadDialog extends DialogFragment
 | 
			
		||||
                initialPath = Uri.parse(initialSavePath.getAbsolutePath());
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            try {
 | 
			
		||||
                requestDownloadSaveAsLauncher.launch(StoredFileHelper.getNewPicker(context,
 | 
			
		||||
                        filenameTmp, mimeTmp, initialPath));
 | 
			
		||||
            } catch (final ActivityNotFoundException aex) {
 | 
			
		||||
                Log.w(TAG, "Unable to launch file picker", aex);
 | 
			
		||||
                NoFileManagerHelper.showActivityNotFoundAlert(getContext());
 | 
			
		||||
            }
 | 
			
		||||
            NoFileManagerSafeGuard.launchSafe(
 | 
			
		||||
                    requestDownloadSaveAsLauncher,
 | 
			
		||||
                    StoredFileHelper.getNewPicker(context, filenameTmp, mimeTmp, initialPath),
 | 
			
		||||
                    TAG,
 | 
			
		||||
                    context
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
package org.schabi.newpipe.local.subscription
 | 
			
		||||
 | 
			
		||||
import android.app.Activity
 | 
			
		||||
import android.content.ActivityNotFoundException
 | 
			
		||||
import android.content.BroadcastReceiver
 | 
			
		||||
import android.content.Context
 | 
			
		||||
import android.content.DialogInterface
 | 
			
		||||
@@ -9,7 +8,6 @@ import android.content.Intent
 | 
			
		||||
import android.content.IntentFilter
 | 
			
		||||
import android.os.Bundle
 | 
			
		||||
import android.os.Parcelable
 | 
			
		||||
import android.util.Log
 | 
			
		||||
import android.view.LayoutInflater
 | 
			
		||||
import android.view.Menu
 | 
			
		||||
import android.view.MenuInflater
 | 
			
		||||
@@ -57,7 +55,7 @@ import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService
 | 
			
		||||
import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.KEY_MODE
 | 
			
		||||
import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.KEY_VALUE
 | 
			
		||||
import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService.PREVIOUS_EXPORT_MODE
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerHelper
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerSafeGuard
 | 
			
		||||
import org.schabi.newpipe.streams.io.StoredFileHelper
 | 
			
		||||
import org.schabi.newpipe.util.NavigationHelper
 | 
			
		||||
import org.schabi.newpipe.util.OnClickGesture
 | 
			
		||||
@@ -182,26 +180,24 @@ class SubscriptionFragment : BaseStateFragment<SubscriptionState>() {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun onImportPreviousSelected() {
 | 
			
		||||
        try {
 | 
			
		||||
            requestImportLauncher.launch(StoredFileHelper.getPicker(activity, JSON_MIME_TYPE))
 | 
			
		||||
        } catch (aex: ActivityNotFoundException) {
 | 
			
		||||
            Log.w(TAG, "Unable to launch file picker", aex)
 | 
			
		||||
            NoFileManagerHelper.showActivityNotFoundAlert(context)
 | 
			
		||||
        }
 | 
			
		||||
        NoFileManagerSafeGuard.launchSafe(
 | 
			
		||||
            requestImportLauncher,
 | 
			
		||||
            StoredFileHelper.getPicker(activity, JSON_MIME_TYPE),
 | 
			
		||||
            TAG,
 | 
			
		||||
            requireContext()
 | 
			
		||||
        )
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun onExportSelected() {
 | 
			
		||||
        val date = SimpleDateFormat("yyyyMMddHHmm", Locale.ENGLISH).format(Date())
 | 
			
		||||
        val exportName = "newpipe_subscriptions_$date.json"
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            requestExportLauncher.launch(
 | 
			
		||||
                StoredFileHelper.getNewPicker(activity, exportName, JSON_MIME_TYPE, null)
 | 
			
		||||
        NoFileManagerSafeGuard.launchSafe(
 | 
			
		||||
            requestExportLauncher,
 | 
			
		||||
            StoredFileHelper.getNewPicker(activity, exportName, JSON_MIME_TYPE, null),
 | 
			
		||||
            TAG,
 | 
			
		||||
            requireContext()
 | 
			
		||||
        )
 | 
			
		||||
        } catch (aex: ActivityNotFoundException) {
 | 
			
		||||
            Log.w(TAG, "Unable to launch file picker", aex)
 | 
			
		||||
            NoFileManagerHelper.showActivityNotFoundAlert(context)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun openReorderDialog() {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,10 @@
 | 
			
		||||
package org.schabi.newpipe.local.subscription;
 | 
			
		||||
 | 
			
		||||
import android.app.Activity;
 | 
			
		||||
import android.content.ActivityNotFoundException;
 | 
			
		||||
import android.content.Intent;
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.text.TextUtils;
 | 
			
		||||
import android.text.util.Linkify;
 | 
			
		||||
import android.util.Log;
 | 
			
		||||
import android.view.LayoutInflater;
 | 
			
		||||
import android.view.View;
 | 
			
		||||
import android.view.ViewGroup;
 | 
			
		||||
@@ -32,7 +30,7 @@ import org.schabi.newpipe.extractor.NewPipe;
 | 
			
		||||
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
 | 
			
		||||
import org.schabi.newpipe.extractor.subscription.SubscriptionExtractor;
 | 
			
		||||
import org.schabi.newpipe.local.subscription.services.SubscriptionsImportService;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerHelper;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerSafeGuard;
 | 
			
		||||
import org.schabi.newpipe.streams.io.StoredFileHelper;
 | 
			
		||||
import org.schabi.newpipe.util.Constants;
 | 
			
		||||
import org.schabi.newpipe.util.ServiceHelper;
 | 
			
		||||
@@ -178,14 +176,14 @@ public class SubscriptionsImportFragment extends BaseFragment {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void onImportFile() {
 | 
			
		||||
        try {
 | 
			
		||||
        NoFileManagerSafeGuard.launchSafe(
 | 
			
		||||
                requestImportFileLauncher,
 | 
			
		||||
                // leave */* mime type to support all services
 | 
			
		||||
                // with different mime types and file extensions
 | 
			
		||||
            requestImportFileLauncher.launch(StoredFileHelper.getPicker(activity, "*/*"));
 | 
			
		||||
        } catch (final ActivityNotFoundException aex) {
 | 
			
		||||
            Log.w(TAG, "Unable to launch file picker", aex);
 | 
			
		||||
            NoFileManagerHelper.showActivityNotFoundAlert(getContext());
 | 
			
		||||
        }
 | 
			
		||||
                StoredFileHelper.getPicker(activity, "*/*"),
 | 
			
		||||
                TAG,
 | 
			
		||||
                getContext()
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void requestImportFileResult(final ActivityResult result) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
package org.schabi.newpipe.settings;
 | 
			
		||||
 | 
			
		||||
import android.app.Activity;
 | 
			
		||||
import android.content.ActivityNotFoundException;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.content.Intent;
 | 
			
		||||
import android.content.SharedPreferences;
 | 
			
		||||
@@ -26,7 +25,7 @@ import org.schabi.newpipe.error.ReCaptchaActivity;
 | 
			
		||||
import org.schabi.newpipe.extractor.NewPipe;
 | 
			
		||||
import org.schabi.newpipe.extractor.localization.ContentCountry;
 | 
			
		||||
import org.schabi.newpipe.extractor.localization.Localization;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerHelper;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerSafeGuard;
 | 
			
		||||
import org.schabi.newpipe.streams.io.StoredFileHelper;
 | 
			
		||||
import org.schabi.newpipe.util.NavigationHelper;
 | 
			
		||||
import org.schabi.newpipe.util.PicassoHelper;
 | 
			
		||||
@@ -75,29 +74,28 @@ public class ContentSettingsFragment extends BasePreferenceFragment {
 | 
			
		||||
 | 
			
		||||
        final Preference importDataPreference = requirePreference(R.string.import_data);
 | 
			
		||||
        importDataPreference.setOnPreferenceClickListener((Preference p) -> {
 | 
			
		||||
            try {
 | 
			
		||||
                requestImportPathLauncher.launch(
 | 
			
		||||
            NoFileManagerSafeGuard.launchSafe(
 | 
			
		||||
                    requestImportPathLauncher,
 | 
			
		||||
                    StoredFileHelper.getPicker(requireContext(),
 | 
			
		||||
                                ZIP_MIME_TYPE, getImportExportDataUri()));
 | 
			
		||||
            } catch (final ActivityNotFoundException aex) {
 | 
			
		||||
                Log.w(TAG, "Unable to launch file picker", aex);
 | 
			
		||||
                NoFileManagerHelper.showActivityNotFoundAlert(getContext());
 | 
			
		||||
            }
 | 
			
		||||
                            ZIP_MIME_TYPE, getImportExportDataUri()),
 | 
			
		||||
                    TAG,
 | 
			
		||||
                    getContext()
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
            return true;
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        final Preference exportDataPreference = requirePreference(R.string.export_data);
 | 
			
		||||
        exportDataPreference.setOnPreferenceClickListener((final Preference p) -> {
 | 
			
		||||
 | 
			
		||||
            try {
 | 
			
		||||
                requestExportPathLauncher.launch(
 | 
			
		||||
            NoFileManagerSafeGuard.launchSafe(
 | 
			
		||||
                    requestExportPathLauncher,
 | 
			
		||||
                    StoredFileHelper.getNewPicker(requireContext(),
 | 
			
		||||
                            "NewPipeData-" + exportDateFormat.format(new Date()) + ".zip",
 | 
			
		||||
                                ZIP_MIME_TYPE, getImportExportDataUri()));
 | 
			
		||||
            } catch (final ActivityNotFoundException aex) {
 | 
			
		||||
                Log.w(TAG, "Unable to launch file picker", aex);
 | 
			
		||||
                NoFileManagerHelper.showActivityNotFoundAlert(getContext());
 | 
			
		||||
            }
 | 
			
		||||
                            ZIP_MIME_TYPE, getImportExportDataUri()),
 | 
			
		||||
                    TAG,
 | 
			
		||||
                    getContext()
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
            return true;
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
package org.schabi.newpipe.settings;
 | 
			
		||||
 | 
			
		||||
import android.app.Activity;
 | 
			
		||||
import android.content.ActivityNotFoundException;
 | 
			
		||||
import android.content.ContentResolver;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.content.Intent;
 | 
			
		||||
@@ -22,7 +21,7 @@ import androidx.preference.SwitchPreferenceCompat;
 | 
			
		||||
import com.nononsenseapps.filepicker.Utils;
 | 
			
		||||
 | 
			
		||||
import org.schabi.newpipe.R;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerHelper;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerSafeGuard;
 | 
			
		||||
import org.schabi.newpipe.streams.io.StoredDirectoryHelper;
 | 
			
		||||
import org.schabi.newpipe.util.FilePickerActivityHelper;
 | 
			
		||||
 | 
			
		||||
@@ -216,12 +215,12 @@ public class DownloadSettingsFragment extends BasePreferenceFragment {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void launchDirectoryPicker(final ActivityResultLauncher<Intent> launcher) {
 | 
			
		||||
        try {
 | 
			
		||||
            launcher.launch(StoredDirectoryHelper.getPicker(ctx));
 | 
			
		||||
        } catch (final ActivityNotFoundException aex) {
 | 
			
		||||
            Log.w(TAG, "Unable to launch directory picker", aex);
 | 
			
		||||
            NoFileManagerHelper.showActivityNotFoundAlert(getContext());
 | 
			
		||||
        }
 | 
			
		||||
        NoFileManagerSafeGuard.launchSafe(
 | 
			
		||||
                launcher,
 | 
			
		||||
                StoredDirectoryHelper.getPicker(ctx),
 | 
			
		||||
                TAG,
 | 
			
		||||
                ctx
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void requestDownloadVideoPathResult(final ActivityResult result) {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,31 +0,0 @@
 | 
			
		||||
package org.schabi.newpipe.streams.io;
 | 
			
		||||
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
 | 
			
		||||
import androidx.appcompat.app.AlertDialog;
 | 
			
		||||
 | 
			
		||||
import org.schabi.newpipe.R;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Helper for when no file-manager/activity was found.
 | 
			
		||||
 */
 | 
			
		||||
public final class NoFileManagerHelper {
 | 
			
		||||
    private NoFileManagerHelper() {
 | 
			
		||||
        // No impl
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Shows an alert dialog when no file-manager is found.
 | 
			
		||||
     * @param context Context
 | 
			
		||||
     */
 | 
			
		||||
    public static void showActivityNotFoundAlert(final Context context) {
 | 
			
		||||
        new AlertDialog.Builder(context)
 | 
			
		||||
                .setTitle(R.string.no_app_to_open_intent)
 | 
			
		||||
                .setMessage(
 | 
			
		||||
                        context.getString(
 | 
			
		||||
                                R.string.no_appropriate_file_manager_message,
 | 
			
		||||
                                context.getString(R.string.downloads_storage_use_saf_title)))
 | 
			
		||||
                .setPositiveButton(R.string.ok, null)
 | 
			
		||||
                .show();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,67 @@
 | 
			
		||||
package org.schabi.newpipe.streams.io;
 | 
			
		||||
 | 
			
		||||
import android.content.ActivityNotFoundException;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.util.Log;
 | 
			
		||||
 | 
			
		||||
import androidx.activity.result.ActivityResultLauncher;
 | 
			
		||||
import androidx.annotation.NonNull;
 | 
			
		||||
import androidx.appcompat.app.AlertDialog;
 | 
			
		||||
 | 
			
		||||
import org.schabi.newpipe.R;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Helper for when no file-manager/activity was found.
 | 
			
		||||
 */
 | 
			
		||||
public final class NoFileManagerSafeGuard {
 | 
			
		||||
    private NoFileManagerSafeGuard() {
 | 
			
		||||
        // No impl
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Shows an alert dialog when no file-manager is found.
 | 
			
		||||
     * @param context Context
 | 
			
		||||
     */
 | 
			
		||||
    private static void showActivityNotFoundAlert(@NonNull final Context context) {
 | 
			
		||||
        if (context == null) {
 | 
			
		||||
            throw new IllegalArgumentException(
 | 
			
		||||
                    "Unable to open no file manager alert dialog: Context is null");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        new AlertDialog.Builder(context)
 | 
			
		||||
                .setTitle(R.string.no_app_to_open_intent)
 | 
			
		||||
                .setMessage(
 | 
			
		||||
                        context.getString(
 | 
			
		||||
                                R.string.no_appropriate_file_manager_message,
 | 
			
		||||
                                context.getString(R.string.downloads_storage_use_saf_title)))
 | 
			
		||||
                .setPositiveButton(R.string.ok, null)
 | 
			
		||||
                .show();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Launches the file manager safely.
 | 
			
		||||
     *
 | 
			
		||||
     * If no file manager is found (which is normally only the case when the user uninstalled
 | 
			
		||||
     * the default file manager or the OS lacks one) an alert dialog shows up, asking the user
 | 
			
		||||
     * to fix the situation.
 | 
			
		||||
     *
 | 
			
		||||
     * @param activityResultLauncher see {@link ActivityResultLauncher#launch(Object)}
 | 
			
		||||
     * @param input see {@link ActivityResultLauncher#launch(Object)}
 | 
			
		||||
     * @param tag Tag used for logging
 | 
			
		||||
     * @param context Context
 | 
			
		||||
     * @param <I> see {@link ActivityResultLauncher#launch(Object)}
 | 
			
		||||
     */
 | 
			
		||||
    public static <I> void launchSafe(
 | 
			
		||||
            final ActivityResultLauncher<I> activityResultLauncher,
 | 
			
		||||
            final I input,
 | 
			
		||||
            @NonNull final String tag,
 | 
			
		||||
            @NonNull final Context context
 | 
			
		||||
    ) {
 | 
			
		||||
        try {
 | 
			
		||||
            activityResultLauncher.launch(input);
 | 
			
		||||
        } catch (final ActivityNotFoundException aex) {
 | 
			
		||||
            Log.w(tag, "Unable to launch file/directory picker", aex);
 | 
			
		||||
            NoFileManagerSafeGuard.showActivityNotFoundAlert(context);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
package us.shandian.giga.ui.fragment;
 | 
			
		||||
 | 
			
		||||
import android.app.Activity;
 | 
			
		||||
import android.content.ActivityNotFoundException;
 | 
			
		||||
import android.content.ComponentName;
 | 
			
		||||
import android.content.Context;
 | 
			
		||||
import android.content.Intent;
 | 
			
		||||
@@ -11,7 +10,6 @@ import android.net.Uri;
 | 
			
		||||
import android.os.Bundle;
 | 
			
		||||
import android.os.Environment;
 | 
			
		||||
import android.os.IBinder;
 | 
			
		||||
import android.util.Log;
 | 
			
		||||
import android.view.LayoutInflater;
 | 
			
		||||
import android.view.Menu;
 | 
			
		||||
import android.view.MenuItem;
 | 
			
		||||
@@ -34,7 +32,7 @@ import com.nononsenseapps.filepicker.Utils;
 | 
			
		||||
 | 
			
		||||
import org.schabi.newpipe.R;
 | 
			
		||||
import org.schabi.newpipe.settings.NewPipeSettings;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerHelper;
 | 
			
		||||
import org.schabi.newpipe.streams.io.NoFileManagerSafeGuard;
 | 
			
		||||
import org.schabi.newpipe.streams.io.StoredFileHelper;
 | 
			
		||||
import org.schabi.newpipe.util.FilePickerActivityHelper;
 | 
			
		||||
 | 
			
		||||
@@ -261,14 +259,13 @@ public class MissionsFragment extends Fragment {
 | 
			
		||||
            initialPath = Uri.parse(initialSavePath.getAbsolutePath());
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            requestDownloadSaveAsLauncher.launch(
 | 
			
		||||
        NoFileManagerSafeGuard.launchSafe(
 | 
			
		||||
                requestDownloadSaveAsLauncher,
 | 
			
		||||
                StoredFileHelper.getNewPicker(mContext, mission.storage.getName(),
 | 
			
		||||
                            mission.storage.getType(), initialPath));
 | 
			
		||||
        } catch (final ActivityNotFoundException aex) {
 | 
			
		||||
            Log.w(TAG, "Unable to launch file picker", aex);
 | 
			
		||||
            NoFileManagerHelper.showActivityNotFoundAlert(getContext());
 | 
			
		||||
        }
 | 
			
		||||
                        mission.storage.getType(), initialPath),
 | 
			
		||||
                TAG,
 | 
			
		||||
                mContext
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user