package com.min;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.RemoteException;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class NewTweet extends Activity {
public static final int MAX_TWEET_LENGTH = 140;
Button mBtnOK;
Button mBtnCancel;
EditText mETTweets;
TextView mViewTweetLength;
Animation mAnim;
String mTweets;
int tweetLength;
@Override
protected void onCreate(Bundle saved) {
// TODO Auto-generated method stub
super.onCreate(saved);
setContentView(R.layout.tweet);
// assign widgets
mBtnOK = (Button)findViewById(R.id.NT_ButtonOK);
mBtnCancel = (Button)findViewById(R.id.NT_ButtonCancel);
mETTweets = (EditText)findViewById(R.id.NT_EditTextTweet);
mViewTweetLength= (TextView)findViewById(R.id.NT_TweetLength);
mAnim = AnimationUtils.loadAnimation(this, R.anim.shake);
// assign listeners
mBtnOK.setOnClickListener(mOKListener);
mBtnCancel.setOnClickListener(mCancelListener);
mETTweets.addTextChangedListener(mLengthWatcher);
// get text from Intent
Bundle passedBundle = getIntent().getExtras();
if(passedBundle != null){
String info = passedBundle.getString("INFO");
mETTweets.setText(info);
}
}
/**
* OK button Listener
*/
private View.OnClickListener mOKListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if( tweetLength == 0)
{
mETTweets.startAnimation(mAnim);
return;
}
try {
MinTweet.mServiceBinder.IupdateStatus(mTweets);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finish();
}
};
/**
* Cancel Button Listener
*/
private View.OnClickListener mCancelListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
};
/**
* TextWatcher for calculating Tweet Length
*/
private TextWatcher mLengthWatcher = new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
mTweets = s.toString();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
mTweets = s.toString();
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
tweetLength = s.length();
if(tweetLength > MAX_TWEET_LENGTH){
mETTweets.setText(mTweets);
mETTweets.setSelection(start);
}
mViewTweetLength.setText(Integer.toString(tweetLength));
}
};
}
|