package net.coding.program.common;
import android.content.Context;
import android.content.Intent;
import android.text.Editable;
import android.text.TextWatcher;
import net.coding.program.model.ProjectObject;
import net.coding.program.project.detail.MembersSelectActivity_;
import net.coding.program.user.UsersListActivity;
import net.coding.program.user.UsersListActivity_;
/**
* Created by chaochen on 14-10-29.
*/
public class TextWatcherAt implements TextWatcher {
Context mContext;
StartActivity mStartActivity;
int mResult;
ProjectObject mProjectObject;
String mMergeUrl;
public TextWatcherAt(Context ctx, StartActivity startActivity, int activityResult) {
this(ctx, startActivity, activityResult, null, null);
}
public TextWatcherAt(Context ctx, StartActivity startActivity, int activityResult, String mergeUrl) {
this(ctx, startActivity, activityResult, null, mergeUrl);
}
public TextWatcherAt(Context mContext, StartActivity mStartActivity, int mResult, ProjectObject mProjectObject) {
this.mContext = mContext;
this.mStartActivity = mStartActivity;
this.mResult = mResult;
this.mProjectObject = mProjectObject;
}
private TextWatcherAt(Context mContext, StartActivity mStartActivity, int mResult, ProjectObject mProjectObject, String mMergeUrl) {
this.mContext = mContext;
this.mStartActivity = mStartActivity;
this.mResult = mResult;
this.mProjectObject = mProjectObject;
this.mMergeUrl = mMergeUrl;
}
public static void startActivityAt(Context context, StartActivity startActivity, int result) {
Intent intent;
intent = new Intent(context, UsersListActivity_.class);
intent.putExtra("type", UsersListActivity.Friend.Follow);
intent.putExtra("select", true);
intent.putExtra("hideFollowButton", true);
startActivity.startActivityForResult(intent, result);
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String newEnter = s.toString().substring(start, start + count);
if (newEnter.equals("@")) {
if (mMergeUrl != null && !mMergeUrl.isEmpty()) {
Intent intent;
intent = new Intent(mContext, MembersSelectActivity_.class);
intent.putExtra("mMergeUrl", mMergeUrl);
mStartActivity.startActivityForResult(intent, mResult);
} else if (mProjectObject == null) {
startActivityAt(mContext, mStartActivity, mResult);
} else {
Intent intent;
intent = new Intent(mContext, MembersSelectActivity_.class);
intent.putExtra("mProjectObject", mProjectObject);
mStartActivity.startActivityForResult(intent, mResult);
}
}
}
@Override
public void afterTextChanged(Editable s) {
}
}