15d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey/* 25d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * Copyright (C) 2012 The Android Open Source Project 35d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * 45d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * Licensed under the Apache License, Version 2.0 (the "License"); 55d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * you may not use this file except in compliance with the License. 65d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * You may obtain a copy of the License at 75d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * 85d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * http://www.apache.org/licenses/LICENSE-2.0 95d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * 105d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * Unless required by applicable law or agreed to in writing, software 115d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * distributed under the License is distributed on an "AS IS" BASIS, 125d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * See the License for the specific language governing permissions and 145d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * limitations under the License. 155d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey */ 165d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey 175d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeypackage android.support.v4.net; 185d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey 195d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport static android.net.ConnectivityManager.TYPE_BLUETOOTH; 205d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport static android.net.ConnectivityManager.TYPE_ETHERNET; 215d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport static android.net.ConnectivityManager.TYPE_MOBILE; 225d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport static android.net.ConnectivityManager.TYPE_MOBILE_DUN; 235d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport static android.net.ConnectivityManager.TYPE_MOBILE_HIPRI; 245d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport static android.net.ConnectivityManager.TYPE_MOBILE_MMS; 255d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport static android.net.ConnectivityManager.TYPE_MOBILE_SUPL; 265d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport static android.net.ConnectivityManager.TYPE_WIFI; 275d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport static android.net.ConnectivityManager.TYPE_WIMAX; 285d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey 295d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport android.net.ConnectivityManager; 305d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyimport android.net.NetworkInfo; 315d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey 325d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey/** 335d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey * Implementation of ConnectivityManagerCompat that can use Honeycomb MR2 APIs. 345d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey */ 355d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkeyclass ConnectivityManagerCompatHoneycombMR2 { 365d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey public static boolean isActiveNetworkMetered(ConnectivityManager cm) { 375d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey final NetworkInfo info = cm.getActiveNetworkInfo(); 385d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey if (info == null) { 395d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey // err on side of caution 405d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey return true; 415d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey } 425d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey 435d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey final int type = info.getType(); 445d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey switch (type) { 455d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey case TYPE_MOBILE: 465d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey case TYPE_MOBILE_DUN: 475d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey case TYPE_MOBILE_HIPRI: 485d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey case TYPE_MOBILE_MMS: 495d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey case TYPE_MOBILE_SUPL: 505d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey case TYPE_WIMAX: 515d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey return true; 525d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey case TYPE_WIFI: 535d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey case TYPE_BLUETOOTH: 545d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey case TYPE_ETHERNET: 555d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey return false; 565d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey default: 575d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey // err on side of caution 585d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey return true; 595d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey } 605d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey } 615d79c2b6211936177817f2492816c1dba76dac3eJeff Sharkey} 62