package com.wangdaye.mysplash.me.presenter.activity;
import android.content.Context;
import android.support.design.widget.Snackbar;
import android.text.TextUtils;
import android.view.View;
import com.wangdaye.mysplash.Mysplash;
import com.wangdaye.mysplash.R;
import com.wangdaye.mysplash.common.i.presenter.PopupManagePresenter;
import com.wangdaye.mysplash.common.i.view.PopupManageView;
import com.wangdaye.mysplash.common._basic.MysplashActivity;
import com.wangdaye.mysplash.common.ui.popup.MeMenuPopupWindow;
import com.wangdaye.mysplash.common.ui.popup.PhotoOrderPopupWindow;
import com.wangdaye.mysplash.common.utils.helper.NotificationHelper;
import com.wangdaye.mysplash.common.utils.ShareUtils;
import com.wangdaye.mysplash.common.utils.helper.IntentHelper;
import com.wangdaye.mysplash.common.utils.manager.AuthManager;
/**
* Popup manage implementor.
* */
public class PopupManageImplementor
implements PopupManagePresenter,
MeMenuPopupWindow.OnSelectItemListener {
private PopupManageView view;
public PopupManageImplementor(PopupManageView view) {
this.view = view;
}
@Override
public void showPopup(Context c, View anchor, String value, final int position) {
if (position < 0) {
MeMenuPopupWindow window = new MeMenuPopupWindow(c, anchor);
window.setOnSelectItemListener(this);
} else if (position % 2 == 0) {
PhotoOrderPopupWindow window = new PhotoOrderPopupWindow(
c,
anchor,
value,
PhotoOrderPopupWindow.NO_RANDOM_TYPE);
window.setOnPhotoOrderChangedListener(new PhotoOrderPopupWindow.OnPhotoOrderChangedListener() {
@Override
public void onPhotoOrderChange(String orderValue) {
view.responsePopup(orderValue, position);
}
});
} else {
NotificationHelper.showSnackbar(
c.getString(R.string.feedback_no_filter),
Snackbar.LENGTH_SHORT);
}
}
// interface.
// on select item swipeListener.
@Override
public void onSelectItem(int id) {
MysplashActivity a = Mysplash.getInstance().getTopActivity();
if (a == null) {
return;
}
switch (id) {
case MeMenuPopupWindow.ITEM_SUBMIT:
IntentHelper.startWebActivity(a, Mysplash.UNSPLASH_SUBMIT_URL);
break;
case MeMenuPopupWindow.ITEM_PORTFOLIO:
if (AuthManager.getInstance().isAuthorized()
&& AuthManager.getInstance().getMe() != null) {
String url = AuthManager.getInstance().getMe().portfolio_url;
if (!TextUtils.isEmpty(url)) {
IntentHelper.startWebActivity(a, url);
} else {
NotificationHelper.showSnackbar(
a.getString(R.string.feedback_portfolio_is_null),
Snackbar.LENGTH_SHORT);
}
}
break;
case MeMenuPopupWindow.ITEM_SHARE:
if (AuthManager.getInstance().isAuthorized()
&& AuthManager.getInstance().getUser() != null) {
ShareUtils.shareUser(AuthManager.getInstance().getUser());
}
break;
}
}
}