From 9f9b0ce63a7d5b62d04ea43ac992502226f00b8b Mon Sep 17 00:00:00 2001 From: Nikolay Pultsin Date: Sat, 3 May 2014 02:21:58 +0100 Subject: [PATCH] refactoring --- .../fileChooser/FileChooserPreference.java | 16 ---------------- .../FileChooserStringListPreference.java | 12 ++++++++---- .../fileChooser/FileChooserStringPreference.java | 13 +++++++++---- 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserPreference.java b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserPreference.java index 07ba74905..952462b51 100644 --- a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserPreference.java +++ b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserPreference.java @@ -25,7 +25,6 @@ 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; @@ -58,20 +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); } diff --git a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringListPreference.java b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringListPreference.java index 9fa5e1a92..bb21a40c0 100644 --- a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringListPreference.java +++ b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringListPreference.java @@ -49,15 +49,19 @@ class FileChooserStringListPreference 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 List currentValues = myOption.getValue(); if (currentValues.size() != 1 || !currentValues.get(0).equals(value)) { myOption.setValue(Collections.singletonList(value)); setSummary(getStringValue()); } + + if (myOnValueSetAction != null) { + myOnValueSetAction.run(); + } } } diff --git a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringPreference.java b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringPreference.java index c21ca100b..e4f038cb4 100644 --- a/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringPreference.java +++ b/src/org/geometerplus/android/fbreader/preferences/fileChooser/FileChooserStringPreference.java @@ -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(); + } } }