Merge changes from topic "home-controls-type" into tm-qpr-dev am: 111c26fe78

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19472271

Change-Id: I52d1d15c722e04489ef995922345f1206055748b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Darrell Shi
2022-08-02 22:15:06 +00:00
committed by Automerger Merge Worker
7 changed files with 33 additions and 3 deletions

View File

@@ -1608,6 +1608,8 @@
<string name="dream_complication_title_aqi">Air Quality</string> <string name="dream_complication_title_aqi">Air Quality</string>
<!-- Screensaver overlay which displays cast info. [CHAR LIMIT=20] --> <!-- Screensaver overlay which displays cast info. [CHAR LIMIT=20] -->
<string name="dream_complication_title_cast_info">Cast Info</string> <string name="dream_complication_title_cast_info">Cast Info</string>
<!-- Screensaver overlay which displays home controls. [CHAR LIMIT=20] -->
<string name="dream_complication_title_home_controls">Home Controls</string>
<!-- Title for a screen allowing the user to choose a profile picture. [CHAR LIMIT=NONE] --> <!-- Title for a screen allowing the user to choose a profile picture. [CHAR LIMIT=NONE] -->
<string name="avatar_picker_title">Choose a profile picture</string> <string name="avatar_picker_title">Choose a profile picture</string>

View File

@@ -91,7 +91,8 @@ public class DreamBackend {
COMPLICATION_TYPE_DATE, COMPLICATION_TYPE_DATE,
COMPLICATION_TYPE_WEATHER, COMPLICATION_TYPE_WEATHER,
COMPLICATION_TYPE_AIR_QUALITY, COMPLICATION_TYPE_AIR_QUALITY,
COMPLICATION_TYPE_CAST_INFO COMPLICATION_TYPE_CAST_INFO,
COMPLICATION_TYPE_HOME_CONTROLS
}) })
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
public @interface ComplicationType {} public @interface ComplicationType {}
@@ -101,6 +102,7 @@ public class DreamBackend {
public static final int COMPLICATION_TYPE_WEATHER = 3; public static final int COMPLICATION_TYPE_WEATHER = 3;
public static final int COMPLICATION_TYPE_AIR_QUALITY = 4; public static final int COMPLICATION_TYPE_AIR_QUALITY = 4;
public static final int COMPLICATION_TYPE_CAST_INFO = 5; public static final int COMPLICATION_TYPE_CAST_INFO = 5;
public static final int COMPLICATION_TYPE_HOME_CONTROLS = 6;
private final Context mContext; private final Context mContext;
private final IDreamManager mDreamManager; private final IDreamManager mDreamManager;
@@ -346,6 +348,9 @@ public class DreamBackend {
case COMPLICATION_TYPE_CAST_INFO: case COMPLICATION_TYPE_CAST_INFO:
res = R.string.dream_complication_title_cast_info; res = R.string.dream_complication_title_cast_info;
break; break;
case COMPLICATION_TYPE_HOME_CONTROLS:
res = R.string.dream_complication_title_home_controls;
break;
default: default:
return null; return null;
} }

View File

