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

Commit c76c15e2 authored by Robert Greenwalt's avatar Robert Greenwalt
Browse files

Reorder ThrottleService startup to avoid race.

Don't start people reading settings until after the settings (ntp server settings)
are loaded.

bug:2608189
Change-Id: I7dfaa1e9418b98a141d17dc35d22ff42fcfa052f
parent 8d66d759
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
@@ -312,22 +312,6 @@ public class ThrottleService extends IThrottleManager.Stub {
                }
            }, new IntentFilter(ACTION_RESET));

        // use a new thread as we don't want to stall the system for file writes
        mThread = new HandlerThread(TAG);
        mThread.start();
        mHandler = new MyHandler(mThread.getLooper());
        mHandler.obtainMessage(EVENT_REBOOT_RECOVERY).sendToTarget();

        mInterfaceObserver = new InterfaceObserver(mHandler, EVENT_IFACE_UP, mIface);
        try {
            mNMService.registerObserver(mInterfaceObserver);
        } catch (RemoteException e) {
            Slog.e(TAG, "Could not register InterfaceObserver " + e);
        }

        mSettingsObserver = new SettingsObserver(mHandler, EVENT_POLICY_CHANGED);
        mSettingsObserver.observe(mContext);

        FileInputStream stream = null;
        try {
            Properties properties = new Properties();
@@ -344,6 +328,22 @@ public class ThrottleService extends IThrottleManager.Stub {
                } catch (Exception e) {}
            }
        }

        // use a new thread as we don't want to stall the system for file writes
        mThread = new HandlerThread(TAG);
        mThread.start();
        mHandler = new MyHandler(mThread.getLooper());
        mHandler.obtainMessage(EVENT_REBOOT_RECOVERY).sendToTarget();

        mInterfaceObserver = new InterfaceObserver(mHandler, EVENT_IFACE_UP, mIface);
        try {
            mNMService.registerObserver(mInterfaceObserver);
        } catch (RemoteException e) {
            Slog.e(TAG, "Could not register InterfaceObserver " + e);
        }

        mSettingsObserver = new SettingsObserver(mHandler, EVENT_POLICY_CHANGED);
        mSettingsObserver.observe(mContext);
    }