NetworkConfig.java revision d55a6b498d66d8fc415908ecf63e50f46cce67e8
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 /** 53d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * input string from config.xml resource. Uses the form: 54d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * [Connection name],[ConnectivityManager connection type], 55d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * [associated radio-type],[priority],[dependencyMet] 56d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 57d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public NetworkConfig(String init) { 58d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt String fragments[] = init.split(","); 59d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt name = fragments[0].trim().toLowerCase(); 60d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt type = Integer.parseInt(fragments[1]); 61d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt radio = Integer.parseInt(fragments[2]); 62d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt priority = Integer.parseInt(fragments[3]); 63d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt if (fragments.length > 4) { 64d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt dependencyMet = Boolean.parseBoolean(fragments[4]); 65d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt } else { 66d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt dependencyMet = true; 67d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt } 68d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt } 69d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt 70d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt /** 71d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt * Indicates if this network is supposed to be default-routable 72d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt */ 73d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt public boolean isDefault() { 74d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt return (type == radio); 75d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt } 76d55a6b498d66d8fc415908ecf63e50f46cce67e8Robert Greenwalt} 77