private static boolean isActiveNetworkMetered( ConnectivityManager connectivityManager, NetworkInfo networkInfo) { if (Util.SDK_INT >= 16) { return connectivityManager.isActiveNetworkMetered(); } int type = networkInfo.getType(); return type != ConnectivityManager.TYPE_WIFI && type != ConnectivityManager.TYPE_BLUETOOTH && type != ConnectivityManager.TYPE_ETHERNET; }
@Test public void isActiveNetworkMetered_defaultsToTrue() { assertThat(connectivityManager.isActiveNetworkMetered()).isTrue(); }
@Test public void isActiveNetworkMetered_noActiveNetwork() { shadowOf(connectivityManager).setActiveNetworkInfo(null); assertThat(connectivityManager.isActiveNetworkMetered()).isFalse(); }
@Test public void isActiveNetworkMetered_noDefaultNetworkActive() { shadowOf(connectivityManager).setDefaultNetworkActive(false); assertThat(connectivityManager.isActiveNetworkMetered()).isFalse(); }
@Test public void isActiveNetworkMetered_mobileIsMetered() { shadowOf(connectivityManager) .setActiveNetworkInfo(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE)); assertThat(connectivityManager.isActiveNetworkMetered()).isTrue(); }
@Test public void isActiveNetworkMetered_nonMobileIsUnmetered() { shadowOf(connectivityManager) .setActiveNetworkInfo(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)); assertThat(connectivityManager.isActiveNetworkMetered()).isFalse(); }
private boolean isMeteredNetworkConnection() { ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo ni = cm.getActiveNetworkInfo(); if (ni == null) { // In flight mode. return false; } if (!ni.isConnected()) { // No network connection. return false; } return cm.isActiveNetworkMetered(); }
/** * Method to check if the device is connected to an un-metered network like WiFi etc. * * @return Returns true if device is connected to un-metered network, false otherwise */ private boolean isConnectionUnMetered() { ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); // Checks if the device is on a metered network if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { return !cm.isActiveNetworkMetered(); } else { NetworkInfo networkInfo = cm.getActiveNetworkInfo(); return (networkInfo != null && networkInfo.getType() == ConnectivityManager.TYPE_WIFI); } } }
public static boolean isActiveNetworkMetered(ConnectivityManager cm) { return cm.isActiveNetworkMetered(); } }
static boolean isActiveNetworkMetered(Context context) { if (sIsNetworkListenerDisabled) return sIsNetworkMetered; ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); return cm.isActiveNetworkMetered(); }
@SuppressLint("MissingPermission") protected boolean checkConnection(@NonNull final ConnectivityManager cm, @NonNull final NetworkInfo activeNetwork) { if (Build.VERSION.SDK_INT >= 16) { return !cm.isActiveNetworkMetered(); } return activeNetwork.getType() == ConnectivityManager.TYPE_WIFI; }
public static boolean isMetered(Context context) { ConnectivityManager manager = getConnectivityManager(context); NetworkInfo info = getActiveNetworkInfo(manager); return info != null && info.isConnected() && manager.isActiveNetworkMetered(); }
/** * Fetches an album art url and puts it in the cache * * @param url The url */ private static void fetchUrl(URL url) { //We need the disk cache for this if (diskCache == null) { Log.e("KDE/Mpris/AlbumArtCache", "The disk cache is not intialized!"); return; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { //Only download art on unmetered networks (wifi etc.) if (connectivityManager.isActiveNetworkMetered()) { return; } } //Only fetch an URL if we're not fetching it already if (fetchUrlList.contains(url) || isFetchingList.contains(url)) { return; } fetchUrlList.add(url); initiateFetch(); }
public static boolean getNetworkMetered() { ConnectivityManager mConnectivity; if (ClientProperties.getApplicationContext() != null && android.os.Build.VERSION.SDK_INT >= 16) { mConnectivity = (ConnectivityManager) ClientProperties.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE); if (mConnectivity == null) { return false; } return mConnectivity.isActiveNetworkMetered(); } return false; }
public static boolean isUnmetered(Context context) { ConnectivityManager manager = getConnectivityManager(context); NetworkInfo info = getActiveNetworkInfo(manager); return info != null && info.isConnected() && !manager.isActiveNetworkMetered(); }
private boolean setupSnack(final boolean isMetered, final int type) { final IsConnectedUnMeteredOrUnknown tested = new IsConnectedUnMeteredOrUnknown(); when(mockAndroidContext.checkCallingOrSelfPermission(Manifest.permission.ACCESS_NETWORK_STATE)).thenReturn(PackageManager.PERMISSION_GRANTED); when(mockConnectivityManager.isActiveNetworkMetered()).thenReturn(isMetered); when(mockNetwork.getType()).thenReturn(type); when(mockNetwork.isConnectedOrConnecting()).thenReturn(true); return tested.isAppropriate(mockSnackContext, null); }
private boolean mayPrerender(CustomTabsSessionToken session) { if (!DeviceClassManager.enablePrerendering()) return false; // TODO(yusufo): The check for prerender in PrivacyManager now checks for the network // connection type as well, we should either change that or add another check for custom // tabs. Then PrivacyManager should be used to make the below check. if (!PrefServiceBridge.getInstance().getNetworkPredictionEnabled()) return false; if (DataReductionProxySettings.getInstance().isDataReductionProxyEnabled()) return false; ConnectivityManager cm = (ConnectivityManager) mApplication.getApplicationContext().getSystemService( Context.CONNECTIVITY_SERVICE); return !cm.isActiveNetworkMetered() || shouldPrerenderOnCellularForSession(session); }