Bug 1384870 - Show 'Folder updated' in snack bar after editing a bookmark folder. r?nechen draft
authorJing-wei Wu <topwu.tw@gmail.com>
Thu, 28 Sep 2017 14:57:49 +0800
changeset 671747 51096162c52f0d8bd700ed2b26307cb84827bbb1
parent 671588 0911f779e53a53f52223c9c7351306cc41f19d61
child 671792 990e75797d7648368f5ee7e29fa6e25dd854eaf3
push id82021
push userbmo:topwu.tw@gmail.com
push dateThu, 28 Sep 2017 07:00:10 +0000
reviewersnechen
bugs1384870
milestone58.0a1
Bug 1384870 - Show 'Folder updated' in snack bar after editing a bookmark folder. r?nechen MozReview-Commit-ID: GVRDKvMzop7
mobile/android/base/java/org/mozilla/gecko/bookmarks/EditBookmarkTask.java
mobile/android/base/locales/en-US/android_strings.dtd
mobile/android/base/strings.xml.in
--- a/mobile/android/base/java/org/mozilla/gecko/bookmarks/EditBookmarkTask.java
+++ b/mobile/android/base/java/org/mozilla/gecko/bookmarks/EditBookmarkTask.java
@@ -17,33 +17,33 @@ import org.mozilla.gecko.Telemetry;
 import org.mozilla.gecko.TelemetryContract;
 import org.mozilla.gecko.db.BrowserContract;
 import org.mozilla.gecko.db.BrowserDB;
 import org.mozilla.gecko.util.ThreadUtils;
 import org.mozilla.gecko.util.UIAsyncTask;
 
 import java.lang.ref.WeakReference;
 
-public class EditBookmarkTask extends UIAsyncTask.WithoutParams<Void> {
+public class EditBookmarkTask extends UIAsyncTask.WithoutParams<Integer> {
     private final WeakReference<Activity> activityWeakReference;
     private final BrowserDB db;
     private final ContentResolver contentResolver;
     private final Bundle bundle;
 
     public EditBookmarkTask(Activity activity, @NonNull Bundle bundle) {
         super(ThreadUtils.getBackgroundHandler());
 
         this.activityWeakReference = new WeakReference<>(activity);
         this.db = BrowserDB.from(activity);
         this.contentResolver = activity.getContentResolver();
         this.bundle = bundle;
     }
 
     @Override
-    public Void doInBackground() {
+    public Integer doInBackground() {
         final long bookmarkId = bundle.getLong(BrowserContract.Bookmarks._ID);
         final String url = bundle.getString(BrowserContract.Bookmarks.URL);
         final String title = bundle.getString(BrowserContract.Bookmarks.TITLE);
         final String keyword = bundle.getString(BrowserContract.Bookmarks.KEYWORD);
         final int type = bundle.getInt(BrowserContract.Bookmarks.TYPE);
 
         boolean parentChanged = false;
         if (bundle.containsKey(BrowserContract.Bookmarks.PARENT) &&
@@ -62,24 +62,30 @@ public class EditBookmarkTask extends UI
         } else {
             extras = "bookmark";
         }
         if (parentChanged) {
             extras += "_parent_changed";
         }
         Telemetry.sendUIEvent(TelemetryContract.Event.EDIT, TelemetryContract.Method.DIALOG, extras);
 
-        return null;
+        return type;
     }
 
     @Override
-    public void onPostExecute(Void result) {
+    public void onPostExecute(Integer type) {
         final Activity activity = activityWeakReference.get();
         if (activity == null || activity.isFinishing()) {
             return;
         }
 
+        final int messageResId;
+        if (type == BrowserContract.Bookmarks.TYPE_FOLDER) {
+            messageResId = R.string.bookmark_folder_updated;
+        } else {
+            messageResId = R.string.bookmark_updated;
+        }
         SnackbarBuilder.builder(activity)
-                .message(R.string.bookmark_updated)
+                .message(messageResId)
                 .duration(Snackbar.LENGTH_LONG)
                 .buildAndShow();
     }
 }
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -87,16 +87,17 @@
      and is labeled by this String. -->
 <!ENTITY screenshot_folder_label_in_bookmarks "Screenshots">
 <!ENTITY readinglist_smartfolder_label_in_bookmarks "Reading List">
 
 <!-- Localization note (bookmark_folder_items): The variable is replaced by the number of items
      in the folder. -->
 <!ENTITY bookmark_folder_items "&formatD; items">
 <!ENTITY bookmark_folder_one_item "1 item">
+<!ENTITY bookmark_folder_updated "Folder updated">
 <!ENTITY bookmark_parent_folder "Parent Folder">
 <!ENTITY bookmark_add_folder "Add new folder">
 
 <!ENTITY reader_saved_offline "Saved offline">
 <!-- Localization note (reader_switch_to_bookmarks) : This
      string is used as an action in a snackbar - it lets you
      "switch" to the bookmarks (saved items) panel. -->
 <!ENTITY reader_switch_to_bookmarks "Switch">
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -88,16 +88,17 @@
   <string name="bookmark_updated">&bookmark_updated;</string>
   <string name="bookmark_options">&bookmark_options;</string>
   <string name="bookmark_save">&bookmark_save;</string>
   <string name="screenshot_added_to_bookmarks">&screenshot_added_to_bookmarks;</string>
   <string name="screenshot_folder_label_in_bookmarks">&screenshot_folder_label_in_bookmarks;</string>
   <string name="readinglist_smartfolder_label_in_bookmarks">&readinglist_smartfolder_label_in_bookmarks;</string>
   <string name="bookmark_folder_items">&bookmark_folder_items;</string>
   <string name="bookmark_folder_one_item">&bookmark_folder_one_item;</string>
+  <string name="bookmark_folder_updated">&bookmark_folder_updated;</string>
   <string name="bookmark_parent_folder">&bookmark_parent_folder;</string>
   <string name="bookmark_add_folder">&bookmark_add_folder;</string>
 
   <string name="reader_saved_offline">&reader_saved_offline;</string>
   <string name="reader_switch_to_bookmarks">&reader_switch_to_bookmarks;</string>
 
   <string name="history_today_section">&history_today_section;</string>
   <string name="history_yesterday_section">&history_yesterday_section;</string>