Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e03b575 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Wifi usability: Add @SystemApi to send Wifi usability stats"

parents 3eee2c51 86833149
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -637,6 +637,7 @@ java_defaults {
        "wifi/java/android/net/wifi/ISoftApCallback.aidl",
        "wifi/java/android/net/wifi/ITrafficStateCallback.aidl",
        "wifi/java/android/net/wifi/IWifiManager.aidl",
        "wifi/java/android/net/wifi/IWifiUsabilityStatsListener.aidl",
        "wifi/java/android/net/wifi/aware/IWifiAwareDiscoverySessionCallback.aidl",
        "wifi/java/android/net/wifi/aware/IWifiAwareEventCallback.aidl",
        "wifi/java/android/net/wifi/aware/IWifiAwareMacAddressProvider.aidl",
+31 −0
Original line number Diff line number Diff line
@@ -4610,6 +4610,7 @@ package android.net.wifi {
  }
  public class WifiManager {
    method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void addWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiUsabilityStatsListener);
    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void connect(android.net.wifi.WifiConfiguration, android.net.wifi.WifiManager.ActionListener);
    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void connect(int, android.net.wifi.WifiManager.ActionListener);
    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void disable(int, android.net.wifi.WifiManager.ActionListener);
@@ -4625,6 +4626,7 @@ package android.net.wifi {
    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
    method public boolean isWifiScannerSupported();
    method @RequiresPermission("android.permission.NETWORK_SETTINGS") public void registerNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback, @Nullable android.os.Handler);
    method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void removeWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.WifiUsabilityStatsListener);
    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void save(android.net.wifi.WifiConfiguration, android.net.wifi.WifiManager.ActionListener);
    method @RequiresPermission("android.permission.WIFI_SET_DEVICE_MOBILITY_STATE") public void setDeviceMobilityState(int);
    method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
@@ -4682,6 +4684,10 @@ package android.net.wifi {
    method public void select(@NonNull android.net.wifi.WifiConfiguration);
  }
  public static interface WifiManager.WifiUsabilityStatsListener {
    method public void onStatsUpdated(int, boolean, android.net.wifi.WifiUsabilityStatsEntry);
  }
  public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
    ctor public WifiNetworkConnectionStatistics(int, int);
    ctor public WifiNetworkConnectionStatistics();
@@ -4811,6 +4817,31 @@ package android.net.wifi {
    field @Deprecated public int unchangedSampleSize;
  }
  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
    field public final int linkSpeedMbps;
    field public final int rssi;
    field public final long timeStampMs;
    field public final long totalBackgroundScanTimeMs;
    field public final long totalBeaconRx;
    field public final long totalCcaBusyFreqTimeMs;
    field public final long totalHotspot2ScanTimeMs;
    field public final long totalNanScanTimeMs;
    field public final long totalPnoScanTimeMs;
    field public final long totalRadioOnFreqTimeMs;
    field public final long totalRadioOnTimeMs;
    field public final long totalRadioRxTimeMs;
    field public final long totalRadioTxTimeMs;
    field public final long totalRoamScanTimeMs;
    field public final long totalRxSuccess;
    field public final long totalScanTimeMs;
    field public final long totalTxBad;
    field public final long totalTxRetries;
    field public final long totalTxSuccess;
  }
}
package android.net.wifi.aware {
+5 −0
Original line number Diff line number Diff line
@@ -1654,6 +1654,11 @@
    <permission android:name="android.permission.WIFI_SET_DEVICE_MOBILITY_STATE"
        android:protectionLevel="signature|privileged" />

    <!-- #SystemApi @hide Allows privileged system APK to update Wifi usability stats and score.
         <p>Not for use by third-party applications. -->
    <permission android:name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"
        android:protectionLevel="signature|privileged" />

    <!-- ======================================= -->
    <!-- Permissions for short range, peripheral networks -->
    <!-- ======================================= -->
+11 −0
Original line number Diff line number Diff line
@@ -1800,6 +1800,17 @@ message WifiUsabilityStatsEntry {

  // Sequence number from external system app to framework
  optional int32 seq_num_to_framework = 19;

  // The total time CCA is on busy status on the current frequency in ms
  // counted from the last radio chip reset
  optional int64 total_cca_busy_freq_time_ms = 20;

  // The total radio on time of the current frequency from the last radio
  // chip reset
  optional int64 total_radio_on_freq_time_ms = 21;

  // The total number of beacons received from the last radio chip reset
  optional int64 total_beacon_rx = 22;
}

message WifiUsabilityStats {
+5 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import android.net.wifi.IDppCallback;
import android.net.wifi.INetworkRequestMatchCallback;
import android.net.wifi.ISoftApCallback;
import android.net.wifi.ITrafficStateCallback;
import android.net.wifi.IWifiUsabilityStatsListener;
import android.net.wifi.PasspointManagementObjectDefinition;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiActivityEnergyInfo;
@@ -186,6 +187,10 @@ interface IWifiManager

    void unregisterSoftApCallback(int callbackIdentifier);

    void addWifiUsabilityStatsListener(in IBinder binder, in IWifiUsabilityStatsListener listener, int listenerIdentifier);

    void removeWifiUsabilityStatsListener(int listenerIdentifier);

    void registerTrafficStateCallback(in IBinder binder, in ITrafficStateCallback callback, int callbackIdentifier);

    void unregisterTrafficStateCallback(int callbackIdentifier);
@@ -210,4 +215,3 @@ interface IWifiManager

    void stopDppSession();
}
Loading