package com.wangdaye.mysplash.common.ui.popup;
import android.annotation.SuppressLint;
import android.content.Context;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.wangdaye.mysplash.R;
import com.wangdaye.mysplash.common._basic.MysplashPopupWindow;
import com.wangdaye.mysplash.common.utils.DisplayUtils;
import com.wangdaye.mysplash.common.utils.manager.ThemeManager;
import butterknife.ButterKnife;
/**
* Search orientation popup window.
*
* This popup window is used to select orientation.
*
* */
public class SearchOrientationPopupWindow extends MysplashPopupWindow
implements View.OnClickListener {
private OnSearchOrientationChangedListener listener;
private String[] names;
private String[] values;
private String valueNow;
public SearchOrientationPopupWindow(Context c, View anchor, String valueNow) {
super(c);
this.initialize(c, anchor, valueNow);
}
@SuppressLint("InflateParams")
private void initialize(Context c, View anchor, String valueNow) {
View v = LayoutInflater.from(c).inflate(R.layout.popup_search_orientation, null);
setContentView(v);
initData(c, valueNow);
initWidget();
show(anchor, 0, 0);
}
private void initData(Context c, String valueNow) {
names = c.getResources().getStringArray(R.array.search_orientations);
values = c.getResources().getStringArray(R.array.search_orientation_values);
this.valueNow = valueNow;
}
private void initWidget() {
View v = getContentView();
v.findViewById(R.id.popup_search_orientation_all).setOnClickListener(this);
v.findViewById(R.id.popup_search_orientation_landscape).setOnClickListener(this);
v.findViewById(R.id.popup_search_orientation_portrait).setOnClickListener(this);
v.findViewById(R.id.popup_search_orientation_squarish).setOnClickListener(this);
TextView allTxt = ButterKnife.findById(v, R.id.popup_search_orientation_allTxt);
DisplayUtils.setTypeface(v.getContext(), allTxt);
allTxt.setText(v.getContext().getText(R.string.all));
if (TextUtils.isEmpty(valueNow)) {
allTxt.setTextColor(ThemeManager.getSubtitleColor(v.getContext()));
}
TextView landscapeTxt = ButterKnife.findById(v, R.id.popup_search_orientation_landscapeTxt);
DisplayUtils.setTypeface(v.getContext(), landscapeTxt);
landscapeTxt.setText(names[0]);
if (values[0].equals(valueNow)) {
landscapeTxt.setTextColor(ThemeManager.getSubtitleColor(v.getContext()));
}
TextView portraitTxt = ButterKnife.findById(v, R.id.popup_search_orientation_portraitTxt);
DisplayUtils.setTypeface(v.getContext(), portraitTxt);
portraitTxt.setText(names[1]);
if (values[1].equals(valueNow)) {
portraitTxt.setTextColor(ThemeManager.getSubtitleColor(v.getContext()));
}
TextView squarishTxt = ButterKnife.findById(v, R.id.popup_search_orientation_squarishTxt);
DisplayUtils.setTypeface(v.getContext(), squarishTxt);
squarishTxt.setText(names[2]);
if (values[2].equals(valueNow)) {
squarishTxt.setTextColor(ThemeManager.getSubtitleColor(v.getContext()));
}
if (ThemeManager.getInstance(v.getContext()).isLightTheme()) {
((ImageView) v.findViewById(R.id.popup_search_orientation_allIcon))
.setImageResource(R.drawable.ic_infinity_light);
((ImageView) v.findViewById(R.id.popup_search_orientation_landscapeIcon))
.setImageResource(R.drawable.ic_orientation_landscape_light);
((ImageView) v.findViewById(R.id.popup_search_orientation_portraitIcon))
.setImageResource(R.drawable.ic_orientation_portrait_light);
((ImageView) v.findViewById(R.id.popup_search_orientation_squarishIcon))
.setImageResource(R.drawable.ic_orientation_squarish_light);
} else {
((ImageView) v.findViewById(R.id.popup_search_orientation_allIcon))
.setImageResource(R.drawable.ic_infinity_dark);
((ImageView) v.findViewById(R.id.popup_search_orientation_landscapeIcon))
.setImageResource(R.drawable.ic_orientation_landscape_dark);
((ImageView) v.findViewById(R.id.popup_search_orientation_portraitIcon))
.setImageResource(R.drawable.ic_orientation_portrait_dark);
((ImageView) v.findViewById(R.id.popup_search_orientation_squarishIcon))
.setImageResource(R.drawable.ic_orientation_squarish_dark);
}
}
// interface.
// on search orientation changed listener.
public interface OnSearchOrientationChangedListener {
void onSearchOrientationChanged(String orientationValue);
}
public void setOnSearchOrientationChangedListener(OnSearchOrientationChangedListener l) {
listener = l;
}
// on click listener.
@Override
public void onClick(View view) {
String newValue = valueNow;
switch (view.getId()) {
case R.id.popup_search_orientation_all:
newValue = "";
break;
case R.id.popup_search_orientation_landscape:
newValue = values[0];
break;
case R.id.popup_search_orientation_portrait:
newValue = values[1];
break;
case R.id.popup_search_orientation_squarish:
newValue = values[2];
break;
}
if (!newValue.equals(valueNow) && listener != null) {
listener.onSearchOrientationChanged(newValue);
dismiss();
}
}
}