diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f6e311248..26788cd1b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -137,5 +137,12 @@
+
+
+
diff --git a/app/src/main/java/org/schabi/newpipe/SettingsActivity.java b/app/src/main/java/org/schabi/newpipe/SettingsActivity.java
index 316923c25..f93664ee0 100644
--- a/app/src/main/java/org/schabi/newpipe/SettingsActivity.java
+++ b/app/src/main/java/org/schabi/newpipe/SettingsActivity.java
@@ -1,16 +1,20 @@
package org.schabi.newpipe;
import android.app.Activity;
+import android.content.ClipData;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.media.AudioManager;
+import android.net.Uri;
+import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
+import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
@@ -23,7 +27,13 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
+import com.nononsenseapps.filepicker.AbstractFilePickerFragment;
+import com.nononsenseapps.filepicker.FilePickerActivity;
+
+import java.util.ArrayList;
+
import info.guardianproject.netcipher.proxy.OrbotHelper;
+import us.shandian.giga.util.Utility;
/**
* Created by Christian Schabesberger on 31.08.15.
@@ -81,7 +91,7 @@ public class SettingsActivity extends PreferenceActivity {
private ListPreference defaultResolutionPreference;
private ListPreference defaultAudioFormatPreference;
private ListPreference searchLanguagePreference;
- private EditTextPreference downloadPathPreference;
+ private Preference downloadPathPreference;
private EditTextPreference downloadPathAudioPreference;
private CheckBoxPreference useTorCheckBox;
private SharedPreferences defaultPreferences;
@@ -111,8 +121,7 @@ public class SettingsActivity extends PreferenceActivity {
(ListPreference) findPreference(DEFAULT_AUDIO_FORMAT_PREFERENCE);
searchLanguagePreference =
(ListPreference) findPreference(SEARCH_LANGUAGE_PREFERENCE);
- downloadPathPreference =
- (EditTextPreference) findPreference(DOWNLOAD_PATH_PREFERENCE);
+ downloadPathPreference = (Preference) findPreference(DOWNLOAD_PATH_PREFERENCE);
downloadPathAudioPreference =
(EditTextPreference) findPreference(DOWNLOAD_PATH_AUDIO_PREFERENCE);
useTorCheckBox = (CheckBoxPreference) findPreference(USE_TOR_KEY);
@@ -141,6 +150,20 @@ public class SettingsActivity extends PreferenceActivity {
};
defaultPreferences.registerOnSharedPreferenceChangeListener(prefListener);
+ downloadPathPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener(){
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ Intent i = new Intent(getActivity(), FilePickerActivity.class);
+ i.setAction(Intent.ACTION_GET_CONTENT);
+ i.putExtra(FilePickerActivity.EXTRA_ALLOW_MULTIPLE, false);
+ i.putExtra(FilePickerActivity.EXTRA_ALLOW_CREATE_DIR, true);
+ i.putExtra(FilePickerActivity.EXTRA_MODE, AbstractFilePickerFragment.MODE_DIR);
+ startActivityForResult(i, 233);
+
+ return true;
+ }
+ });
+
updateSummary();
}
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index e7549b7f7..1c8dca48f 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -49,4 +49,24 @@
+
+
+
+
+