From be7ef35368513dcc35f563e407a9a55f9afe81bd Mon Sep 17 00:00:00 2001 From: Adam Lesinski Date: Mon, 13 Dec 2010 15:43:03 -0800 Subject: Fixed an issue with fragment display on a phone -A class name change was not reflected in the xml -Rotation of the screen caused a crash Change-Id: I483baf8b93c333e349ff1d4e5c6219abcbfad56c --- res/layout/live_wallpaper_base.xml | 2 +- .../wallpaper/livepicker/LiveWallpaperActivity.java | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/res/layout/live_wallpaper_base.xml b/res/layout/live_wallpaper_base.xml index 41cbdf1..bb4c960 100644 --- a/res/layout/live_wallpaper_base.xml +++ b/res/layout/live_wallpaper_base.xml @@ -17,7 +17,7 @@ - diff --git a/src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java b/src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java index 130dcfa..d8de4e1 100644 --- a/src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java +++ b/src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java @@ -62,7 +62,10 @@ public class LiveWallpaperActivity extends Activity { public static class WallpaperDialog extends DialogFragment implements AdapterView.OnItemClickListener{ + private static final String EMBEDDED_KEY = "com.android.wallpaper.livepicker." + + "LiveWallpaperActivity$WallpaperDialog.EMBEDDED_KEY"; private LiveWallpaperListAdapter mAdapter; + private boolean mEmbedded; public static WallpaperDialog newInstance() { WallpaperDialog dialog = new WallpaperDialog(); @@ -70,6 +73,21 @@ public class LiveWallpaperActivity extends Activity { return dialog; } + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (savedInstanceState != null && savedInstanceState.containsKey(EMBEDDED_KEY)) { + mEmbedded = savedInstanceState.getBoolean(EMBEDDED_KEY); + } else { + mEmbedded = isInLayout(); + } + } + + @Override + public void onSaveInstanceState(Bundle outState) { + outState.putBoolean(EMBEDDED_KEY, mEmbedded); + } + @Override public void onDismiss(DialogInterface dialog) { /* On orientation changes, the dialog is effectively "dismissed" so this is called @@ -102,7 +120,7 @@ public class LiveWallpaperActivity extends Activity { * generate a view to display. Otherwise, a dialog will be created in * onCreateDialog() */ - if (isInLayout()) { + if (mEmbedded) { return generateView(inflater, container); } return null; -- cgit v1.2.3