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

Commit 4dda007c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "WifiDisplayController: Retrieve WifiP2pManager lazily"

parents dc6026ee a1922b13
Loading
Loading
Loading
Loading
+17 −5
Original line number Diff line number Diff line
@@ -94,8 +94,8 @@ final class WifiDisplayController implements DumpUtils.Dump {
    private final Handler mHandler;
    private final Listener mListener;

    private final WifiP2pManager mWifiP2pManager;
    private final Channel mWifiP2pChannel;
    private WifiP2pManager mWifiP2pManager;
    private Channel mWifiP2pChannel;

    private boolean mWifiP2pEnabled;
    private boolean mWfdEnabled;
@@ -164,9 +164,6 @@ final class WifiDisplayController implements DumpUtils.Dump {
        mHandler = handler;
        mListener = listener;

        mWifiP2pManager = (WifiP2pManager)context.getSystemService(Context.WIFI_P2P_SERVICE);
        mWifiP2pChannel = mWifiP2pManager.initialize(context, handler.getLooper(), null);

        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION);
        intentFilter.addAction(WifiP2pManager.WIFI_P2P_PEERS_CHANGED_ACTION);
@@ -191,6 +188,18 @@ final class WifiDisplayController implements DumpUtils.Dump {
        updateSettings();
    }

    /**
     * Used to lazily retrieve WifiP2pManager service.
     */
    private void retrieveWifiP2pManagerAndChannel() {
        if (mWifiP2pManager == null) {
            mWifiP2pManager = (WifiP2pManager)mContext.getSystemService(Context.WIFI_P2P_SERVICE);
        }
        if (mWifiP2pChannel == null && mWifiP2pManager != null) {
            mWifiP2pChannel = mWifiP2pManager.initialize(mContext, mHandler.getLooper(), null);
        }
    }

    private void updateSettings() {
        final ContentResolver resolver = mContext.getContentResolver();
        mWifiDisplayOnSetting = Settings.Global.getInt(resolver,
@@ -803,6 +812,9 @@ final class WifiDisplayController implements DumpUtils.Dump {

    private void handleStateChanged(boolean enabled) {
        mWifiP2pEnabled = enabled;
        if (enabled) {
            retrieveWifiP2pManagerAndChannel();
        }
        updateWfdEnableState();
    }