DialogFragmentを親クラスとするConfirmDialogFragmentを作成しました。
このダイアログは名前の通り確認用のダイアログで、「〜しますか?」というメッセージに対して[はい]を選んだ時に〜の処理を行います。
確認用のダイアログには2パターンがあり、それぞれ処理も異なります。
そこで、その処理を呼び出し元に定義できるように[はい]が押されたらEventBusで呼び出し元クラスに通知してそこで処理を行うようにしようと思いました。
使用しているEventBusde.greenrobot:eventbus:2.4.0です。
確認ダイアログを表示するクラスはMainActivitySettingWebViewの2つです。

MainActivityが確認ダイアログを表示する時は戻るボタンでアプリを終了させようとする時です。
MainActivityはもともと"非同期のログイン処理が終わったから画面を切り替えてほしい"などのイベントを受け取るようにしているので、onStartで登録してonStopで登録削除するようにしていました。

SettingWebViewが確認ダイアログを表示する時は画像をダウンロードをしようとする時です。
SettingWebViewの方は特になにかしらEventBusからのイベントを受け取るようにしていません。
そこで、SettingWebViewの方では確認ダイアログ表示前に登録してイベント受け取り後に登録削除することにしました。

EventBusではregister(Object subscriver,int priority)を用いて優先度を設定できるとのことで、SettingWebViewの優先度をMainActivityより高くすれば問題ないだろうと思っていました。
デフォルトが0に設定されていると書いてあり、適当にSettingWebViewを登録する時に1に指定してみたのですが、MainActivityが受け取ってしまいました。

受け取り元メソッドはそれぞれonEventonEventMainThreadを試してみたのですが、どちらでもうまくいきませんでした。
"数値が大きい方が優先度が高い"という考えが違うのかと思い、MainActivityはデフォルト(0)でSettingWebViewは-1で登録してみたのですが、それでもうまくいきませんでした。
"とにかく0が一番優先度高いのかも?"とMainActivityは0以外でSettingWebViewは0で登録してみたのですが、それでもうまくいきませんでした。
-1,0,1以外の数値も試してみたのですが、どれもうまくいきませんでした。

どうすればSettingWebViewで確認ダイアログからのイベントを受け取れるようになるでしょうか?