Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java |
| index c3bece95d76975a4215614bab331ec18decdc769..10e4c8a617cb65355bb3488365ad05823f716aed 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/BluetoothChooserDialog.java |
| @@ -10,7 +10,9 @@ import android.content.BroadcastReceiver; |
| import android.content.Context; |
| import android.content.Intent; |
| import android.content.IntentFilter; |
| +import android.content.res.Resources; |
| import android.location.LocationManager; |
| +import android.support.graphics.drawable.VectorDrawableCompat; |
| import android.text.SpannableString; |
| import android.text.TextUtils; |
| import android.view.View; |
| @@ -63,6 +65,8 @@ public class BluetoothChooserDialog |
| // bluetooth devices. For valid values see SecurityStateModel::SecurityLevel. |
| int mSecurityLevel; |
| + ItemChooserDialog.ItemChooserRowIcon[] mSignalStrengthLevelRowIcons; |
| + |
| // A pointer back to the native part of the implementation for this dialog. |
| long mNativeBluetoothChooserDialogPtr; |
| @@ -106,6 +110,38 @@ public class BluetoothChooserDialog |
| mOrigin = origin; |
| mSecurityLevel = securityLevel; |
| mNativeBluetoothChooserDialogPtr = nativeBluetoothChooserDialogPtr; |
| + Resources resources = mActivity.getResources(); |
| + mSignalStrengthLevelRowIcons = new ItemChooserDialog.ItemChooserRowIcon[] { |
| + new ItemChooserDialog.ItemChooserRowIcon( |
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_0_bar_grey600_24dp, null /* theme */), |
|
Ian Wen
2016/09/26 18:12:48
Maybe remove /* */? This comment style is not comm
ortuno
2016/10/04 07:16:18
If it's OK with you I would rather keep this. Ther
|
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_0_bar_white_24dp, null /* theme */), |
| + resources.getQuantityString(R.plurals.signal_strength_level_n_bars, 0, 0)), |
|
Ian Wen
2016/09/27 04:22:41
Thanks for making our product more accessible by a
ortuno
2016/10/04 07:16:18
As mentioned offline (I think?) the image adds mor
|
| + new ItemChooserDialog.ItemChooserRowIcon( |
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_1_bar_grey600_24dp, null /* theme */), |
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_1_bar_white_24dp, null /* theme */), |
| + resources.getQuantityString(R.plurals.signal_strength_level_n_bars, 1, 1)), |
| + new ItemChooserDialog.ItemChooserRowIcon( |
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_2_bar_grey600_24dp, null /* theme */), |
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_2_bar_white_24dp, null /* theme */), |
| + resources.getQuantityString(R.plurals.signal_strength_level_n_bars, 2, 2)), |
| + new ItemChooserDialog.ItemChooserRowIcon( |
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_3_bar_grey600_24dp, null /* theme */), |
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_3_bar_white_24dp, null /* theme */), |
| + resources.getQuantityString(R.plurals.signal_strength_level_n_bars, 3, 3)), |
| + new ItemChooserDialog.ItemChooserRowIcon( |
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_4_bar_grey600_24dp, null /* theme */), |
| + VectorDrawableCompat.create(resources, |
| + R.drawable.ic_signal_cellular_4_bar_white_24dp, null /* theme */), |
| + resources.getQuantityString(R.plurals.signal_strength_level_n_bars, 4, 4))}; |
| } |
| /** |
| @@ -156,13 +192,17 @@ public class BluetoothChooserDialog |
| ItemChooserDialog.ItemChooserLabels labels = |
| new ItemChooserDialog.ItemChooserLabels(title, searching, noneFound, statusActive, |
| statusIdleNoneFound, statusIdleSomeFound, positiveButton); |
| - mItemChooserDialog = new ItemChooserDialog(mActivity, this, labels); |
| + mItemChooserDialog = new ItemChooserDialog(mActivity, this, labels, true /* usingIcon */); |
| mActivity.registerReceiver(mLocationModeBroadcastReceiver, |
| new IntentFilter(LocationManager.MODE_CHANGED_ACTION)); |
| mIsLocationModeChangedReceiverRegistered = true; |
| } |
| + ItemChooserDialog.ItemChooserRowIcon[] getSignalStrengthLevelRowIcons() { |
| + return mSignalStrengthLevelRowIcons; |
| + } |
| + |
| // Called to report the dialog's results back to native code. |
| private void finishDialog(int resultCode, String id) { |
| if (mIsLocationModeChangedReceiverRegistered) { |
| @@ -337,9 +377,15 @@ public class BluetoothChooserDialog |
| @VisibleForTesting |
| @CalledByNative |
| - void addOrUpdateDevice(String deviceId, String deviceName) { |
| - mItemChooserDialog.addOrUpdateItem( |
| - new ItemChooserDialog.ItemChooserRow(deviceId, deviceName)); |
| + void addOrUpdateDevice(String deviceId, String deviceName, int signalStrengthLevel) { |
| + assert -1 <= signalStrengthLevel |
| + && signalStrengthLevel < mSignalStrengthLevelRowIcons.length; |
| + ItemChooserDialog.ItemChooserRowIcon signalStrengthLevelIcon = null; |
| + if (signalStrengthLevel != -1) { |
| + signalStrengthLevelIcon = mSignalStrengthLevelRowIcons[signalStrengthLevel]; |
| + } |
| + mItemChooserDialog.addOrUpdateItem(new ItemChooserDialog.ItemChooserRow( |
| + deviceId, deviceName, signalStrengthLevelIcon)); |
| } |
| @VisibleForTesting |