1b208a24cf521401912cfce16fce550a995cf1250Wink Saville/*
2b208a24cf521401912cfce16fce550a995cf1250Wink Saville * Copyright (C) 2012 The Android Open Source Project
3b208a24cf521401912cfce16fce550a995cf1250Wink Saville *
4b208a24cf521401912cfce16fce550a995cf1250Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
5b208a24cf521401912cfce16fce550a995cf1250Wink Saville * you may not use this file except in compliance with the License.
6b208a24cf521401912cfce16fce550a995cf1250Wink Saville * You may obtain a copy of the License at
7b208a24cf521401912cfce16fce550a995cf1250Wink Saville *
8b208a24cf521401912cfce16fce550a995cf1250Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
9b208a24cf521401912cfce16fce550a995cf1250Wink Saville *
10b208a24cf521401912cfce16fce550a995cf1250Wink Saville * Unless required by applicable law or agreed to in writing, software
11b208a24cf521401912cfce16fce550a995cf1250Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
12b208a24cf521401912cfce16fce550a995cf1250Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b208a24cf521401912cfce16fce550a995cf1250Wink Saville * See the License for the specific language governing permissions and
14b208a24cf521401912cfce16fce550a995cf1250Wink Saville * limitations under the License.
15b208a24cf521401912cfce16fce550a995cf1250Wink Saville */
16b208a24cf521401912cfce16fce550a995cf1250Wink Saville
17b208a24cf521401912cfce16fce550a995cf1250Wink Savillepackage android.telephony;
18b208a24cf521401912cfce16fce550a995cf1250Wink Saville
19b208a24cf521401912cfce16fce550a995cf1250Wink Saville/**
20b208a24cf521401912cfce16fce550a995cf1250Wink Saville * Abstract base class for cell phone signal strength related information.
21b208a24cf521401912cfce16fce550a995cf1250Wink Saville */
22c6e4917adda19beb780386bcc26b652748b8ab13Wink Savillepublic abstract class CellSignalStrength {
23b208a24cf521401912cfce16fce550a995cf1250Wink Saville
24b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
25b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0;
26b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
27b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_POOR = 1;
28b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
29b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_MODERATE = 2;
30b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
31b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_GOOD = 3;
32b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
33b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_GREAT = 4;
34b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
35b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int NUM_SIGNAL_STRENGTH_BINS = 5;
36b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
37b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final String[] SIGNAL_STRENGTH_NAMES = {
38b208a24cf521401912cfce16fce550a995cf1250Wink Saville        "none", "poor", "moderate", "good", "great"
39b208a24cf521401912cfce16fce550a995cf1250Wink Saville    };
40b208a24cf521401912cfce16fce550a995cf1250Wink Saville
41b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
423caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville    protected CellSignalStrength() {
433caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville    }
443caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville
453caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville    /** @hide */
46b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract void setDefaultValues();
47b208a24cf521401912cfce16fce550a995cf1250Wink Saville
48b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /**
49b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * Get signal level as an int from 0..4
50b208a24cf521401912cfce16fce550a995cf1250Wink Saville     */
51b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract int getLevel();
52b208a24cf521401912cfce16fce550a995cf1250Wink Saville
53b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /**
54b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * Get the signal level as an asu value between 0..31, 99 is unknown
55b208a24cf521401912cfce16fce550a995cf1250Wink Saville     */
56b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract int getAsuLevel();
57b208a24cf521401912cfce16fce550a995cf1250Wink Saville
58b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /**
59b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * Get the signal strength as dBm
60b208a24cf521401912cfce16fce550a995cf1250Wink Saville     */
61b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract int getDbm();
62b208a24cf521401912cfce16fce550a995cf1250Wink Saville
63b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /**
64b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * Copies the CellSignalStrength.
65b208a24cf521401912cfce16fce550a995cf1250Wink Saville     *
66b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * @return A deep copy of this class.
67b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * @hide
68b208a24cf521401912cfce16fce550a995cf1250Wink Saville     */
69b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract CellSignalStrength copy();
70b208a24cf521401912cfce16fce550a995cf1250Wink Saville
71b208a24cf521401912cfce16fce550a995cf1250Wink Saville    @Override
72b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract int hashCode();
73b208a24cf521401912cfce16fce550a995cf1250Wink Saville
74b208a24cf521401912cfce16fce550a995cf1250Wink Saville    @Override
75b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract boolean equals (Object o);
76b208a24cf521401912cfce16fce550a995cf1250Wink Saville}
77