|
@@ -90,13 +90,16 @@ public abstract class BaseDialog {
|
|
|
}
|
|
|
|
|
|
public static void onActivityResume(Activity activity) {
|
|
|
- if (runningDialogList!=null) {
|
|
|
- for (BaseDialog baseDialog : runningDialogList) {
|
|
|
+ if (runningDialogList != null) {
|
|
|
+ CopyOnWriteArrayList<BaseDialog> copyOnWriteList = new CopyOnWriteArrayList<>(runningDialogList);
|
|
|
+ for (int i = copyOnWriteList.size() - 1; i >= 0; i--) {
|
|
|
+ BaseDialog baseDialog = copyOnWriteList.get(i);
|
|
|
if (baseDialog.getActivity() == activity && baseDialog.isShow && baseDialog.getDialogView() != null) {
|
|
|
View boxRoot = baseDialog.getDialogView().findViewById(R.id.box_root);
|
|
|
if (boxRoot != null) {
|
|
|
log("DialogX: boxRoot is requestFocus.");
|
|
|
boxRoot.requestFocus();
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
}
|