Loading res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -414,6 +414,9 @@ <!-- Toast text for hint user bluetooth is turned on [CHAR LIMIT=none]--> <string name="connected_device_bluetooth_turned_on_toast">Bluetooth turned on</string> <!-- Title to see all the previous connected devices [CHAR LIMIT=50] --> <string name="previous_connected_see_all">See all</string> <!-- Date & time settings screen title --> <string name="date_and_time">Date & time</string> <!-- The title of the activity to pick a time zone. --> Loading res/xml/connected_devices.xml +11 −5 Original line number Diff line number Diff line Loading @@ -41,18 +41,24 @@ settings:useAdminDisabledSummary="true" settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"/> <Preference <PreferenceCategory android:key="previously_connected_devices" android:title="@string/connected_device_previously_connected_title" android:icon="@drawable/ic_devices_other_black" android:fragment="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment" settings:allowDividerAbove="true" settings:controller="com.android.settings.connecteddevice.PreviouslyConnectedDevicePreferenceController"/> settings:controller="com.android.settings.connecteddevice.PreviouslyConnectedDevicePreferenceController"> <Preference android:key="previously_connected_devices_see_all" android:title="@string/previous_connected_see_all" android:icon="@drawable/ic_chevron_right_24dp" android:order="10" android:fragment="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment"/> </PreferenceCategory> <Preference android:key="connection_preferences" android:title="@string/connected_device_connections_title" android:fragment="com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment" settings:allowDividerAbove="true" settings:controller="com.android.settings.connecteddevice.AdvancedConnectedDeviceController"/> </PreferenceScreen> src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java +3 −2 Original line number Diff line number Diff line Loading @@ -269,8 +269,9 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback, final BluetoothDevice device = cachedDevice.getDevice(); if (DBG) { Log.d(TAG, "isDeviceConnected() device name : " + cachedDevice.getName() + ", is connected : " + device.isConnected()); ", is connected : " + device.isConnected() + " , is profile connected : " + cachedDevice.isConnected()); } return device.getBondState() == BluetoothDevice.BOND_BONDED && device.isConnected(); return device.getBondState() == BluetoothDevice.BOND_BONDED && cachedDevice.isConnected(); } } src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java +3 −2 Original line number Diff line number Diff line Loading @@ -43,9 +43,10 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater final BluetoothDevice device = cachedDevice.getDevice(); if (DBG) { Log.d(TAG, "isFilterMatched() device name : " + cachedDevice.getName() + ", is connected : " + device.isConnected()); ", is connected : " + device.isConnected() + ", is profile connected : " + cachedDevice.isConnected()); } return device.getBondState() == BluetoothDevice.BOND_BONDED && !device.isConnected(); return device.getBondState() == BluetoothDevice.BOND_BONDED && !cachedDevice.isConnected(); } @Override Loading src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java +17 −15 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.pm.PackageManager; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import com.android.settings.bluetooth.BluetoothDeviceUpdater; Loading @@ -35,7 +36,9 @@ import com.android.settingslib.core.lifecycle.events.OnStop; public class PreviouslyConnectedDevicePreferenceController extends BasePreferenceController implements LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback { private Preference mPreference; private static final int MAX_DEVICE_NUM = 3; private PreferenceGroup mPreferenceGroup; private BluetoothDeviceUpdater mBluetoothDeviceUpdater; private DockUpdater mSavedDockUpdater; private int mPreferenceSize; Loading @@ -57,8 +60,10 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreferenceGroup = (PreferenceGroup) screen.findPreference(getPreferenceKey()); mPreferenceGroup.setVisible(false); if (isAvailable()) { mPreference = screen.findPreference(getPreferenceKey()); final Context context = screen.getContext(); mBluetoothDeviceUpdater.setPrefContext(context); mSavedDockUpdater.setPreferenceContext(context); Loading @@ -69,7 +74,6 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc public void onStart() { mBluetoothDeviceUpdater.registerCallback(); mSavedDockUpdater.registerCallback(); updatePreferenceOnSizeChanged(); } @Override Loading @@ -86,13 +90,17 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc @Override public void onDeviceAdded(Preference preference) { mPreferenceSize++; updatePreferenceOnSizeChanged(); if (mPreferenceSize <= MAX_DEVICE_NUM) { mPreferenceGroup.addPreference(preference); } updatePreferenceVisiblity(); } @Override public void onDeviceRemoved(Preference preference) { mPreferenceSize--; updatePreferenceOnSizeChanged(); mPreferenceGroup.removePreference(preference); updatePreferenceVisiblity(); } @VisibleForTesting Loading @@ -106,18 +114,12 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc } @VisibleForTesting void setPreferenceSize(int size) { mPreferenceSize = size; void setPreferenceGroup(PreferenceGroup preferenceGroup) { mPreferenceGroup = preferenceGroup; } @VisibleForTesting void setPreference(Preference preference) { mPreference = preference; } private void updatePreferenceOnSizeChanged() { if (isAvailable()) { mPreference.setEnabled(mPreferenceSize != 0); } void updatePreferenceVisiblity() { mPreferenceGroup.setVisible(mPreferenceSize > 0); } } Loading
res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -414,6 +414,9 @@ <!-- Toast text for hint user bluetooth is turned on [CHAR LIMIT=none]--> <string name="connected_device_bluetooth_turned_on_toast">Bluetooth turned on</string> <!-- Title to see all the previous connected devices [CHAR LIMIT=50] --> <string name="previous_connected_see_all">See all</string> <!-- Date & time settings screen title --> <string name="date_and_time">Date & time</string> <!-- The title of the activity to pick a time zone. --> Loading
res/xml/connected_devices.xml +11 −5 Original line number Diff line number Diff line Loading @@ -41,18 +41,24 @@ settings:useAdminDisabledSummary="true" settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"/> <Preference <PreferenceCategory android:key="previously_connected_devices" android:title="@string/connected_device_previously_connected_title" android:icon="@drawable/ic_devices_other_black" android:fragment="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment" settings:allowDividerAbove="true" settings:controller="com.android.settings.connecteddevice.PreviouslyConnectedDevicePreferenceController"/> settings:controller="com.android.settings.connecteddevice.PreviouslyConnectedDevicePreferenceController"> <Preference android:key="previously_connected_devices_see_all" android:title="@string/previous_connected_see_all" android:icon="@drawable/ic_chevron_right_24dp" android:order="10" android:fragment="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment"/> </PreferenceCategory> <Preference android:key="connection_preferences" android:title="@string/connected_device_connections_title" android:fragment="com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment" settings:allowDividerAbove="true" settings:controller="com.android.settings.connecteddevice.AdvancedConnectedDeviceController"/> </PreferenceScreen>
src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java +3 −2 Original line number Diff line number Diff line Loading @@ -269,8 +269,9 @@ public abstract class BluetoothDeviceUpdater implements BluetoothCallback, final BluetoothDevice device = cachedDevice.getDevice(); if (DBG) { Log.d(TAG, "isDeviceConnected() device name : " + cachedDevice.getName() + ", is connected : " + device.isConnected()); ", is connected : " + device.isConnected() + " , is profile connected : " + cachedDevice.isConnected()); } return device.getBondState() == BluetoothDevice.BOND_BONDED && device.isConnected(); return device.getBondState() == BluetoothDevice.BOND_BONDED && cachedDevice.isConnected(); } }
src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java +3 −2 Original line number Diff line number Diff line Loading @@ -43,9 +43,10 @@ public class SavedBluetoothDeviceUpdater extends BluetoothDeviceUpdater final BluetoothDevice device = cachedDevice.getDevice(); if (DBG) { Log.d(TAG, "isFilterMatched() device name : " + cachedDevice.getName() + ", is connected : " + device.isConnected()); ", is connected : " + device.isConnected() + ", is profile connected : " + cachedDevice.isConnected()); } return device.getBondState() == BluetoothDevice.BOND_BONDED && !device.isConnected(); return device.getBondState() == BluetoothDevice.BOND_BONDED && !cachedDevice.isConnected(); } @Override Loading
src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java +17 −15 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.content.pm.PackageManager; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceGroup; import androidx.preference.PreferenceScreen; import com.android.settings.bluetooth.BluetoothDeviceUpdater; Loading @@ -35,7 +36,9 @@ import com.android.settingslib.core.lifecycle.events.OnStop; public class PreviouslyConnectedDevicePreferenceController extends BasePreferenceController implements LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback { private Preference mPreference; private static final int MAX_DEVICE_NUM = 3; private PreferenceGroup mPreferenceGroup; private BluetoothDeviceUpdater mBluetoothDeviceUpdater; private DockUpdater mSavedDockUpdater; private int mPreferenceSize; Loading @@ -57,8 +60,10 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mPreferenceGroup = (PreferenceGroup) screen.findPreference(getPreferenceKey()); mPreferenceGroup.setVisible(false); if (isAvailable()) { mPreference = screen.findPreference(getPreferenceKey()); final Context context = screen.getContext(); mBluetoothDeviceUpdater.setPrefContext(context); mSavedDockUpdater.setPreferenceContext(context); Loading @@ -69,7 +74,6 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc public void onStart() { mBluetoothDeviceUpdater.registerCallback(); mSavedDockUpdater.registerCallback(); updatePreferenceOnSizeChanged(); } @Override Loading @@ -86,13 +90,17 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc @Override public void onDeviceAdded(Preference preference) { mPreferenceSize++; updatePreferenceOnSizeChanged(); if (mPreferenceSize <= MAX_DEVICE_NUM) { mPreferenceGroup.addPreference(preference); } updatePreferenceVisiblity(); } @Override public void onDeviceRemoved(Preference preference) { mPreferenceSize--; updatePreferenceOnSizeChanged(); mPreferenceGroup.removePreference(preference); updatePreferenceVisiblity(); } @VisibleForTesting Loading @@ -106,18 +114,12 @@ public class PreviouslyConnectedDevicePreferenceController extends BasePreferenc } @VisibleForTesting void setPreferenceSize(int size) { mPreferenceSize = size; void setPreferenceGroup(PreferenceGroup preferenceGroup) { mPreferenceGroup = preferenceGroup; } @VisibleForTesting void setPreference(Preference preference) { mPreference = preference; } private void updatePreferenceOnSizeChanged() { if (isAvailable()) { mPreference.setEnabled(mPreferenceSize != 0); } void updatePreferenceVisiblity() { mPreferenceGroup.setVisible(mPreferenceSize > 0); } }