Loading packages/CarSystemUI/res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ <string name="hvac_min_text">Min</string> <!-- String to represent largest setting of an HVAC system [CHAR LIMIT=10]--> <string name="hvac_max_text">Max</string> <!-- String to display when no HVAC temperature is available --> <string name="hvac_null_temp_text" translatable="false">--</string> <!-- Text for voice recognition toast. [CHAR LIMIT=60] --> <string name="voice_recognition_toast">Voice recognition now handled by connected Bluetooth device</string> <!-- Name of Guest Profile. [CHAR LIMIT=35] --> Loading packages/CarSystemUI/src/com/android/systemui/car/hvac/AdjustableTemperatureView.java +20 −3 Original line number Diff line number Diff line Loading @@ -40,6 +40,9 @@ public class AdjustableTemperatureView extends LinearLayout implements Temperatu private float mMinTempC; private float mMaxTempC; private String mTempFormat; private String mNullTempText; private String mMinTempText; private String mMaxTempText; private boolean mDisplayInFahrenheit = false; private HvacController mHvacController; Loading @@ -59,6 +62,9 @@ public class AdjustableTemperatureView extends LinearLayout implements Temperatu mTempFormat = getResources().getString(R.string.hvac_temperature_format); mMinTempC = getResources().getFloat(R.dimen.hvac_min_value_celsius); mMaxTempC = getResources().getFloat(R.dimen.hvac_max_value_celsius); mNullTempText = getResources().getString(R.string.hvac_null_temp_text); mMinTempText = getResources().getString(R.string.hvac_min_text); mMaxTempText = getResources().getString(R.string.hvac_max_text); initializeButtons(); } Loading @@ -69,12 +75,23 @@ public class AdjustableTemperatureView extends LinearLayout implements Temperatu @Override public void setTemp(float tempC) { if (tempC > mMaxTempC || tempC < mMinTempC) { return; } if (mTempTextView == null) { mTempTextView = findViewById(R.id.hvac_temperature_text); } if (Float.isNaN(tempC)) { mTempTextView.setText(mNullTempText); return; } if (tempC <= mMinTempC) { mTempTextView.setText(mMinTempText); mCurrentTempC = mMinTempC; return; } if (tempC >= mMaxTempC) { mTempTextView.setText(mMaxTempText); mCurrentTempC = mMaxTempC; return; } mTempTextView.setText(String.format(mTempFormat, mDisplayInFahrenheit ? convertToFahrenheit(tempC) : tempC)); mCurrentTempC = tempC; Loading packages/CarSystemUI/tests/src/com/android/systemui/car/hvac/AdjustableTemperatureViewTest.java +42 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,48 @@ public class AdjustableTemperatureViewTest extends SysuiTestCase { assertEquals(tempText.getText(), String.format(mFormat, TEMP_CELSIUS)); } @Test public void setTemp_tempNaN_setsTextToNaNText() { when(mCarPropertyManager.isPropertyAvailable(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn(true); when(mCarPropertyManager.getFloatProperty(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn( Float.NaN); mHvacController.addTemperatureViewToController(mAdjustableTemperatureView); TextView tempText = mAdjustableTemperatureView.findViewById(R.id.hvac_temperature_text); assertEquals(tempText.getText(), getContext().getResources().getString(R.string.hvac_null_temp_text)); } @Test public void setTemp_tempBelowMin_setsTextToMinTempText() { when(mCarPropertyManager.isPropertyAvailable(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn(true); when(mCarPropertyManager.getFloatProperty(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn( getContext().getResources().getFloat(R.dimen.hvac_min_value_celsius)); mHvacController.addTemperatureViewToController(mAdjustableTemperatureView); TextView tempText = mAdjustableTemperatureView.findViewById(R.id.hvac_temperature_text); assertEquals(tempText.getText(), getContext().getResources().getString(R.string.hvac_min_text)); } @Test public void setTemp_tempAboveMax_setsTextToMaxTempText() { when(mCarPropertyManager.isPropertyAvailable(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn(true); when(mCarPropertyManager.getFloatProperty(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn( getContext().getResources().getFloat(R.dimen.hvac_max_value_celsius)); mHvacController.addTemperatureViewToController(mAdjustableTemperatureView); TextView tempText = mAdjustableTemperatureView.findViewById(R.id.hvac_temperature_text); assertEquals(tempText.getText(), getContext().getResources().getString(R.string.hvac_max_text)); } @Test public void setTemperatureToFahrenheit_callsViewSetDisplayInFahrenheit() { when(mCarPropertyManager.isPropertyAvailable(eq(HVAC_TEMPERATURE_SET), Loading Loading
packages/CarSystemUI/res/values/strings.xml +2 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ <string name="hvac_min_text">Min</string> <!-- String to represent largest setting of an HVAC system [CHAR LIMIT=10]--> <string name="hvac_max_text">Max</string> <!-- String to display when no HVAC temperature is available --> <string name="hvac_null_temp_text" translatable="false">--</string> <!-- Text for voice recognition toast. [CHAR LIMIT=60] --> <string name="voice_recognition_toast">Voice recognition now handled by connected Bluetooth device</string> <!-- Name of Guest Profile. [CHAR LIMIT=35] --> Loading
packages/CarSystemUI/src/com/android/systemui/car/hvac/AdjustableTemperatureView.java +20 −3 Original line number Diff line number Diff line Loading @@ -40,6 +40,9 @@ public class AdjustableTemperatureView extends LinearLayout implements Temperatu private float mMinTempC; private float mMaxTempC; private String mTempFormat; private String mNullTempText; private String mMinTempText; private String mMaxTempText; private boolean mDisplayInFahrenheit = false; private HvacController mHvacController; Loading @@ -59,6 +62,9 @@ public class AdjustableTemperatureView extends LinearLayout implements Temperatu mTempFormat = getResources().getString(R.string.hvac_temperature_format); mMinTempC = getResources().getFloat(R.dimen.hvac_min_value_celsius); mMaxTempC = getResources().getFloat(R.dimen.hvac_max_value_celsius); mNullTempText = getResources().getString(R.string.hvac_null_temp_text); mMinTempText = getResources().getString(R.string.hvac_min_text); mMaxTempText = getResources().getString(R.string.hvac_max_text); initializeButtons(); } Loading @@ -69,12 +75,23 @@ public class AdjustableTemperatureView extends LinearLayout implements Temperatu @Override public void setTemp(float tempC) { if (tempC > mMaxTempC || tempC < mMinTempC) { return; } if (mTempTextView == null) { mTempTextView = findViewById(R.id.hvac_temperature_text); } if (Float.isNaN(tempC)) { mTempTextView.setText(mNullTempText); return; } if (tempC <= mMinTempC) { mTempTextView.setText(mMinTempText); mCurrentTempC = mMinTempC; return; } if (tempC >= mMaxTempC) { mTempTextView.setText(mMaxTempText); mCurrentTempC = mMaxTempC; return; } mTempTextView.setText(String.format(mTempFormat, mDisplayInFahrenheit ? convertToFahrenheit(tempC) : tempC)); mCurrentTempC = tempC; Loading
packages/CarSystemUI/tests/src/com/android/systemui/car/hvac/AdjustableTemperatureViewTest.java +42 −0 Original line number Diff line number Diff line Loading @@ -97,6 +97,48 @@ public class AdjustableTemperatureViewTest extends SysuiTestCase { assertEquals(tempText.getText(), String.format(mFormat, TEMP_CELSIUS)); } @Test public void setTemp_tempNaN_setsTextToNaNText() { when(mCarPropertyManager.isPropertyAvailable(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn(true); when(mCarPropertyManager.getFloatProperty(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn( Float.NaN); mHvacController.addTemperatureViewToController(mAdjustableTemperatureView); TextView tempText = mAdjustableTemperatureView.findViewById(R.id.hvac_temperature_text); assertEquals(tempText.getText(), getContext().getResources().getString(R.string.hvac_null_temp_text)); } @Test public void setTemp_tempBelowMin_setsTextToMinTempText() { when(mCarPropertyManager.isPropertyAvailable(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn(true); when(mCarPropertyManager.getFloatProperty(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn( getContext().getResources().getFloat(R.dimen.hvac_min_value_celsius)); mHvacController.addTemperatureViewToController(mAdjustableTemperatureView); TextView tempText = mAdjustableTemperatureView.findViewById(R.id.hvac_temperature_text); assertEquals(tempText.getText(), getContext().getResources().getString(R.string.hvac_min_text)); } @Test public void setTemp_tempAboveMax_setsTextToMaxTempText() { when(mCarPropertyManager.isPropertyAvailable(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn(true); when(mCarPropertyManager.getFloatProperty(eq(HVAC_TEMPERATURE_SET), anyInt())).thenReturn( getContext().getResources().getFloat(R.dimen.hvac_max_value_celsius)); mHvacController.addTemperatureViewToController(mAdjustableTemperatureView); TextView tempText = mAdjustableTemperatureView.findViewById(R.id.hvac_temperature_text); assertEquals(tempText.getText(), getContext().getResources().getString(R.string.hvac_max_text)); } @Test public void setTemperatureToFahrenheit_callsViewSetDisplayInFahrenheit() { when(mCarPropertyManager.isPropertyAvailable(eq(HVAC_TEMPERATURE_SET), Loading