Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception when no adb path is set in the configuration dialog #365

Open
mlopatkin opened this issue Jan 6, 2024 · 2 comments
Open

Exception when no adb path is set in the configuration dialog #365

mlopatkin opened this issue Jan 6, 2024 · 2 comments
Labels
a:bug Something isn't working affects-version:0.22 affects-version:0.23 good first issue Good for newcomers in:preferences User-configurable preferences
Milestone

Comments

@mlopatkin
Copy link
Owner

  1. Open ADB configuration dialog
  2. Clear the path, enter a space
  3. Click OK or Cancel

Expected: "OK" complains about invalid path. "Cancel" closes the dialog

Actual: exception

java.nio.file.InvalidPathException: Trailing char < > at index 0:  
	at sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:191)
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:153)
	at sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:77)
	at sun.nio.fs.WindowsPath.parse(WindowsPath.java:94)
	at sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:255)
	at java.nio.file.Paths.get(Paths.java:84)
	at name.mlopatkin.andlogview.utils.SystemPathResolver$WindowsPathResolver.resolveExecutablePath(SystemPathResolver.java:197)
	at name.mlopatkin.andlogview.preferences.AdbConfigurationPref.checkAdbLocation(AdbConfigurationPref.java:120)
	at name.mlopatkin.andlogview.ui.preferences.ConfigurationDialogView$1.lambda$new$1(ConfigurationDialogView.java:118)
	at name.mlopatkin.andlogview.widgets.TextFieldVerifier$Verifier.verify(TextFieldVerifier.java:69)
	at javax.swing.InputVerifier.shouldYieldFocus(InputVerifier.java:132)
	at name.mlopatkin.andlogview.widgets.TextFieldVerifier$Verifier.shouldYieldFocus(TextFieldVerifier.java:75)
	at javax.swing.JComponent$1.acceptRequestFocus(JComponent.java:3593)
	at java.awt.Component.isRequestFocusAccepted(Component.java:7785)
	at java.awt.Component.requestFocusHelper(Component.java:7660)
	at java.awt.Component.requestFocusHelper(Component.java:7632)
	at java.awt.Component.requestFocus(Component.java:7440)
	at javax.swing.JComponent.requestFocus(JComponent.java:1478)
	at javax.swing.plaf.basic.BasicButtonListener.mousePressed(BasicButtonListener.java:237)
	at java.awt.Component.processMouseEvent(Component.java:6536)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	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.processMouseEvent(Container.java:4532)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	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.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at name.mlopatkin.andlogview.ui.preferences.ConfigurationDialogView.show(ConfigurationDialogView.java:88)
	at name.mlopatkin.andlogview.ui.preferences.ConfigurationDialogPresenter.openDialog(ConfigurationDialogPresenter.java:77)
	at name.mlopatkin.andlogview.MainFrame.lambda$new$5(MainFrame.java:229)
	at name.mlopatkin.andlogview.widgets.ActionBuilder$1.actionPerformed(ActionBuilder.java:36)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
	at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:842)
	at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:886)
	at java.awt.Component.processMouseEvent(Component.java:6539)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
	at java.awt.Component.processEvent(Component.java:6304)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	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.processMouseEvent(Container.java:4535)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
	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)
@mlopatkin mlopatkin added a:bug Something isn't working in:preferences User-configurable preferences affects-version:0.22 labels Jan 6, 2024
@mlopatkin mlopatkin added this to the 0.23 milestone Jan 6, 2024
@mlopatkin
Copy link
Owner Author

Perhaps, the issue is windows-specific

@mlopatkin
Copy link
Owner Author

Space is a semi-valid filename, according to the docs:

Do not end a file or directory name with a space or a period. Although the underlying file system may support such names, the Windows shell and user interface does not. However, it is acceptable to specify a period as the first character of a name. For example, ".temp".

@mlopatkin mlopatkin added the good first issue Good for newcomers label Jan 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:bug Something isn't working affects-version:0.22 affects-version:0.23 good first issue Good for newcomers in:preferences User-configurable preferences
Projects
None yet
Development

No branches or pull requests

1 participant