Merge "Make Nfc/Beam searchable based on feature availability" into pi-dev
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index 82a5b9b..f403e05 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -258,10 +258,9 @@
Log.w(TAG, "Failed to get icon from uri " + uri);
return;
}
- tile.icon = Icon.createWithResource(iconInfo.first, iconInfo.second);
+ final Icon icon = Icon.createWithResource(iconInfo.first, iconInfo.second);
ThreadUtils.postOnMainThread(() -> {
- preference.setIcon(tile.icon.loadDrawable(preference.getContext()));
- tile.icon = null;
+ preference.setIcon(icon.loadDrawable(preference.getContext()));
}
);
});
diff --git a/src/com/android/settings/display/BrightnessLevelPreferenceController.java b/src/com/android/settings/display/BrightnessLevelPreferenceController.java
index bbd6f80..4bb0a99 100644
--- a/src/com/android/settings/display/BrightnessLevelPreferenceController.java
+++ b/src/com/android/settings/display/BrightnessLevelPreferenceController.java
@@ -13,6 +13,9 @@
*/
package com.android.settings.display;
+import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MAX;
+import static com.android.settingslib.display.BrightnessUtils.convertLinearToGamma;
+
import android.content.ContentResolver;
import android.content.Context;
import android.database.ContentObserver;
@@ -63,12 +66,12 @@
}
private ContentObserver mBrightnessObserver =
- new ContentObserver(new Handler(Looper.getMainLooper())) {
- @Override
- public void onChange(boolean selfChange) {
- updatedSummary(mPreference);
- }
- };
+ new ContentObserver(new Handler(Looper.getMainLooper())) {
+ @Override
+ public void onChange(boolean selfChange) {
+ updatedSummary(mPreference);
+ }
+ };
public BrightnessLevelPreferenceController(Context context, Lifecycle lifecycle) {
super(context);
@@ -103,6 +106,7 @@
public void updateState(Preference preference) {
updatedSummary(preference);
}
+
@Override
public void onStart() {
mContentResolver.registerContentObserver(BRIGHTNESS_URI, false, mBrightnessObserver);
@@ -122,15 +126,18 @@
}
private double getCurrentBrightness() {
+ final int value;
if (isInVrMode()) {
- final double value = System.getInt(mContentResolver, System.SCREEN_BRIGHTNESS_FOR_VR,
- mMaxBrightness);
- return getPercentage(value, mMinVrBrightness, mMaxVrBrightness);
+ value = convertLinearToGamma(System.getInt(mContentResolver,
+ System.SCREEN_BRIGHTNESS_FOR_VR, mMaxBrightness),
+ mMinVrBrightness, mMaxVrBrightness);
} else {
- final double value = Settings.System.getInt(mContentResolver, System.SCREEN_BRIGHTNESS,
- mMinBrightness);
- return getPercentage(value, mMinBrightness, mMaxBrightness);
+ value = convertLinearToGamma(Settings.System.getInt(mContentResolver,
+ System.SCREEN_BRIGHTNESS, mMinBrightness),
+ mMinBrightness, mMaxBrightness);
+
}
+ return getPercentage(value, 0, GAMMA_SPACE_MAX);
}
private double getPercentage(double value, int min, int max) {
diff --git a/src/com/android/settings/sound/AudioSwitchPreferenceController.java b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
index 28ad3f5..b2dafcc 100644
--- a/src/com/android/settings/sound/AudioSwitchPreferenceController.java
+++ b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
@@ -134,6 +134,7 @@
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreference = screen.findPreference(mPreferenceKey);
+ mPreference.setVisible(false);
}
@Override
diff --git a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
index 2f21f1b..58ea7b7 100644
--- a/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
+++ b/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceController.java
@@ -47,7 +47,7 @@
if (!isOngoingCallStatus()) {
// Without phone call, disable the switch entry.
- preference.setEnabled(false);
+ mPreference.setVisible(false);
preference.setSummary(mContext.getText(R.string.media_output_default_summary));
return;
}
@@ -67,12 +67,12 @@
final int numDevices = ArrayUtils.size(mConnectedDevices);
if (numDevices == 0) {
// No connected devices, disable switch entry.
- preference.setEnabled(false);
+ mPreference.setVisible(false);
preference.setSummary(mContext.getText(R.string.media_output_default_summary));
return;
}
- preference.setEnabled(true);
+ mPreference.setVisible(true);
CharSequence[] mediaOutputs = new CharSequence[numDevices + 1];
CharSequence[] mediaValues = new CharSequence[numDevices + 1];
diff --git a/src/com/android/settings/sound/MediaOutputPreferenceController.java b/src/com/android/settings/sound/MediaOutputPreferenceController.java
index df07dc5..dce19f1 100644
--- a/src/com/android/settings/sound/MediaOutputPreferenceController.java
+++ b/src/com/android/settings/sound/MediaOutputPreferenceController.java
@@ -52,14 +52,14 @@
if (isStreamFromOutputDevice(STREAM_MUSIC, DEVICE_OUT_REMOTE_SUBMIX)) {
// In cast mode, disable switch entry.
- preference.setEnabled(false);
+ mPreference.setVisible(false);
preference.setSummary(mContext.getText(R.string.media_output_summary_unavailable));
return;
}
if (isOngoingCallStatus()) {
// Ongoing call status, switch entry for media will be disabled.
- preference.setEnabled(false);
+ mPreference.setVisible(false);
preference.setSummary(
mContext.getText(R.string.media_out_summary_ongoing_call_state));
return;
@@ -79,12 +79,12 @@
final int numDevices = ArrayUtils.size(mConnectedDevices);
if (numDevices == 0) {
// Disable switch entry if there is no connected devices.
- preference.setEnabled(false);
+ mPreference.setVisible(false);
preference.setSummary(mContext.getText(R.string.media_output_default_summary));
return;
}
- preference.setEnabled(true);
+ mPreference.setVisible(true);
CharSequence[] mediaOutputs = new CharSequence[numDevices + 1];
CharSequence[] mediaValues = new CharSequence[numDevices + 1];
diff --git a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java
index adc3b66..e29ded0 100644
--- a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java
@@ -122,7 +122,7 @@
mController.updateState(mPreference);
- verify(mPreference).setSummary("85%");
+ verify(mPreference).setSummary("97%");
}
@Test
@@ -135,7 +135,7 @@
mController.updateState(mPreference);
- verify(mPreference).setSummary("31%");
+ verify(mPreference).setSummary("78%");
}
@Test
@@ -148,7 +148,7 @@
mController.updateState(mPreference);
- verify(mPreference).setSummary("45%");
+ verify(mPreference).setSummary("85%");
}
@Test
diff --git a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
index 2168a2a..e0877e4 100644
--- a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
@@ -245,7 +245,7 @@
@Override
public String getPreferenceKey() {
- return null;
+ return TEST_KEY;
}
}
}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
index f3f1c83..0692c9c 100644
--- a/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/HandsFreeProfileOutputPreferenceControllerTest.java
@@ -159,7 +159,7 @@
/**
* One Headset Bluetooth device is available and activated
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be activate device name
*/
@Test
@@ -170,13 +170,13 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(mBluetoothDevice.getName());
}
/**
* More than one Headset Bluetooth devices are available, and second device is active.
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be activate device name
*/
@Test
@@ -196,14 +196,14 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(secondBluetoothDevice.getName());
}
/**
* Hands Free Profile Bluetooth device(s) are available, but wired headset is plugged in
* and activated.
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be "This device"
*/
@Test
@@ -216,14 +216,14 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(
mContext.getText(R.string.media_output_default_summary));
}
/**
* No available Headset BT devices
- * Preference should be disabled
+ * Preference should be invisible
* Preference summary should be "This device"
*/
@Test
@@ -234,7 +234,7 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
+ assertThat(mPreference.isVisible()).isFalse();
assertThat(mPreference.getSummary()).isEqualTo(
mContext.getText(R.string.media_output_default_summary));
}
diff --git a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
index 1c7c1c4..b62e6b3 100644
--- a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
@@ -160,7 +160,7 @@
/**
* On going call state:
- * Preference should be disabled
+ * Preference should be invisible
* Default string should be "Unavailable during calls"
*/
@Test
@@ -169,14 +169,14 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
+ assertThat(mPreference.isVisible()).isFalse();
assertThat(mPreference.getSummary()).isEqualTo(
mContext.getText(R.string.media_out_summary_ongoing_call_state));
}
/**
* No available A2dp BT devices:
- * Preference should be disabled
+ * Preference should be invisible
* Preference summary should be "This device"
*/
@Test
@@ -187,14 +187,14 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
+ assertThat(mPreference.isVisible()).isFalse();
String defaultString = mContext.getString(R.string.media_output_default_summary);
assertThat(mPreference.getSummary()).isEqualTo(defaultString);
}
/**
* Media stream is captured by something else (cast device):
- * Preference should be disabled
+ * Preference should be invisible
* Preference summary should be "unavailable"
*/
@Test
@@ -203,14 +203,14 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isFalse();
+ assertThat(mPreference.isVisible()).isFalse();
String defaultString = mContext.getString(R.string.media_output_summary_unavailable);
assertThat(mPreference.getSummary()).isEqualTo(defaultString);
}
/**
* One A2DP Bluetooth device is available and active.
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be activate device name
*/
@Test
@@ -221,13 +221,13 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(mBluetoothDevice.getName());
}
/**
* More than one A2DP Bluetooth devices are available, and second device is active.
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be activate device name
*/
@Test
@@ -247,13 +247,13 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
assertThat(mPreference.getSummary()).isEqualTo(secondBluetoothDevice.getName());
}
/**
* A2DP Bluetooth device(s) are available, but wired headset is plugged in and activated
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be "This device"
*/
@Test
@@ -266,7 +266,7 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
String defaultString = mContext.getString(R.string.media_output_default_summary);
assertThat(mPreference.getSummary()).isEqualTo(defaultString);
}
@@ -274,7 +274,7 @@
/**
* A2DP Bluetooth device(s) are available, but current device speaker is activated
- * Preference should be enabled
+ * Preference should be visible
* Preference summary should be "This device"
*/
@Test
@@ -285,7 +285,7 @@
mController.updateState(mPreference);
- assertThat(mPreference.isEnabled()).isTrue();
+ assertThat(mPreference.isVisible()).isTrue();
String defaultString = mContext.getString(R.string.media_output_default_summary);
assertThat(mPreference.getSummary()).isEqualTo(defaultString);
}