summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeon Scroggins <scroggo@google.com>2011-01-18 11:55:27 -0500
committerLeon Scroggins <scroggo@google.com>2011-01-18 11:55:27 -0500
commitb3ae88082b13dfdd021f57d1242814cb6e3fdc0c (patch)
tree63c5a05cdc9c74464dd2f8d70caeac737c38dbda
parentbf1d10af39eb23d68db69a8eda9e12e62f1a9682 (diff)
downloadpackages_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.java38
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) {