package net.dev123.yibo.service.listener;
import net.dev123.commons.Constants;
import net.dev123.yibo.service.adapter.EmotionsGridAdapter;
import net.dev123.yibo.service.task.EmotionUpdateTask;
import net.dev123.yibo.widget.EmotionViewController;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
public class EditMicroBlogEmotionClickListener implements OnClickListener {
private Context context;
private EmotionViewController emotionViewController;
private static boolean isRunEmotionUpdateTask = true;
public EditMicroBlogEmotionClickListener(Context context) {
this.context = context;
emotionViewController = new EmotionViewController((Activity)context);
EmotionsGridAdapter emotionsGridAdapter = new EmotionsGridAdapter(context);
emotionViewController.setEmotionGridViewAdapter(emotionsGridAdapter);
EditMicroBlogEmotionItemClickListener itemClickListener =
new EditMicroBlogEmotionItemClickListener(context);
emotionViewController.setEmotionGridViewOnItemClickListener(itemClickListener);
}
@Override
public void onClick(View v) {
if (emotionViewController.getEmotionViewVisibility() == View.VISIBLE) {
emotionViewController.hideEmotionView();
} else {
InputMethodManager imm =
(InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(
((Activity) context).getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
emotionViewController.showEmotionView();
if (isRunEmotionUpdateTask) {
isRunEmotionUpdateTask = false;
if (Constants.DEBUG) Log.d(this.getClass().getSimpleName(), "run emotion update task");
EmotionUpdateTask emotiontask = new EmotionUpdateTask();
emotiontask.execute();
}
}
}
}