Add a temporary way to select download directory

This commit is contained in:
inorichi
2015-11-03 20:04:07 +01:00
parent 13ff612ce0
commit 62ae572c72
9 changed files with 92 additions and 13 deletions
@@ -0,0 +1,56 @@
package eu.kanade.mangafeed.ui.fragment;
import android.os.Bundle;
import android.preference.ListPreference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import javax.inject.Inject;
import eu.kanade.mangafeed.App;
import eu.kanade.mangafeed.R;
import eu.kanade.mangafeed.data.helpers.PreferencesHelper;
import eu.kanade.mangafeed.ui.activity.base.BaseActivity;
import eu.kanade.mangafeed.util.DiskUtils;
public class SettingsDownloadsFragment extends PreferenceFragment {
@Inject PreferencesHelper preferences;
public static SettingsDownloadsFragment newInstance() {
return new SettingsDownloadsFragment();
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
App.get(getActivity()).getComponent().inject(this);
addPreferencesFromResource(R.xml.pref_downloads);
PreferenceScreen screen = getPreferenceScreen();
ListPreference directoriesPref = new ListPreference(getActivity(), null);
String[] externalDirs = DiskUtils.getStorageDirectories(getActivity());
directoriesPref.setKey(getString(R.string.pref_download_directory_key));
directoriesPref.setTitle(R.string.pref_download_directory);
directoriesPref.setEntryValues(externalDirs);
directoriesPref.setEntries(externalDirs);
directoriesPref.setSummary(preferences.getDownloadsDirectory());
directoriesPref.setOnPreferenceChangeListener((preference, newValue) -> {
preference.setSummary(newValue.toString());
return true;
});
screen.addPreference(directoriesPref);
}
@Override
public void onResume() {
super.onResume();
((BaseActivity)getActivity())
.setToolbarTitle(getString(R.string.pref_category_downloads));
}
}
@@ -17,6 +17,9 @@ public class SettingsMainFragment extends PreferenceFragment {
SettingsNestedFragment.newInstance(
R.xml.pref_reader, R.string.pref_category_reader));
registerSubpreference(R.string.pref_category_downloads_key,
SettingsDownloadsFragment.newInstance());
registerSubpreference(R.string.pref_category_accounts_key,
SettingsAccountsFragment.newInstance());
}