Methods Summary |
---|
public void | afterTextChanged(android.text.Editable s)
|
public void | beforeTextChanged(java.lang.CharSequence s, int start, int count, int after)
|
private void | cancelTimeOut()
mTimeoutHandler.removeMessages(MSG_ID_TIMEOUT);
|
private void | configInputDisplay()
TextView numOfCharsView = (TextView) findViewById(R.id.num_of_chars);
TextView inTypeView = (TextView) findViewById(R.id.input_type);
int inTypeId = R.string.alphabet;
// set the prompt.
mPromptView.setText(mStkInput.text);
// Set input type (alphabet/digit) info close to the InText form.
if (mStkInput.digitOnly) {
mTextIn.setKeyListener(StkDigitsKeyListener.getInstance());
inTypeId = R.string.digits;
}
inTypeView.setText(inTypeId);
if (mStkInput.icon != null) {
setFeatureDrawable(Window.FEATURE_LEFT_ICON, new BitmapDrawable(
mStkInput.icon));
}
// Handle specific global and text attributes.
switch (mState) {
case STATE_TEXT:
int maxLen = mStkInput.maxLen;
int minLen = mStkInput.minLen;
mTextIn.setFilters(new InputFilter[] {new InputFilter.LengthFilter(
maxLen)});
// Set number of chars info.
String lengthLimit = String.valueOf(minLen);
if (maxLen != minLen) {
lengthLimit = minLen + " - " + maxLen;
}
numOfCharsView.setText(lengthLimit);
if (!mStkInput.echo) {
mTextIn.setTransformationMethod(PasswordTransformationMethod
.getInstance());
}
// Set default text if present.
if (mStkInput.defaultText != null) {
mTextIn.setText(mStkInput.defaultText);
} else {
// make sure the text is cleared
mTextIn.setText("", BufferType.EDITABLE);
}
break;
case STATE_YES_NO:
// Set display mode - normal / yes-no layout
mYesNoLayout.setVisibility(View.VISIBLE);
mNormalLayout.setVisibility(View.GONE);
break;
}
|
private float | getFontSizeFactor(com.android.internal.telephony.gsm.stk.FontSize size)
final float[] fontSizes =
{NORMAL_FONT_FACTOR, LARGE_FONT_FACTOR, SMALL_FONT_FACTOR};
return fontSizes[size.ordinal()];
|
public void | onClick(android.view.View v)
// Click listener to handle buttons press..
String input = null;
switch (v.getId()) {
case R.id.button_ok:
// Check that text entered is valid .
if (!verfiyTypedText()) {
return;
}
input = mTextIn.getText().toString();
break;
// Yes/No layout buttons.
case R.id.button_yes:
input = YES_STR_RESPONSE;
break;
case R.id.button_no:
input = NO_STR_RESPONSE;
break;
}
sendResponse(StkAppService.RES_ID_INPUT, input, false);
finish();
|
public void | onCreate(android.os.Bundle icicle)
super.onCreate(icicle);
// Set the layout for this activity.
requestWindowFeature(Window.FEATURE_LEFT_ICON);
setContentView(R.layout.stk_input);
// Initialize members
mTextIn = (EditText) this.findViewById(R.id.in_text);
mPromptView = (TextView) this.findViewById(R.id.prompt);
// Set buttons listeners.
Button okButton = (Button) findViewById(R.id.button_ok);
Button yesButton = (Button) findViewById(R.id.button_yes);
Button noButton = (Button) findViewById(R.id.button_no);
okButton.setOnClickListener(this);
yesButton.setOnClickListener(this);
noButton.setOnClickListener(this);
mYesNoLayout = findViewById(R.id.yes_no_layout);
mNormalLayout = findViewById(R.id.normal_layout);
// Get the calling intent type: text/key, and setup the
// display parameters.
Intent intent = getIntent();
if (intent != null) {
mStkInput = intent.getParcelableExtra("INPUT");
if (mStkInput == null) {
finish();
} else {
mState = mStkInput.yesNo ? STATE_YES_NO : STATE_TEXT;
configInputDisplay();
}
} else {
finish();
}
mContext = getBaseContext();
|
public boolean | onCreateOptionsMenu(android.view.Menu menu)
super.onCreateOptionsMenu(menu);
menu.add(android.view.Menu.NONE, StkApp.MENU_ID_END_SESSION, 1,
R.string.menu_end_session);
menu.add(0, StkApp.MENU_ID_HELP, 2, R.string.help);
return true;
|
public boolean | onKeyDown(int keyCode, android.view.KeyEvent event)
switch (keyCode) {
case KeyEvent.KEYCODE_BACK:
sendResponse(StkAppService.RES_ID_BACKWARD, null, false);
finish();
break;
}
return super.onKeyDown(keyCode, event);
|
public boolean | onOptionsItemSelected(android.view.MenuItem item)
switch (item.getItemId()) {
case StkApp.MENU_ID_END_SESSION:
sendResponse(StkAppService.RES_ID_END_SESSION);
finish();
return true;
case StkApp.MENU_ID_HELP:
sendResponse(StkAppService.RES_ID_INPUT, "", true);
finish();
return true;
}
return super.onOptionsItemSelected(item);
|
public void | onPause()
super.onPause();
cancelTimeOut();
|
protected void | onPostCreate(android.os.Bundle savedInstanceState)
super.onPostCreate(savedInstanceState);
mTextIn.addTextChangedListener(this);
|
public boolean | onPrepareOptionsMenu(android.view.Menu menu)
super.onPrepareOptionsMenu(menu);
menu.findItem(StkApp.MENU_ID_END_SESSION).setVisible(true);
menu.findItem(StkApp.MENU_ID_HELP).setVisible(mStkInput.helpAvailable);
return true;
|
public void | onResume()
super.onResume();
startTimeOut();
|
public void | onTextChanged(java.lang.CharSequence s, int start, int before, int count)
// Reset timeout.
startTimeOut();
|
private void | sendResponse(int resId)
sendResponse(resId, null, false);
|
private void | sendResponse(int resId, java.lang.String input, boolean help)
Bundle args = new Bundle();
args.putInt(StkAppService.OPCODE, StkAppService.OP_RESPONSE);
args.putInt(StkAppService.RES_ID, resId);
if (input != null) {
args.putString(StkAppService.INPUT, input);
}
args.putBoolean(StkAppService.HELP, help);
mContext.startService(new Intent(mContext, StkAppService.class)
.putExtras(args));
|
private void | startTimeOut()
cancelTimeOut();
mTimeoutHandler.sendMessageDelayed(mTimeoutHandler
.obtainMessage(MSG_ID_TIMEOUT), StkApp.UI_TIMEOUT);
|
private boolean | verfiyTypedText()
// If not enough input was typed in stay on the edit screen.
if (mTextIn.getText().length() < mStkInput.minLen) {
return false;
}
return true;
|