1d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt/* 2d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * Copyright (C) 2010 The Android Open Source Project 3d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * 4d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * Licensed under the Apache License, Version 2.0 (the "License"); 5d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * you may not use this file except in compliance with the License. 6d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * You may obtain a copy of the License at 7d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * 8d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * http://www.apache.org/licenses/LICENSE-2.0 9d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * 10d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * Unless required by applicable law or agreed to in writing, software 11d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * distributed under the License is distributed on an "AS IS" BASIS, 12d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * See the License for the specific language governing permissions and 14d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * limitations under the License. 15d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 16d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 17d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwaltpackage android.net; 18d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 19d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwaltimport android.util.Log; 20d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 21d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt/** 22d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * Describes the buildtime configuration of a network. 23d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * Holds settings read from resources. 24d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * @hide 25d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 26d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwaltpublic class NetworkConfig { 27d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt /** 28d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * Human readable string 29d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 30d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public String name; 31d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 32d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt /** 33d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * Type from ConnectivityManager 34d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 35d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public int type; 36d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 37d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt /** 38d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * the radio number from radio attributes config 39d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 40d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public int radio; 41d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 42d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt /** 43d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * higher number == higher priority when turning off connections 44d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 45d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public int priority; 46d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 47d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt /** 48d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * indicates the boot time dependencyMet setting 49d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 50d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public boolean dependencyMet; 51d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 52d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt /** 53f2102f7a1a26d399cc60c516ed7d90ef660de055Robert Greenwalt * indicates the default restoral timer in seconds 54f2102f7a1a26d399cc60c516ed7d90ef660de055Robert Greenwalt * if the network is used as a special network feature 55f2102f7a1a26d399cc60c516ed7d90ef660de055Robert Greenwalt * -1 indicates no restoration of default 56f2102f7a1a26d399cc60c516ed7d90ef660de055Robert Greenwalt */ 57f2102f7a1a26d399cc60c516ed7d90ef660de055Robert Greenwalt public int restoreTime; 58f2102f7a1a26d399cc60c516ed7d90ef660de055Robert Greenwalt 59f2102f7a1a26d399cc60c516ed7d90ef660de055Robert Greenwalt /** 60d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * input string from config.xml resource. Uses the form: 61d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * [Connection name],[ConnectivityManager connection type], 62d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * [associated radio-type],[priority],[dependencyMet] 63d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 64d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public NetworkConfig(String init) { 65d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt String fragments[] = init.split(","); 66d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt name = fragments[0].trim().toLowerCase(); 67d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt type = Integer.parseInt(fragments[1]); 68d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt radio = Integer.parseInt(fragments[2]); 69d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt priority = Integer.parseInt(fragments[3]); 70f2102f7a1a26d399cc60c516ed7d90ef660de055Robert Greenwalt restoreTime = Integer.parseInt(fragments[4]); 71f2102f7a1a26d399cc60c516ed7d90ef660de055Robert Greenwalt dependencyMet = Boolean.parseBoolean(fragments[5]); 72d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt } 73d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 74d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt /** 75d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * Indicates if this network is supposed to be default-routable 76d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 77d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public boolean isDefault() { 78d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt return (type == radio); 79d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt } 80d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt} 81