mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 10:49:24 +02:00
Merge branch 'master' into dm
Conflicts: src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserPreference.java src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringListPreference.java
This commit is contained in:
commit
40a4619689
3 changed files with 14 additions and 42 deletions
|
@ -19,15 +19,12 @@
|
|||
|
||||
package org.geometerplus.android.fbreader.preferences.fileChooser;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.preference.Preference;
|
||||
|
||||
import org.geometerplus.zlibrary.core.resources.ZLResource;
|
||||
import org.geometerplus.zlibrary.core.util.MiscUtil;
|
||||
|
||||
import org.geometerplus.android.util.FileChooserUtil;
|
||||
|
||||
|
@ -60,19 +57,5 @@ abstract class FileChooserPreference extends Preference {
|
|||
}
|
||||
|
||||
protected abstract String getStringValue();
|
||||
|
||||
protected abstract void setValueFromIntent(Intent data);
|
||||
|
||||
protected final void setValue(String value) {
|
||||
if (MiscUtil.isEmptyString(value)) {
|
||||
return;
|
||||
}
|
||||
|
||||
setValueInternal(value);
|
||||
|
||||
if (myOnValueSetAction != null) {
|
||||
myOnValueSetAction.run();
|
||||
}
|
||||
}
|
||||
protected abstract void setValueInternal(String value);
|
||||
}
|
||||
|
|
|
@ -53,15 +53,11 @@ class FileChooserStringListPreference extends FileChooserPreference {
|
|||
myRegCode,
|
||||
myResource.getValue(),
|
||||
myResource.getResource("chooserTitle").getValue(),
|
||||
getStringListValue(),
|
||||
new ArrayList<String>(myOption.getValue()),
|
||||
myChooseWritableDirectoriesOnly
|
||||
);
|
||||
}
|
||||
|
||||
private ArrayList<String> getStringListValue(){
|
||||
return new ArrayList<String>(myOption.getValue());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getStringValue() {
|
||||
return MiscUtil.join(myOption.getValue(), ", ");
|
||||
|
@ -69,19 +65,7 @@ class FileChooserStringListPreference extends FileChooserPreference {
|
|||
|
||||
@Override
|
||||
protected void setValueFromIntent(Intent data) {
|
||||
setValue(FileChooserUtil.pathArrayFromData(data));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setValueInternal(String value) {
|
||||
final List<String> currentValues = myOption.getValue();
|
||||
if (currentValues.size() != 1 || !currentValues.get(0).equals(value)) {
|
||||
myOption.setValue(Collections.singletonList(value));
|
||||
setSummary(getStringValue());
|
||||
}
|
||||
}
|
||||
|
||||
protected final void setValue(ArrayList<String> value) {
|
||||
final List<String> value = FileChooserUtil.pathArrayFromData(data);
|
||||
if (value.isEmpty()){
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ import android.content.Intent;
|
|||
|
||||
import org.geometerplus.zlibrary.core.options.ZLStringOption;
|
||||
import org.geometerplus.zlibrary.core.resources.ZLResource;
|
||||
import org.geometerplus.zlibrary.core.util.MiscUtil;
|
||||
|
||||
import org.geometerplus.android.util.FileChooserUtil;
|
||||
|
||||
|
@ -44,15 +45,19 @@ class FileChooserStringPreference extends FileChooserPreference {
|
|||
|
||||
@Override
|
||||
protected void setValueFromIntent(Intent data) {
|
||||
setValue(FileChooserUtil.pathFromData(data));
|
||||
final String value = FileChooserUtil.pathFromData(data);
|
||||
if (MiscUtil.isEmptyString(value)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setValueInternal(String value) {
|
||||
final String currentValue = myOption.getValue();
|
||||
if (!currentValue.equals(value)) {
|
||||
myOption.setValue(value);
|
||||
setSummary(value);
|
||||
}
|
||||
|
||||
if (myOnValueSetAction != null) {
|
||||
myOnValueSetAction.run();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue