Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.util.Log;
import android.widget.Toast;
Expand All @@ -26,6 +27,7 @@
import org.schabi.newpipe.extractor.localization.Localization;
import org.schabi.newpipe.report.ErrorActivity;
import org.schabi.newpipe.report.UserAction;
import org.schabi.newpipe.util.Constants;
import org.schabi.newpipe.util.FilePickerActivityHelper;
import org.schabi.newpipe.util.ZipHelper;

Expand Down Expand Up @@ -119,7 +121,10 @@ public void onCreatePreferences(final Bundle savedInstanceState, final String ro

Preference importDataPreference = findPreference(getString(R.string.import_data));
importDataPreference.setOnPreferenceClickListener((Preference p) -> {
String startPath = defaultPreferences.getString(Constants.IMPORT_PATH_DIRECTORY,
Environment.getExternalStorageDirectory().getPath());
Intent i = new Intent(getActivity(), FilePickerActivityHelper.class)
.putExtra(FilePickerActivityHelper.EXTRA_START_PATH, startPath)
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_MULTIPLE, false)
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_CREATE_DIR, false)
.putExtra(FilePickerActivityHelper.EXTRA_MODE,
Expand All @@ -129,8 +134,12 @@ public void onCreatePreferences(final Bundle savedInstanceState, final String ro
});

Preference exportDataPreference = findPreference(getString(R.string.export_data));

exportDataPreference.setOnPreferenceClickListener((Preference p) -> {
String startPath = defaultPreferences.getString(Constants.EXPORT_PATH_DIRECTORY,
Environment.getExternalStorageDirectory().getPath());
Intent i = new Intent(getActivity(), FilePickerActivityHelper.class)
.putExtra(FilePickerActivityHelper.EXTRA_START_PATH, startPath)
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_MULTIPLE, false)
.putExtra(FilePickerActivityHelper.EXTRA_ALLOW_CREATE_DIR, true)
.putExtra(FilePickerActivityHelper.EXTRA_MODE,
Expand Down Expand Up @@ -177,9 +186,14 @@ public void onActivityResult(final int requestCode, final int resultCode,
&& resultCode == Activity.RESULT_OK && data.getData() != null) {
String path = Utils.getFileForUri(data.getData()).getAbsolutePath();
if (requestCode == REQUEST_EXPORT_PATH) {
defaultPreferences.edit().putString(Constants.EXPORT_PATH_DIRECTORY,
path.toString()).apply();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.US);
exportDatabase(path + "/NewPipeData-" + sdf.format(new Date()) + ".zip");
} else {
String importDir = new File(path).getParent();
defaultPreferences.edit().putString(Constants.IMPORT_PATH_DIRECTORY,
importDir).apply();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.override_current_data)
.setPositiveButton(getString(R.string.finish),
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/java/org/schabi/newpipe/util/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ public final class Constants {
public static final String KEY_THEME_CHANGE = "key_theme_change";
public static final String KEY_MAIN_PAGE_CHANGE = "key_main_page_change";

public static final String EXPORT_PATH_DIRECTORY = "export_path_directory";
public static final String IMPORT_PATH_DIRECTORY = "import_path_directory";

public static final int NO_SERVICE_ID = -1;

private Constants() { }
Expand Down