package com.wangdaye.mysplash.common.ui.popup;
import android.annotation.SuppressLint;
import android.content.Context;
import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import com.wangdaye.mysplash.R;
import com.wangdaye.mysplash.common._basic.MysplashPopupWindow;
import com.wangdaye.mysplash.common.ui.activity.SetWallpaperActivity;
import com.wangdaye.mysplash.common.utils.DisplayUtils;
import butterknife.ButterKnife;
/**
* Wallpaper clip popup window.
*
* This popup window is used to select what kind of shape to wallpaper clip.
*
* */
public class WallpaperClipPopupWindow extends MysplashPopupWindow
implements View.OnClickListener {
private OnClipTypeChangedListener listener;
private int valueNow;
public WallpaperClipPopupWindow(Context c, View anchor, int valueNow) {
super(c);
this.initialize(c, anchor, valueNow);
}
@SuppressLint("InflateParams")
private void initialize(Context c, View anchor, int valueNow) {
View v = LayoutInflater.from(c).inflate(R.layout.popup_wallpaper_clip, null);
setContentView(v);
initData(valueNow);
initWidget();
show(anchor, 0, 0);
}
private void initData(int valueNow) {
this.valueNow = valueNow;
}
private void initWidget() {
View v = getContentView();
v.findViewById(R.id.popup_wallpaper_clip_square).setOnClickListener(this);
v.findViewById(R.id.popup_wallpaper_clip_rect).setOnClickListener(this);
TextView squareTxt = ButterKnife.findById(v, R.id.popup_wallpaper_clip_squareTxt);
DisplayUtils.setTypeface(v.getContext(), squareTxt);
if (valueNow == SetWallpaperActivity.CLIP_TYPE_SQUARE) {
squareTxt.setTextColor(ContextCompat.getColor(v.getContext(), R.color.colorTextSubtitle_light));
}
TextView rectTxt = ButterKnife.findById(v, R.id.popup_wallpaper_clip_rectTxt);
DisplayUtils.setTypeface(v.getContext(), rectTxt);
if (valueNow == SetWallpaperActivity.CLIP_TYPE_RECT) {
rectTxt.setTextColor(ContextCompat.getColor(v.getContext(), R.color.colorTextSubtitle_light));
}
}
// interface.
// on clip type changed listener.
public interface OnClipTypeChangedListener {
void onClipTypeChanged(int type);
}
public void setOnClipTypeChangedListener(OnClipTypeChangedListener l) {
listener = l;
}
// on click listener.
@Override
public void onClick(View view) {
int newValue = valueNow;
switch (view.getId()) {
case R.id.popup_wallpaper_clip_square:
newValue = SetWallpaperActivity.CLIP_TYPE_SQUARE;
break;
case R.id.popup_wallpaper_clip_rect:
newValue = SetWallpaperActivity.CLIP_TYPE_RECT;
break;
}
if (newValue != valueNow && listener != null) {
listener.onClipTypeChanged(newValue);
dismiss();
}
}
}