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

Commit b1ee3954 authored by Erik Kline's avatar Erik Kline
Browse files

Add IpManager#shutdown() to terminate the state machine.

Additionally, remove IpManager.Callback#usingIpReachabilityMonitor()
now that this is now longer used.

Bug: 26991160
Change-Id: I9a17497c82238a9fb37a20d01aeca7bc4913ae2c
parent e629c067
Loading
Loading
Loading
Loading
+21 −26
Original line number Diff line number Diff line
@@ -65,34 +65,15 @@ public class IpManager extends StateMachine {
    private static final boolean VDBG = false;

    /**
     * Callbacks for both configuration of IpManager and for handling
     * events as desired.
     * Callbacks for handling IpManager events.
     */
    public static class Callback {
        /**
         * Configuration callbacks.
         *
         * Override methods as desired in order to control which features
         * IpManager will use at run time.
         */

        // An IpReachabilityMonitor will always be started, if only for logging.
        // This method is checked before probing neighbors and before calling
        // onProvisioningLost() (see below).
        public boolean usingIpReachabilityMonitor() {
            return false;
        }

        /**
         * Event callbacks.
         *
         * Override methods as desired in order to handle event callbacks
         * as IpManager invokes them.
         */

        // Implementations must call IpManager#completedPreDhcpAction().
        // TODO: Remove this requirement, perhaps via some
        // registerForPreDhcpAction()-style mechanism.
        // In order to receive onPreDhcpAction(), call #withPreDhcpAction()
        // when constructing a ProvisioningConfiguration.
        //
        // Implementations of onPreDhcpAction() must call
        // IpManager#completedPreDhcpAction() to indicate that DHCP is clear
        // to proceed.
        public void onPreDhcpAction() {}
        public void onPostDhcpAction() {}

@@ -113,6 +94,9 @@ public class IpManager extends StateMachine {
        // Called when the internal IpReachabilityMonitor (if enabled) has
        // detected the loss of a critical number of required neighbors.
        public void onReachabilityLost(String logMsg) {}

        // Called when the IpManager state machine terminates.
        public void onQuit() {}
    }

    /**
@@ -269,6 +253,17 @@ public class IpManager extends StateMachine {
        mNetlinkTracker = null;
    }

    @Override
    protected void onQuitting() {
        mCallback.onQuit();
    }

    // Shut down this IpManager instance altogether.
    public void shutdown() {
        stop();
        quit();
    }

    public static ProvisioningConfiguration.Builder buildProvisioningConfiguration() {
        return new ProvisioningConfiguration.Builder();
    }