10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2009 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.gsm;
180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/**
200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * SmsBroadcastConfigInfo defines one configuration of Cell Broadcast
210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Message (CBM) to be received by the ME
220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * fromServiceId - toServiceId defines a range of CBM message identifiers
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * whose value is 0x0000 - 0xFFFF as defined in TS 23.041 9.4.1.2.2 for GMS
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and 9.4.4.2.2 for UMTS. All other values can be treated as empty
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * CBM message ID.
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * fromCodeScheme - toCodeScheme defines a range of CBM data coding schemes
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * whose value is 0x00 - 0xFF as defined in TS 23.041 9.4.1.2.3 for GMS
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and 9.4.4.2.3 for UMTS.
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * All other values can be treated as empty CBM data coding scheme.
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * selected false means message types specified in {@code <fromServiceId, toServiceId>}
340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * and {@code <fromCodeScheme, toCodeScheme>} are not accepted, while true means accepted.
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
370825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic final class SmsBroadcastConfigInfo {
3822d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville    private int mFromServiceId;
3922d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville    private int mToServiceId;
4022d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville    private int mFromCodeScheme;
4122d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville    private int mToCodeScheme;
4222d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville    private boolean mSelected;
430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Initialize the object from rssi and cid.
460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public SmsBroadcastConfigInfo(int fromId, int toId, int fromScheme,
480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville            int toScheme, boolean selected) {
4922d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mFromServiceId = fromId;
5022d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mToServiceId = toId;
5122d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mFromCodeScheme = fromScheme;
5222d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mToCodeScheme = toScheme;
5322d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mSelected = selected;
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param fromServiceId the fromServiceId to set
580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setFromServiceId(int fromServiceId) {
6022d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mFromServiceId = fromServiceId;
610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
630825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
640825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return the fromServiceId
650825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
660825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public int getFromServiceId() {
6722d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        return mFromServiceId;
680825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
690825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
700825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
710825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param toServiceId the toServiceId to set
720825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
730825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setToServiceId(int toServiceId) {
7422d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mToServiceId = toServiceId;
750825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
760825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
770825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
780825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return the toServiceId
790825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
800825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public int getToServiceId() {
8122d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        return mToServiceId;
820825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
830825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
840825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
850825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param fromCodeScheme the fromCodeScheme to set
860825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
870825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setFromCodeScheme(int fromCodeScheme) {
8822d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mFromCodeScheme = fromCodeScheme;
890825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
900825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
910825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
920825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return the fromCodeScheme
930825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
940825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public int getFromCodeScheme() {
9522d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        return mFromCodeScheme;
960825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
970825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
980825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
990825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param toCodeScheme the toCodeScheme to set
1000825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1010825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setToCodeScheme(int toCodeScheme) {
10222d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mToCodeScheme = toCodeScheme;
1030825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1040825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1050825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1060825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return the toCodeScheme
1070825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1080825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public int getToCodeScheme() {
10922d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        return mToCodeScheme;
1100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @param selected the selected to set
1140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void setSelected(boolean selected) {
11622d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        mSelected = selected;
1170825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
1200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return the selected
1210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
1220825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public boolean isSelected() {
12322d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville        return mSelected;
1240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
1260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    @Override
1270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public String toString() {
1280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        return "SmsBroadcastConfigInfo: Id [" +
12922d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville                mFromServiceId + ',' + mToServiceId + "] Code [" +
13022d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville                mFromCodeScheme + ',' + mToCodeScheme + "] " +
13122d85a8e3a575a6d01d2c788587971657dfe20c6Wink Saville            (mSelected ? "ENABLED" : "DISABLED");
1320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
1330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
134