Sub Class_Globals
Public rp As RuntimePermissions
Private WifiManager As JavaObject
Private Callback As JavaObject
Public HotspotReservation As JavaObject
End Sub
'Initializes the object. You can add parameters to this method if needed.
Public Sub Initialize
Dim ctxt As JavaObject
ctxt.InitializeContext
WifiManager = ctxt.RunMethod("getSystemService", Array("wifi"))
Callback.InitializeNewInstance(Application.PackageName & ".clsHotspotOreo$MyHotspotCallback", Null)
End Sub
Public Sub StartHotspot
WifiManager.RunMethod("startLocalOnlyHotspot", Array(Callback, Null))
Wait For Hotspot_Started (Success As Boolean, Reservation As Object)
If Success Then
HotspotReservation = Reservation
End If
CallSub(Main, "StateChanged")
End Sub
Public Sub StopHotspot
If HotspotReservation.IsInitialized Then
HotspotReservation.RunMethod("close", Null)
Dim HotspotReservation As JavaObject
End If
CallSub(Main, "StateChanged")
End Sub
#if Java
import android.net.wifi.*;
public static class MyHotspotCallback extends WifiManager.LocalOnlyHotspotCallback {
@Override
public void onFailed(int reason) {
BA.Log("failed: " + reason);
clsHotspotOreo.processBA.raiseEventFromUI(this, "hotspot_started", false, null);
}
@Override
public void onStopped() {
BA.Log("OnStopped");
}
@Override
public void onStarted(WifiManager.LocalOnlyHotspotReservation reservation) {
BA.Log("onStarted");
clsHotspotOreo.processBA.raiseEventFromUI(this, "hotspot_started", true, reservation);
}
}
#End If