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 Savilleimport android.os.Parcel;
20b208a24cf521401912cfce16fce550a995cf1250Wink Savilleimport android.os.Parcelable;
21b208a24cf521401912cfce16fce550a995cf1250Wink Saville
22b208a24cf521401912cfce16fce550a995cf1250Wink Saville/**
23b208a24cf521401912cfce16fce550a995cf1250Wink Saville * Abstract base class for cell phone signal strength related information.
24b208a24cf521401912cfce16fce550a995cf1250Wink Saville */
25c6e4917adda19beb780386bcc26b652748b8ab13Wink Savillepublic abstract class CellSignalStrength {
26b208a24cf521401912cfce16fce550a995cf1250Wink Saville
27b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
28b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0;
29b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
30b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_POOR = 1;
31b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
32b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_MODERATE = 2;
33b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
34b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_GOOD = 3;
35b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
36b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int SIGNAL_STRENGTH_GREAT = 4;
37b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
38b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final int NUM_SIGNAL_STRENGTH_BINS = 5;
39b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
40b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public static final String[] SIGNAL_STRENGTH_NAMES = {
41b208a24cf521401912cfce16fce550a995cf1250Wink Saville        "none", "poor", "moderate", "good", "great"
42b208a24cf521401912cfce16fce550a995cf1250Wink Saville    };
43b208a24cf521401912cfce16fce550a995cf1250Wink Saville
44b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /** @hide */
453caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville    protected CellSignalStrength() {
463caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville    }
473caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville
483caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville    /** @hide */
49b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract void setDefaultValues();
50b208a24cf521401912cfce16fce550a995cf1250Wink Saville
51b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /**
52b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * Get signal level as an int from 0..4
53b208a24cf521401912cfce16fce550a995cf1250Wink Saville     */
54b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract int getLevel();
55b208a24cf521401912cfce16fce550a995cf1250Wink Saville
56b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /**
57b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * Get the signal level as an asu value between 0..31, 99 is unknown
58b208a24cf521401912cfce16fce550a995cf1250Wink Saville     */
59b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract int getAsuLevel();
60b208a24cf521401912cfce16fce550a995cf1250Wink Saville
61b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /**
62b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * Get the signal strength as dBm
63b208a24cf521401912cfce16fce550a995cf1250Wink Saville     */
64b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract int getDbm();
65b208a24cf521401912cfce16fce550a995cf1250Wink Saville
66b208a24cf521401912cfce16fce550a995cf1250Wink Saville    /**
67b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * Copies the CellSignalStrength.
68b208a24cf521401912cfce16fce550a995cf1250Wink Saville     *
69b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * @return A deep copy of this class.
70b208a24cf521401912cfce16fce550a995cf1250Wink Saville     * @hide
71b208a24cf521401912cfce16fce550a995cf1250Wink Saville     */
72b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract CellSignalStrength copy();
73b208a24cf521401912cfce16fce550a995cf1250Wink Saville
74b208a24cf521401912cfce16fce550a995cf1250Wink Saville    @Override
75b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract int hashCode();
76b208a24cf521401912cfce16fce550a995cf1250Wink Saville
77b208a24cf521401912cfce16fce550a995cf1250Wink Saville    @Override
78b208a24cf521401912cfce16fce550a995cf1250Wink Saville    public abstract boolean equals (Object o);
79b208a24cf521401912cfce16fce550a995cf1250Wink Saville}
80