Merge changes from topic "home-controls-type" into tm-qpr-dev
* changes: Add home controls complication type. Add home controls complication type in settingslib.
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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 =
|
||||||
|
|||||||
Reference in New Issue
Block a user