From 0af1cf6c97140093a0a9138d407052da9aef084f Mon Sep 17 00:00:00 2001 From: Dake Gu Date: Fri, 1 Apr 2016 13:56:47 -0700 Subject: [PATCH] GuidedStepFragment: Fix addAsRoot restoring bug Dont re-add root fragment when savedInstanceState can restore them. Bug 27972030 Change-Id: I427f171164f60b901c328f17a51349045f04eb50 --- .../com/example/android/leanback/GuidedStepActivity.java | 4 +++- .../example/android/leanback/GuidedStepSupportActivity.java | 4 +++- .../app/dialog/DialogExampleActivity.java | 6 ++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java index 7436d38be..4dadfef67 100644 --- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java +++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepActivity.java @@ -68,7 +68,9 @@ public class GuidedStepActivity extends Activity { Log.v(TAG, "onCreate"); super.onCreate(savedInstanceState); setContentView(R.layout.guided_step_activity); - GuidedStepFragment.addAsRoot(this, new FirstStepFragment(), R.id.lb_guidedstep_host); + if (savedInstanceState == null) { + GuidedStepFragment.addAsRoot(this, new FirstStepFragment(), R.id.lb_guidedstep_host); + } } @Override diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepSupportActivity.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepSupportActivity.java index 189db8946..497ee31cd 100644 --- a/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepSupportActivity.java +++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/GuidedStepSupportActivity.java @@ -70,7 +70,9 @@ public class GuidedStepSupportActivity extends FragmentActivity { Log.v(TAG, "onCreate"); super.onCreate(savedInstanceState); setContentView(R.layout.guided_step_activity); - GuidedStepSupportFragment.addAsRoot(this, new FirstStepFragment(), R.id.lb_guidedstep_host); + if (savedInstanceState == null) { + GuidedStepSupportFragment.addAsRoot(this, new FirstStepFragment(), R.id.lb_guidedstep_host); + } } @Override diff --git a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/dialog/DialogExampleActivity.java b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/dialog/DialogExampleActivity.java index 55f75759a..0c717396b 100644 --- a/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/dialog/DialogExampleActivity.java +++ b/samples/SupportLeanbackShowcase/app/src/main/java/android/support/v17/leanback/supportleanbackshowcase/app/dialog/DialogExampleActivity.java @@ -29,7 +29,9 @@ public class DialogExampleActivity extends Activity { super.onCreate(savedInstanceState); getWindow().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#21272A"))); - GuidedStepFragment fragment = new DialogExampleFragment(); - GuidedStepFragment.addAsRoot(this, fragment, android.R.id.content); + if (savedInstanceState == null) { + GuidedStepFragment fragment = new DialogExampleFragment(); + GuidedStepFragment.addAsRoot(this, fragment, android.R.id.content); + } } }