Both stats and policy make NMS calls that depend on bandwidth control
being enabled, so move enable/disable into NMS and drop calls when
disabled. This avoids throwing heavy ISE exceptions when disabled.
Only include recent data when writing NetworkStatsHistory as part of
dumpsys call. Introduce manual poll event for Settings UI.
Bug: 4982115, 4770435, 4515856
Change-Id: I257820b057af2f0f99c736fb4f61e55b9fdc3e66
Connect up netd penalty box through NMS, and enforce the existing
background data flag by putting all UIDs in penalty box. Allow
platform applications to have policy applied. Only dispatch unique
rules to netd, avoiding any repeats.
Bug: 4598463, 4965677
Change-Id: Ibf9beff998ba7a1ea92f5e2f7eeba7b483d4b918
During systemReady(), tell netd to enable bandwidth tracking module,
which is used to provide detailed stats and controls.
Change-Id: Iecfd8b17a3b90f5a817d731fbe1c71777681ed6e
Remove obsolete RNDIS support from NetworkManagementService
This change fixes USB tethering, which broke after the new USB gadget driver
changes went in.
Change-Id: Idd987fb2c39c40e81ebc92e6d8dae9fe77ed4ddc
Signed-off-by: Mike Lockwood <lockwood@android.com>
We used to bring down the interface on network disconnect
which would in turn clean up all the IP addresses.
The interface bringup/shutdown is now handled by wpa_supplicant.
Add netd interface for clearing all IP addresses
Bug: 4676254
Change-Id: I7e24c0ab2e4a412b8d61e9c33ce028966913aaf6
A previous fix to PowerManager.WakeLock introduced a new bug. When
a reference counted wakelock (such as SMSDispatcher) is acquired
multiple times in quick succession with a timeout, the first timeout
would remove the second callback from the handler, decrement the
reference count, but then the wakelock never gets released because
the second callback has been removed.
Bug: 4535237
Change-Id: I4f1240189bf3ed3396c86200c687282597b107d6
On many devices the radio version system property is only available
when the radio is on, which is frequently not the case when the static
initializers for the Build class are run (eg, if the system has just
booted). This means RADIO is forever "unknown" on these devices.
Deprecate it and add a method to return the radio version instead.
Apps will still have to deal with getting a null back if the radio
version is currently unavailable.
Change-Id: I63528eae93e1b9d0f7cec5a382724d0391ba1104
Updates aapt to know about these. Also updates aapt badging to:
- No longer crash due to the change to how we match unspecified
configuration resources.
- Report the new "smallest screen" supported screen configs.
- Infer old screen size buckets based on new smallest width attrs.
- Report all of the different labels and icons in an app.
Change-Id: I7376042b817391bd070f549cebbc7f03be4635c8
This change attempts to avoid a periodic and costly 110ms
explicit GC and instance count operation when StrictMode
activity leak checking is enabled.
Change-Id: Ia90289ac3352c01c797ab3cc25456e3db68f220a
Clear the Message when it is recycled, even if it will not go
back into the Message pool. This makes the behavior of recycle()
more consistent and ensures that the Message does not hold onto
other object after it has been recycled (useful in case there are
stale references to the Message lingering elsewhere).
Change-Id: I26b6a4b629f9c0b6bed70fdc42734919f30e64c4
Also fix issue #4519821:
Blank screen displayed on tapping "Battery Use" option in the settings
We weren't correctly doing the full Activity resume code when coming
back from delivering a new Intent or result.
And fix a fragment problem where we still weren't correctly restoring
the state of list views. (I think this was from a bad manual-merge
from master.)
Change-Id: If79dc7e998155c39ab8c04781f6c73a82238a9ef
Periodically records delta network traffic into historical buckets to
support other services, such NetworkPolicyManager and Settings UI.
Introduces NetworkStatsHistory structure which contains sparse, uniform
buckets of data usage defined by timestamps. Service periodically
polls NetworkStats and records changes into buckets. It only persists
to disk when substantial changes have occured. Current parameters
create 4 buckets each day, and persist for 90 days, resulting in about
8kB of data per network.
Only records stats for "well known" network interfaces that have been
claimed by Telephony or Wi-Fi subsystems. Historical stats are also
keyed off identity (such as IMSI) to support SIM swapping.
Change-Id: Ia27d1289556a2bf9545fbc4f3b789425a01be53a