summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRomain Guy <romainguy@android.com>2009-07-14 13:58:08 -0700
committerRomain Guy <romainguy@android.com>2009-07-14 13:58:08 -0700
commit7b4ef330d9675733bc950c07e8907d8a00966de8 (patch)
tree5e2381451cdb84d6f7a34cf77b784b4e20974058
parentc5df5b61b8fee2969cf5413c98257959b84af327 (diff)
downloadLauncher-7b4ef330d9675733bc950c07e8907d8a00966de8.tar.gz
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.
-rw-r--r--src/com/android/launcher/Launcher.java31
1 files changed, 23 insertions, 8 deletions
diff --git a/src/com/android/launcher/Launcher.java b/src/com/android/launcher/Launcher.java
index 8863bd9..000ce14 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();
+ }
}
/**