/* * 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.internal.telephony; import android.os.ResultReceiver; /** * {@hide} */ public interface MmiCode { /** * {@hide} */ public enum State { PENDING, CANCELLED, COMPLETE, FAILED } /** * @return Current state of MmiCode request */ public State getState(); /** * @return Localized message for UI display, valid only in COMPLETE * or FAILED states. null otherwise */ public CharSequence getMessage(); /** * @return Phone associated with the MMI/USSD message */ public Phone getPhone(); /** * Cancels pending MMI request. * State becomes CANCELLED unless already COMPLETE or FAILED */ public void cancel(); /** * @return true if the network response is a REQUEST for more user input. */ public boolean isUssdRequest(); /** * @return true if an outstanding request can be canceled. */ public boolean isCancelable(); /** * @return true if the Service Code is PIN/PIN2/PUK/PUK2-related */ public boolean isPinPukCommand(); /** * Process a MMI code or short code...anything that isn't a dialing number */ void processCode() throws CallStateException; /** * @return the Receiver for the Ussd Callback. */ public ResultReceiver getUssdCallbackReceiver(); /** * @return the dialString. */ public String getDialString(); }