diff options
author | Romain Guy <romainguy@android.com> | 2009-07-14 13:58:08 -0700 |
---|---|---|
committer | Romain Guy <romainguy@android.com> | 2009-07-14 13:58:08 -0700 |
commit | 7b4ef330d9675733bc950c07e8907d8a00966de8 (patch) | |
tree | 5e2381451cdb84d6f7a34cf77b784b4e20974058 /src/com/android/launcher | |
parent | c5df5b61b8fee2969cf5413c98257959b84af327 (diff) | |
download | android_packages_apps_Trebuchet-7b4ef330d9675733bc950c07e8907d8a00966de8.tar.gz android_packages_apps_Trebuchet-7b4ef330d9675733bc950c07e8907d8a00966de8.tar.bz2 android_packages_apps_Trebuchet-7b4ef330d9675733bc950c07e8907d8a00966de8.zip |
Fix the lock issue on Home. This was caused by onPrepareDialog().
onPrepareDialog() is called after a dialog was created/shown at least once. But
onPrepareDialog() does not mean the dialog will be shown. Thus Home would
sometimes lock itself without showing the dialog the user would normally use to
unlock the workspace.
Diffstat (limited to 'src/com/android/launcher')
-rw-r--r-- | src/com/android/launcher/Launcher.java | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/src/com/android/launcher/Launcher.java b/src/com/android/launcher/Launcher.java index 8863bd935..000ce1485 100644 --- a/src/com/android/launcher/Launcher.java +++ b/src/com/android/launcher/Launcher.java @@ -2014,14 +2014,14 @@ public final class Launcher extends Activity implements View.OnClickListener, On protected void onPrepareDialog(int id, Dialog dialog) { switch (id) { case DIALOG_CREATE_SHORTCUT: - mWorkspace.lock(); break; case DIALOG_RENAME_FOLDER: - mWorkspace.lock(); - EditText input = (EditText) dialog.findViewById(R.id.folder_name); - final CharSequence text = mFolderInfo.title; - input.setText(text); - input.setSelection(0, text.length()); + if (mFolderInfo != null) { + EditText input = (EditText) dialog.findViewById(R.id.folder_name); + final CharSequence text = mFolderInfo.title; + input.setText(text); + input.setSelection(0, text.length()); + } break; } } @@ -2090,7 +2090,15 @@ public final class Launcher extends Activity implements View.OnClickListener, On } ); builder.setView(layout); - return builder.create(); + + final AlertDialog dialog = builder.create(); + dialog.setOnShowListener(new DialogInterface.OnShowListener() { + public void onShow(DialogInterface dialog) { + mWorkspace.lock(); + } + }); + + return dialog; } private void changeFolderName() { @@ -2133,7 +2141,9 @@ public final class Launcher extends Activity implements View.OnClickListener, On * appropriate activity. */ private class CreateShortcut implements DialogInterface.OnClickListener, - DialogInterface.OnCancelListener, DialogInterface.OnDismissListener { + DialogInterface.OnCancelListener, DialogInterface.OnDismissListener, + DialogInterface.OnShowListener { + private AddAdapter mAdapter; Dialog createDialog() { @@ -2150,6 +2160,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On AlertDialog dialog = builder.create(); dialog.setOnCancelListener(this); dialog.setOnDismissListener(this); + dialog.setOnShowListener(this); return dialog; } @@ -2239,6 +2250,10 @@ public final class Launcher extends Activity implements View.OnClickListener, On } } } + + public void onShow(DialogInterface dialog) { + mWorkspace.lock(); + } } /** |