10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2007 The Android Open Source Project
30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License.
60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at
70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software
110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and
140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License.
150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony.cat;
180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
190825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Parcel;
200825495a331bb44df395a0cdb79fab85e68db5d5Wink Savilleimport android.os.Parcelable;
210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/**
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Class used to pass CAT messages from telephony to application. Application
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * should call getXXX() to get commands's specific values.
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic class CatCmdMessage implements Parcelable {
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    // members
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    CommandDetails mCmdDet;
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private TextMessage mTextMsg;
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private Menu mMenu;
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private Input mInput;
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private BrowserSettings mBrowserSettings = null;
340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private ToneSettings mToneSettings = null;
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    private CallSettings mCallSettings = null;
36734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja    private SetupEventListSettings mSetupEventListSettings = null;
375767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja    private boolean mLoadIconFailed = false;
380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /*
400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Container for Launch Browser command settings.
410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public class BrowserSettings {
430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public String url;
440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public LaunchBrowserMode mode;
450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /*
480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Container for Call Setup command settings.
490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public class CallSettings {
510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public TextMessage confirmMsg;
520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public TextMessage callMsg;
530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
55734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja    public class SetupEventListSettings {
56734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        public int[] eventList;
57734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja    }
58734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja
59734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja    public final class SetupEventListConstants {
60734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        // Event values in SETUP_EVENT_LIST Proactive Command as per ETSI 102.223
61734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        public static final int USER_ACTIVITY_EVENT          = 0x04;
62734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        public static final int IDLE_SCREEN_AVAILABLE_EVENT  = 0x05;
63734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        public static final int LANGUAGE_SELECTION_EVENT     = 0x07;
64734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        public static final int BROWSER_TERMINATION_EVENT    = 0x08;
65734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        public static final int BROWSING_STATUS_EVENT        = 0x0F;
66734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja    }
67734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja
68734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja    public final class BrowserTerminationCauses {
69734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        public static final int USER_TERMINATION             = 0x00;
70734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        public static final int ERROR_TERMINATION            = 0x01;
71734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja    }
72734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja
730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    CatCmdMessage(CommandParams cmdParams) {
7422d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mCmdDet = cmdParams.mCmdDet;
755767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja        mLoadIconFailed =  cmdParams.mLoadIconFailed;
760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        switch(getCmdType()) {
770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SET_UP_MENU:
780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SELECT_ITEM:
7922d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mMenu = ((SelectItemParams) cmdParams).mMenu;
800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case DISPLAY_TEXT:
820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SET_UP_IDLE_MODE_TEXT:
830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SEND_DTMF:
840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SEND_SMS:
850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SEND_SS:
860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SEND_USSD:
8722d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mTextMsg = ((DisplayTextParams) cmdParams).mTextMsg;
880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case GET_INPUT:
900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case GET_INKEY:
9122d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mInput = ((GetInputParams) cmdParams).mInput;
920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case LAUNCH_BROWSER:
9422d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mTextMsg = ((LaunchBrowserParams) cmdParams).mConfirmMsg;
950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mBrowserSettings = new BrowserSettings();
9622d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mBrowserSettings.url = ((LaunchBrowserParams) cmdParams).mUrl;
9722d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mBrowserSettings.mode = ((LaunchBrowserParams) cmdParams).mMode;
980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case PLAY_TONE:
1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            PlayToneParams params = (PlayToneParams) cmdParams;
10122d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mToneSettings = params.mSettings;
10222d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mTextMsg = params.mTextMsg;
1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
10486968438e444728053137c764cc37cf9c0a15d16Siddartha Pothapragada        case GET_CHANNEL_STATUS:
10522d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mTextMsg = ((CallSetupParams) cmdParams).mConfirmMsg;
10686968438e444728053137c764cc37cf9c0a15d16Siddartha Pothapragada            break;
1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SET_UP_CALL:
1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mCallSettings = new CallSettings();
10922d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mCallSettings.confirmMsg = ((CallSetupParams) cmdParams).mConfirmMsg;
11022d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mCallSettings.callMsg = ((CallSetupParams) cmdParams).mCallMsg;
1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case OPEN_CHANNEL:
1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case CLOSE_CHANNEL:
1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case RECEIVE_DATA:
1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SEND_DATA:
1160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            BIPClientParams param = (BIPClientParams) cmdParams;
11722d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            mTextMsg = param.mTextMsg;
1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
119734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        case SET_UP_EVENT_LIST:
120734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            mSetupEventListSettings = new SetupEventListSettings();
121734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            mSetupEventListSettings.eventList = ((SetEventListParams) cmdParams).mEventInfo;
122734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            break;
123cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville        case PROVIDE_LOCAL_INFORMATION:
124cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville        case REFRESH:
125cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville        default:
126cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville            break;
1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public CatCmdMessage(Parcel in) {
1310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        mCmdDet = in.readParcelable(null);
1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        mTextMsg = in.readParcelable(null);
1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        mMenu = in.readParcelable(null);
1340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        mInput = in.readParcelable(null);
1355767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja        mLoadIconFailed = (in.readByte() == 1);
1360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        switch (getCmdType()) {
1370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case LAUNCH_BROWSER:
1380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mBrowserSettings = new BrowserSettings();
1390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mBrowserSettings.url = in.readString();
1400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mBrowserSettings.mode = LaunchBrowserMode.values()[in.readInt()];
1410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
1420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case PLAY_TONE:
1430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mToneSettings = in.readParcelable(null);
1440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
1450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SET_UP_CALL:
1460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mCallSettings = new CallSettings();
1470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mCallSettings.confirmMsg = in.readParcelable(null);
1480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            mCallSettings.callMsg = in.readParcelable(null);
1490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
150734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        case SET_UP_EVENT_LIST:
151734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            mSetupEventListSettings = new SetupEventListSettings();
152734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            int length = in.readInt();
153734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            mSetupEventListSettings.eventList = new int[length];
154734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            for (int i = 0; i < length; i++) {
155734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja                mSetupEventListSettings.eventList[i] = in.readInt();
156734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            }
157734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            break;
158cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville        default:
159cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville            break;
1600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
163cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
1640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void writeToParcel(Parcel dest, int flags) {
1650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        dest.writeParcelable(mCmdDet, 0);
1660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        dest.writeParcelable(mTextMsg, 0);
1670825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        dest.writeParcelable(mMenu, 0);
1680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        dest.writeParcelable(mInput, 0);
1695767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja        dest.writeByte((byte) (mLoadIconFailed ? 1 : 0));
1700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        switch(getCmdType()) {
1710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case LAUNCH_BROWSER:
1720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            dest.writeString(mBrowserSettings.url);
1730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            dest.writeInt(mBrowserSettings.mode.ordinal());
1740825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
1750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case PLAY_TONE:
1760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            dest.writeParcelable(mToneSettings, 0);
1770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
1780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        case SET_UP_CALL:
1790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            dest.writeParcelable(mCallSettings.confirmMsg, 0);
1800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            dest.writeParcelable(mCallSettings.callMsg, 0);
1810825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            break;
182734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        case SET_UP_EVENT_LIST:
183734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            dest.writeIntArray(mSetupEventListSettings.eventList);
184734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja            break;
185cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville        default:
186cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville            break;
1870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1880825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public static final Parcelable.Creator<CatCmdMessage> CREATOR = new Parcelable.Creator<CatCmdMessage>() {
191cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville        @Override
1920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CatCmdMessage createFromParcel(Parcel in) {
1930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return new CatCmdMessage(in);
1940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
1950825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
196cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville        @Override
1970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        public CatCmdMessage[] newArray(int size) {
1980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            return new CatCmdMessage[size];
1990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        }
2000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    };
2010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
202cbaa45bbf2cab852b6c9c3a887e9f803d4e857eaWink Saville    @Override
2030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public int describeContents() {
2040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return 0;
2050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /* external API to be used by application */
2080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public AppInterface.CommandType getCmdType() {
2090825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return AppInterface.CommandType.fromInt(mCmdDet.typeOfCommand);
2100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public Menu getMenu() {
2130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mMenu;
2140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public Input geInput() {
2170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mInput;
2180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public TextMessage geTextMessage() {
2210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mTextMsg;
2220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public BrowserSettings getBrowserSettings() {
2250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mBrowserSettings;
2260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public ToneSettings getToneSettings() {
2290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mToneSettings;
2300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
2310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
2320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public CallSettings getCallSettings() {
2330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return mCallSettings;
2340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
235734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja
236734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja    public SetupEventListSettings getSetEventList() {
237734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja        return mSetupEventListSettings;
238734900afa3a8e35d3a75786dc59f91b6f3136157Preeti Ahuja    }
2395767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja
2405767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja    /**
2415767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja     * API to be used by application to check if loading optional icon
2425767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja     * has failed
2435767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja     */
2445767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja    public boolean hasIconLoadFailed() {
2455767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja        return mLoadIconFailed;
2465767ae41f516736b666062091d4f1948eccca8f4Preeti Ahuja    }
2470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
248