am 4ba0d0b0: am 922c8880: am 18042c82: [Launcher2] Delete app widgets when their configuration is cancelled or there\'s not enough room on Home.

Merge commit '4ba0d0b073eb08b5277b5352aa70f3944aa1d110'

* commit '4ba0d0b073eb08b5277b5352aa70f3944aa1d110':
  [Launcher2] Delete app widgets when their configuration is cancelled or there's not enough room on Home.
This commit is contained in:
Romain Guy
2009-11-06 14:11:51 -08:00
committed by Android Git Automerger
+8 -4
View File
@@ -376,8 +376,9 @@ public final class Launcher extends Activity
// We just wanted the activity result here so we can clear mWaitingForResult
break;
}
} else if (requestCode == REQUEST_PICK_APPWIDGET &&
resultCode == RESULT_CANCELED && data != null) {
} else if ((requestCode == REQUEST_PICK_APPWIDGET ||
requestCode == REQUEST_CREATE_APPWIDGET) && resultCode == RESULT_CANCELED &&
data != null) {
// Clean up the appWidgetId if we canceled
int appWidgetId = data.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
if (appWidgetId != -1) {
@@ -680,7 +681,7 @@ public final class Launcher extends Activity
Bundle extras = data.getExtras();
int appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
d(LOG_TAG, "dumping extras content="+extras.toString());
if (LOGD) d(LOG_TAG, "dumping extras content=" + extras.toString());
AppWidgetProviderInfo appWidgetInfo = mAppWidgetManager.getAppWidgetInfo(appWidgetId);
@@ -690,7 +691,10 @@ public final class Launcher extends Activity
// Try finding open space on Launcher screen
final int[] xy = mCellCoordinates;
if (!findSlot(cellInfo, xy, spans[0], spans[1])) return;
if (!findSlot(cellInfo, xy, spans[0], spans[1])) {
if (appWidgetId != -1) mAppWidgetHost.deleteAppWidgetId(appWidgetId);
return;
}
// Build Launcher-specific widget info and save to database
LauncherAppWidgetInfo launcherInfo = new LauncherAppWidgetInfo(appWidgetId);