Chromium Code Reviews| 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 f1244d606d45ed8819a49f0ecd475cf1fb099dc8..eda181393509a9e2514675cd919b38c02a27a26a 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 |
| @@ -6,6 +6,8 @@ package org.chromium.chrome.browser.enhancedbookmarks; |
| import android.os.Bundle; |
| import android.support.v7.widget.Toolbar; |
| +import android.text.Editable; |
| +import android.text.TextWatcher; |
| import android.view.Menu; |
| import android.view.MenuItem; |
| import android.view.View; |
| @@ -64,6 +66,7 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
| @Override |
| public void bookmarkModelChanged() { |
| + updateViewContent(); |
| } |
| }; |
| @@ -79,8 +82,22 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
| setContentView(R.layout.eb_edit); |
| mTitleEditText = (EmptyAlertEditText) findViewById(R.id.title_text); |
| - mUrlEditText = (EmptyAlertEditText) findViewById(R.id.url_text); |
| mFolderTextView = (TextView) findViewById(R.id.folder_text); |
| + mUrlEditText = (EmptyAlertEditText) findViewById(R.id.url_text); |
| + |
| + mTitleEditText.addTextChangedListener(new TextWatcher() { |
| + @Override |
| + public void onTextChanged(CharSequence s, int start, int before, int count) { |
| + mTitleEditText.validate(); |
| + } |
| + |
| + @Override |
| + public void beforeTextChanged(CharSequence s, int start, int count, int after) {} |
| + |
| + @Override |
| + public void afterTextChanged(Editable s) {} |
| + }); |
| + |
| mFolderTextView.setOnClickListener(new View.OnClickListener() { |
| @Override |
| public void onClick(View v) { |
| @@ -88,6 +105,22 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
| EnhancedBookmarkEditActivity.this, mBookmarkId); |
| } |
| }); |
| + |
| + mUrlEditText.addTextChangedListener(new TextWatcher() { |
| + @Override |
| + public void onTextChanged(CharSequence s, int start, int before, int count) { |
| + mUrlEditText.validate(); |
| + // TODO(kkimlabs): Warn user if UrlUtilities.fixupUrl fails since we can't save |
| + // unfixable URL anyways. |
| + } |
| + |
| + @Override |
| + public void beforeTextChanged(CharSequence s, int start, int count, int after) {} |
| + |
| + @Override |
| + public void afterTextChanged(Editable s) {} |
| + }); |
| + |
| Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); |
| setSupportActionBar(toolbar); |
| getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
| @@ -97,10 +130,16 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
| private void updateViewContent() { |
| BookmarkItem bookmarkItem = mEnhancedBookmarksModel.getBookmarkById(mBookmarkId); |
| - mTitleEditText.setText(bookmarkItem.getTitle()); |
| - mUrlEditText.setText(bookmarkItem.getUrl()); |
| - mFolderTextView.setText( |
| - mEnhancedBookmarksModel.getBookmarkTitle(bookmarkItem.getParentId())); |
| + if (!bookmarkItem.getTitle().equals(mTitleEditText.getTrimmedText())) { |
|
Ted C
2015/07/21 20:21:08
I would use TextUtils.equals for all of these.
Kibeom Kim (inactive)
2015/08/04 20:54:04
Done.
|
| + mTitleEditText.setText(bookmarkItem.getTitle()); |
| + } |
| + String folderTitle = mEnhancedBookmarksModel.getBookmarkTitle(bookmarkItem.getParentId()); |
| + if (!folderTitle.equals(mFolderTextView.getText().toString())) { |
|
Ted C
2015/07/21 20:21:08
I wonder if you need toString if you use TextUtils
Kibeom Kim (inactive)
2015/08/04 20:54:04
Done.
|
| + mFolderTextView.setText(folderTitle); |
| + } |
| + if (!bookmarkItem.getUrl().equals(mUrlEditText.getTrimmedText())) { |
| + mUrlEditText.setText(bookmarkItem.getUrl()); |
| + } |
| } |
| @Override |
| @@ -120,27 +159,25 @@ public class EnhancedBookmarkEditActivity extends EnhancedBookmarkActivityBase { |
| finish(); |
| return true; |
| } else if (item.getItemId() == android.R.id.home) { |
| - onBackPressed(); |
| + finish(); |
| return true; |
| } |
| return super.onOptionsItemSelected(item); |
| } |
| @Override |
| - public void onBackPressed() { |
| - String newTitle = mTitleEditText.getTrimmedText(); |
| - String newUrl = mUrlEditText.getTrimmedText(); |
| - newUrl = UrlUtilities.fixupUrl(newUrl); |
| - if (newUrl == null) newUrl = ""; |
| - mUrlEditText.setText(newUrl); |
| - |
| - if (!mTitleEditText.validate() || !mUrlEditText.validate()) return; |
| - |
| - mEnhancedBookmarksModel.setBookmarkTitle(mBookmarkId, newTitle); |
| - mEnhancedBookmarksModel.setBookmarkUrl(mBookmarkId, newUrl); |
| - super.onBackPressed(); |
| - } |
| + protected void onPause() { |
|
Ian Wen
2015/07/21 19:59:05
If seems if the user types a wrong url and click b
Kibeom Kim (inactive)
2015/08/04 20:54:04
discussed offline
|
| + if (mTitleEditText.isValid()) { |
| + mEnhancedBookmarksModel.setBookmarkTitle(mBookmarkId, mTitleEditText.getTrimmedText()); |
| + } |
| + if (mUrlEditText.isValid()) { |
| + String fixedUrl = UrlUtilities.fixupUrl(mUrlEditText.getTrimmedText()); |
| + if (fixedUrl != null) mEnhancedBookmarksModel.setBookmarkUrl(mBookmarkId, fixedUrl); |
| + } |
| + |
| + super.onPause(); |
| + } |
| @Override |
| protected void onDestroy() { |
| mEnhancedBookmarksModel.removeModelObserver(mBookmarkModelObserver); |