17d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon/* 27d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * Copyright (C) 2006 The Android Open Source Project 37d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * 47d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * Licensed under the Apache License, Version 2.0 (the "License"); 57d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * you may not use this file except in compliance with the License. 67d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * You may obtain a copy of the License at 77d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * 87d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * http://www.apache.org/licenses/LICENSE-2.0 97d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * 107d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * Unless required by applicable law or agreed to in writing, software 117d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * distributed under the License is distributed on an "AS IS" BASIS, 127d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * See the License for the specific language governing permissions and 147d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * limitations under the License. 157d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon */ 167d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 177d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonpackage com.android.phone; 187d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 197d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.app.Activity; 207d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.content.Intent; 217d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.net.Uri; 227d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.os.Bundle; 234fa297042722cb22581e6650aaaf6a651cf7e6f9Santos Cordonimport android.text.InputType; 247d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.text.TextUtils; 257d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.text.method.DigitsKeyListener; 267d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.util.Log; 277d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.view.KeyEvent; 287d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.view.View; 297d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.view.inputmethod.EditorInfo; 307d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.widget.Button; 317d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.widget.EditText; 327d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonimport android.widget.TextView; 337d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 347d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon/** 357d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon * Pin2 entry screen. 367d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon */ 377d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordonpublic class GetPin2Screen extends Activity implements TextView.OnEditorActionListener { 387d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon private static final String LOG_TAG = PhoneGlobals.LOG_TAG; 397d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 407d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon private EditText mPin2Field; 417d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon private Button mOkButton; 427d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 437d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon @Override 447d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon protected void onCreate(Bundle icicle) { 457d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon super.onCreate(icicle); 467d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 477d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon setContentView(R.layout.get_pin2_screen); 487d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 497d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon mPin2Field = (EditText) findViewById(R.id.pin); 507d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon mPin2Field.setKeyListener(DigitsKeyListener.getInstance()); 517d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon mPin2Field.setMovementMethod(null); 527d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon mPin2Field.setOnEditorActionListener(this); 534fa297042722cb22581e6650aaaf6a651cf7e6f9Santos Cordon mPin2Field.setInputType( 544fa297042722cb22581e6650aaaf6a651cf7e6f9Santos Cordon InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD); 557d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 567d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon mOkButton = (Button) findViewById(R.id.ok); 577d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon mOkButton.setOnClickListener(mClicked); 587d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon } 597d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 607d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon private String getPin2() { 617d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon return mPin2Field.getText().toString(); 627d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon } 637d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 647d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon private void returnResult() { 657d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon Bundle map = new Bundle(); 667d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon map.putString("pin2", getPin2()); 677d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 687d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon Intent intent = getIntent(); 697d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon Uri uri = intent.getData(); 707d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 717d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon Intent action = new Intent(); 727d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon if (uri != null) action.setAction(uri.toString()); 737d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon setResult(RESULT_OK, action.putExtras(map)); 747d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon finish(); 757d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon } 767d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 777d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon @Override 787d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 797d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon if (actionId == EditorInfo.IME_ACTION_DONE) { 807d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon mOkButton.performClick(); 817d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon return true; 827d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon } 837d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon return false; 847d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon } 857d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 867d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon private final View.OnClickListener mClicked = new View.OnClickListener() { 877d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon @Override 887d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon public void onClick(View v) { 897d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon if (TextUtils.isEmpty(mPin2Field.getText())) { 907d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon return; 917d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon } 927d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 937d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon returnResult(); 947d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon } 957d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon }; 967d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon 977d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon private void log(String msg) { 987d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon Log.d(LOG_TAG, "[GetPin2] " + msg); 997d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon } 1007d4ddf6dc0d7c8158bac3a5dec7936e837e95bddSantos Cordon} 101