| /* |
| * Copyright (C) 2010 Google Inc. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| * use this file except in compliance with the License. You may obtain a copy of |
| * the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| * License for the specific language governing permissions and limitations under |
| * the License. |
| */ |
| |
| package com.android.internal.widget; |
| |
| import android.content.Context; |
| import android.inputmethodservice.KeyboardView; |
| import android.util.AttributeSet; |
| |
| public class PasswordEntryKeyboardView extends KeyboardView { |
| |
| static final int KEYCODE_OPTIONS = -100; |
| static final int KEYCODE_SHIFT_LONGPRESS = -101; |
| static final int KEYCODE_VOICE = -102; |
| static final int KEYCODE_F1 = -103; |
| static final int KEYCODE_NEXT_LANGUAGE = -104; |
| |
| public PasswordEntryKeyboardView(Context context, AttributeSet attrs) { |
| this(context, attrs, 0); |
| } |
| |
| public PasswordEntryKeyboardView(Context context, AttributeSet attrs, int defStyleAttr) { |
| this(context, attrs, defStyleAttr, 0); |
| } |
| |
| public PasswordEntryKeyboardView( |
| Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { |
| super(context, attrs, defStyleAttr, defStyleRes); |
| } |
| |
| @Override |
| public boolean setShifted(boolean shifted) { |
| boolean result = super.setShifted(shifted); |
| // invalidate both shift keys |
| int[] indices = getKeyboard().getShiftKeyIndices(); |
| for (int index : indices) { |
| invalidateKey(index); |
| } |
| return result; |
| } |
| |
| } |