diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:58 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-12-17 18:05:58 -0800 |
commit | d097a1880f2339705486d50cd8b33c6088fa9fa5 (patch) | |
tree | 711ec61755822f2bda1d4b2719691db2142ed607 /src/com/android/launcher/Launcher.java | |
parent | c8f00b61c600927ab404c84686d4472e9b527976 (diff) | |
download | android_packages_apps_Trebuchet-d097a1880f2339705486d50cd8b33c6088fa9fa5.tar.gz android_packages_apps_Trebuchet-d097a1880f2339705486d50cd8b33c6088fa9fa5.tar.bz2 android_packages_apps_Trebuchet-d097a1880f2339705486d50cd8b33c6088fa9fa5.zip |
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'src/com/android/launcher/Launcher.java')
-rw-r--r-- | src/com/android/launcher/Launcher.java | 311 |
1 files changed, 178 insertions, 133 deletions
diff --git a/src/com/android/launcher/Launcher.java b/src/com/android/launcher/Launcher.java index 2ae50377c..928f4caec 100644 --- a/src/com/android/launcher/Launcher.java +++ b/src/com/android/launcher/Launcher.java @@ -29,16 +29,15 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; +import android.content.SharedPreferences; import android.content.pm.PackageManager; -import android.content.res.Configuration; import android.content.res.Resources; +import android.content.res.Configuration; import android.database.ContentObserver; import android.graphics.Bitmap; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.TransitionDrawable; -import android.hardware.SensorListener; -import android.hardware.SensorManager; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -46,15 +45,12 @@ import android.os.IBinder; import android.os.Parcelable; import android.os.RemoteException; import android.os.ServiceManager; -import android.os.SystemClock; -import android.os.SystemProperties; -import android.provider.Contacts; +import android.provider.*; import android.telephony.PhoneNumberUtils; import android.text.Selection; import android.text.SpannableStringBuilder; import android.text.TextUtils; import android.text.method.TextKeyListener; -import android.util.Config; import android.util.Log; import android.view.Display; import android.view.Gravity; @@ -66,14 +62,15 @@ import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.view.View.OnLongClickListener; +import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.ExpandableListView; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; +import android.widget.GridView; import android.app.IWallpaperService; -import com.android.internal.provider.Settings; import com.android.internal.widget.SlidingDrawer; import java.lang.ref.WeakReference; @@ -88,18 +85,8 @@ public final class Launcher extends Activity implements View.OnClickListener, On private static final boolean PROFILE_STARTUP = false; private static final boolean DEBUG_USER_INTERFACE = false; - private static final String USE_OPENGL_BY_DEFAULT = "false"; - private static final boolean REMOVE_SHORTCUT_ON_PACKAGE_REMOVE = false; - // Type: boolean - private static final String PROPERTY_USE_OPENGL = "launcher.opengl"; - // Type: boolean - private static final String PROPERTY_USE_SENSORS = "launcher.sensors"; - - private static final boolean USE_OPENGL = true; - private static final boolean USE_SENSORS = false; - private static final int WALLPAPER_SCREENS_SPAN = 2; private static final int MENU_GROUP_ADD = 1; @@ -112,9 +99,11 @@ public final class Launcher extends Activity implements View.OnClickListener, On private static final int REQUEST_CREATE_SHORTCUT = 1; private static final int REQUEST_CHOOSE_PHOTO = 2; private static final int REQUEST_UPDATE_PHOTO = 3; + private static final int REQUEST_CREATE_LIVE_FOLDER = 4; static final String EXTRA_SHORTCUT_DUPLICATE = "duplicate"; + static final int SCREEN_COUNT = 3; static final int DEFAULT_SCREN = 1; static final int NUMBER_CELLS_X = 4; static final int NUMBER_CELLS_Y = 4; @@ -122,6 +111,11 @@ public final class Launcher extends Activity implements View.OnClickListener, On private static final int DIALOG_CREATE_SHORTCUT = 1; static final int DIALOG_RENAME_FOLDER = 2; + private static final String PREFERENCES = "launcher"; + private static final String KEY_LOCALE = "locale"; + private static final String KEY_MCC = "mcc"; + private static final String KEY_MNC = "mnc"; + // Type: int private static final String RUNTIME_STATE_CURRENT_SCREEN = "launcher.current_screen"; // Type: boolean @@ -165,19 +159,15 @@ public final class Launcher extends Activity implements View.OnClickListener, On private final BroadcastReceiver mApplicationsReceiver = new ApplicationsIntentReceiver(); private final ContentObserver mObserver = new FavoritesChangeObserver(); - private final Handler mHandler = new Handler(); private LayoutInflater mInflater; - private SensorManager mSensorManager; - private SensorHandler mSensorHandler; - private DragLayer mDragLayer; private Workspace mWorkspace; private CellLayout.CellInfo mAddItemCellInfo; private CellLayout.CellInfo mMenuAddInfo; private final int[] mCellCoordinates = new int[2]; - private UserFolderInfo mFolderInfo; + private FolderInfo mFolderInfo; private SlidingDrawer mDrawer; private TransitionDrawable mHandleIcon; @@ -192,11 +182,10 @@ public final class Launcher extends Activity implements View.OnClickListener, On private boolean mRestoring; private boolean mWaitingForResult; + private boolean mLocaleChanged; @Override protected void onCreate(Bundle savedInstanceState) { - dalvik.system.VMRuntime.getRuntime().setMinimumHeapSize(4 * 1024 * 1024); - super.onCreate(savedInstanceState); mInflater = getLayoutInflater(); @@ -204,11 +193,9 @@ public final class Launcher extends Activity implements View.OnClickListener, On android.os.Debug.startMethodTracing("/sdcard/launcher"); } + checkForLocaleChange(); setWallpaperDimension(); - enableSensors(); - enableOpenGL(); - if (sModel == null) { sModel = new LauncherModel(); } @@ -234,6 +221,30 @@ public final class Launcher extends Activity implements View.OnClickListener, On mDefaultKeySsb = new SpannableStringBuilder(); Selection.setSelection(mDefaultKeySsb, 0); } + + private void checkForLocaleChange() { + final SharedPreferences preferences = getSharedPreferences(PREFERENCES, MODE_PRIVATE); + final Configuration configuration = getResources().getConfiguration(); + + final String previousLocale = preferences.getString(KEY_LOCALE, null); + final String locale = configuration.locale.toString(); + + final int previousMcc = preferences.getInt(KEY_MCC, -1); + final int mcc = configuration.mcc; + + final int previousMnc = preferences.getInt(KEY_MNC, -1); + final int mnc = configuration.mnc; + + mLocaleChanged = !locale.equals(previousLocale) || mcc != previousMcc || mnc != previousMnc; + + if (mLocaleChanged) { + final SharedPreferences.Editor editor = preferences.edit(); + editor.putString(KEY_LOCALE, locale); + editor.putInt(KEY_MCC, mcc); + editor.putInt(KEY_MNC, mnc); + editor.commit(); + } + } static int getScreen() { synchronized (sLock) { @@ -248,19 +259,11 @@ public final class Launcher extends Activity implements View.OnClickListener, On } private void startLoaders() { - sModel.loadApplications(true, this); - sModel.loadUserItems(true, this); + sModel.loadApplications(true, this, mLocaleChanged); + sModel.loadUserItems(!mLocaleChanged, this, mLocaleChanged); mRestoring = false; } - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - - // When MMC/MNC changes, so can applications, so we reload them - sModel.loadApplications(false, Launcher.this); - } - private void setWallpaperDimension() { IBinder binder = ServiceManager.getService(WALLPAPER_SERVICE); IWallpaperService wallpaperService = IWallpaperService.Stub.asInterface(binder); @@ -277,31 +280,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On } } - private void enableSensors() { - //noinspection PointlessBooleanExpression,ConstantConditions - if (USE_SENSORS || "true".equals(SystemProperties.get(PROPERTY_USE_SENSORS, "false"))) { - if (Config.LOGD) { - Log.d(LOG_TAG, "Launcher activating sensors"); - } - mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); - mSensorHandler = new SensorHandler(); - } - } - - private void enableOpenGL() { - //noinspection PointlessBooleanExpression,ConstantConditions - if (USE_OPENGL && "true".equals(SystemProperties.get(PROPERTY_USE_OPENGL, - USE_OPENGL_BY_DEFAULT))) { - if (Config.LOGD) { - Log.d(LOG_TAG, "Launcher starting in OpenGL"); - } - //requestWindowFeature(Window.FEATURE_OPENGL); - //sOpenGlEnabled = true; - } else { - sOpenGlEnabled = false; - } - } - @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK && mAddItemCellInfo != null) { @@ -315,6 +293,9 @@ public final class Launcher extends Activity implements View.OnClickListener, On case REQUEST_UPDATE_PHOTO: completeUpdatePhotoFrame(data, mAddItemCellInfo); break; + case REQUEST_CREATE_LIVE_FOLDER: + completeAddLiveFolder(data, mAddItemCellInfo, !mDesktopLocked); + break; } } mWaitingForResult = false; @@ -327,19 +308,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On if (mRestoring) { startLoaders(); } - - if (mSensorManager != null) { - mSensorManager.registerListener(mSensorHandler, SensorManager.SENSOR_ACCELEROMETER); - } - } - - @Override - protected void onStop() { - if (mSensorManager != null) { - mSensorManager.unregisterListener(mSensorHandler); - } - - super.onStop(); } @Override @@ -347,6 +315,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On boolean handled = super.onKeyUp(keyCode, event); if (keyCode == KeyEvent.KEYCODE_SEARCH) { handled = mWorkspace.snapToSearch(); + if (handled) closeDrawer(true); } return handled; } @@ -455,7 +424,8 @@ public final class Launcher extends Activity implements View.OnClickListener, On final DeleteZone deleteZone = (DeleteZone) dragLayer.findViewById(R.id.delete_zone); - final ImageView handleIcon = (ImageView) drawer.findViewById(R.id.all_apps); + final HandleView handleIcon = (HandleView) drawer.findViewById(R.id.all_apps); + handleIcon.setLauncher(this); mHandleIcon = (TransitionDrawable) handleIcon.getDrawable(); mHandleIcon.setCrossFadeEnabled(true); @@ -577,7 +547,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On Intent.ShortcutIconResource iconResource = null; if (bitmap != null) { - icon = new BitmapDrawable(Utilities.createBitmapThumbnail(bitmap, context)); + icon = new FastBitmapDrawable(Utilities.createBitmapThumbnail(bitmap, context)); filtered = true; customIcon = true; } else { @@ -608,7 +578,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On info.customIcon = customIcon; info.iconResource = iconResource; - LauncherModel.addItemToDatabase(context, info, Settings.Favorites.CONTAINER_DESKTOP, + LauncherModel.addItemToDatabase(context, info, LauncherSettings.Favorites.CONTAINER_DESKTOP, cellInfo.screen, cellInfo.cellX, cellInfo.cellY, notify); return info; } @@ -630,7 +600,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On final int[] xy = mCellCoordinates; if (!findSlot(cellInfo, xy, info.spanX, info.spanY)) return; - LauncherModel.addItemToDatabase(this, info, Settings.Favorites.CONTAINER_DESKTOP, + LauncherModel.addItemToDatabase(this, info, LauncherSettings.Favorites.CONTAINER_DESKTOP, mWorkspace.getCurrentScreen(), xy[0], xy[1], false); if (!mRestoring) { @@ -746,6 +716,12 @@ public final class Launcher extends Activity implements View.OnClickListener, On mWorkspace.moveToDefaultScreen(); } closeDrawer(); + View v = getWindow().peekDecorView(); + if (v != null && v.getWindowToken() != null) { + InputMethodManager imm = (InputMethodManager)getSystemService( + INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(v.getWindowToken()); + } } else { closeDrawer(false); } @@ -818,6 +794,16 @@ public final class Launcher extends Activity implements View.OnClickListener, On } @Override + public void startSearch(String initialQuery, boolean selectInitialQuery, + Bundle appSearchData, boolean globalSearch) { + if (appSearchData == null) { + appSearchData = new Bundle(); + appSearchData.putString(SearchManager.SOURCE, "launcher-search"); + } + super.startSearch(initialQuery, selectInitialQuery, appSearchData, globalSearch); + } + + @Override public boolean onCreateOptionsMenu(Menu menu) { if (mDesktopLocked) return false; @@ -893,6 +879,10 @@ public final class Launcher extends Activity implements View.OnClickListener, On startActivityForResult(intent, REQUEST_CREATE_SHORTCUT); } + void addLiveFolder(Intent intent) { + startActivityForResult(intent, REQUEST_CREATE_LIVE_FOLDER); + } + void addFolder() { UserFolderInfo folderInfo = new UserFolderInfo(); folderInfo.title = getText(R.string.folder_name); @@ -900,10 +890,10 @@ public final class Launcher extends Activity implements View.OnClickListener, On int cellY = mAddItemCellInfo.cellY; // Update the model - LauncherModel.addItemToDatabase(this, folderInfo, Settings.Favorites.CONTAINER_DESKTOP, + LauncherModel.addItemToDatabase(this, folderInfo, LauncherSettings.Favorites.CONTAINER_DESKTOP, mWorkspace.getCurrentScreen(), cellX, cellY, false); sModel.addDesktopItem(folderInfo); - sModel.addUserFolder(folderInfo); + sModel.addFolder(folderInfo); // Create the view FolderIcon newFolder = FolderIcon.fromXml(R.layout.folder_icon, this, @@ -911,6 +901,68 @@ public final class Launcher extends Activity implements View.OnClickListener, On mWorkspace.addInCurrentScreen(newFolder, cellX, cellY, 1, 1); } + private void completeAddLiveFolder(Intent data, CellLayout.CellInfo cellInfo, + boolean insertAtFirst) { + + cellInfo.screen = mWorkspace.getCurrentScreen(); + final LiveFolderInfo info = addLiveFolder(this, data, cellInfo, false); + + if (!mRestoring) { + sModel.addDesktopItem(info); + + final View view = LiveFolderIcon.fromXml(R.layout.live_folder_icon, this, + (ViewGroup) mWorkspace.getChildAt(mWorkspace.getCurrentScreen()), info); + mWorkspace.addInCurrentScreen(view, cellInfo.cellX, cellInfo.cellY, 1, 1, insertAtFirst); + } else if (sModel.isDesktopLoaded()) { + sModel.addDesktopItem(info); + } + } + + static LiveFolderInfo addLiveFolder(Context context, Intent data, + CellLayout.CellInfo cellInfo, boolean notify) { + + Intent baseIntent = data.getParcelableExtra(LiveFolders.EXTRA_LIVE_FOLDER_BASE_INTENT); + String name = data.getStringExtra(LiveFolders.EXTRA_LIVE_FOLDER_NAME); + + Drawable icon = null; + boolean filtered = false; + Intent.ShortcutIconResource iconResource = null; + + Parcelable extra = data.getParcelableExtra(LiveFolders.EXTRA_LIVE_FOLDER_ICON); + if (extra != null && extra instanceof Intent.ShortcutIconResource) { + try { + iconResource = (Intent.ShortcutIconResource) extra; + final PackageManager packageManager = context.getPackageManager(); + Resources resources = packageManager.getResourcesForApplication( + iconResource.packageName); + final int id = resources.getIdentifier(iconResource.resourceName, null, null); + icon = resources.getDrawable(id); + } catch (Exception e) { + Log.w(LOG_TAG, "Could not load live folder icon: " + extra); + } + } + + if (icon == null) { + icon = context.getResources().getDrawable(R.drawable.ic_launcher_folder); + } + + final LiveFolderInfo info = new LiveFolderInfo(); + info.icon = icon; + info.filtered = filtered; + info.title = name; + info.iconResource = iconResource; + info.uri = data.getData(); + info.baseIntent = baseIntent; + info.displayMode = data.getIntExtra(LiveFolders.EXTRA_LIVE_FOLDER_DISPLAY_MODE, + LiveFolders.DISPLAY_MODE_GRID); + + LauncherModel.addItemToDatabase(context, info, LauncherSettings.Favorites.CONTAINER_DESKTOP, + cellInfo.screen, cellInfo.cellX, cellInfo.cellY, notify); + sModel.addFolder(info); + + return info; + } + void getPhotoForPhotoFrame() { startActivityForResult(createPhotoPickIntent(), REQUEST_CHOOSE_PHOTO); } @@ -935,7 +987,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On if (!findSlot(cellInfo, xy, spanX, spanY)) return; sModel.addDesktopItem(info); - LauncherModel.addItemToDatabase(this, info, Settings.Favorites.CONTAINER_DESKTOP, + LauncherModel.addItemToDatabase(this, info, LauncherSettings.Favorites.CONTAINER_DESKTOP, mWorkspace.getCurrentScreen(), xy[0], xy[1], false); final View view = mInflater.inflate(info.layoutResource, null); @@ -999,7 +1051,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On */ private void registerContentObservers() { ContentResolver resolver = getContentResolver(); - resolver.registerContentObserver(Settings.Favorites.CONTENT_URI, true, mObserver); + resolver.registerContentObserver(LauncherSettings.Favorites.CONTENT_URI, true, mObserver); } @Override @@ -1059,7 +1111,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On private void onFavoritesChanged() { mDesktopLocked = true; mDrawer.lock(); - sModel.loadUserItems(false, this); + sModel.loadUserItems(false, this, false); } void onDesktopItemsLoaded() { @@ -1074,9 +1126,9 @@ public final class Launcher extends Activity implements View.OnClickListener, On final long[] userFolders = mSavedState.getLongArray(RUNTIME_STATE_USER_FOLDERS); if (userFolders != null) { for (long folderId : userFolders) { - final UserFolderInfo info = sModel.findFolderById(folderId); + final FolderInfo info = sModel.findFolderById(folderId); if (info != null) { - openUserFolder(info); + openFolder(info); } } final Folder openFolder = mWorkspace.getOpenFolder(); @@ -1119,19 +1171,27 @@ public final class Launcher extends Activity implements View.OnClickListener, On for (int i = 0; i < count; i++) { final ItemInfo item = shortcuts.get(i); switch (item.itemType) { - case Settings.Favorites.ITEM_TYPE_APPLICATION: - case Settings.Favorites.ITEM_TYPE_SHORTCUT: + case LauncherSettings.Favorites.ITEM_TYPE_APPLICATION: + case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT: final View shortcut = createShortcut((ApplicationInfo) item); workspace.addInScreen(shortcut, item.screen, item.cellX, item.cellY, 1, 1, !mDesktopLocked); break; - case Settings.Favorites.ITEM_TYPE_USER_FOLDER: + case LauncherSettings.Favorites.ITEM_TYPE_USER_FOLDER: final FolderIcon newFolder = FolderIcon.fromXml(R.layout.folder_icon, this, (ViewGroup) mWorkspace.getChildAt(mWorkspace.getCurrentScreen()), ((UserFolderInfo) item)); workspace.addInScreen(newFolder, item.screen, item.cellX, item.cellY, 1, 1, !mDesktopLocked); break; + case LauncherSettings.Favorites.ITEM_TYPE_LIVE_FOLDER: + final FolderIcon newLiveFolder = LiveFolderIcon.fromXml( + R.layout.live_folder_icon, this, + (ViewGroup) mWorkspace.getChildAt(mWorkspace.getCurrentScreen()), + ((LiveFolderInfo) item)); + workspace.addInScreen(newLiveFolder, item.screen, item.cellX, item.cellY, 1, 1, + !mDesktopLocked); + break; default: final Widget widget = (Widget)item; final View view = createWidget(mInflater, widget); @@ -1148,7 +1208,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On final int screen = workspace.getCurrentScreen(); View v = inflater.inflate(widget.layoutResource, (ViewGroup) workspace.getChildAt(screen), false); - if (widget.itemType == Settings.Favorites.ITEM_TYPE_WIDGET_PHOTO_FRAME) { + if (widget.itemType == LauncherSettings.Favorites.ITEM_TYPE_WIDGET_PHOTO_FRAME) { ((ImageView)v).setImageBitmap(widget.photo); } return v; @@ -1169,8 +1229,8 @@ public final class Launcher extends Activity implements View.OnClickListener, On // Open shortcut final Intent intent = ((ApplicationInfo) tag).intent; startActivitySafely(intent); - } else if (tag instanceof UserFolderInfo) { - handleFolderClick((UserFolderInfo) tag); + } else if (tag instanceof FolderInfo) { + handleFolderClick((FolderInfo) tag); } } @@ -1188,7 +1248,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On // Close any open folder closeFolder(); // Open the requested folder - openUserFolder(folderInfo); + openFolder(folderInfo); } else { // Find the open folder... Folder openFolder = mWorkspace.getFolderForTag(folderInfo); @@ -1201,7 +1261,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On // Close any folder open on the current screen closeFolder(); // Pull the folder onto this screen - openUserFolder(folderInfo); + openFolder(folderInfo); } } } @@ -1226,14 +1286,22 @@ public final class Launcher extends Activity implements View.OnClickListener, On * is animated relative to the specified View. If the View is null, no animation * is played. * - * @param tag The UserFolderInfo describing the folder to open. + * @param folderInfo The FolderInfo describing the folder to open. */ - private void openUserFolder(Object tag) { - UserFolder openFolder = UserFolder.fromXml(this); + private void openFolder(FolderInfo folderInfo) { + Folder openFolder; + + if (folderInfo instanceof UserFolderInfo) { + openFolder = UserFolder.fromXml(this); + } else if (folderInfo instanceof LiveFolderInfo) { + openFolder = com.android.launcher.LiveFolder.fromXml(this, folderInfo); + } else { + return; + } + openFolder.setDragger(mDragLayer); openFolder.setLauncher(this); - UserFolderInfo folderInfo = (UserFolderInfo) tag; openFolder.bind(folderInfo); folderInfo.opened = true; @@ -1299,6 +1367,10 @@ public final class Launcher extends Activity implements View.OnClickListener, On return mWorkspace; } + GridView getApplicationsGrid() { + return mAllAppsGrid; + } + @Override protected Dialog onCreateDialog(int id) { switch (id) { @@ -1327,7 +1399,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On } } - void showRenameDialog(UserFolderInfo info) { + void showRenameDialog(FolderInfo info) { mFolderInfo = info; mWaitingForResult = true; showDialog(DIALOG_RENAME_FOLDER); @@ -1384,16 +1456,17 @@ public final class Launcher extends Activity implements View.OnClickListener, On if (mDesktopLocked) { mDrawer.lock(); - sModel.loadUserItems(false, Launcher.this); + sModel.loadUserItems(false, Launcher.this, false); } else { - final FolderIcon folderIcon = (FolderIcon) mWorkspace.getViewForTag(mFolderInfo); + final FolderIcon folderIcon = (FolderIcon) + mWorkspace.getViewForTag(mFolderInfo); if (folderIcon != null) { folderIcon.setText(name); getWorkspace().requestLayout(); } else { mDesktopLocked = true; mDrawer.lock(); - sModel.loadUserItems(false, Launcher.this); + sModel.loadUserItems(false, Launcher.this, false); } } } @@ -1479,7 +1552,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On removeShortcutsForPackage(intent.getData().getSchemeSpecificPart()); } removeDialog(DIALOG_CREATE_SHORTCUT); - sModel.loadApplications(false, Launcher.this); + sModel.loadApplications(false, Launcher.this, false); } } @@ -1488,7 +1561,7 @@ public final class Launcher extends Activity implements View.OnClickListener, On */ private class FavoritesChangeObserver extends ContentObserver { public FavoritesChangeObserver() { - super(mHandler); + super(new Handler()); } @Override @@ -1497,34 +1570,6 @@ public final class Launcher extends Activity implements View.OnClickListener, On } } - private class SensorHandler implements SensorListener { - private long mLastNegativeShake; - private long mLastPositiveShake; - - public void onSensorChanged(int sensor, float[] values) { - if (sensor == SensorManager.SENSOR_ACCELEROMETER) { - float shake = values[0]; - if (shake <= -SensorManager.STANDARD_GRAVITY) { - mLastNegativeShake = SystemClock.uptimeMillis(); - } else if (shake >= SensorManager.STANDARD_GRAVITY) { - mLastPositiveShake = SystemClock.uptimeMillis(); - } - - final long difference = mLastPositiveShake - mLastNegativeShake; - if (difference <= -80 && difference >= -180) { - mWorkspace.scrollLeft(); - mLastNegativeShake = mLastPositiveShake = 0; - } else if (difference >= 80 && difference <= 180) { - mWorkspace.scrollRight(); - mLastNegativeShake = mLastPositiveShake = 0; - } - } - } - - public void onAccuracyChanged(int sensor, int accuracy) { - } - } - /** * Receives intents from other applications to change the wallpaper. */ |