private boolean msgTypeUndockedPermanent(BluetoothDevice device, int startId) { // Grace period passed. Disconnect. handleUndocked(device); if (device != null) { final SharedPreferences prefs = getPrefs(); if (DEBUG) { Log.d( TAG, "DISABLE_BT_WHEN_UNDOCKED = " + prefs.getBoolean(KEY_DISABLE_BT_WHEN_UNDOCKED, false)); } if (prefs.getBoolean(KEY_DISABLE_BT_WHEN_UNDOCKED, false)) { if (hasOtherConnectedDevices(device)) { // Don't disable BT if something is connected prefs.edit().remove(KEY_DISABLE_BT_WHEN_UNDOCKED).apply(); } else { // BT was disabled when we first docked if (DEBUG) { Log.d(TAG, "QUEUED BT DISABLE"); } // Queue a delayed msg to disable BT Message newMsg = mServiceHandler.obtainMessage(MSG_TYPE_DISABLE_BT, 0, startId, null); mServiceHandler.sendMessageDelayed(newMsg, DISABLE_BT_GRACE_PERIOD); return true; } } } return false; }
private void msgTypeUndockedTemporary(BluetoothDevice device, int state, int startId) { // Undocked event received. Queue a delayed msg to sever connection Message newMsg = mServiceHandler.obtainMessage(MSG_TYPE_UNDOCKED_PERMANENT, state, startId, device); mServiceHandler.sendMessageDelayed(newMsg, UNDOCKED_GRACE_PERIOD); }