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

Commit 68e948f3 authored by Mingguang Xu's avatar Mingguang Xu
Browse files

Wifi usability: Add @SystemApi to receive Wifi usability score



Add system API to allow framework to receive Wifi usability score from system APK.
Also add a new permission to protect this API from being used by unauthorized applications. This permission is the same as the one added for sending Wifi usability stats.

Bug: 113262380.

Test: frameworks/base/wifi/tests/runtests.sh

Signed-off-by: default avatarMingguang Xu <mingguangxu@google.com>

Change-Id: Ib695dbb4c6c1f4518a464877f1d0f60dde4904eb
parent 7915523b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4637,6 +4637,7 @@ package android.net.wifi {
    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startSubscriptionProvisioning(android.net.wifi.hotspot2.OsuProvider, android.net.wifi.hotspot2.ProvisioningCallback, @Nullable android.os.Handler);
    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
    method @RequiresPermission("android.permission.NETWORK_SETTINGS") public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
    method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void updateWifiUsabilityScore(int, int, int);
    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
+2 −0
Original line number Diff line number Diff line
@@ -214,4 +214,6 @@ interface IWifiManager
        in IDppCallback callback);

    void stopDppSession();

    void updateWifiUsabilityScore(int seqNum, int score, int predictionHorizonSec);
}
+23 −1
Original line number Diff line number Diff line
@@ -4865,4 +4865,26 @@ public class WifiManager {
            throw e.rethrowFromSystemServer();
        }
    }

    /**
     * Provide a Wi-Fi usability score information to be recorded (but not acted upon) by the
     * framework. The Wi-Fi usability score is derived from {@link WifiUsabilityStatsListener}
     * where a score is matched to Wi-Fi usability statistics using the sequence number. The score
     * is used to quantify whether Wi-Fi is usable in a future time.
     *
     * @param seqNum Sequence number of the Wi-Fi usability score.
     * @param score The Wi-Fi usability score.
     * @param predictionHorizonSec Prediction horizon of the Wi-Fi usability score.
     *
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE)
    public void updateWifiUsabilityScore(int seqNum, int score, int predictionHorizonSec) {
        try {
            mService.updateWifiUsabilityScore(seqNum, score, predictionHorizonSec);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
    }
}
 No newline at end of file
+5 −0
Original line number Diff line number Diff line
@@ -476,4 +476,9 @@ public class BaseWifiService extends IWifiManager.Stub {
    public void removeWifiUsabilityStatsListener(int listenerIdentifier) {
        throw new UnsupportedOperationException();
    }

    @Override
    public void updateWifiUsabilityScore(int seqNum, int score, int predictionHorizonSec) {
        throw new UnsupportedOperationException();
    }
}