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

Commit 951749ba authored by Wink Saville's avatar Wink Saville
Browse files

Use the new HSM capability that allows transitionTo in enter methods.

Change-Id: If87a30257111d4a2b0506428c75eae81a7ccf77b
parent b18af656
Loading
Loading
Loading
Loading
+9 −26
Original line number Diff line number Diff line
@@ -620,10 +620,8 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
        static final int CMD_STOP_TETHERING_ERROR        = 10;
        // notification from the master SM that it had trouble setting the DNS forwarders
        static final int CMD_SET_DNS_FORWARDERS_ERROR    = 11;
        // a mechanism to transition self to another state from an enter function
        static final int CMD_TRANSITION_TO_STATE         = 12;
        // the upstream connection has changed
        static final int CMD_TETHER_CONNECTION_CHANGED   = 13;
        static final int CMD_TETHER_CONNECTION_CHANGED   = 12;

        private HierarchicalState mDefaultState;

@@ -753,13 +751,14 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
                                TetherInterfaceSM.this);
                        setLastError(ConnectivityManager.TETHER_ERROR_IFACE_CFG_ERROR);

                        sendMessageAtFrontOfQueue(CMD_TRANSITION_TO_STATE, mInitialState);
                        transitionTo(mInitialState);
                        return;
                    }
                }
                sendTetherStateChangedBroadcast();

                sendMessageAtFrontOfQueue(CMD_TRANSITION_TO_STATE, mTetheredState);
                // Skipping StartingState
                transitionTo(mTetheredState);
            }
            @Override
            public boolean processMessage(Message message) {
@@ -793,10 +792,6 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
                                TetherInterfaceSM.this);
                        transitionTo(mUnavailableState);
                        break;
                   case CMD_TRANSITION_TO_STATE:
                       HierarchicalState s = (HierarchicalState)(message.obj);
                       transitionTo(s);
                       break;
                    default:
                        retValue = false;
                }
@@ -815,7 +810,7 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
                } catch (Exception e) {
                    setLastError(ConnectivityManager.TETHER_ERROR_TETHER_IFACE_ERROR);

                    sendMessageAtFrontOfQueue(CMD_TRANSITION_TO_STATE, mInitialState);
                    transitionTo(mInitialState);
                    return;
                }
                if (mUsb) Tethering.this.enableUsbRndis(true);
@@ -952,10 +947,6 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
                        }
                        transitionTo(mInitialState);
                        break;
                    case CMD_TRANSITION_TO_STATE:
                        HierarchicalState s = (HierarchicalState)(message.obj);
                        transitionTo(s);
                        break;
                    default:
                        retValue = false;
                        break;
@@ -1003,10 +994,8 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
        static final int CMD_UPSTREAM_CHANGED        = 3;
        // we received notice that the cellular DUN connection is up
        static final int CMD_CELL_CONNECTION_RENEW   = 4;
        // need to do delayed transition from enter/exit
        static final int CMD_TRANSITION_TO_STATE     = 5;
        // we don't have a valid upstream conn, check again after a delay
        static final int CMD_RETRY_UPSTREAM          = 6;
        static final int CMD_RETRY_UPSTREAM          = 5;

        // This indicates what a timeout event relates to.  A state that
        // sends itself a delayed timeout event and handles incoming timeout events
@@ -1110,21 +1099,19 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
                try {
                    service.setIpForwardingEnabled(true);
                } catch (Exception e) {
                    sendMessageAtFrontOfQueue(CMD_TRANSITION_TO_STATE,
                            mSetIpForwardingEnabledErrorState);
                    transitionTo(mSetIpForwardingEnabledErrorState);
                    return false;
                }
                try {
                    service.startTethering(mDhcpRange[0], mDhcpRange[1]);
                } catch (Exception e) {
                    sendMessageAtFrontOfQueue(CMD_TRANSITION_TO_STATE, mStartTetheringErrorState);
                    transitionTo(mStartTetheringErrorState);
                    return false;
                }
                try {
                    service.setDnsForwarders(mDnsServers);
                } catch (Exception e) {
                    sendMessageAtFrontOfQueue(CMD_TRANSITION_TO_STATE,
                            mSetDnsForwardersErrorState);
                    transitionTo(mSetDnsForwardersErrorState);
                    return false;
                }
                return true;
@@ -1335,10 +1322,6 @@ public class Tethering extends INetworkManagementEventObserver.Stub {
                       chooseUpstreamType(mTryCell);
                       mTryCell = !mTryCell;
                       break;
                   case CMD_TRANSITION_TO_STATE:
                       HierarchicalState s = (HierarchicalState)(message.obj);
                       transitionTo(s);
                       break;
                   default:
                       retValue = false;
                       break;