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 public static final int SIGNAL_STRENGTH_NONE_OR_UNKNOWN = 0; 258e27050f0ebb27b920dfc918635130865dba0eacCasey Ho 26b208a24cf521401912cfce16fce550a995cf1250Wink Saville public static final int SIGNAL_STRENGTH_POOR = 1; 278e27050f0ebb27b920dfc918635130865dba0eacCasey Ho 28b208a24cf521401912cfce16fce550a995cf1250Wink Saville public static final int SIGNAL_STRENGTH_MODERATE = 2; 298e27050f0ebb27b920dfc918635130865dba0eacCasey Ho 30b208a24cf521401912cfce16fce550a995cf1250Wink Saville public static final int SIGNAL_STRENGTH_GOOD = 3; 318e27050f0ebb27b920dfc918635130865dba0eacCasey Ho 32b208a24cf521401912cfce16fce550a995cf1250Wink Saville public static final int SIGNAL_STRENGTH_GREAT = 4; 338e27050f0ebb27b920dfc918635130865dba0eacCasey Ho 34b208a24cf521401912cfce16fce550a995cf1250Wink Saville /** @hide */ 35b208a24cf521401912cfce16fce550a995cf1250Wink Saville public static final int NUM_SIGNAL_STRENGTH_BINS = 5; 368e27050f0ebb27b920dfc918635130865dba0eacCasey Ho 37b208a24cf521401912cfce16fce550a995cf1250Wink Saville /** @hide */ 38b208a24cf521401912cfce16fce550a995cf1250Wink Saville public static final String[] SIGNAL_STRENGTH_NAMES = { 39b208a24cf521401912cfce16fce550a995cf1250Wink Saville "none", "poor", "moderate", "good", "great" 40b208a24cf521401912cfce16fce550a995cf1250Wink Saville }; 41b208a24cf521401912cfce16fce550a995cf1250Wink Saville 42b208a24cf521401912cfce16fce550a995cf1250Wink Saville /** @hide */ 433caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville protected CellSignalStrength() { 443caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville } 453caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville 463caf66d2ea63c75039daf43af30d3727e5ce6b58Wink Saville /** @hide */ 47b208a24cf521401912cfce16fce550a995cf1250Wink Saville public abstract void setDefaultValues(); 48b208a24cf521401912cfce16fce550a995cf1250Wink Saville 49b208a24cf521401912cfce16fce550a995cf1250Wink Saville /** 50b208a24cf521401912cfce16fce550a995cf1250Wink Saville * Get signal level as an int from 0..4 518e27050f0ebb27b920dfc918635130865dba0eacCasey Ho * <p> 528e27050f0ebb27b920dfc918635130865dba0eacCasey Ho * @see SIGNAL_STRENGTH_NONE_OR_UNKNOWN 538e27050f0ebb27b920dfc918635130865dba0eacCasey Ho * @see SIGNAL_STRENGTH_POOR 548e27050f0ebb27b920dfc918635130865dba0eacCasey Ho * @see SIGNAL_STRENGTH_MODERATE 558e27050f0ebb27b920dfc918635130865dba0eacCasey Ho * @see SIGNAL_STRENGTH_GOOD 568e27050f0ebb27b920dfc918635130865dba0eacCasey Ho * @see SIGNAL_STRENGTH_GREAT 57b208a24cf521401912cfce16fce550a995cf1250Wink Saville */ 58b208a24cf521401912cfce16fce550a995cf1250Wink Saville public abstract int getLevel(); 59b208a24cf521401912cfce16fce550a995cf1250Wink Saville 60b208a24cf521401912cfce16fce550a995cf1250Wink Saville /** 61b208a24cf521401912cfce16fce550a995cf1250Wink Saville * Get the signal level as an asu value between 0..31, 99 is unknown 62b208a24cf521401912cfce16fce550a995cf1250Wink Saville */ 63b208a24cf521401912cfce16fce550a995cf1250Wink Saville public abstract int getAsuLevel(); 64b208a24cf521401912cfce16fce550a995cf1250Wink Saville 65b208a24cf521401912cfce16fce550a995cf1250Wink Saville /** 66b208a24cf521401912cfce16fce550a995cf1250Wink Saville * Get the signal strength as dBm 67b208a24cf521401912cfce16fce550a995cf1250Wink Saville */ 68b208a24cf521401912cfce16fce550a995cf1250Wink Saville public abstract int getDbm(); 69b208a24cf521401912cfce16fce550a995cf1250Wink Saville 70b208a24cf521401912cfce16fce550a995cf1250Wink Saville /** 71b208a24cf521401912cfce16fce550a995cf1250Wink Saville * Copies the CellSignalStrength. 72b208a24cf521401912cfce16fce550a995cf1250Wink Saville * 73b208a24cf521401912cfce16fce550a995cf1250Wink Saville * @return A deep copy of this class. 74b208a24cf521401912cfce16fce550a995cf1250Wink Saville * @hide 75b208a24cf521401912cfce16fce550a995cf1250Wink Saville */ 76b208a24cf521401912cfce16fce550a995cf1250Wink Saville public abstract CellSignalStrength copy(); 77b208a24cf521401912cfce16fce550a995cf1250Wink Saville 78b208a24cf521401912cfce16fce550a995cf1250Wink Saville @Override 79b208a24cf521401912cfce16fce550a995cf1250Wink Saville public abstract int hashCode(); 80b208a24cf521401912cfce16fce550a995cf1250Wink Saville 81b208a24cf521401912cfce16fce550a995cf1250Wink Saville @Override 82b208a24cf521401912cfce16fce550a995cf1250Wink Saville public abstract boolean equals (Object o); 83b208a24cf521401912cfce16fce550a995cf1250Wink Saville} 84