Bug 1384870 - Show 'Folder updated' in snack bar after editing a bookmark folder. r?nechen
MozReview-Commit-ID: GVRDKvMzop7
--- 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>