Remove unused IccPanel subclasses.

The IccPinUnlockPanel and IccMissingPanel classes originally implemented
the SIM PIN unlock UI and the SIM Missing UI respectively, but both of
those UIs were moved into the framework back in eclair.  Those two classes
are now totally dead code.

And since they still sometimes cause confusion about what the IccPanel
base class is used for (see bug 2737842 for example), I'm removing them
now.

(There's now only one IccPanel subclass left: IccNetworkDepersonalizationPanel.
Bug 1804111 is open about moving *that* screen into the framework, and
once that's done we can get rid of IccPanel entirely.)

Change-Id: Ib19f4eeb40512d931e7fd8cf6e589a9188de444e
diff --git a/src/com/android/phone/IccMissingPanel.java b/src/com/android/phone/IccMissingPanel.java
deleted file mode 100644
index 5b4b350..0000000
--- a/src/com/android/phone/IccMissingPanel.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * 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.phone;
-
-import android.content.Context;
-import android.view.View;
-import android.widget.Button;
-import android.os.Bundle;
-
-/**
- * Panel which displays the "ICC missing" message.
- */
-public class IccMissingPanel extends IccPanel {
-
-    public IccMissingPanel(Context context) {
-        super(context);
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        setContentView(R.layout.sim_missing);
-        ((Button) findViewById(R.id.continueView)).setOnClickListener(mButtonListener);
-    }
-
-    View.OnClickListener mButtonListener = new View.OnClickListener() {
-        public void onClick(View v) {
-            dismiss();
-        }
-    };
-}
diff --git a/src/com/android/phone/IccPinUnlockPanel.java b/src/com/android/phone/IccPinUnlockPanel.java
deleted file mode 100644
index 0a423d3..0000000
--- a/src/com/android/phone/IccPinUnlockPanel.java
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * 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.phone;
-
-import android.content.Context;
-import android.os.AsyncResult;
-import android.os.Handler;
-import android.os.Message;
-import android.os.Bundle;
-import android.text.Editable;
-import android.text.Spannable;
-import android.text.TextUtils;
-import android.text.TextWatcher;
-import android.text.method.DialerKeyListener;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.View;
-import android.widget.Button;
-import android.widget.EditText;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import com.android.internal.telephony.CommandException;
-import com.android.internal.telephony.IccCard;
-
-/**
- * Panel where you enter your PIN to unlock the SIM card.
- */
-public class IccPinUnlockPanel extends IccPanel {
-    private static final boolean DBG = false;
-
-    private static final int EVENT_ICC_UNLOCKED_RESULT = 100;
-
-    private enum IccLockState {
-        UNLOCKED,
-        REQUIRE_PIN,
-        REQUIRE_PUK,
-        REQUIRE_NEW_PIN,
-        VERIFY_NEW_PIN,
-        VERIFY_NEW_PIN_FAILED
-    };
-
-    private IccLockState mState;
-    private String mPUKCode;
-    private String mNewPinCode;
-
-    private EditText mEntry;
-    private TextView mFailure;
-    private TextView mLabel;
-    private TextView mStatus;
-    private Button mUnlockButton;
-    private Button mDismissButton;
-    private LinearLayout mUnlockPane;
-    private LinearLayout mUnlockInProgressPane;
-
-    private Handler mHandler = new Handler() {
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case EVENT_ICC_UNLOCKED_RESULT:
-                    AsyncResult ar = (AsyncResult) msg.obj;
-                    handleUnlockResult(ar);
-                    break;
-            }
-        }
-    };
-
-    private class MyTextWatcher implements TextWatcher {
-        Context mContext;
-
-        public MyTextWatcher(Context context) {
-            mContext = context;
-        }
-
-        public void beforeTextChanged(CharSequence buffer,
-                                      int start, int olen, int nlen) {
-        }
-
-        public void onTextChanged(CharSequence buffer,
-                                  int start, int olen, int nlen) {
-        }
-
-        public void afterTextChanged(Editable buffer) {
-            if (SpecialCharSequenceMgr.handleChars(
-                    mContext, buffer.toString())) {
-                mEntry.getText().clear();
-            }
-        }
-    }
-
-    public IccPinUnlockPanel(Context context) {
-        super(context);
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.sim_unlock);
-        updateState();
-        initView();
-        updateView();
-    }
-
-    @Override
-    protected void onStart() {
-        super.onStart();
-        if (updateState()) {
-            updateView(); // need to update the view only if state changed
-        }
-    }
-
-    /**
-     * @return Whether the state changed.
-     */
-    boolean updateState() {
-        PhoneApp app = PhoneApp.getInstance();
-        IccCard iccCardInterface = app.phone.getIccCard();
-
-        try {
-            if (iccCardInterface.getState() == IccCard.State.PUK_REQUIRED) {
-                if (getState() != IccLockState.REQUIRE_PUK) {
-                    setState(IccLockState.REQUIRE_PUK);
-                    return true;
-                }
-            } else if (getState() != IccLockState.REQUIRE_PIN){
-                setState(IccLockState.REQUIRE_PIN);
-                return true;
-            }
-        } catch (Exception ex) {
-        }
-        return false;
-    }
-
-    void setState(IccLockState state) {
-        mState = state;
-    }
-
-    IccLockState getState() {
-        return mState;
-    }
-
-    void initView() {
-        mUnlockPane = (LinearLayout) findViewById(R.id.simPINPane);
-        mUnlockInProgressPane = (LinearLayout) findViewById(R.id.progress);
-
-        mEntry = (EditText) findViewById(R.id.entry);
-        mEntry.setKeyListener(DialerKeyListener.getInstance());
-        mEntry.setMovementMethod(null);
-        mEntry.setOnClickListener(mUnlockListener);
-
-        // set up the text watcher
-        CharSequence text = mEntry.getText();
-        Spannable span = (Spannable) text;
-        span.setSpan(new MyTextWatcher(this.getContext()),
-                0, text.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
-
-        mFailure = (TextView) findViewById(R.id.failure);
-        mLabel = (TextView) findViewById(R.id.label);
-        mStatus = (TextView) findViewById(R.id.status);
-
-        mUnlockButton = (Button) findViewById(R.id.unlock);
-        mUnlockButton.setOnClickListener(mUnlockListener);
-
-        mDismissButton = (Button) findViewById(R.id.dismiss);
-
-        // if we are using the ICC pin for keyguard password, force the
-        // user to enter the correct PIN to proceed. Otherwise, we won't
-        // know what the correct keyguard password is.
-        mDismissButton.setOnClickListener(mDismissListener);
-    }
-
-    void updateView() {
-        Context context = getContext();
-
-        switch (mState) {
-            case REQUIRE_PIN:
-                mLabel.setText(context.getText(R.string.enterPin));
-                break;
-
-            case REQUIRE_PUK:
-                mLabel.setText(context.getText(R.string.enterPuk));
-                mUnlockButton.setText(
-                        context.getText(R.string.buttonTxtContinue));
-                break;
-
-            case REQUIRE_NEW_PIN:
-                hideIncorrectPinMessage();
-                mLabel.setText(context.getText(R.string.enterNewPin));
-                break;
-
-            case VERIFY_NEW_PIN:
-                mLabel.setText(context.getText(R.string.verifyNewPin));
-                break;
-
-            case VERIFY_NEW_PIN_FAILED:
-                mLabel.setText(context.getText(R.string.verifyFailed));
-                setState(IccLockState.REQUIRE_NEW_PIN);
-                break;
-        }
-
-        mEntry.getText().clear();
-        mEntry.requestFocus(View.FOCUS_FORWARD);
-    }
-
-    public boolean onKeyDown(int keyCode, KeyEvent event) {
-        if (keyCode == KeyEvent.KEYCODE_BACK) {
-            return true;
-        }
-
-        return super.onKeyDown(keyCode, event);
-    }
-
-    void handleUnlockResult(AsyncResult ar) {
-        if (ar.exception == null) {
-            handleSuccess();
-            return;
-        }
-
-        // pin/puk unlock failed!
-        if (ar.exception instanceof com.android.internal.telephony.CommandException &&
-                ((CommandException) ar.exception).getCommandError() ==
-                    CommandException.Error.PASSWORD_INCORRECT) {
-            hidePinUnlockInProgress();
-            handleFailure();
-        }
-
-        // PENDING: any other failure types?
-    }
-
-    void handleSuccess() {
-        if (DBG) log("unlock successful!");
-        showUnlockSuccess();
-
-        // store the ICC pin in memory, to be used later for keyguard lock
-        // and radio reboots.
-        PhoneApp.getInstance().setCachedSimPin(mEntry.getText().toString());
-    }
-
-    void handleFailure() {
-        if (DBG) log("unlock failed");
-        showIncorrectPinMessage();
-        mEntry.getText().clear();
-        updateState();
-        updateView();
-    }
-
-    void showIncorrectPinMessage() {
-        CharSequence msg;
-        Context context = getContext();
-
-        if (getState() == IccLockState.REQUIRE_PIN) {
-            msg = context.getText(R.string.badPin);
-        } else {
-            msg = context.getText(R.string.badPuk);
-        }
-
-        mFailure.setText(msg);
-        mFailure.setVisibility(View.VISIBLE);
-    }
-
-    void hideIncorrectPinMessage() {
-        mFailure.setVisibility(View.GONE);
-    }
-
-    void showUnlockInProgress() {
-        mUnlockInProgressPane.setVisibility(View.VISIBLE);
-        mUnlockPane.setVisibility(View.GONE);
-    }
-
-    void hidePinUnlockInProgress() {
-        mUnlockInProgressPane.setVisibility(View.GONE);
-        mUnlockPane.setVisibility(View.VISIBLE);
-    }
-
-    void showUnlockSuccess() {
-        mStatus.setText(getContext().getText(R.string.pinUnlocked));
-        mHandler.postDelayed(
-                new Runnable() {
-                    public void run() {
-                        dismiss();
-                    }
-                }, 1000);
-    }
-
-    private boolean verifyNewPin(String pin2) {
-        if (mNewPinCode.equals(pin2)) {
-            return true;
-        }
-
-        return false;
-    }
-
-    //***** Listeners
-
-    View.OnClickListener mUnlockListener = new View.OnClickListener() {
-        public void onClick(View v) {
-            String code = mEntry.getText().toString();
-
-            if (TextUtils.isEmpty(code)) {
-                return;
-            }
-
-            PhoneApp app = PhoneApp.getInstance();
-            IccCard iccCardInterface = app.phone.getIccCard();
-            if (iccCardInterface != null) {
-                Message callBack = Message.obtain(mHandler,
-                        EVENT_ICC_UNLOCKED_RESULT);
-
-                switch (mState) {
-                    case REQUIRE_PIN:
-                        if (DBG) log("unlock attempt: PIN code entered = " +
-                                code);
-                        showUnlockInProgress();
-                        iccCardInterface.supplyPin(code, callBack);
-                        break;
-
-                    case REQUIRE_PUK:
-                        if (DBG) log("puk code entered, request for new pin");
-                        mPUKCode = code;
-                        setState(IccLockState.REQUIRE_NEW_PIN);
-                        updateView();
-                        break;
-
-                    case REQUIRE_NEW_PIN:
-                        if (DBG) log("new pin code entered, verify pin");
-                        mNewPinCode = code;
-                        setState(IccLockState.VERIFY_NEW_PIN);
-                        updateView();
-                        break;
-
-                    case VERIFY_NEW_PIN:
-                        if (DBG) log("new pin code re-entered");
-
-                        if (verifyNewPin(code)) {
-                            // proceed
-                            showUnlockInProgress();
-                            iccCardInterface.supplyPuk(mPUKCode, mNewPinCode,
-                                    callBack);
-                        } else {
-                            setState(IccLockState.VERIFY_NEW_PIN_FAILED);
-                            updateView();
-                        }
-
-                        break;
-                }
-            }
-        }
-    };
-
-    View.OnClickListener mDismissListener = new View.OnClickListener() {
-        public void onClick(View v) {
-            dismiss();
-        }
-    };
-
-    private void log(String msg) {
-        Log.v(TAG, "[SimPinUnlock] " + msg);
-    }
-}