Fix BackgroundManagerTest
onStart() might be called multiple times, should attach before
onStart or check if isAttached().
Bug: none
Test: inheritColorByNewActivity
Change-Id: Id42d2b53ffefcff6cca6067aca7330de3b97a6e3
diff --git a/v17/leanback/tests/java/android/support/v17/leanback/app/BackgroundManagerTest.java b/v17/leanback/tests/java/android/support/v17/leanback/app/BackgroundManagerTest.java
index 7e7873a..3ccfbf7 100644
--- a/v17/leanback/tests/java/android/support/v17/leanback/app/BackgroundManagerTest.java
+++ b/v17/leanback/tests/java/android/support/v17/leanback/app/BackgroundManagerTest.java
@@ -379,7 +379,10 @@
@Override
public void onStart(TestActivity activity) {
BackgroundManager m = BackgroundManager.getInstance(activity);
- m.attach(activity.getWindow());
+ if (!m.isAttached()) {
+ // onStart will be called mutliple times, attach() can only be called once.
+ m.attach(activity.getWindow());
+ }
m.setColor(Color.BLUE);
}
};
@@ -397,7 +400,8 @@
public void assignColorImmediately() throws Throwable {
TestActivity.Provider provider1 = new TestActivity.Provider() {
@Override
- public void onStart(TestActivity activity) {
+ public void onCreate(TestActivity activity, Bundle savedInstanceState) {
+ super.onCreate(activity, savedInstanceState);
BackgroundManager m = BackgroundManager.getInstance(activity);
// if we set color before attach, it will be assigned immediately
m.setColor(Color.BLUE);
@@ -418,7 +422,8 @@
final Bitmap bitmap = createBitmap(200, 100, Color.BLUE);
TestActivity.Provider provider1 = new TestActivity.Provider() {
@Override
- public void onStart(TestActivity activity) {
+ public void onCreate(TestActivity activity, Bundle savedInstanceState) {
+ super.onCreate(activity, savedInstanceState);
BackgroundManager m = BackgroundManager.getInstance(activity);
// if we set bitmap before attach, it will be assigned immediately
m.setBitmap(bitmap);
@@ -440,7 +445,8 @@
final Bitmap bitmap = createBitmap(200, 100, Color.BLUE);
TestActivity.Provider provider1 = new TestActivity.Provider() {
@Override
- public void onStart(TestActivity activity) {
+ public void onCreate(TestActivity activity, Bundle savedInstanceState) {
+ super.onCreate(activity, savedInstanceState);
BackgroundManager m = BackgroundManager.getInstance(activity);
// if we set bitmap before attach, it will be assigned immediately
m.setBitmap(bitmap);
@@ -450,11 +456,11 @@
};
mRule = new TestActivity.TestActivityTestRule(provider1, generateProviderName("activity1"));
final TestActivity activity1 = mRule.launchActivity();
- activity1.finish();
TestActivity.Provider provider2 = new TestActivity.Provider() {
@Override
- public void onStart(TestActivity activity) {
+ public void onCreate(TestActivity activity, Bundle savedInstanceState) {
+ super.onCreate(activity, savedInstanceState);
BackgroundManager m = BackgroundManager.getInstance(activity);
m.attach(activity.getWindow());
assertIsBitmapDrawable(m, bitmap);
@@ -474,7 +480,8 @@
final int color = Color.BLUE;
TestActivity.Provider provider1 = new TestActivity.Provider() {
@Override
- public void onStart(TestActivity activity) {
+ public void onCreate(TestActivity activity, Bundle savedInstanceState) {
+ super.onCreate(activity, savedInstanceState);
BackgroundManager m = BackgroundManager.getInstance(activity);
// if we set color before attach, it will be assigned immediately
m.setColor(color);
@@ -484,11 +491,11 @@
};
mRule = new TestActivity.TestActivityTestRule(provider1, generateProviderName("activity1"));
final TestActivity activity1 = mRule.launchActivity();
- activity1.finish();
TestActivity.Provider provider2 = new TestActivity.Provider() {
@Override
- public void onStart(TestActivity activity) {
+ public void onCreate(TestActivity activity, Bundle savedInstanceState) {
+ super.onCreate(activity, savedInstanceState);
BackgroundManager m = BackgroundManager.getInstance(activity);
m.attach(activity.getWindow());
assertIsColorDrawable(m, color);
@@ -525,7 +532,8 @@
TestActivity.Provider provider2 = new TestActivity.Provider() {
@Override
- public void onStart(TestActivity activity) {
+ public void onCreate(TestActivity activity, Bundle savedInstanceState) {
+ super.onCreate(activity, savedInstanceState);
BackgroundManager m = BackgroundManager.getInstance(activity);
m.attach(activity.getWindow());
assertIsBitmapDrawable(m, bitmap);
@@ -577,7 +585,8 @@
TestActivity.Provider provider2 = new TestActivity.Provider() {
@Override
- public void onStart(TestActivity activity) {
+ public void onCreate(TestActivity activity, Bundle savedInstanceState) {
+ super.onCreate(activity, savedInstanceState);
BackgroundManager m = BackgroundManager.getInstance(activity);
m.attach(activity.getWindow());
assertIsBitmapDrawable(m, bitmap);
@@ -625,7 +634,8 @@
TestActivity.Provider provider2 = new TestActivity.Provider() {
@Override
- public void onStart(TestActivity activity) {
+ public void onCreate(TestActivity activity, Bundle savedInstanceState) {
+ super.onCreate(activity, savedInstanceState);
BackgroundManager m = BackgroundManager.getInstance(activity);
m.attach(activity.getWindow());
assertIsBitmapDrawable(m, bitmap);