Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4834)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java

Issue 1688033002: Rename EnhancedBookmarks to Bookmarks, part 1. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments from #2 Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
deleted file mode 100644
index 94471c194ae827c502d8bdf887c1d807ddbed801..0000000000000000000000000000000000000000
--- a/chrome/android/java/src/org/chromium/chrome/browser/enhancedbookmarks/EnhancedBookmarkEditActivity.java
+++ /dev/null
@@ -1,384 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.chrome.browser.enhancedbookmarks;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.support.v7.widget.Toolbar;
-import android.text.TextUtils;
-import android.text.format.Formatter;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.Button;
-import android.widget.TextView;
-
-import org.chromium.base.Log;
-import org.chromium.base.metrics.RecordHistogram;
-import org.chromium.base.metrics.RecordUserAction;
-import org.chromium.chrome.R;
-import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkItem;
-import org.chromium.chrome.browser.bookmark.BookmarksBridge.BookmarkModelObserver;
-import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
-import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.DeletePageCallback;
-import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.OfflinePageModelObserver;
-import org.chromium.chrome.browser.offlinepages.OfflinePageBridge.SavePageCallback;
-import org.chromium.chrome.browser.offlinepages.OfflinePageItem;
-import org.chromium.chrome.browser.offlinepages.OfflinePageUtils;
-import org.chromium.chrome.browser.util.UrlUtilities;
-import org.chromium.chrome.browser.widget.EmptyAlertEditText;
-import org.chromium.chrome.browser.widget.TintedDrawable;
-import org.chromium.components.bookmarks.BookmarkId;
-import org.chromium.content_public.browser.WebContents;
-
-/**
- * The activity that enables the user to modify the title, url and parent folder of a bookmark.
- */
-public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase {
- /** The intent extra specifying the ID of the bookmark to be edited. */
- public static final String INTENT_BOOKMARK_ID = "EnhancedBookmarkEditActivity.BookmarkId";
- public static final String INTENT_WEB_CONTENTS = "EnhancedBookmarkEditActivity.WebContents";
-
- private static final String TAG = "BookmarkEdit";
-
- private enum OfflineButtonType {
- NONE,
- SAVE,
- REMOVE,
- VISIT,
- }
-
- private EnhancedBookmarksModel mModel;
- private BookmarkId mBookmarkId;
- private EmptyAlertEditText mTitleEditText;
- private EmptyAlertEditText mUrlEditText;
- private TextView mFolderTextView;
-
- private WebContents mWebContents;
-
- private MenuItem mDeleteButton;
-
- private OfflineButtonType mOfflineButtonType = OfflineButtonType.NONE;
- private OfflinePageModelObserver mOfflinePageModelObserver;
-
- private BookmarkModelObserver mBookmarkModelObserver = new BookmarkModelObserver() {
- @Override
- public void bookmarkNodeRemoved(BookmarkItem parent, int oldIndex, BookmarkItem node,
- boolean isDoingExtensiveChanges) {
- if (mBookmarkId.equals(node.getId())) {
- finish();
- }
- }
-
- @Override
- public void bookmarkNodeMoved(BookmarkItem oldParent, int oldIndex, BookmarkItem newParent,
- int newIndex) {
- BookmarkId movedBookmark = mModel.getChildAt(newParent.getId(),
- newIndex);
- if (movedBookmark.equals(mBookmarkId)) {
- mFolderTextView.setText(newParent.getTitle());
- }
- }
-
- @Override
- public void bookmarkNodeChanged(BookmarkItem node) {
- if (mBookmarkId.equals(node.getId()) || node.getId().equals(
- mModel.getBookmarkById(mBookmarkId).getParentId())) {
- updateViewContent();
- }
- }
-
- @Override
- public void bookmarkModelChanged() {
- if (mModel.doesBookmarkExist(mBookmarkId)) {
- updateViewContent();
- } else {
- Log.wtf(TAG, "The bookmark was deleted somehow during bookmarkModelChange!",
- new Exception(TAG));
- finish();
- }
- }
- };
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- int title = OfflinePageUtils.getStringId(R.string.edit_bookmark);
- setTitle(title);
- EnhancedBookmarkUtils.setTaskDescriptionInDocumentMode(this, getString(title));
- mModel = new EnhancedBookmarksModel();
- mBookmarkId = BookmarkId.getBookmarkIdFromString(
- getIntent().getStringExtra(INTENT_BOOKMARK_ID));
- 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);
- mFolderTextView = (TextView) findViewById(R.id.folder_text);
- mUrlEditText = (EmptyAlertEditText) findViewById(R.id.url_text);
-
- mFolderTextView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- EnhancedBookmarkFolderSelectActivity.startFolderSelectActivity(
- EnhancedBookmarkEditActivity.this, mBookmarkId);
- }
- });
-
- if (OfflinePageBridge.isEnabled() && OfflinePageBridge.canSavePage(
- mModel.getBookmarkById(mBookmarkId).getUrl())) {
- mOfflinePageModelObserver = new OfflinePageModelObserver() {
- @Override
- public void offlinePageDeleted(BookmarkId bookmarkId) {
- if (mBookmarkId.equals(bookmarkId)) {
- updateOfflineSection();
- }
- }
- };
-
- 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());
- mWebContents = getIntent().getParcelableExtra(INTENT_WEB_CONTENTS);
- updateOfflineSection();
- }
-
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
- updateViewContent();
- }
-
- private void updateViewContent() {
- BookmarkItem bookmarkItem = mModel.getBookmarkById(mBookmarkId);
-
- if (!TextUtils.equals(mTitleEditText.getTrimmedText(), bookmarkItem.getTitle())) {
- mTitleEditText.setText(bookmarkItem.getTitle());
- }
- 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());
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- mDeleteButton = menu.add(R.string.enhanced_bookmark_action_bar_delete)
- .setIcon(TintedDrawable.constructTintedDrawable(
- getResources(), R.drawable.btn_trash))
- .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM);
-
- return super.onCreateOptionsMenu(menu);
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (item == mDeleteButton) {
- // Log added for detecting delete button double clicking.
- Log.i(TAG, "Delete button pressed by user! isFinishing() == " + isFinishing());
-
- mModel.deleteBookmark(mBookmarkId);
- finish();
- return true;
- } else if (item.getItemId() == android.R.id.home) {
- finish();
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
-
- @Override
- protected void onStop() {
- if (mModel.doesBookmarkExist(mBookmarkId)) {
- final String originalUrl =
- mModel.getBookmarkById(mBookmarkId).getUrl();
- final String title = mTitleEditText.getTrimmedText();
- final String url = mUrlEditText.getTrimmedText();
-
- if (!mTitleEditText.isEmpty()) {
- mModel.setBookmarkTitle(mBookmarkId, title);
- }
-
- if (!mUrlEditText.isEmpty()
- && mModel.getBookmarkById(mBookmarkId).isUrlEditable()) {
- String fixedUrl = UrlUtilities.fixupUrl(url);
- if (fixedUrl != null && !fixedUrl.equals(originalUrl)) {
- boolean hasOfflinePage = OfflinePageBridge.isEnabled()
- && mModel.getOfflinePageBridge()
- .getPageByBookmarkId(mBookmarkId) != null;
- RecordHistogram.recordBooleanHistogram(
- "OfflinePages.Edit.BookmarkUrlChangedForOfflinePage", hasOfflinePage);
- mModel.setBookmarkUrl(mBookmarkId, fixedUrl);
- }
- }
- }
-
- super.onStop();
- }
-
- @Override
- protected void onDestroy() {
- recordOfflineButtonAction(false);
- if (OfflinePageBridge.isEnabled()) {
- mModel.getOfflinePageBridge().removeObserver(
- mOfflinePageModelObserver);
- }
- mModel.removeObserver(mBookmarkModelObserver);
- mModel.destroy();
- mModel = null;
- super.onDestroy();
- }
-
- private void updateOfflineSection() {
- assert OfflinePageBridge.isEnabled();
-
- // It is possible that callback arrives after the activity was dismissed.
- // See http://crbug.com/566939
- if (mModel == null) return;
-
- OfflinePageBridge offlinePageBridge = mModel.getOfflinePageBridge();
- offlinePageBridge.checkOfflinePageMetadata();
-
- Button saveRemoveVisitButton = (Button) findViewById(R.id.offline_page_save_remove_button);
- TextView offlinePageInfoTextView = (TextView) findViewById(R.id.offline_page_info_text);
-
- OfflinePageItem offlinePage = offlinePageBridge.getPageByBookmarkId(mBookmarkId);
- if (offlinePage != null) {
- // Offline page exists. Show information and button to remove.
- offlinePageInfoTextView.setText(
- getString(OfflinePageUtils.getStringId(
- R.string.offline_pages_as_bookmarks_offline_page_size),
- Formatter.formatFileSize(this, offlinePage.getFileSize())));
- updateButtonToDeleteOfflinePage(saveRemoveVisitButton);
- } else if (mWebContents != null && !mWebContents.isDestroyed()
- && offlinePageBridge.canSavePage(mWebContents.getLastCommittedUrl())) {
- // Offline page is not saved, but a bookmarked page is opened. Show save button.
- offlinePageInfoTextView.setText(
- getString(OfflinePageUtils.getStringId(R.string.bookmark_offline_page_none)));
- updateButtonToSaveOfflinePage(saveRemoveVisitButton);
- } else {
- // Offline page is not saved, and edit page was opened from the bookmarks UI, which
- // means there is no action the user can take any action - hide button.
- offlinePageInfoTextView.setText(getString(OfflinePageUtils.getStringId(
- R.string.offline_pages_as_bookmarks_offline_page_visit)));
- updateButtonToVisitOfflinePage(saveRemoveVisitButton);
- }
- }
-
- private void updateButtonToDeleteOfflinePage(final Button button) {
- mOfflineButtonType = OfflineButtonType.REMOVE;
- button.setText(getString(R.string.remove));
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- recordOfflineButtonAction(true);
- mModel.getOfflinePageBridge().deletePage(
- mBookmarkId, new DeletePageCallback() {
- @Override
- public void onDeletePageDone(int deletePageResult) {
- // TODO(fgorski): Add snackbar upon failure.
- // Always update UI, as buttons might be disabled.
- updateOfflineSection();
- }
- });
- button.setClickable(false);
- }
- });
- }
-
- private void updateButtonToSaveOfflinePage(final Button button) {
- mOfflineButtonType = OfflineButtonType.SAVE;
- button.setText(getString(R.string.save));
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- recordOfflineButtonAction(true);
- mModel.getOfflinePageBridge().savePage(
- mWebContents, mBookmarkId, new SavePageCallback() {
- @Override
- public void onSavePageDone(int savePageResult, String url) {
- // TODO(fgorski): Add snackbar upon failure.
- // Always update UI, as buttons might be disabled.
- updateOfflineSection();
- }
- });
- button.setClickable(false);
- }
- });
- }
-
- private void updateButtonToVisitOfflinePage(Button button) {
- mOfflineButtonType = OfflineButtonType.VISIT;
- button.setText(getString(R.string.bookmark_btn_offline_page_visit));
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- recordOfflineButtonAction(true);
- openBookmark();
- }
- });
- }
-
- private void openBookmark() {
- // TODO(kkimlabs): Refactor this out to handle the intent in ChromeActivity.
- // If this activity was started via startActivityForResult(), set the result. Otherwise,
- // launch the bookmark directly.
- if (getCallingActivity() != null) {
- Intent intent = new Intent();
- intent.putExtra(
- EnhancedBookmarkActivity.INTENT_VISIT_BOOKMARK_ID, mBookmarkId.toString());
- setResult(RESULT_OK, intent);
- } else {
- EnhancedBookmarkUtils.openBookmark(
- mModel, this, mBookmarkId, BookmarkLaunchLocation.BOOKMARK_EDITOR);
- }
- finish();
- }
-
- private void recordOfflineButtonAction(boolean clicked) {
- // If button type is not set, it means that either offline section is not shown or we have
- // already recorded the click action.
- if (mOfflineButtonType == OfflineButtonType.NONE) {
- return;
- }
-
- assert mOfflineButtonType == OfflineButtonType.SAVE
- || mOfflineButtonType == OfflineButtonType.REMOVE
- || mOfflineButtonType == OfflineButtonType.VISIT;
-
- if (clicked) {
- if (mOfflineButtonType == OfflineButtonType.SAVE) {
- RecordUserAction.record("OfflinePages.Edit.SaveButtonClicked");
- } else if (mOfflineButtonType == OfflineButtonType.REMOVE) {
- RecordUserAction.record("OfflinePages.Edit.RemoveButtonClicked");
- } else if (mOfflineButtonType == OfflineButtonType.VISIT) {
- RecordUserAction.record("OfflinePages.Edit.VisitButtonClicked");
- }
- } else {
- if (mOfflineButtonType == OfflineButtonType.SAVE) {
- RecordUserAction.record("OfflinePages.Edit.SaveButtonNotClicked");
- } else if (mOfflineButtonType == OfflineButtonType.REMOVE) {
- RecordUserAction.record("OfflinePages.Edit.RemoveButtonNotClicked");
- } else if (mOfflineButtonType == OfflineButtonType.VISIT) {
- RecordUserAction.record("OfflinePages.Edit.VisitButtonNotClicked");
- }
- }
-
- mOfflineButtonType = OfflineButtonType.NONE;
- }
-}

Powered by Google App Engine
This is Rietveld 408576698