import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.os.Handler;
-import android.os.INetworkManagementService;
import android.os.Message;
-import android.os.RemoteException;
-import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.preference.Preference;
}
} else if (id == R.id.data_usage_settings) {
// Remove data usage when kernel module not enabled
- final INetworkManagementService netManager = INetworkManagementService.Stub
- .asInterface(ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
- try {
- if (!netManager.isBandwidthControlEnabled()) {
- removeTile = true;
- }
- } catch (RemoteException e) {
- // ignored
+ if (!Utils.isBandwidthControlEnabled()) {
+ removeTile = true;
}
} else if (id == R.id.battery_settings) {
// Remove battery settings when battery is not available. (e.g. TV)
import android.os.BatteryManager;
import android.os.Bundle;
import android.os.IBinder;
+import android.os.INetworkManagementService;
import android.os.RemoteException;
+import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.storage.StorageManager;
return null;
}
}
+
+ public static boolean isBandwidthControlEnabled() {
+ final INetworkManagementService netManager = INetworkManagementService.Stub
+ .asInterface(ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
+ try {
+ return netManager.isBandwidthControlEnabled();
+ } catch (RemoteException e) {
+ return false;
+ }
+ }
}
\ No newline at end of file
setHasOptionsMenu(true);
addPreferencesFromResource(R.xml.installed_app_details);
- INetworkStatsService statsService = INetworkStatsService.Stub.asInterface(
- ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
- try {
- mStatsSession = statsService.openSession();
- } catch (RemoteException e) {
- throw new RuntimeException(e);
+ if (Utils.isBandwidthControlEnabled()) {
+ INetworkStatsService statsService = INetworkStatsService.Stub.asInterface(
+ ServiceManager.getService(Context.NETWORK_STATS_SERVICE));
+ try {
+ mStatsSession = statsService.openSession();
+ } catch (RemoteException e) {
+ throw new RuntimeException(e);
+ }
+ } else {
+ removePreference(KEY_DATA);
}
mBatteryHelper = new BatteryStatsHelper(getActivity(), true);
}
}
AppItem app = new AppItem(mAppEntry.info.uid);
app.addUid(mAppEntry.info.uid);
- getLoaderManager().restartLoader(LOADER_CHART_DATA,
- ChartDataLoader.buildArgs(getTemplate(getContext()), app),
- mDataCallbacks);
+ if (mStatsSession != null) {
+ getLoaderManager().restartLoader(LOADER_CHART_DATA,
+ ChartDataLoader.buildArgs(getTemplate(getContext()), app),
+ mDataCallbacks);
+ }
new BatteryUpdater().execute();
}
mPermissionsPreference = findPreference(KEY_PERMISSION);
mPermissionsPreference.setOnPreferenceClickListener(this);
mDataPreference = findPreference(KEY_DATA);
- mDataPreference.setOnPreferenceClickListener(this);
+ if (mDataPreference != null) {
+ mDataPreference.setOnPreferenceClickListener(this);
+ }
mBatteryPreference = findPreference(KEY_BATTERY);
mBatteryPreference.setEnabled(false);
mBatteryPreference.setOnPreferenceClickListener(this);
mPm, context));
mNotificationPreference.setSummary(getNotificationSummary(mAppEntry, context,
mBackend));
- mDataPreference.setSummary(getDataSummary());
+ if (mDataPreference != null) {
+ mDataPreference.setSummary(getDataSummary());
+ }
updateBattery();