Configurable SoftAP: Add System API.

This adds a facility for system apps (with NETWORK_SETUP_WIZARD
or NETWORK_SETTINGS permission) to have more control over hotspot
parameters, while allowing them to use local-only mode and the LOHS
callback API for status updates.

Linters give conflicting advice about parameter ordering. With
startLocalOnlyHotspot(config, executor, callback), we satisfy
    (+) put callback last (enforced at compile time)
    (+) use Executor instead of Handler
    (+) put most meaningful argument first
while we're not satisfying
    (-) put executor last as it is a SAM (doesn't seem to make much
    sense to instantiate executor as SAM anyway, users are more likely
    to get an instance from elsewhere)
    (-) for overloads, add new arguments at the end.

Bug: 132705022
Test: atest SoftApConfigurationTest android.net.wifi.WifiManagerTest
Test: atest android.net.wifi.cts.WifiManagerTest (not tested due to
failures on emulator b/143120756)
Change-Id: Ia189b3664b47a253e160acb71eafab4f217649eb
diff --git a/api/system-lint-baseline.txt b/api/system-lint-baseline.txt
index 57a853a..a907fa6 100644
--- a/api/system-lint-baseline.txt
+++ b/api/system-lint-baseline.txt
@@ -257,6 +257,8 @@
     
 SamShouldBeLast: android.net.ConnectivityManager#createSocketKeepalive(android.net.Network, android.net.IpSecManager.UdpEncapsulationSocket, java.net.InetAddress, java.net.InetAddress, java.util.concurrent.Executor, android.net.SocketKeepalive.Callback):
     
+SamShouldBeLast: android.net.wifi.WifiManager#startLocalOnlyHotspot(android.net.wifi.SoftApConfiguration, java.util.concurrent.Executor, android.net.wifi.WifiManager.LocalOnlyHotspotCallback):
+    
 SamShouldBeLast: android.net.wifi.rtt.WifiRttManager#startRanging(android.net.wifi.rtt.RangingRequest, java.util.concurrent.Executor, android.net.wifi.rtt.RangingResultCallback):
     
 SamShouldBeLast: android.nfc.NfcAdapter#enableReaderMode(android.app.Activity, android.nfc.NfcAdapter.ReaderCallback, int, android.os.Bundle):