Bug 1257636 - Show "bookmarks are hidden" snackbar if necessary in migrated reading list panel r?liuche
MozReview-Commit-ID: BVbILiWMyfT
--- a/mobile/android/base/java/org/mozilla/gecko/home/ReadingListPanel.java
+++ b/mobile/android/base/java/org/mozilla/gecko/home/ReadingListPanel.java
@@ -6,19 +6,22 @@
package org.mozilla.gecko.home;
import android.os.Bundle;
import java.util.EnumSet;
import java.util.Locale;
import org.mozilla.gecko.AppConstants;
+import org.mozilla.gecko.GeckoSharedPrefs;
import org.mozilla.gecko.Locales;
import org.mozilla.gecko.R;
+import org.mozilla.gecko.SnackbarHelper;
+import android.support.design.widget.Snackbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
/**
* Fragment that used to display reading list contents in a ListView, and now directs
* users to Bookmarks to view their former reading-list content.
*/
@@ -28,18 +31,26 @@ public class ReadingListPanel extends Ho
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstance) {
final ViewGroup root = (ViewGroup) inflater.inflate(R.layout.readinglistpanel_gone_fragment, container, false);
// We could update the ID names - however this panel is only intended to be live for one
// release, hence there's little utility in optimising this code.
root.findViewById(R.id.welcome_account).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- mUrlOpenListener.onUrlOpen("about:home?panel=" + HomeConfig.getIdForBuiltinPanelType(HomeConfig.PanelType.BOOKMARKS),
- EnumSet.noneOf(HomePager.OnUrlOpenListener.Flags.class));
+ boolean areBookmarksEnabled = GeckoSharedPrefs.forProfile(getContext()).getBoolean(HomeConfig.PREF_KEY_BOOKMARKS_PANEL_ENABLED, true);
+
+ if (areBookmarksEnabled) {
+ mUrlOpenListener.onUrlOpen("about:home?panel=" + HomeConfig.getIdForBuiltinPanelType(HomeConfig.PanelType.BOOKMARKS),
+ EnumSet.noneOf(HomePager.OnUrlOpenListener.Flags.class));
+ } else {
+ SnackbarHelper.showSnackbar(getActivity(),
+ getResources().getString(R.string.reading_list_migration_bookmarks_hidden),
+ Snackbar.LENGTH_LONG);
+ }
}
});
root.findViewById(R.id.welcome_browse).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String link = getString(R.string.migrated_reading_list_url,
AppConstants.MOZ_APP_VERSION,
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -22,16 +22,17 @@
<!ENTITY onboard_start_button_browser "Start Browsing">
<!ENTITY firstrun_button_next "Next">
<!ENTITY onboard_start_restricted1 "Stay safe and in control with this simplified version of &brandShortName;.">
<!ENTITY reading_list_migration_title "Reading List connected">
<!ENTITY reading_list_migration_subtext "Your Reading List items will now be added to your Bookmarks">
<!ENTITY reading_list_migration_goto_bookmarks "Go to Bookmarks">
+<!ENTITY reading_list_migration_bookmarks_hidden "Your Bookmarks panel has been hidden">
<!-- Localization note: These are used as the titles of different pages on the home screen.
They are automatically converted to all caps by the Android platform. -->
<!ENTITY bookmarks_title "Bookmarks">
<!ENTITY history_title "History">
<!ENTITY reading_list_title "Reading List">
<!ENTITY recent_tabs_title "Recent Tabs">
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -361,16 +361,17 @@
<string name="site_settings_title">&site_settings_title3;</string>
<string name="site_settings_cancel">&site_settings_cancel;</string>
<string name="site_settings_clear">&site_settings_clear;</string>
<string name="reading_list_migration_title">&reading_list_migration_title;</string>
<string name="reading_list_migration_subtext">&reading_list_migration_subtext;</string>
<string name="reading_list_migration_goto_bookmarks">&reading_list_migration_goto_bookmarks;</string>
+ <string name="reading_list_migration_bookmarks_hidden">&reading_list_migration_bookmarks_hidden;</string>
<string name="page_action_dropmarker_description">&page_action_dropmarker_description;</string>
<string name="contextmenu_open_new_tab">&contextmenu_open_new_tab;</string>
<string name="contextmenu_open_private_tab">&contextmenu_open_private_tab;</string>
<string name="contextmenu_remove">&contextmenu_remove;</string>
<string name="contextmenu_add_to_launcher">&contextmenu_add_to_launcher;</string>
<string name="contextmenu_share">&contextmenu_share;</string>