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); |