In some cases this makes it much easier to successfully scan a QR code.
I was trying to scan a PSBT using a laptop camera from my phone screen for 2 minutes, until I realised the screen brightness was the issue. o.O
instead, schedule a queued finished signal to unregister the listener after the handler has finished.
See PythonActivity.java in P4A for why this probably causes the most often occurring crash we see on the Play Store:
```
Exception java.lang.RuntimeException:
at android.app.ActivityThread.deliverResults (ActivityThread.java:5164)
at android.app.ActivityThread.handleSendResult (ActivityThread.java:5205)
at android.app.servertransaction.ActivityResultItem.execute (ActivityResultItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2136)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:236)
at android.app.ActivityThread.main (ActivityThread.java:8061)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:656)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:967)
Caused by java.util.ConcurrentModificationException:
at java.util.ArrayList$Itr.next (ArrayList.java:860)
at org.kivy.android.PythonActivity.onActivityResult (PythonActivity.java:218)
at android.app.Activity.dispatchActivityResult (Activity.java:8501)
at android.app.ActivityThread.deliverResults (ActivityThread.java:5157)
```
follow-up https://github.com/spesmilo/electrum/pull/8713
```
1.35 | E | __main__ | daemon.run_gui errored
Traceback (most recent call last):
File "/home/user/wspace/electrum/./run_electrum", line 458, in handle_cmd
d.run_gui()
File "/home/user/wspace/electrum/electrum/daemon.py", line 623, in run_gui
self.gui_object = gui.ElectrumGui(config=self.config, daemon=self, plugins=self._plugins)
File "/home/user/wspace/electrum/electrum/util.py", line 482, in do_profile
o = func(*args, **kw_args)
File "/home/user/wspace/electrum/electrum/gui/qml/__init__.py", line 82, in __init__
self.app = ElectrumQmlApplication(sys.argv, config=config, daemon=daemon, plugins=plugins)
File "/home/user/wspace/electrum/electrum/gui/qml/qeapp.py", line 428, in __init__
self.plugins.load_plugin('trustedcoin')
File "/home/user/wspace/electrum/electrum/plugin.py", line 269, in load_plugin
raise Exception(f"could not find plugin {name!r}")
Exception: could not find plugin 'trustedcoin'
```
It might make sense to allow bump_fee on a local tx, and so wallet.get_tx_info() allows it.
For dscancel/cpfp, it does not allow it either. Still, I think this logic should be encapsulated in the wallet.