Merge pull request #9176 from osmandapp/fix_errors

Try to fix possible npe
This commit is contained in:
vshcherb 2020-06-09 14:50:12 +02:00 committed by GitHub
commit aaf2aa06d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 6 deletions

View file

@ -128,7 +128,8 @@ public class EditPoiData {
if (oldValue == null || !oldValue.equals(value)) {
changedTags.add(tag);
}
tagValues.put(tag, value);
String tagVal = value != null ? value : "";
tagValues.put(tag, tagVal);
notifyDatasetChanged(tag);
} finally {
isInEdit = false;
@ -207,7 +208,8 @@ public class EditPoiData {
public void updateTypeTag(String string, boolean userChanges) {
checkNotInEdit();
try {
tagValues.put(POI_TYPE_TAG, string);
String val = string != null ? string : "";
tagValues.put(POI_TYPE_TAG, val);
if (userChanges) {
changedTags.add(POI_TYPE_TAG);
}
@ -216,7 +218,8 @@ public class EditPoiData {
if (pt != null) {
removeTypeTagWithPrefix(!tagValues.containsKey(REMOVE_TAG_PREFIX + pt.getEditOsmTag()));
currentPoiType = pt;
tagValues.put(pt.getEditOsmTag(), pt.getEditOsmValue());
String tagVal = pt.getEditOsmValue() != null ? pt.getEditOsmValue() : "";
tagValues.put(pt.getEditOsmTag(), tagVal);
if (userChanges) {
changedTags.add(pt.getEditOsmTag());
}

View file

@ -67,7 +67,6 @@ import net.osmand.osm.edit.OSMSettings;
import net.osmand.osm.edit.Way;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.OsmandPlugin;
import net.osmand.plus.settings.backend.OsmandSettings;
import net.osmand.plus.R;
import net.osmand.plus.UiUtilities;
import net.osmand.plus.activities.MapActivity;
@ -75,6 +74,7 @@ import net.osmand.plus.base.BaseOsmAndDialogFragment;
import net.osmand.plus.osmedit.OsmPoint.Action;
import net.osmand.plus.osmedit.dialogs.PoiSubTypeDialogFragment;
import net.osmand.plus.osmedit.dialogs.PoiTypeDialogFragment;
import net.osmand.plus.settings.backend.OsmandSettings;
import net.osmand.util.Algorithms;
import org.apache.commons.logging.Log;
@ -466,7 +466,7 @@ public class EditPoiDialogFragment extends BaseOsmAndDialogFragment {
private String isTextLengthInRange() {
for (Entry<String, String> s : editPoiData.getTagValues().entrySet()) {
if (s.getValue().length() > AMENITY_TEXT_LENGTH) {
if (!Algorithms.isEmpty(s.getValue()) && s.getValue().length() > AMENITY_TEXT_LENGTH) {
return s.getKey();
}
}