Index: chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java |
index a925f57b3bc1536614d9d640ad6d68b6d9a30f3d..d436748a5a6ebda4acfb37e6db4be276dc3cdb74 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java |
@@ -51,7 +51,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
VISIT, |
} |
- private EnhancedBookmarksModel mEnhancedBookmarksModel; |
+ private EnhancedBookmarksModel mModel; |
private BookmarkId mBookmarkId; |
private EmptyAlertEditText mTitleEditText; |
private EmptyAlertEditText mUrlEditText; |
@@ -76,7 +76,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
@Override |
public void bookmarkNodeMoved(BookmarkItem oldParent, int oldIndex, BookmarkItem newParent, |
int newIndex) { |
- BookmarkId movedBookmark = mEnhancedBookmarksModel.getChildAt(newParent.getId(), |
+ BookmarkId movedBookmark = mModel.getChildAt(newParent.getId(), |
newIndex); |
if (movedBookmark.equals(mBookmarkId)) { |
mFolderTextView.setText(newParent.getTitle()); |
@@ -86,14 +86,14 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
@Override |
public void bookmarkNodeChanged(BookmarkItem node) { |
if (mBookmarkId.equals(node.getId()) || node.getId().equals( |
- mEnhancedBookmarksModel.getBookmarkById(mBookmarkId).getParentId())) { |
+ mModel.getBookmarkById(mBookmarkId).getParentId())) { |
updateViewContent(); |
} |
} |
@Override |
public void bookmarkModelChanged() { |
- if (mEnhancedBookmarksModel.doesBookmarkExist(mBookmarkId)) { |
+ if (mModel.doesBookmarkExist(mBookmarkId)) { |
updateViewContent(); |
} else { |
Log.wtf(TAG, "The bookmark was deleted somehow during bookmarkModelChange!", |
@@ -110,11 +110,15 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
int title = OfflinePageUtils.getStringId(R.string.edit_bookmark); |
setTitle(title); |
EnhancedBookmarkUtils.setTaskDescriptionInDocumentMode(this, getString(title)); |
- mEnhancedBookmarksModel = new EnhancedBookmarksModel(); |
+ mModel = new EnhancedBookmarksModel(); |
mBookmarkId = BookmarkId.getBookmarkIdFromString( |
getIntent().getStringExtra(INTENT_BOOKMARK_ID)); |
- mEnhancedBookmarksModel.addObserver(mBookmarkModelObserver); |
- assert mEnhancedBookmarksModel.getBookmarkById(mBookmarkId).isEditable(); |
+ mModel.addObserver(mBookmarkModelObserver); |
+ BookmarkItem item = mModel.getBookmarkById(mBookmarkId); |
+ if (!mModel.doesBookmarkExist(mBookmarkId) || item == null) { |
+ finish(); |
+ return; |
+ } |
setContentView(R.layout.eb_edit); |
mTitleEditText = (EmptyAlertEditText) findViewById(R.id.title_text); |
@@ -130,7 +134,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
}); |
if (OfflinePageBridge.isEnabled() && OfflinePageBridge.canSavePage( |
- mEnhancedBookmarksModel.getBookmarkById(mBookmarkId).getUrl())) { |
+ mModel.getBookmarkById(mBookmarkId).getUrl())) { |
mOfflinePageModelObserver = new OfflinePageModelObserver() { |
@Override |
public void offlinePageDeleted(BookmarkId bookmarkId) { |
@@ -140,7 +144,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
} |
}; |
- mEnhancedBookmarksModel.getOfflinePageBridge().addObserver(mOfflinePageModelObserver); |
+ mModel.getOfflinePageBridge().addObserver(mOfflinePageModelObserver); |
// Make offline page section visible and find controls. |
findViewById(R.id.offline_page_group).setVisibility(View.VISIBLE); |
getIntent().setExtrasClassLoader(WebContents.class.getClassLoader()); |
@@ -156,18 +160,19 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
} |
private void updateViewContent() { |
- BookmarkItem bookmarkItem = mEnhancedBookmarksModel.getBookmarkById(mBookmarkId); |
+ BookmarkItem bookmarkItem = mModel.getBookmarkById(mBookmarkId); |
if (!TextUtils.equals(mTitleEditText.getTrimmedText(), bookmarkItem.getTitle())) { |
mTitleEditText.setText(bookmarkItem.getTitle()); |
} |
- String folderTitle = mEnhancedBookmarksModel.getBookmarkTitle(bookmarkItem.getParentId()); |
+ String folderTitle = mModel.getBookmarkTitle(bookmarkItem.getParentId()); |
if (!TextUtils.equals(mFolderTextView.getText(), folderTitle)) { |
mFolderTextView.setText(folderTitle); |
} |
if (!TextUtils.equals(mUrlEditText.getTrimmedText(), bookmarkItem.getUrl())) { |
mUrlEditText.setText(bookmarkItem.getUrl()); |
} |
+ mTitleEditText.setEnabled(bookmarkItem.isEditable()); |
mUrlEditText.setEnabled(bookmarkItem.isUrlEditable()); |
mFolderTextView.setEnabled(bookmarkItem.isMovable()); |
} |
@@ -188,7 +193,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
// Log added for detecting delete button double clicking. |
Log.i(TAG, "Delete button pressed by user! isFinishing() == " + isFinishing()); |
- mEnhancedBookmarksModel.deleteBookmark(mBookmarkId); |
+ mModel.deleteBookmark(mBookmarkId); |
finish(); |
return true; |
} else if (item.getItemId() == android.R.id.home) { |
@@ -200,26 +205,26 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
@Override |
protected void onStop() { |
- if (mEnhancedBookmarksModel.doesBookmarkExist(mBookmarkId)) { |
+ if (mModel.doesBookmarkExist(mBookmarkId)) { |
final String originalUrl = |
- mEnhancedBookmarksModel.getBookmarkById(mBookmarkId).getUrl(); |
+ mModel.getBookmarkById(mBookmarkId).getUrl(); |
final String title = mTitleEditText.getTrimmedText(); |
final String url = mUrlEditText.getTrimmedText(); |
if (!mTitleEditText.isEmpty()) { |
- mEnhancedBookmarksModel.setBookmarkTitle(mBookmarkId, title); |
+ mModel.setBookmarkTitle(mBookmarkId, title); |
} |
if (!mUrlEditText.isEmpty() |
- && mEnhancedBookmarksModel.getBookmarkById(mBookmarkId).isUrlEditable()) { |
+ && mModel.getBookmarkById(mBookmarkId).isUrlEditable()) { |
String fixedUrl = UrlUtilities.fixupUrl(url); |
if (fixedUrl != null && !fixedUrl.equals(originalUrl)) { |
boolean hasOfflinePage = OfflinePageBridge.isEnabled() |
- && mEnhancedBookmarksModel.getOfflinePageBridge() |
+ && mModel.getOfflinePageBridge() |
.getPageByBookmarkId(mBookmarkId) != null; |
RecordHistogram.recordBooleanHistogram( |
"OfflinePages.Edit.BookmarkUrlChangedForOfflinePage", hasOfflinePage); |
- mEnhancedBookmarksModel.setBookmarkUrl(mBookmarkId, fixedUrl); |
+ mModel.setBookmarkUrl(mBookmarkId, fixedUrl); |
} |
} |
} |
@@ -231,12 +236,12 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
protected void onDestroy() { |
recordOfflineButtonAction(false); |
if (OfflinePageBridge.isEnabled()) { |
- mEnhancedBookmarksModel.getOfflinePageBridge().removeObserver( |
+ mModel.getOfflinePageBridge().removeObserver( |
mOfflinePageModelObserver); |
} |
- mEnhancedBookmarksModel.removeObserver(mBookmarkModelObserver); |
- mEnhancedBookmarksModel.destroy(); |
- mEnhancedBookmarksModel = null; |
+ mModel.removeObserver(mBookmarkModelObserver); |
+ mModel.destroy(); |
+ mModel = null; |
super.onDestroy(); |
} |
@@ -245,14 +250,14 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
// It is possible that callback arrives after the activity was dismissed. |
// See http://crbug.com/566939 |
- if (mEnhancedBookmarksModel == null) return; |
+ if (mModel == null) return; |
- mEnhancedBookmarksModel.getOfflinePageBridge().checkOfflinePageMetadata(); |
+ mModel.getOfflinePageBridge().checkOfflinePageMetadata(); |
Button saveRemoveVisitButton = (Button) findViewById(R.id.offline_page_save_remove_button); |
TextView offlinePageInfoTextView = (TextView) findViewById(R.id.offline_page_info_text); |
- OfflinePageItem offlinePage = mEnhancedBookmarksModel.getOfflinePageBridge() |
+ OfflinePageItem offlinePage = mModel.getOfflinePageBridge() |
.getPageByBookmarkId(mBookmarkId); |
if (offlinePage != null) { |
// Offline page exists. Show information and button to remove. |
@@ -282,7 +287,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
@Override |
public void onClick(View v) { |
recordOfflineButtonAction(true); |
- mEnhancedBookmarksModel.getOfflinePageBridge().deletePage( |
+ mModel.getOfflinePageBridge().deletePage( |
mBookmarkId, new DeletePageCallback() { |
@Override |
public void onDeletePageDone(int deletePageResult) { |
@@ -303,7 +308,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
@Override |
public void onClick(View v) { |
recordOfflineButtonAction(true); |
- mEnhancedBookmarksModel.getOfflinePageBridge().savePage( |
+ mModel.getOfflinePageBridge().savePage( |
mWebContents, mBookmarkId, new SavePageCallback() { |
@Override |
public void onSavePageDone(int savePageResult, String url) { |
@@ -333,7 +338,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
// TODO(kkimlabs): Refactor this out to handle the intent in ChromeActivity. |
if (DeviceFormFactor.isTablet(this)) { |
EnhancedBookmarkUtils.openBookmark( |
- mEnhancedBookmarksModel, this, mBookmarkId, LaunchLocation.BOOKMARK_EDITOR); |
+ mModel, this, mBookmarkId, LaunchLocation.BOOKMARK_EDITOR); |
} else { |
Intent intent = new Intent(); |
intent.putExtra( |