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

Commit 9324e04d authored by Hung-ying Tyan's avatar Hung-ying Tyan Committed by Android (Google) Code Review
Browse files

Merge "Do not hold wifi lock when SIP is also available over mobile network."

parents f8c34ad3 f89654dd
Loading
Loading
Loading
Loading
+30 −21
Original line number Diff line number Diff line
@@ -83,6 +83,8 @@ public final class SipService extends ISipService.Stub {
    private WifiScanProcess mWifiScanProcess;
    private WifiManager.WifiLock mWifiLock;
    private boolean mWifiOnly;
    private BroadcastReceiver mWifiStateReceiver = null;

    private IntervalMeasurementProcess mIntervalMeasurementProcess;

    private MyExecutor mExecutor = new MyExecutor();
@@ -123,7 +125,8 @@ public final class SipService extends ISipService.Stub {
        mWifiOnly = SipManager.isSipWifiOnly(context);
    }

    private BroadcastReceiver mWifiStateReceiver = new BroadcastReceiver() {
    private BroadcastReceiver createWifiBroadcastReceiver() {
        return new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
@@ -145,18 +148,24 @@ public final class SipService extends ISipService.Stub {
                }
            }
        };
    };

    private void registerReceivers() {
        mContext.registerReceiver(mConnectivityReceiver,
                new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
        if (SipManager.isSipWifiOnly(mContext)) {
            mWifiStateReceiver = createWifiBroadcastReceiver();
            mContext.registerReceiver(mWifiStateReceiver,
                    new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION));
        }
        if (DEBUG) Log.d(TAG, " +++ register receivers");
    }

    private void unregisterReceivers() {
        mContext.unregisterReceiver(mConnectivityReceiver);
        if (SipManager.isSipWifiOnly(mContext)) {
            mContext.unregisterReceiver(mWifiStateReceiver);
        }
        if (DEBUG) Log.d(TAG, " --- unregister receivers");
    }