diff options
author | Leon Scroggins <scroggo@google.com> | 2011-01-18 11:55:27 -0500 |
---|---|---|
committer | Leon Scroggins <scroggo@google.com> | 2011-01-18 11:55:27 -0500 |
commit | b3ae88082b13dfdd021f57d1242814cb6e3fdc0c (patch) | |
tree | 63c5a05cdc9c74464dd2f8d70caeac737c38dbda | |
parent | bf1d10af39eb23d68db69a8eda9e12e62f1a9682 (diff) | |
download | packages_apps_Browser-b3ae88082b13dfdd021f57d1242814cb6e3fdc0c.zip packages_apps_Browser-b3ae88082b13dfdd021f57d1242814cb6e3fdc0c.tar.gz packages_apps_Browser-b3ae88082b13dfdd021f57d1242814cb6e3fdc0c.tar.bz2 |
When canceling folder selection, go back to showing correct folder.
Bug:3364093
Change-Id: Ia50a601adb22a18570d9f8268c2c64185410bc99
-rw-r--r-- | src/com/android/browser/AddBookmarkPage.java | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/src/com/android/browser/AddBookmarkPage.java b/src/com/android/browser/AddBookmarkPage.java index a93a518..ee080ca 100644 --- a/src/com/android/browser/AddBookmarkPage.java +++ b/src/com/android/browser/AddBookmarkPage.java @@ -105,7 +105,7 @@ public class AddBookmarkPage extends Activity private View mFolderNamerHolder; private View mAddNewFolder; private View mAddSeparator; - private long mCurrentFolder = 0; + private long mCurrentFolder; private FolderAdapter mAdapter; private BreadCrumbView mCrumbs; private TextView mFakeTitle; @@ -218,8 +218,26 @@ public class AddBookmarkPage extends Activity if (mSaveToHomeScreen) { mFolder.setSelectionIgnoringSelectionChange(0); } else { - // FIXME: Need to find the actual folder. - mFolder.setSelectionIgnoringSelectionChange(mEditingFolder ? 0 : 1); + if (mCurrentFolder == mRootFolder) { + mFolder.setSelectionIgnoringSelectionChange(mEditingFolder ? 0 : 1); + } else { + Object data = mCrumbs.getTopData(); + if (data != null && ((Folder) data).Id == mCurrentFolder) { + // We are showing the correct folder heirarchy. The + // folder selector will say "Other folder..." Change it + // to say the name of the folder once again. + ((TextView) mFolder.getSelectedView()).setText(((Folder) data).Name); + } else { + // We are not be showing the correct folder heirarchy. + // Clear the Crumbs and find the proper folder + mCrumbs.clear(); + setupTopCrumb(); + LoaderManager manager = getLoaderManager(); + manager.restartLoader(LOADER_ID_ALL_FOLDERS, null, this); + manager.restartLoader(LOADER_ID_FOLDER_CONTENTS, null, this); + + } + } } } } @@ -709,11 +727,7 @@ public class AddBookmarkPage extends Activity if (mCurrentFolder == DEFAULT_FOLDER_ID) { mCurrentFolder = mRootFolder; } - String name = getString(R.string.bookmarks); - mTopLevelLabel = (TextView) mCrumbs.pushView(name, false, - new Folder(name, mRootFolder)); - // To better match the other folders. - mTopLevelLabel.setCompoundDrawablePadding(6); + setupTopCrumb(); if (mEditingExisting || TextUtils.isEmpty(mOriginalUrl)) { onCurrentFolderFound(); } else { @@ -724,6 +738,14 @@ public class AddBookmarkPage extends Activity } } + private void setupTopCrumb() { + String name = getString(R.string.bookmarks); + mTopLevelLabel = (TextView) mCrumbs.pushView(name, false, + new Folder(name, mRootFolder)); + // To better match the other folders. + mTopLevelLabel.setCompoundDrawablePadding(6); + } + private void onCurrentFolderFound() { LoaderManager manager = getLoaderManager(); if (mCurrentFolder != mRootFolder) { |