blob: a8055881cf8fa675b2112f7dcb6e7559e91e3d1e [file] [log] [blame]
package com.android.storagemanager.automatic;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkInfo;
import android.os.BatteryManager;
import android.os.PowerManager;
import android.provider.Settings;
/**
* Utility class to check the status of some preconditions that are used by
* {@link DownloadsBackupJobService} and {@link AutomaticStorageManagementJobService}.
*/
public class JobPreconditions {
public static boolean isNetworkMetered(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(
Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null) {
return connectivityManager.isActiveNetworkMetered();
}
return true;
}
public static boolean isWifiConnected(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(
Context.CONNECTIVITY_SERVICE);
if (connectivityManager != null) {
for (Network network : connectivityManager.getAllNetworks()) {
NetworkInfo networkInfo = connectivityManager.getNetworkInfo(network);
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI
&& networkInfo.isConnected()) {
return true;
}
}
}
return false;
}
public static boolean isCharging(Context context) {
BatteryManager batteryManager = (BatteryManager) context.getSystemService(
Context.BATTERY_SERVICE);
if (batteryManager != null) {
return batteryManager.isCharging();
}
return false;
}
public static boolean isIdle(Context context) {
PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
if (powerManager != null) {
return powerManager.isDeviceIdleMode();
}
return false;
}
}