@@ -162,7 +162,8 @@ public interface Complication {
COMPLICATION_TYPE_DATE, COMPLICATION_TYPE_DATE,
COMPLICATION_TYPE_WEATHER, COMPLICATION_TYPE_WEATHER,
COMPLICATION_TYPE_AIR_QUALITY, COMPLICATION_TYPE_AIR_QUALITY,
COMPLICATION_TYPE_CAST_INFO COMPLICATION_TYPE_CAST_INFO,
COMPLICATION_TYPE_HOME_CONTROLS
}) })
@Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.SOURCE)
@interface ComplicationType {} @interface ComplicationType {}
@@ -173,6 +174,7 @@ public interface Complication {
int COMPLICATION_TYPE_WEATHER = 1 << 2; int COMPLICATION_TYPE_WEATHER = 1 << 2;
int COMPLICATION_TYPE_AIR_QUALITY = 1 << 3; int COMPLICATION_TYPE_AIR_QUALITY = 1 << 3;
int COMPLICATION_TYPE_CAST_INFO = 1 << 4; int COMPLICATION_TYPE_CAST_INFO = 1 << 4;
int COMPLICATION_TYPE_HOME_CONTROLS = 1 << 5;
/** /**
* The {@link Host} interface specifies a way a {@link Complication} to communicate with its * The {@link Host} interface specifies a way a {@link Complication} to communicate with its

View File

@@ -19,6 +19,7 @@ package com.android.systemui.dreams.complication;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_AIR_QUALITY; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_AIR_QUALITY;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_CAST_INFO; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_CAST_INFO;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_DATE; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_DATE;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_HOME_CONTROLS;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_NONE; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_NONE;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_TIME; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_TIME;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_WEATHER; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_WEATHER;
@@ -48,6 +49,8 @@ public class ComplicationUtils {
return COMPLICATION_TYPE_AIR_QUALITY; return COMPLICATION_TYPE_AIR_QUALITY;
case DreamBackend.COMPLICATION_TYPE_CAST_INFO: case DreamBackend.COMPLICATION_TYPE_CAST_INFO:
return COMPLICATION_TYPE_CAST_INFO; return COMPLICATION_TYPE_CAST_INFO;
case DreamBackend.COMPLICATION_TYPE_HOME_CONTROLS:
return COMPLICATION_TYPE_HOME_CONTROLS;
default: default:
return COMPLICATION_TYPE_NONE; return COMPLICATION_TYPE_NONE;
} }

View File

@@ -62,7 +62,7 @@ public class DreamHomeControlsComplication implements Complication {
@Override @Override
public int getRequiredTypeAvailability() { public int getRequiredTypeAvailability() {
return COMPLICATION_TYPE_NONE; return COMPLICATION_TYPE_HOME_CONTROLS;
} }
/** /**

View File

@@ -19,6 +19,7 @@ package com.android.systemui.dreams.complication;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_AIR_QUALITY; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_AIR_QUALITY;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_CAST_INFO; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_CAST_INFO;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_DATE; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_DATE;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_HOME_CONTROLS;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_TIME; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_TIME;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_WEATHER; import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_WEATHER;
import static com.android.systemui.dreams.complication.ComplicationUtils.convertComplicationType; import static com.android.systemui.dreams.complication.ComplicationUtils.convertComplicationType;
@@ -57,6 +58,8 @@ public class ComplicationUtilsTest extends SysuiTestCase {
.isEqualTo(COMPLICATION_TYPE_AIR_QUALITY); .isEqualTo(COMPLICATION_TYPE_AIR_QUALITY);
assertThat(convertComplicationType(DreamBackend.COMPLICATION_TYPE_CAST_INFO)) assertThat(convertComplicationType(DreamBackend.COMPLICATION_TYPE_CAST_INFO))
.isEqualTo(COMPLICATION_TYPE_CAST_INFO); .isEqualTo(COMPLICATION_TYPE_CAST_INFO);
assertThat(convertComplicationType(DreamBackend.COMPLICATION_TYPE_HOME_CONTROLS))
.isEqualTo(COMPLICATION_TYPE_HOME_CONTROLS);
} }
@Test @Test

View File

@@ -17,6 +17,9 @@
package com.android.systemui.dreams.complication; package com.android.systemui.dreams.complication;
import static com.android.systemui.controls.dagger.ControlsComponent.Visibility.AVAILABLE; import static com.android.systemui.controls.dagger.ControlsComponent.Visibility.AVAILABLE;
import static com.android.systemui.dreams.complication.Complication.COMPLICATION_TYPE_HOME_CONTROLS;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
@@ -36,6 +39,7 @@ import com.android.systemui.controls.controller.StructureInfo;
import com.android.systemui.controls.dagger.ControlsComponent; import com.android.systemui.controls.dagger.ControlsComponent;
import com.android.systemui.controls.management.ControlsListingController; import com.android.systemui.controls.management.ControlsListingController;
import com.android.systemui.dreams.DreamOverlayStateController; import com.android.systemui.dreams.DreamOverlayStateController;
import com.android.systemui.dreams.complication.dagger.DreamHomeControlsComplicationComponent;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -69,6 +73,9 @@ public class DreamHomeControlsComplicationTest extends SysuiTestCase {
@Mock @Mock
private ControlsListingController mControlsListingController; private ControlsListingController mControlsListingController;
@Mock
private DreamHomeControlsComplicationComponent.Factory mComponentFactory;
@Captor @Captor
private ArgumentCaptor<ControlsListingController.ControlsListingCallback> mCallbackCaptor; private ArgumentCaptor<ControlsListingController.ControlsListingCallback> mCallbackCaptor;
@@ -84,6 +91,14 @@ public class DreamHomeControlsComplicationTest extends SysuiTestCase {
when(mControlsComponent.getVisibility()).thenReturn(AVAILABLE); when(mControlsComponent.getVisibility()).thenReturn(AVAILABLE);
} }
@Test
public void complicationType() {
final DreamHomeControlsComplication complication =
new DreamHomeControlsComplication(mComponentFactory);
assertThat(complication.getRequiredTypeAvailability()).isEqualTo(
COMPLICATION_TYPE_HOME_CONTROLS);
}
@Test @Test
public void complicationAvailability_serviceNotAvailable_noFavorites_doNotAddComplication() { public void complicationAvailability_serviceNotAvailable_noFavorites_doNotAddComplication() {
final DreamHomeControlsComplication.Registrant registrant = final DreamHomeControlsComplication.Registrant registrant =