119ba736c22869ec678ce0a79858ab3624fedee1bpkanwar/*
219ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * Copyright (C) 2006 The Android Open Source Project
319ba736c22869ec678ce0a79858ab3624fedee1bpkanwar *
419ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * Licensed under the Apache License, Version 2.0 (the "License");
519ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * you may not use this file except in compliance with the License.
619ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * You may obtain a copy of the License at
719ba736c22869ec678ce0a79858ab3624fedee1bpkanwar *
819ba736c22869ec678ce0a79858ab3624fedee1bpkanwar *      http://www.apache.org/licenses/LICENSE-2.0
919ba736c22869ec678ce0a79858ab3624fedee1bpkanwar *
1019ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * Unless required by applicable law or agreed to in writing, software
1119ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * distributed under the License is distributed on an "AS IS" BASIS,
1219ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1319ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * See the License for the specific language governing permissions and
1419ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * limitations under the License.
1519ba736c22869ec678ce0a79858ab3624fedee1bpkanwar */
1619ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
1719ba736c22869ec678ce0a79858ab3624fedee1bpkanwarpackage android.telephony;
1819ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
1919ba736c22869ec678ce0a79858ab3624fedee1bpkanwarimport android.os.Parcel;
2019ba736c22869ec678ce0a79858ab3624fedee1bpkanwarimport android.os.Parcelable;
2119ba736c22869ec678ce0a79858ab3624fedee1bpkanwarimport android.text.TextUtils;
2219ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
2319ba736c22869ec678ce0a79858ab3624fedee1bpkanwar/**
2419ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * Represents the Ussd response, including
2519ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * the message and the return code.
2619ba736c22869ec678ce0a79858ab3624fedee1bpkanwar * @hide
2719ba736c22869ec678ce0a79858ab3624fedee1bpkanwar */
2819ba736c22869ec678ce0a79858ab3624fedee1bpkanwarpublic final class UssdResponse implements Parcelable {
2919ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    private CharSequence mReturnMessage;
3019ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    private String mUssdRequest;
3119ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
3219ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
3319ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    /**
3419ba736c22869ec678ce0a79858ab3624fedee1bpkanwar     * Implement the Parcelable interface
3519ba736c22869ec678ce0a79858ab3624fedee1bpkanwar     */
3619ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    @Override
3719ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    public void writeToParcel(Parcel dest, int flags) {
3819ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        dest.writeString(mUssdRequest);
3919ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        TextUtils.writeToParcel(mReturnMessage, dest, 0);
4019ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    }
4119ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
4219ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    public String getUssdRequest() {
4319ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        return mUssdRequest;
4419ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    }
4519ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
4619ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    public CharSequence getReturnMessage() {
4719ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        return mReturnMessage;
4819ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    }
4919ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
5019ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    /**
5119ba736c22869ec678ce0a79858ab3624fedee1bpkanwar     * Implement the Parcelable interface
5219ba736c22869ec678ce0a79858ab3624fedee1bpkanwar     */
5319ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    @Override
5419ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    public int describeContents() {
5519ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        return 0;
5619ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    }
5719ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
5819ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    /**
5919ba736c22869ec678ce0a79858ab3624fedee1bpkanwar     * * Initialize the object from the request and return message.
6019ba736c22869ec678ce0a79858ab3624fedee1bpkanwar     */
6119ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    public UssdResponse(String ussdRequest, CharSequence returnMessage) {
6219ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        mUssdRequest = ussdRequest;
6319ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        mReturnMessage = returnMessage;
6419ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    }
6519ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
6619ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    public static final Parcelable.Creator<UssdResponse> CREATOR = new Creator<UssdResponse>() {
6719ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
6819ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        @Override
6919ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        public UssdResponse createFromParcel(Parcel in) {
7019ba736c22869ec678ce0a79858ab3624fedee1bpkanwar            String request = in.readString();
7119ba736c22869ec678ce0a79858ab3624fedee1bpkanwar            CharSequence message = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in);
7219ba736c22869ec678ce0a79858ab3624fedee1bpkanwar            return new UssdResponse(request, message);
7319ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        }
7419ba736c22869ec678ce0a79858ab3624fedee1bpkanwar
7519ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        @Override
7619ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        public UssdResponse[] newArray(int size) {
7719ba736c22869ec678ce0a79858ab3624fedee1bpkanwar            return new UssdResponse[size];
7819ba736c22869ec678ce0a79858ab3624fedee1bpkanwar        }
7919ba736c22869ec678ce0a79858ab3624fedee1bpkanwar    };
8019ba736c22869ec678ce0a79858ab3624fedee1bpkanwar}
81