|
|
|
|
@ -22,16 +22,35 @@ public class SiteDialog implements SitePresenter.OnClickListener { |
|
|
|
|
private final DialogSiteBinding binding; |
|
|
|
|
private final SiteCallback callback; |
|
|
|
|
private final AlertDialog dialog; |
|
|
|
|
private SitePresenter presenter; |
|
|
|
|
private boolean search; |
|
|
|
|
private boolean filter; |
|
|
|
|
|
|
|
|
|
public static SiteDialog create(Activity activity) { |
|
|
|
|
return new SiteDialog(activity); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public SiteDialog(Activity activity) { |
|
|
|
|
this.callback = (SiteCallback) activity; |
|
|
|
|
this.callback = (activity instanceof SiteCallback) ? (SiteCallback) activity : null; |
|
|
|
|
this.binding = DialogSiteBinding.inflate(LayoutInflater.from(activity)); |
|
|
|
|
this.dialog = new MaterialAlertDialogBuilder(activity).setView(binding.getRoot()).create(); |
|
|
|
|
this.adapter = new ArrayObjectAdapter(new SitePresenter(this)); |
|
|
|
|
this.adapter = new ArrayObjectAdapter(presenter = new SitePresenter(this)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public SiteDialog search(boolean search) { |
|
|
|
|
this.presenter.search(this.search = search); |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public SiteDialog filter(boolean filter) { |
|
|
|
|
this.presenter.filter(this.filter = filter); |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public SiteDialog all() { |
|
|
|
|
this.presenter.search(this.search = true); |
|
|
|
|
this.presenter.filter(this.filter = true); |
|
|
|
|
return this; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void show() { |
|
|
|
|
@ -58,6 +77,7 @@ public class SiteDialog implements SitePresenter.OnClickListener { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public void onTextClick(Site item) { |
|
|
|
|
if (callback == null) return; |
|
|
|
|
callback.setSite(item); |
|
|
|
|
dialog.dismiss(); |
|
|
|
|
} |
|
|
|
|
|