﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
18450	Unexpected exception when opening GPX directly from Android phone	anonymous	team	"==== What steps will reproduce the problem?
1. Connect Phone to PC using MTP
2. Open Phone files in Nautilus file browser
3. Drag GPX file from Phone to JOSM

==== What is the expected result?
1.) GPX files are opened directly from phone and displayed in JOSM
2.) If opening files from an MTP device is not supported, Give a nice error about unsupported storage location. But don't try to parse the URL as an IPv6 address.

==== What happens instead?
URL is being parsed as IPv6 Address which results in a 'Unexpected Exception'

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
URL:https://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2019-12-01 23:10:15 +0100 (Sun, 01 Dec 2019)
Build-Date:2019-12-02 02:30:57
Revision:15553
Relative:URL: ^/trunk

Identification: JOSM/1.5 (15553 en) Linux Ubuntu 16.04.6 LTS
Memory Usage: 1080 MB / 3540 MB (692 MB allocated, but free)
Java version: 1.8.0_232-8u232-b09-0ubuntu1~16.04.1-b09, Private Build, OpenJDK 64-Bit Server VM
Screen: :0.0 1920x1080
Maximum Screen Size: 1920x1080
Java package: openjdk-8-jre:amd64-8u232-b09-0ubuntu1~16.04.1
fonts-noto: fonts-noto:-

Plugins:
+ pbf (35248)
+ print (35248)

Last errors/warnings:
- W: No configuration settings found.  Using hardcoded default values for all pools.
- E: Handled by bug report queue: java.awt.dnd.InvalidDnDOperationException: java.net.URISyntaxException: Malformed IPv6 address at index 7: mtp://[usb:001,008]/Card/Android/data/net.osmand.plus/files/tracks/rec/2019-12-21_15-11_Sat.gpx


=== REPORTED CRASH DATA ===
AbstractStackTransferHandler#importData:
 - paster: org.openstreetmap.josm.gui.datatransfer.importers.FilePaster@3ed158e7
 - flavors: 
    - [Ljava.awt.datatransfer.DataFlavor;@635271ac

Warning issued by: AbstractStackTransferHandler#importData

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (16) of main
java.awt.dnd.InvalidDnDOperationException: java.net.URISyntaxException: Malformed IPv6 address at index 7: mtp://[usb:001,008]/Card/Android/data/net.osmand.plus/files/tracks/rec/2019-12-21_15-11_Sat.gpx
	at sun.awt.dnd.SunDropTargetContextPeer.getTransferData(SunDropTargetContextPeer.java:271)
	at sun.awt.datatransfer.TransferableProxy.getTransferData(TransferableProxy.java:73)
	at java.awt.dnd.DropTargetContext$TransferableProxy.getTransferData(DropTargetContext.java:376)
	at org.openstreetmap.josm.gui.datatransfer.importers.FilePaster.importData(FilePaster.java:34)
	at org.openstreetmap.josm.gui.datatransfer.AbstractStackTransferHandler.importData(AbstractStackTransferHandler.java:58)
	at org.openstreetmap.josm.gui.datatransfer.AbstractStackTransferHandler.importData(AbstractStackTransferHandler.java:47)
	at javax.swing.TransferHandler$DropHandler.drop(TransferHandler.java:1544)
	at java.awt.dnd.DropTarget.drop(DropTarget.java:455)
	at javax.swing.TransferHandler$SwingDropTarget.drop(TransferHandler.java:1282)
	at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(SunDropTargetContextPeer.java:538)
	at sun.awt.X11.XDropTargetContextPeer.processDropMessage(XDropTargetContextPeer.java:184)
	at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(SunDropTargetContextPeer.java:852)
	at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(SunDropTargetContextPeer.java:776)
	at sun.awt.dnd.SunDropTargetEvent.dispatch(SunDropTargetEvent.java:48)
	at java.awt.Component.dispatchEventImpl(Component.java:4744)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
	at java.awt.LightweightDispatcher.processDropTargetEvent(Container.java:4609)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4471)
	at java.awt.Container.dispatchEventImpl(Container.java:2283)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
}}}
"	defect	closed	normal		Core		duplicate	template_report mtp	
