Bug 1061721: Handle items already in bookmarks/reading list in overlays. r=rnewman
authorChris Kitching <chriskitching@linux.com>
Fri, 05 Sep 2014 16:53:51 -0700
changeset 205140 d996743af7a3816754ebe60c843b23f1e3180a76
parent 205059 2767fb9328d0caae48bb81f67c777562af5a6da4
child 205141 e129d6e07ac91219666fdd86cbcd0e3a808733ce
push id49106
push userphilringnalda@gmail.com
push dateSat, 13 Sep 2014 17:12:34 +0000
treeherdermozilla-inbound@ab04d0f2665f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrnewman
bugs1061721
milestone35.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1061721: Handle items already in bookmarks/reading list in overlays. r=rnewman
mobile/android/base/locales/en-US/android_strings.dtd
mobile/android/base/moz.build
mobile/android/base/overlays/service/OverlayActionService.java
mobile/android/base/overlays/service/ShareData.java
mobile/android/base/overlays/service/sharemethods/AddBookmark.java
mobile/android/base/overlays/service/sharemethods/AddToReadingList.java
mobile/android/base/overlays/service/sharemethods/SendTab.java
mobile/android/base/overlays/service/sharemethods/ShareMethod.java
mobile/android/base/overlays/ui/OverlayDialogButton.java
mobile/android/base/overlays/ui/ShareDialog.java
mobile/android/base/resources/anim/overlay_pop.xml
mobile/android/base/resources/color/overlay_btn_text.xml
mobile/android/base/resources/drawable-hdpi/overlay_bookmark_icon.png
mobile/android/base/resources/drawable-hdpi/overlay_bookmarked_already_icon.png
mobile/android/base/resources/drawable-hdpi/overlay_readinglist_already_icon.png
mobile/android/base/resources/drawable-hdpi/overlay_readinglist_icon.png
mobile/android/base/resources/drawable-hdpi/overlay_send_tab_icon.png
mobile/android/base/resources/drawable-mdpi/overlay_bookmark_icon.png
mobile/android/base/resources/drawable-mdpi/overlay_bookmarked_already_icon.png
mobile/android/base/resources/drawable-mdpi/overlay_readinglist_already_icon.png
mobile/android/base/resources/drawable-mdpi/overlay_readinglist_icon.png
mobile/android/base/resources/drawable-mdpi/overlay_send_tab_icon.png
mobile/android/base/resources/drawable-xhdpi/overlay_bookmark_icon.png
mobile/android/base/resources/drawable-xhdpi/overlay_bookmarked_already_icon.png
mobile/android/base/resources/drawable-xhdpi/overlay_readinglist_already_icon.png
mobile/android/base/resources/drawable-xhdpi/overlay_readinglist_icon.png
mobile/android/base/resources/drawable-xhdpi/overlay_send_tab_icon.png
mobile/android/base/resources/drawable-xxhdpi/overlay_bookmark_icon.png
mobile/android/base/resources/drawable-xxhdpi/overlay_bookmarked_already_icon.png
mobile/android/base/resources/drawable-xxhdpi/overlay_readinglist_already_icon.png
mobile/android/base/resources/drawable-xxhdpi/overlay_readinglist_icon.png
mobile/android/base/resources/drawable-xxhdpi/overlay_send_tab_icon.png
mobile/android/base/resources/layout/overlay_share_button.xml
mobile/android/base/resources/layout/overlay_share_dialog.xml
mobile/android/base/resources/layout/overlay_share_send_tab_item.xml
mobile/android/base/resources/values/colors.xml
mobile/android/base/resources/values/styles.xml
mobile/android/base/strings.xml.in
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -95,16 +95,18 @@
      send to another device, or add to Reading List. -->
 <!ENTITY overlay_share_label "Add to &brandShortName;">
 
 <!-- Localization note (overlay_share_bookmark_btn_label) : This string is
      used in the share overlay menu to select an action. It is the verb
      "to bookmark", not the noun "a bookmark". -->
 <!ENTITY overlay_share_bookmark_btn_label "Bookmark">
 <!ENTITY overlay_share_reading_list_btn_label "Add to Reading List">
+<!ENTITY overlay_share_bookmark_btn_label_already "Already bookmarked">
+<!ENTITY overlay_share_reading_list_btn_label_already "Already in Reading List">
 <!ENTITY overlay_share_send_other "Send to other devices">
 
 <!-- Localization note (overlay_share_send_tab_btn_label) : Used on the
      share overlay menu to represent the "Send Tab" action when the user
      either has not set up Sync, or has no other devices to send a tab
      to. -->
 <!ENTITY overlay_share_send_tab_btn_label "Send to another device">
 <!ENTITY overlay_share_no_url "No link found in this share">
--- a/mobile/android/base/moz.build
+++ b/mobile/android/base/moz.build
@@ -490,21 +490,23 @@ gbjar.generated_sources += [
 if CONFIG['MOZ_CRASHREPORTER']:
     gbjar.sources += [ 'CrashReporter.java' ]
     ANDROID_RES_DIRS += [ SRCDIR + '/crashreporter/res' ]
 
 if CONFIG['MOZ_ANDROID_SHARE_OVERLAY']:
     gbjar.sources += [
         'overlays/OverlayConstants.java',
         'overlays/service/OverlayActionService.java',
+        'overlays/service/ShareData.java',
         'overlays/service/sharemethods/AddBookmark.java',
         'overlays/service/sharemethods/AddToReadingList.java',
         'overlays/service/sharemethods/ParcelableClientRecord.java',
         'overlays/service/sharemethods/SendTab.java',
         'overlays/service/sharemethods/ShareMethod.java',
+        'overlays/ui/OverlayDialogButton.java',
         'overlays/ui/OverlayToastHelper.java',
         'overlays/ui/SendTabDeviceListArrayAdapter.java',
         'overlays/ui/SendTabList.java',
         'overlays/ui/SendTabTargetSelectedListener.java',
         'overlays/ui/ShareDialog.java',
     ]
 
 gbjar.sources += sync_java_files
--- a/mobile/android/base/overlays/service/OverlayActionService.java
+++ b/mobile/android/base/overlays/service/OverlayActionService.java
@@ -95,32 +95,27 @@ public class OverlayActionService extend
         shareTypes.put(ShareMethod.Type.ADD_TO_READING_LIST, new AddToReadingList(context));
         shareTypes.put(ShareMethod.Type.SEND_TAB, new SendTab(context));
     }
 
     public void handleShare(final Intent intent) {
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
-                Bundle extras = intent.getExtras();
-
-                // Fish the parameters out of the Intent.
-                final String url = extras.getString(OverlayConstants.EXTRA_URL);
-                final String title = extras.getString(OverlayConstants.EXTRA_TITLE);
-                final Parcelable extra = extras.getParcelable(OverlayConstants.EXTRA_PARAMETERS);
-
-                if (url == null) {
-                    Log.e(LOGTAG, "Null url passed to handleShare!");
+                ShareData shareData;
+                try {
+                    shareData = ShareData.fromIntent(intent);
+                } catch (IllegalArgumentException e) {
+                    Log.e(LOGTAG, "Error parsing share intent: ", e);
                     return;
                 }
 
-                ShareMethod.Type shareMethodType = (ShareMethod.Type) extras.get(EXTRA_SHARE_METHOD);
-                ShareMethod shareMethod = shareTypes.get(shareMethodType);
+                ShareMethod shareMethod = shareTypes.get(shareData.shareMethodType);
 
-                final ShareMethod.Result result = shareMethod.handle(title, url, extra);
+                final ShareMethod.Result result = shareMethod.handle(shareData);
                 // Dispatch the share to the targeted ShareMethod.
                 switch (result) {
                     case SUCCESS:
                         // \o/
                         OverlayToastHelper.showSuccessToast(getApplicationContext(), shareMethod.getSuccessMesssage());
                         break;
                     case TRANSIENT_FAILURE:
                         // An OnClickListener to do this share again.
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/overlays/service/ShareData.java
@@ -0,0 +1,48 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package org.mozilla.gecko.overlays.service;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Parcelable;
+import org.mozilla.gecko.overlays.OverlayConstants;
+import org.mozilla.gecko.overlays.service.sharemethods.ShareMethod;
+
+import static org.mozilla.gecko.overlays.OverlayConstants.EXTRA_SHARE_METHOD;
+
+/**
+ * Class to hold information related to a particular request to perform a share.
+ */
+public class ShareData {
+    private static final String LOGTAG = "GeckoShareRequest";
+
+    public final String url;
+    public final String title;
+    public final Parcelable extra;
+    public final ShareMethod.Type shareMethodType;
+
+    public ShareData(String url, String title, Parcelable extra, ShareMethod.Type shareMethodType) {
+        if (url == null) {
+            throw new IllegalArgumentException("Null url passed to ShareData!");
+        }
+
+        this.url = url;
+        this.title = title;
+        this.extra = extra;
+        this.shareMethodType = shareMethodType;
+    }
+
+    public static ShareData fromIntent(Intent intent) {
+        Bundle extras = intent.getExtras();
+
+        // Fish the parameters out of the Intent.
+        final String url = extras.getString(OverlayConstants.EXTRA_URL);
+        final String title = extras.getString(OverlayConstants.EXTRA_TITLE);
+        final Parcelable extra = extras.getParcelable(OverlayConstants.EXTRA_PARAMETERS);
+        ShareMethod.Type shareMethodType = (ShareMethod.Type) extras.get(EXTRA_SHARE_METHOD);
+
+        return new ShareData(url, title, extra, shareMethodType);
+    }
+}
--- a/mobile/android/base/overlays/service/sharemethods/AddBookmark.java
+++ b/mobile/android/base/overlays/service/sharemethods/AddBookmark.java
@@ -1,30 +1,30 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.overlays.service.sharemethods;
 
 import android.content.ContentResolver;
 import android.content.Context;
-import android.os.Parcelable;
 import org.mozilla.gecko.GeckoProfile;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.db.LocalBrowserDB;
+import org.mozilla.gecko.overlays.service.ShareData;
 
 public class AddBookmark extends ShareMethod {
     private static final String LOGTAG = "GeckoAddBookmark";
 
     @Override
-    public Result handle(String title, String url, Parcelable unused) {
+    public Result handle(ShareData shareData) {
         ContentResolver resolver = context.getContentResolver();
 
         LocalBrowserDB browserDB = new LocalBrowserDB(GeckoProfile.DEFAULT_PROFILE);
-        browserDB.addBookmark(resolver, title, url);
+        browserDB.addBookmark(resolver, shareData.title, shareData.url);
 
         return Result.SUCCESS;
     }
 
     public String getSuccessMesssage() {
         return context.getResources().getString(R.string.bookmark_added);
     }
 
--- a/mobile/android/base/overlays/service/sharemethods/AddToReadingList.java
+++ b/mobile/android/base/overlays/service/sharemethods/AddToReadingList.java
@@ -2,42 +2,42 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.overlays.service.sharemethods;
 
 import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
-import android.os.Parcelable;
 import org.mozilla.gecko.GeckoProfile;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.db.LocalBrowserDB;
+import org.mozilla.gecko.overlays.service.ShareData;
 
 import static org.mozilla.gecko.db.BrowserContract.Bookmarks;
 
 /**
  * ShareMethod to add a page to the reading list.
  *
  * Inserts the given URL/title pair into the reading list database.
  * TODO: In the event the page turns out not to be reader-mode-compatible, freezes sometimes occur
  * when we subsequently load the page in reader mode. (Bug 1044781)
  */
 public class AddToReadingList extends ShareMethod {
     private static final String LOGTAG = "GeckoAddToReadingList";
 
     @Override
-    public Result handle(String title, String url, Parcelable unused) {
+    public Result handle(ShareData shareData) {
         ContentResolver resolver = context.getContentResolver();
 
         LocalBrowserDB browserDB = new LocalBrowserDB(GeckoProfile.DEFAULT_PROFILE);
 
         ContentValues values = new ContentValues();
-        values.put(Bookmarks.TITLE, title);
-        values.put(Bookmarks.URL, url);
+        values.put(Bookmarks.TITLE, shareData.title);
+        values.put(Bookmarks.URL, shareData.url);
 
         browserDB.addReadingListItem(resolver, values);
 
         return Result.SUCCESS;
     }
 
     @Override
     public String getSuccessMesssage() {
--- a/mobile/android/base/overlays/service/sharemethods/SendTab.java
+++ b/mobile/android/base/overlays/service/sharemethods/SendTab.java
@@ -17,16 +17,17 @@ import android.util.Log;
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.fxa.FirefoxAccounts;
 import org.mozilla.gecko.fxa.FxAccountConstants;
 import org.mozilla.gecko.fxa.activities.FxAccountGetStartedActivity;
 import org.mozilla.gecko.fxa.activities.FxAccountStatusActivity;
 import org.mozilla.gecko.fxa.authenticator.AndroidFxAccount;
 import org.mozilla.gecko.fxa.login.State;
 import org.mozilla.gecko.overlays.OverlayConstants;
+import org.mozilla.gecko.overlays.service.ShareData;
 import org.mozilla.gecko.sync.CommandProcessor;
 import org.mozilla.gecko.sync.CommandRunner;
 import org.mozilla.gecko.sync.GlobalSession;
 import org.mozilla.gecko.sync.SyncConfiguration;
 import org.mozilla.gecko.sync.SyncConstants;
 import org.mozilla.gecko.sync.repositories.NullCursorException;
 import org.mozilla.gecko.sync.repositories.android.ClientsDatabaseAccessor;
 import org.mozilla.gecko.sync.repositories.domain.ClientRecord;
@@ -61,25 +62,25 @@ public class SendTab extends ShareMethod
     public static final String OVERRIDE_INTENT = "OVERRIDE_INTENT";
 
     private Set<String> validGUIDs;
 
     // A TabSender appropriate to the account type we're connected to.
     private TabSender tabSender;
 
     @Override
-    public Result handle(String title, String url, Parcelable extra) {
-        if (extra == null) {
+    public Result handle(ShareData shareData) {
+        if (shareData.extra == null) {
             Log.e(LOGTAG, "No target devices specified!");
 
             // Retrying with an identical lack of devices ain't gonna fix it...
             return Result.PERMANENT_FAILURE;
         }
 
-        String[] targetGUIDs = ((Bundle) extra).getStringArray(SEND_TAB_TARGET_DEVICES);
+        String[] targetGUIDs = ((Bundle) shareData.extra).getStringArray(SEND_TAB_TARGET_DEVICES);
 
         // Ensure all target GUIDs are devices we actually know about.
         if (!validGUIDs.containsAll(Arrays.asList(targetGUIDs))) {
             // Find the set of invalid GUIDs to provide a nice error message.
             Log.e(LOGTAG, "Not all provided GUIDs are real devices:");
             for (String targetGUID : targetGUIDs) {
                 if (!validGUIDs.contains(targetGUID)) {
                     Log.e(LOGTAG, "Invalid GUID: " + targetGUID);
@@ -103,17 +104,17 @@ public class SendTab extends ShareMethod
             // fix everything for us...
             return Result.TRANSIENT_FAILURE;
         }
 
         // Queue up the share commands for each destination device.
         // Remember that ShareMethod.handle is always run on the background thread, so the database
         // access here is of no concern.
         for (int i = 0; i < targetGUIDs.length; i++) {
-            processor.sendURIToClientForDisplay(url, targetGUIDs[i], title, accountGUID, context);
+            processor.sendURIToClientForDisplay(shareData.url, targetGUIDs[i], shareData.title, accountGUID, context);
         }
 
         // Request an immediate sync to push these new commands to the network ASAP.
         Log.i(LOGTAG, "Requesting immediate clients stage sync.");
         tabSender.sync();
 
         return Result.SUCCESS;
         // ... Probably.
--- a/mobile/android/base/overlays/service/sharemethods/ShareMethod.java
+++ b/mobile/android/base/overlays/service/sharemethods/ShareMethod.java
@@ -2,16 +2,17 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.overlays.service.sharemethods;
 
 import android.content.Context;
 import android.os.Parcel;
 import android.os.Parcelable;
+import org.mozilla.gecko.overlays.service.ShareData;
 
 /**
  * Represents a method of sharing a URL/title. Add a bookmark? Send to a device? Add to reading list?
  */
 public abstract class ShareMethod {
     protected final Context context;
 
     public ShareMethod(Context aContext) {
@@ -25,24 +26,17 @@ public abstract class ShareMethod {
      *
      * @param title The page title for the page being shared. May be null if none can be found.
      * @param url The URL of the page to be shared. Never null.
      * @param extra A Parcelable of ShareMethod-specific parameters that may be provided by the
      *              caller. Generally null, but this field may be used to provide extra input to
      *              the ShareMethod (such as the device to share to in the case of SendTab).
      * @return true if the attempt to share was a success. False in the event of an error.
      */
-    public abstract Result handle(String title, String url, Parcelable extra);
-
-    /**
-     * Convenience method for calling handlers on objects that don't require extra data.
-     */
-    public Result handle(String title, String url) {
-        return handle(title, url, null);
-    }
+    public abstract Result handle(ShareData shareData);
 
     public abstract String getSuccessMesssage();
     public abstract String getFailureMessage();
 
     /**
      * Enum representing the possible results of performing a share.
      */
     public static enum Result {
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/overlays/ui/OverlayDialogButton.java
@@ -0,0 +1,152 @@
+/* -*- Mode: Java; c-basic-offset: 4; tab-width: 4; indent-tabs-mode: nil; -*-
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package org.mozilla.gecko.overlays.ui;
+
+import android.util.AttributeSet;
+import org.mozilla.gecko.R;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+/**
+ * A button in the share overlay, such as the "Add to Reading List" button.
+ * Has an associated icon and label, and two states: enabled and disabled.
+ *
+ * When disabled, tapping results in a "pop" animation causing the icon to pulse. When enabled,
+ * tapping calls the OnClickListener set by the consumer in the usual way.
+ */
+public class OverlayDialogButton extends LinearLayout {
+    private static final String LOGTAG = "GeckoOverlayDialogButton";
+
+    // The views making up this button.
+    private ImageView icon;
+    private TextView label;
+
+    // Label/icon used when enabled.
+    private String enabledLabel;
+    private Drawable enabledIcon;
+
+    // Label/icon used when disabled.
+    private String disabledLabel;
+    private Drawable disabledIcon;
+
+    // Click listeners used when enabled/disabled. Currently, disabledOnClickListener is set
+    // intenally to something that causes the icon to pulse.
+    private OnClickListener enabledOnClickListener;
+    private OnClickListener disabledOnClickListener;
+
+    private boolean isEnabled = true;
+
+    public OverlayDialogButton(Context context) {
+        super(context);
+        init(context);
+    }
+
+    public OverlayDialogButton(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        init(context);
+    }
+
+    public OverlayDialogButton(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+        init(context);
+    }
+
+    private void init(Context context) {
+        setOrientation(HORIZONTAL);
+        setPadding(0, 0, 0, 0);
+        setBackgroundResource(R.drawable.overlay_share_button_background);
+
+        LayoutInflater.from(context).inflate(R.layout.overlay_share_button, this);
+        icon = (ImageView) findViewById(R.id.overlaybtn_icon);
+        label = (TextView) findViewById(R.id.overlaybtn_label);
+    }
+
+    public void setEnabledLabelAndIcon(String s, Drawable d) {
+        enabledLabel = s;
+        enabledIcon = d;
+
+        if (isEnabled) {
+            updateViews();
+        }
+    }
+
+    public void setDisabledLabelAndIcon(String s, Drawable d) {
+        disabledLabel = s;
+        disabledIcon = d;
+
+        if (!isEnabled) {
+            updateViews();
+        }
+    }
+
+    /**
+     * Assign the appropriate label and icon to the views, and update the onClickListener for this
+     * view to the correct one (based on current enabledness state).
+     */
+    private void updateViews() {
+        label.setEnabled(isEnabled);
+        if (isEnabled) {
+            label.setText(enabledLabel);
+            icon.setImageDrawable(enabledIcon);
+            super.setOnClickListener(enabledOnClickListener);
+        } else {
+            label.setText(disabledLabel);
+            icon.setImageDrawable(disabledIcon);
+            super.setOnClickListener(getPopListener());
+        }
+    }
+
+    /**
+     * Helper method to lazily-initialise disabledOnClickListener to a listener that performs the
+     * "pop" animation on the icon.
+     * updateViews handles making this the actual onClickListener for this view.
+     */
+    private OnClickListener getPopListener() {
+        if (disabledOnClickListener == null) {
+            disabledOnClickListener = new OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    Animation anim = AnimationUtils.loadAnimation(getContext(), R.anim.overlay_pop);
+                    icon.startAnimation(anim);
+                }
+            };
+        }
+
+        return disabledOnClickListener;
+    }
+
+    @Override
+    public void setOnClickListener(OnClickListener l) {
+        enabledOnClickListener = l;
+
+        if (isEnabled) {
+            updateViews();
+        }
+    }
+
+    /**
+     * Set the enabledness state of this view. We don't call super.setEnabled, as we want to remain
+     * clickable even in the disabled state (but with a different click listener).
+     */
+    @Override
+    public void setEnabled(boolean enabled) {
+        if (enabled == isEnabled) {
+            return;
+        }
+
+        isEnabled = enabled;
+        updateViews();
+    }
+}
--- a/mobile/android/base/overlays/ui/ShareDialog.java
+++ b/mobile/android/base/overlays/ui/ShareDialog.java
@@ -1,40 +1,47 @@
 /* -*- Mode: Java; c-basic-offset: 4; tab-width: 20; indent-tabs-mode: nil; -*-
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko.overlays.ui;
 
 import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.res.Resources;
+import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.Parcelable;
 import android.support.v4.content.LocalBroadcastManager;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.animation.Animation;
 import android.view.animation.AnimationUtils;
 import android.widget.TextView;
 import android.widget.Toast;
 
 import org.mozilla.gecko.Assert;
+import org.mozilla.gecko.GeckoProfile;
 import org.mozilla.gecko.R;
+import org.mozilla.gecko.db.LocalBrowserDB;
 import org.mozilla.gecko.overlays.OverlayConstants;
 import org.mozilla.gecko.overlays.service.OverlayActionService;
 import org.mozilla.gecko.overlays.service.sharemethods.ParcelableClientRecord;
 import org.mozilla.gecko.overlays.service.sharemethods.SendTab;
 import org.mozilla.gecko.overlays.service.sharemethods.ShareMethod;
 import org.mozilla.gecko.LocaleAware;
 import org.mozilla.gecko.sync.setup.activities.WebURLFinder;
+import org.mozilla.gecko.util.ThreadUtils;
+import org.mozilla.gecko.util.UIAsyncTask;
 
 /**
  * A transparent activity that displays the share overlay.
  */
 public class ShareDialog extends LocaleAware.LocaleAwareActivity implements SendTabTargetSelectedListener {
     private static final String LOGTAG = "GeckoShareDialog";
 
     private String url;
@@ -86,37 +93,39 @@ public class ShareDialog extends LocaleA
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
         getWindow().setWindowAnimations(0);
 
         Intent intent = getIntent();
+        final Resources resources = getResources();
 
         // The URL is usually hiding somewhere in the extra text. Extract it.
-        String extraText = intent.getStringExtra(Intent.EXTRA_TEXT);
-        String pageUrl = new WebURLFinder(extraText).bestWebURL();
+        final String extraText = intent.getStringExtra(Intent.EXTRA_TEXT);
+        final String pageUrl = new WebURLFinder(extraText).bestWebURL();
 
         if (TextUtils.isEmpty(pageUrl)) {
             Log.e(LOGTAG, "Unable to process shared intent. No URL found!");
 
             // Display toast notifying the user of failure (most likely a developer who screwed up
             // trying to send a share intent).
-            Toast toast = Toast.makeText(this, getResources().getText(R.string.overlay_share_no_url), Toast.LENGTH_SHORT);
+            Toast toast = Toast.makeText(this, resources.getText(R.string.overlay_share_no_url), Toast.LENGTH_SHORT);
             toast.show();
             finish();
 
             return;
         }
 
         setContentView(R.layout.overlay_share_dialog);
 
+
         LocalBroadcastManager.getInstance(this).registerReceiver(uiEventListener,
-                                                                 new IntentFilter(OverlayConstants.SHARE_METHOD_UI_EVENT));
+                                                                  new IntentFilter(OverlayConstants.SHARE_METHOD_UI_EVENT));
 
         // Have the service start any initialisation work that's necessary for us to show the correct
         // UI. The results of such work will come in via the BroadcastListener.
         Intent serviceStartupIntent = new Intent(this, OverlayActionService.class);
         serviceStartupIntent.setAction(OverlayConstants.ACTION_PREPARE_SHARE);
         startService(serviceStartupIntent);
 
         // If provided, we use the subject text to give us something nice to display.
@@ -138,41 +147,96 @@ public class ShareDialog extends LocaleA
         subtitleView.setSingleLine(true);
         subtitleView.setMarqueeRepeatLimit(5);
         subtitleView.setSelected(true);
 
         // Start the slide-up animation.
         Animation anim = AnimationUtils.loadAnimation(this, R.anim.overlay_slide_up);
         findViewById(R.id.sharedialog).startAnimation(anim);
 
-        // Add button event listeners.
+        // Configure buttons.
+        final OverlayDialogButton bookmarkBtn = (OverlayDialogButton) findViewById(R.id.overlay_share_bookmark_btn);
 
-        findViewById(R.id.overlay_share_bookmark_btn).setOnClickListener(new View.OnClickListener() {
+        final String bookmarkEnabledLabel = resources.getString(R.string.overlay_share_bookmark_btn_label);
+        final Drawable bookmarkEnabledIcon = resources.getDrawable(R.drawable.overlay_bookmark_icon);
+        bookmarkBtn.setEnabledLabelAndIcon(bookmarkEnabledLabel, bookmarkEnabledIcon);
+
+        final String bookmarkDisabledLabel = resources.getString(R.string.overlay_share_bookmark_btn_label_already);
+        final Drawable bookmarkDisabledIcon = resources.getDrawable(R.drawable.overlay_bookmarked_already_icon);
+        bookmarkBtn.setDisabledLabelAndIcon(bookmarkDisabledLabel, bookmarkDisabledIcon);
+
+        bookmarkBtn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 addBookmark();
             }
         });
 
-        findViewById(R.id.overlay_share_reading_list_btn).setOnClickListener(new View.OnClickListener() {
+        final OverlayDialogButton readinglistBtn = (OverlayDialogButton) findViewById(R.id.overlay_share_reading_list_btn);
+
+        final String readingListEnabledLabel = resources.getString(R.string.overlay_share_reading_list_btn_label);
+        final Drawable readingListEnabledIcon = resources.getDrawable(R.drawable.overlay_readinglist_icon);
+        readinglistBtn.setEnabledLabelAndIcon(readingListEnabledLabel, readingListEnabledIcon);
+
+        final String readingListDisabledLabel = resources.getString(R.string.overlay_share_reading_list_btn_label_already);
+        final Drawable readingListDisabledIcon = resources.getDrawable(R.drawable.overlay_readinglist_already_icon);
+        readinglistBtn.setDisabledLabelAndIcon(readingListDisabledLabel, readingListDisabledIcon);
+
+        readinglistBtn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
                 addToReadingList();
             }
         });
 
         // Send tab.
         SendTabList sendTabList = (SendTabList) findViewById(R.id.overlay_send_tab_btn);
 
         // Register ourselves as both the listener and the context for the Adapter.
         SendTabDeviceListArrayAdapter adapter = new SendTabDeviceListArrayAdapter(this, this);
         sendTabList.setAdapter(adapter);
         sendTabList.setSendTabTargetSelectedListener(this);
     }
 
+    @Override
+    protected void onResume() {
+        super.onResume();
+
+        LocalBrowserDB browserDB = new LocalBrowserDB(getCurrentProfile());
+        disableButtonsIfAlreadyAdded(url, browserDB);
+    }
+
+    /**
+     * Disables the bookmark/reading list buttons if the given URL is already in the corresponding
+     * list.
+     */
+    private void disableButtonsIfAlreadyAdded(final String pageURL, final LocalBrowserDB browserDB) {
+        new UIAsyncTask.WithoutParams<Void>(ThreadUtils.getBackgroundHandler()) {
+            // Flags to hold the result
+            boolean isBookmark;
+            boolean isReadingListItem;
+
+            @Override
+            protected Void doInBackground() {
+                final ContentResolver contentResolver = getApplicationContext().getContentResolver();
+
+                isBookmark = browserDB.isBookmark(contentResolver, pageURL);
+                isReadingListItem = browserDB.isReadingListItem(contentResolver, pageURL);
+
+                return null;
+            }
+
+            @Override
+            protected void onPostExecute(Void aVoid) {
+                findViewById(R.id.overlay_share_bookmark_btn).setEnabled(!isBookmark);
+                findViewById(R.id.overlay_share_reading_list_btn).setEnabled(!isReadingListItem);
+            }
+        }.execute();
+    }
+
     /**
      * Helper method to get an overlay service intent populated with the data held in this dialog.
      */
     private Intent getServiceIntent(ShareMethod.Type method) {
         final Intent serviceIntent = new Intent(this, OverlayActionService.class);
         serviceIntent.setAction(OverlayConstants.ACTION_SHARE);
 
         serviceIntent.putExtra(OverlayConstants.EXTRA_SHARE_METHOD, (Parcelable) method);
@@ -231,16 +295,20 @@ public class ShareDialog extends LocaleA
         slideOut();
     }
 
     public void addBookmark() {
         startService(getServiceIntent(ShareMethod.Type.ADD_BOOKMARK));
         slideOut();
     }
 
+    private String getCurrentProfile() {
+        return GeckoProfile.DEFAULT_PROFILE;
+    }
+
     /**
      * Slide the overlay down off the screen and destroy it.
      */
     private void slideOut() {
         if (isAnimating) {
             return;
         }
 
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/resources/anim/overlay_pop.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android"
+    android:fillAfter="true" >
+
+    <scale
+        android:duration="300"
+        android:fromXScale="1"
+        android:fromYScale="1"
+        android:pivotX="50%"
+        android:pivotY="50%"
+        android:toXScale="2"
+        android:toYScale="2" >
+    </scale>
+
+    <scale
+        android:duration="300"
+        android:fromXScale="1"
+        android:fromYScale="1"
+        android:pivotX="50%"
+        android:pivotY="50%"
+        android:toXScale="0.5"
+        android:toYScale="0.5" >
+    </scale>
+
+</set>
copy from mobile/android/base/resources/color/primary_text.xml
copy to mobile/android/base/resources/color/overlay_btn_text.xml
--- a/mobile/android/base/resources/color/primary_text.xml
+++ b/mobile/android/base/resources/color/overlay_btn_text.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <item android:state_enabled="false" android:color="@color/text_color_primary_disable_only" />
-    <item android:color="@color/text_color_primary"/>
+    <item android:state_enabled="false" android:color="@color/text_color_overlaybtn_disabled" />
+    <item android:color="@color/text_color_overlaybtn" />
 
 </selector>
index b8536484cd5737f5316ee25397f5e5cb980c0e0b..f3ef465227367e5b02db9728f545c9ad5f2dc195
GIT binary patch
literal 4483
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
V!hjU0C-eXS002ovPDHLkV1i7Oz3c!0
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..59d2e72e9a29e448fafec5572ef81004b337aeea
GIT binary patch
literal 951
zc%17D@N?(olHy`uVBq!ia0vp^dO)np!3-pyeO|emfq}6$z$e6&0R}=tLmeC(($dm^
zjD&;)Afu$DBr7YctgI|IH@BdmAUiu7C{kKl3KS_SDk=nnVlXH#F9(u9aUcm)17rY2
zfGQzuAOpgM=!M7vNw_RT5TXn&0w>GC09gdWfC$1#WGm35%3uH&8%+dmBb<R|5iZlp
zF#uN6;G}h6{YhZZ*OdhM1v4-*F|)9;ad2_-@bU==i%H1HDye8_=^C4unp;>|JGr{K
zdw2zfghj{1#>FS5q-Nyi<rfqdl~h($*VNTFHZ`}jws&^-^z~1eJZ<{SS&NsfSi5fh
z=B?Xy?cTF*|G}fD&YV4e^~TNHckbPP@aXZAr_WxzdH3=2m#^P{{QUjr@4wln4xa}m
ziEK|7$B+uf-b<XjxdIv39<1jSKBdQ<s<<g*LT$gtH`T~Z9@7E>BOjUF&);7@>)FiA
zb92sB)*tTn2(P<iyx=Xz$?glO|5SdK%bLtxu$amA^#02q({;CqywGxX|HB=-|C)pI
zym>-bl60%uG&P>S*v+$4t+rW3<eTveCXstaEB130b*^oHUl4Zo)G~#Loo_RKM&3?a
za_{u2sh){iwQK*KT^98I=-Iane!=mqFDCus*|Tup`UBJIucW?bo$%Y=SN-9M{*_N<
zVy5}>s#bJ`?B=~+x$2Jlh0=51FC6I6dR{5yeuDXwZG5A_W5HA@H5bWKGEObYQ+9T7
zm}`8N5S$nEj9F=m#%F1zWS5m+1#*_$(c}0Q_|AgGb#Cvz-8@z1X%4bY;a~RN>n!Qr
zcV3|6MdrK4WcTKItP3L!Eqi_Wpv1DW{m-wYwd6c-xgNz9|K@<ZUy9(SDwj?5*N&{I
sSa?`<wm@0hg?&?6PS{+Py4RF0ct488d_r!$IVkgay85}Sb4q9e08QSpxBvhE
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..761dad952a3c7351096b036132d42ba5d4b24006
GIT binary patch
literal 3554
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
index bac00e61ee9c42c641603d3fd02c090eb25a6e9f..2d3d7c3a5992ec816ae634a45db917527bb51c1c
GIT binary patch
literal 3734
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
AuK)l5
index 3f5700d47451225022adbd0be1fbc56fd1108307..0358a0e32b63603312a1509647b810505f800ef5
GIT binary patch
literal 4104
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
GLSTaVXaceT
index c9489e49e2c49527849c2c9c24ef3ea561c5b166..c2a3b0bacdeee5af1b01cca98e9874b55715b1b0
GIT binary patch
literal 3895
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
FV1fy2q(}e&
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..2d1fd9fe46afec0efaf1464f8b809234d70a032f
GIT binary patch
literal 710
zc%17D@N?(olHy`uVBq!ia0vp^@<1%d!3-oH>zJ-%U|>`T@Ck8c00RdHhqSb`+}zy4
z!a^XUq@)DME+{Afa<j9uOG``3%F2N3;^Jb6U?~_B6%`eOK?xWDxj;c67pNG>EiW&J
zXoM&(0|R6>L;(;08D%g4;UbH`6=RZ^04@vHg(;57#cDW&oSt-13K&4~B|(0{42&$S
z?3`TOd;&tk5>nFg3QEeVY8qNPdiqADX681wu5LblA>om+8AVlf%`I(R-IJzGpE+yx
zoVoMnFIl>B)tYsiw(Q-1;PBatm#^Nu|Mc0**YDnc`1IxL_a8rh{r>a!-@ZDhQ$VY}
zdAc};NJ!Qm<WxSCz`*w4y6=gzGADgc*2;Gl9hs1ME$8Lm|NjrodU*R=tu4RPuJ>|6
z8Hw#S?NR^PU-mg@x}P@;sapNT!a3l?rE-Ry^UQy}QCVWd^Tu)6>#2>m6r8No!p%PS
z&;JvAeSL9ul=`eKo7LNcO8+Xc+H7Xs%&WRBfUPZlMT!sOj1>U~=eS<p;;5<JD_^Xp
z`iAw7S9DL|^pE)$(~ex%a=G1O;d+8oIZvSIJcq2JsGG%GfiH$>JWV3W(-b1o53Dkp
z(3sF|mtL>1F?#WPfhO%Lsp*S9sPxBF<tb`R)XC!Lc`ltI+0^^}kqwJ6t1|a}bJMIf
U$7k5OIDnF)r>mdKI;Vst0A-mmTmS$7
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..6c5b82a4650ef1e55608d10a3462ce229be9f16f
GIT binary patch
literal 3307
zc$@+23>5Q;P)<h;3K|Lk000e1NJLTq0015U000;W1^@s6?P*QF000U>X+uL$Nkc;*
zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DX<Nq|rShJ+?|L<L3^
z5h+$=RKNj8hazJ|6bplbV%G`s5KzX!QA9=M-HdAq@2xfS-kSZ#S>M^`x7XQc?|s+0
z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W@ZFO_(THK{JlMynW#v{v-a*T
zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0
z#IJ1jr{*iW$(WZW<e?f_&KbNko{YOt-kK%hql^ThT$m-`XQO-vWxZ5MngHeZDAUvU
zoJ;^P6q#Sl=O&?Si84hL8SaVl0ssh<#5ufj4vYCYXr2Igrf1}e1c^yvrV-beY31n1
zX8Q57Q~6>sE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45(
zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r
zY+jPY;tVGXi|p)da{-@gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3
z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e
zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB
z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G
z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw
z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d
z2hboi2K@njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H
z!jlL<$Or?`Mpy_N@kBz9SR?@vA#0H$qyni$nvf2p8@Y{0k#Xb$28W?xm>3qu8RLgp
zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s)
z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U@8Tyei%l?}87(bMRt(A-)QK9Dg3)
zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba
z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe
zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf
zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9
z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@><tXJG<r?L)
z%2EcxFktvIQW>R;lZ?BJkMlI<xzFRz+cvLhUjMu)mH8@eDtwh9m1dOzm5-`SRd3Z4
z)t#zss!!A~Y9?x7YT0W0)h?@z&!^9Kp3j|MH2>uMhw8ApiF&yDYW2hFJ?fJhni{?u
z85&g@mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz
zt39n_sIypSqfWEV6J3%nTQ@<sT(?tqLQhLCSTA3%QSYHXQJ<}!q`ybMTYt*H&>-4i
zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^
z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK@D(EFW1Z
zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$
zF$X<|c!#|X_t<oHD7%Dx)e-CH;keH6jN=C<dnd8eNvGePS<WfW4bGzr3>WYh)GZit
z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz
z&kJ6Nm#<fmSFg8{_hRpA@25UGK8Ze!J`=unzN>vN_+kA5{dW4@^Vjg_`q%qU1ULk&
z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|i<Li|H^g**v03|$raa~LixG^{4<
zdAL=0et35TEn-DPL&UpCkI2%<M~jUXOBQ!V$w$RS)kjT5dqtN;OP5$IS+nFuj9QE!
zracxP8x?ybc5<or(%nmk<Lu%J<L)jqT$Z!!+H$q!smsr<kYB-BaVj1gA06Ki|A`aA
zspU+r^k2Dm<pkH0yNCOd=f*4NjqzRhW&Du@mxQu}(L|TTU5R5!u1OV1;{s1XwcvHK
zU-E(Esg#hEqbW0~(W%X8gtYjy(?TU-im)qPGd(B0FT*sWFhjb^Y1Qsk6QV%TkxVFa
zS!TPKj{Z#bNQ@+#C4*TDvud*5XGdk9%2CV_=Je#6<ZjCy$@9tkel=z_cXemJcK(L^
z!8Pt{4y}dOu3X!>PIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~
zLQ&zpEzVmGY{hI9Z0+4<v#n~|mm*%#^<vB7isDZt+>-0xS$$Xe-OToc?Y*V;rTcf_
zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD
z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y
ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl%
z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX=
znVPf8XG_nK&J~=SIiGia@<PUi@r#KUhdNhuKDxBz(w(lbuHMUmm#<#&xpJx7z5D!C
zm#b&4IbAz_oqfIShW(A!9=o2FU+jKq>9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh-
zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC<Dw@DPb!|OKdt@M_}6Bsz4Yv$
z*I>`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M
ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@<kNR)@201U-mAVp_JRGO`(yOSk?HJD
z_)nFejX!sM3H<VSCT(Ws-}i*``!YINegFUhWl2OqR7ef2mcMHgVHn5rrZvIDh*;Xv
zp&-FYO0Dj?2;$PEHEvGbE=z{|7$j3sNX*co2{;N)2I)`)m;M8#6zQP21O!o0Y>V*_
zk|y!<q-kk<^WI%AdExH4_xXOG@AuyKy?gIeHk*B@l&S;*fk_UxcGT%~zCqe-G#XEY
z914Y=5*E>zA&yJVrTs+18mC|#q8C%q6aFmG3WvjUlAzr^4xZ1G;wg7HEhXGVlZ1@M
z*x-oq6a=X|YbZ1E1MJ9H3;<^a&IK-~Pp5{&heDyS;8ZABB9R!2$KwyUl;x3T)oQhO
z)oQhM+%=zbx!iluo5DCXHq-l&p26F6I=v`JsZ`qQXL##r#>r%IA`*$*FqJc1yO`O2
z4Nr76<7hN`hiTt9A^acP?e;BlGG#+G%^0<>97f}2vw1j_W3N~<E*6X1U`wMAchb;|
zQ>oN7Hii49BHOm#l*{E`CfsXYGsbj*HGW|d;K7p_8ND&0pE#bGjLCm@z&u0Rh*{&0
zRCo7b&niBMnlT&0Tre11anO3s&B>ELRMU(xz0Mk^Osc%cFTqA{jOb3Q)p~3)=BfT{
z!p@V|M$9yRLEzPSMEr1reu_p>qxe*HM2OAbChR(ivi8ur-`y&o(AUDH{t>wZ*c4GY
z)q~xJ7Zr};*XMxF6_)}H#$>fCpj2K1T@utD${OdnSi^kGh2ICm_w}yhB|i-L?$lV8
zbtx8$UF}mI(4puehVla-qrBXs{3fn~ZG!#n<&2?TukTkXl|OE4GEjg`W}f$bOF-W1
pd&B+|3^Xw%Gnve?946c?{}0MOzlw1Hz#;$u002ovPDHLkV1kHKb0+`*
index 6c42af75e4cfb724526d6ca1478f1d9e675ed200..f4c8d550daa6e64d573065dd397315ca9f5bd498
GIT binary patch
literal 3507
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
index 24a8aa66b0eef273def2b7ffa1ffcfdd14f97636..46018ec519f69b64ed10a8e6dffdb693b29996b3
GIT binary patch
literal 3574
zc$@+D4GHpzP)<h;3K|Lk000e1NJLTq000^Q0015c1^@s6GTRQ=000U>X+uL$Nkc;*
zP;zf(X>4Tx07wm;mUmQB*%pV-y*Itk5+Wca^cs2zAksTX6$DX<Nq|rShJ+?|L<L3^
z5h+$=RKNj8hazJ|6bplbV%G`s5KzX!QA9=M-HdAq@2xfS-kSZ#S>M^`x7XQc?|s+0
z08spb1j2M!0f022SQPH-!CVp(%f$Br7!UytSOLJ{W@ZFO_(THK{JlMynW#v{v-a*T
zfMmPdEWc1DbJqWVks>!kBnAKqMb$PuekK>?0+ds;#ThdH1j_W4DKdsJG8Ul;qO2n0
z#IJ1jr{*iW$(WZW<e?f_&KbNko{YOt-kK%hql^ThT$m-`XQO-vWxZ5MngHeZDAUvU
zoJ;^P6q#Sl=O&?Si84hL8SaVl0ssh<#5ufj4vYCYXr2Igrf1}e1c^yvrV-beY31n1
zX8Q57Q~6>sE0n`c;fQ!l&-AnmjxZO1uWyz`0VP>&nP`#itsL#`S=Q!g`M=rU9)45(
zJ;-|dRq-b5&z?byo>|{)?5r=n76A4nTALlSzLiw~v~31J<>9PP?;rs31pu_(obw)r
zY+jPY;tVGXi|p)da{-@gE-UCa`=5eu%D;v=_nFJ?`&K)q7e9d`Nfk3?MdhZarb|T3
z%nS~f&t(1g5dY)AIcd$w!z`Siz!&j_=v7hZlnI21XuE|xfmo0(WD10T)!}~_HYW!e
zew}L+XmwuzeT6wtxJd`dZ#@7*BLgIEKY9Xv>st^p3dp{^Xswa2bB{85{^$B13tWnB
z;Y>jyQ|9&zk7RNsqAVGs--K+z0uqo1bf5|}fi5rtEMN^BfHQCd-XH*kfJhJnmIE$G
z0%<@5vOzxB0181d*a3EfYH$G5fqKvcPJ%XY23!PJzzuK<41h;K3WmW;Fah3yX$XSw
z5EY_9s*o0>51B&N5F1(uc|$=^I1~fLLy3?Ol0f;;Ca4%HgQ}rJP(Ab`bQ-z{U4#0d
z2hboi2K@njgb|nm(_szR0JebHusa+GN5aeCM0gdP2N%HG;Yzp`J`T6S7vUT504#-H
z!jlL<$Or?`Mpy_N@kBz9SR?@vA#0H$qyni$nvf2p8@Y{0k#Xb$28W?xm>3qu8RLgp
zjNxKdVb)?wFx8l2m{v>|<~C*!GlBVnrDD~wrdTJeKXwT=5u1%I#8zOBU|X=4u>;s)
z>^mF|$G{ol9B_WP7+f-LHLe7=57&&lfa}8z;U@8Tyei%l?}87(bMRt(A-)QK9Dg3)
zj~~XrCy)tR1Z#p1A(kK{Y$Q|=8VKhI{e%(1G*N-5Pjn)N5P8I0VkxnX*g?EW941ba
z6iJ387g8iCnY4jaNopcpCOsy-A(P2EWJhusSwLP-t|XrzUnLKcKTwn?CKOLf97RIe
zPB}`sKzTrUL#0v;sBY9)s+hW+T2H-1eM)^VN0T#`^Oxhvt&^*fYnAJldnHel*Ozyf
zUoM{~Um<@={-*r60#U(0!Bc^wuvVc);k3d%g-J!4qLpHZVwz%!VuRu}#Ze`^l7W)9
z5>Kf>>9Eozr6C$Z)1`URxU@~QI@)F0FdauXr2Es8>BaOP=)Lp_WhG@><tXJG<r?L)
z%2EcxFktvIQW>R;lZ?BJkMlI<xzFRz+cvLhUjMu)mH8@eDtwh9m1dOzm5-`SRd3Z4
z)t#zss!!A~Y9?x7YT0W0)h?@z&!^9Kp3j|MH2>uMhw8ApiF&yDYW2hFJ?fJhni{?u
z85&g@mo&yT8JcdI$(rSw=QPK(Xj%)k1X|@<=e1rim6`6$RAwc!i#egKuI;BS(LSWz
zt39n_sIypSqfWEV6J3%nTQ@<sT(?tqLQhLCSTA3%QSYHXQJ<}!q`ybMTYt*H&>-4i
zi$R;gsG*9XzhRzXqv2yCs*$VFDx+GXJH|L;wsDH_KI2;^u!)^Xl1YupO;gy^-c(?^
z&$Q1BYvyPsG^;hc$D**@Sy`+`)}T4VJji^bd7Jqw3q6Zii=7tT7GEswEK@D(EFW1Z
zSp`^awCb?>!`j4}Yh7b~$A)U-W3$et-R8BesV(1jzwLcHnq9En7Q0Tn&-M=XBKs!$
zF$X<|c!#|X_t<oHD7%Dx)e-CH;keH6jN=C<dnd8eNvGePS<WfW4bGzr3>WYh)GZit
z(Q)Cp9CDE^WG;+fcyOWARoj*0TI>4EP1lX*cEoMO-Pk?Z{kZ!p4@(b`M~lalr<3Oz
z&kJ6Nm#<fmSFg8{_hRpA@25UGK8Ze!J`=unzN>vN_+kA5{dW4@^Vjg_`q%qU1ULk&
z3Fr!>1V#i_2R;ij2@(Z$1jE4r!MlPVFVbHmT+|i<Li|H^g**v03|$raa~LixG^{4<
zdAL=0et35TEn-DPL&UpCkI2%<M~jUXOBQ!V$w$RS)kjT5dqtN;OP5$IS+nFuj9QE!
zracxP8x?ybc5<or(%nmk<Lu%J<L)jqT$Z!!+H$q!smsr<kYB-BaVj1gA06Ki|A`aA
zspU+r^k2Dm<pkH0yNCOd=f*4NjqzRhW&Du@mxQu}(L|TTU5R5!u1OV1;{s1XwcvHK
zU-E(Esg#hEqbW0~(W%X8gtYjy(?TU-im)qPGd(B0FT*sWFhjb^Y1Qsk6QV%TkxVFa
zS!TPKj{Z#bNQ@+#C4*TDvud*5XGdk9%2CV_=Je#6<ZjCy$@9tkel=z_cXemJcK(L^
z!8Pt{4y}dOu3X!>PIq0wy5aS{>yK?9ZAjVh%SOwMWgFjair&;wpi!{CU}&@N=Eg#~
zLQ&zpEzVmGY{hI9Z0+4<v#n~|mm*%#^<vB7isDZt+>-0xS$$Xe-OToc?Y*V;rTcf_
zb_jRe-RZjXSeas3UfIyD;9afd%<`i0x4T#DzE)vdabOQ=k7SRuGN`h>O0Q~1)u-yD
z>VX=Mn&!Rgd$;YK+Q-}1zu#?t(*cbG#Ronf6db&N$oEidtwC+YVcg-Y!_VuY>bk#Y
ze_ww@?MU&F&qswvrN_dLb=5o6*Egs)ls3YRlE$&)amR1{;Ppd$6RYV^Go!iq1UMl%
z@#4q$AMc(FJlT1QeX8jv{h#)>&{~RGq1N2iiMFIRX?sk2-|2wUogK~{EkB$8eDsX=
znVPf8XG_nK&J~=SIiGia@<PUi@r#KUhdNhuKDxBz(w(lbuHMUmm#<#&xpJx7z5D!C
zm#b&4IbAz_oqfIShW(A!9=o2FU+jKq>9y}|z3FhX{g&gcj=lwb=lWgyFW&aLedUh-
zof`v-2Kw$UzI*>(+&$@i-u=-BsSjR1%z8NeX#HdC<Dw@DPb!|OKdt@M_}6Bsz4Yv$
z*I>`Hh-Z(6xI-`hmHDqv!v)W&&nrf>M(RhcN6(D;jNN*%^u_SYjF;2ng}*8Ow)d6M
ztDk;%`@Lsk$;9w$(d(H%O5UixIr`T2ZRcd@<kNR)@201U-mAVp_JRGO`(yOSk?HJD
z_)nFejX!sM3H<VSCT(Ws-}i*``!YINegFUia7jc#R7efAm0d`aQ5eVFoNEp(iE@w>
z%nL8N$e;_mkSH(eqKSPV7J&{#A)|}Uk0pgEgrx>9x=<t{2)r4VbrD3-UEqWT3K0?E
zjTP)dg~*RJw|>vqnQ!l$+hjX%cFuXu^ZfsN{^vR8H5BBzH8wVy?RNWPLq2(WdU_6l
zKV>i&P8#z?<nefF!43$CaO8!kySw{FG#dQ?{y`y;mQ(4RPN${3ynLK2S|Ext&cjhH
zL?-#kMMJ71;Jl!ph~qtFycVD5Mmi4t3<(4@B$Lc-bW6^N$ixlUJ7hW_pb*YRB9Up<
z4n-p4uBB^lZ?~3}l|2FDDxfh;NERWvQdn5{K4#GT?25?ca#a=;6}^Pum<DSVq6VYU
z*n+K6V~<U<t~#VT2jC<m`xO{#X-(m9IAAuLKVwgvjq=Ir9zk-8z&BcwIMBez$cT?D
zA8kh>J{e`y(a}*-T3Y%H|H~4jYrdhOp{A~`E(d4xTDO;2rX_N_-BofPL>x^-ZA}8p
z%gd)ip-{wTvx#I$XQNzql#YK{56LXf+mZZ&pkZQSVwKlGBuz;oWT}V@T*A9l&?|iQ
ziKDKqbNClVM@N511#)H{-G0(Csk}LG0e()ePx9U}v<?psOQr=o6~LCe?!tC<c8WxD
z9#vW=-F%S4mnWuxSK2`~|GfY@-^4N@9a3E~nM{6mQj#FoG$eOaG$cK0o^BK(BP4?a
zO))Qt2Sfl}q<^G;S0Fqu@~%bIIv5O|W#2^)DqE`2NctCXl;@)vpwk;08+O0nzlSq8
zOt0PC+;p(FApjIdgBFNtlh49i;-unw@mtdFYv*b2kvNm_Z8E;cbPnl`D*y^dvJ2D4
zDD{4xpm1?<u^V3(w!O+v#>5$Ejr#e@%E~bRb{=~*3M7c)ep0zNslIQJ)S*H@q;_l%
zi1`!u$&83g`ImrJ0ymM*se-j5S;+Z*6&v?!iOhRNQewQA)-#e$f~6thLjaq3b}EEC
zE?sO7z<#nBh%IzKT<VI9q*HN7*vI@gAH4I*CL<(Y78VxnYi-)OydYT-$-71swgDm^
zw^)NjTAR=33n|-nV^-2B03;k+TU+b1TCG7y#*ys0+DkQNm5~CWs(LLJOC2OXAx!(A
wN?f4|&SspMnOU!?sac~iK6$;~xlCgJ0Rewr8bFr}f&c&j07*qoM6N<$f+fGwi2wiq
index 4840c7298a157c7a5cc2f6cd6262ab5cdcada750..4833d381c844be258b22e23e8826c41de060d67f
GIT binary patch
literal 5156
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
S4~5qN0000<MNUMnLSTaXiV}7J
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a823b3485e34773182a2713b5bc932101f173f28
GIT binary patch
literal 1199
zc%17D@N?(olHy`uVBq!ia0vp^wm@vd!3-oHJ#eaHU|_r$;1lA?00W_+p$-lXX=!Od
zMs99yLPA1eVIh#4m6cUiRt6Nw%*@Qr&Mq!42C_>^N(u@JfZ{+kK(eT)sJy%!C<PQO
zEiDBK0!g4?F&LD90gwSy2_ehDpcD*BU;rWx6oHUv;y_S_1R%;Ff^egdr66pG6hshi
z4qO+q$;euexyS%h3e922Tuk%P*qD~0S%H<r6hw33`D~pIV06wZ3GxeOU}R!uVP#|I
z;N;@r<r5SZ5fzh^l9rK`lUGnyQB~8>($O<EF}1L=v9)(_a&dL{@b>Zb4-5*6ij7Z9
zPDxGA$jr{oD<~`~F0ZJnuBmTqZSU!uIBCk%X*1`{oi~5cl4Z+RtX{Kr-Nx-ZcJAJ@
z@4&&sM~|O4dFI^t3zx25yMFu5-FpunK6?D@`HPpYUcY(!?)`_4pFV&2`t8TBKmYt~
zvO<7K@Uy3jV~B+0+=HFY-H8lrAJR8>nFcS3nYuDYar>R#8AVgHP2AVH@SHYWWYF6w
zb?n;b>rvU;YVY6M{=WMDeg4lkKR?V?FWI`xQ?5<!d34&J4^F4;(!M%)w?qbaFH96K
zKIe3pqgYLQVUG6aT?=%M?AamRWwyzKp{p%IWt)K4tc(H~FSg7NJ7u_Pj7?rOG%?Pq
z(P_@jzGPy}a=S^#@LiKHujVu>CU0*u*}Z=(+!nf6NMx*T4Y-<Ce}A(6mMI+H*>7b9
zZn##jDzbc%%Z~pk-OL9rC1!P*FgaiOcCS<A>(z&<TYYzLn0;#(!<V4Twd_W}Ry<9#
zOtV}U?3^L^%;J5(%?|eeJLLi{X6til$pxOwFzwnoKj>ftZ;y?BMs$hlnLUEHL{_`6
zd{w?B^%DEUS%tR@?y_tQ4UGD=m(l2}XVgtT&G4?Unh9A8mhPQ!%hUVr1S?l>bA{60
zY4e=5T)giqm^x<1c~oQ^uJSOs+{Qd1V>$2M2`?7%mMa#{Hrvy9M0-}R-Qt__>__S@
zzPNml^@iZWlUy9S%N_r?uo}s{O*Xl~woq5+)8`n~qEml_b&7bLWY7Gr-pJ*8=Wg(s
z-7E`@&v>%GPIzQHKjoY*$J}Rgs(S?@%1n>0nJtj@Y|TS4k2P{L5|7n&l)CNb-<Blz
gx@qGNR&}m_j4Mh~%<Brm!a#+Nr>mdKI;Vst0LtkY82|tP
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..58ad26121960337c4870766a8b78375000fafb02
GIT binary patch
literal 3765
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
index 436e8bb84ce8a45dbe730779ca424b02ea7b45c8..955a6e35e3944eadcae5457edebb5d899ef4dc4d
GIT binary patch
literal 4041
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
index 56ee92178b127661354e2da15809b1ee22f86976..cadf9a3d9053879df592b62e4f0d438d0d0ef255
GIT binary patch
literal 4617
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
index 0d76eda5a494b031bba8df437ffe117f5e8cacdd..8bd72f0430b02f8b8085799944df3beb94cf3c00
GIT binary patch
literal 6566
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
YA2i^g7HrOLwg3PC07*qoM6N<$f+7H*eE<Le
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3e7e5ef75019a22e3795756c9a6e3fe93e24f44c
GIT binary patch
literal 2525
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..30573ec16c12518327847891b415fc24278ae437
GIT binary patch
literal 4214
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
M07*qoM6N<$g0p}y9smFU
index 51e954466cd9c67185409693a25d802fd108ae17..0b99ed47257049a6b7b23f26e23aca787a122a07
GIT binary patch
literal 4598
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
index ef6999aea1388fd2195132d812ce7f8c99dc20d9..076b305bab64d89486a9af5e8d35d7bce3d3c3f7
GIT binary patch
literal 5642
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
new file mode 100644
--- /dev/null
+++ b/mobile/android/base/resources/layout/overlay_share_button.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<merge xmlns:android="http://schemas.android.com/apk/res/android">
+    <ImageView
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingLeft="15dp"
+        android:id="@+id/overlaybtn_icon"/>
+
+    <TextView
+        style="@style/ShareOverlayButton.Text"
+        android:id="@+id/overlaybtn_label"
+        android:clickable="false"
+        android:enabled="false"/>
+</merge>
--- a/mobile/android/base/resources/layout/overlay_share_dialog.xml
+++ b/mobile/android/base/resources/layout/overlay_share_dialog.xml
@@ -77,34 +77,32 @@
 
             <!-- Evil separator -->
             <View
                 android:layout_width="match_parent"
                 android:layout_height="1dp"
                 android:background="@color/background_light"/>
 
             <!-- "Add to reading list" -->
-            <TextView
+            <org.mozilla.gecko.overlays.ui.OverlayDialogButton
                 style="@style/ShareOverlayButton.Text"
                 android:id="@+id/overlay_share_reading_list_btn"
-                android:text="@string/overlay_share_reading_list_btn_label"
-                android:drawableLeft="@drawable/overlay_readinglist_icon"/>
+                android:enabled="false"/>
 
             <!-- Evil separator -->
             <View
                 android:layout_width="match_parent"
                 android:layout_height="1dp"
                 android:background="@color/background_light"/>
 
             <!-- "Add bookmark" -->
-            <TextView
+            <org.mozilla.gecko.overlays.ui.OverlayDialogButton
                 style="@style/ShareOverlayButton.Text"
                 android:id="@+id/overlay_share_bookmark_btn"
-                android:text="@string/overlay_share_bookmark_btn_label"
-                android:drawableLeft="@drawable/overlay_bookmark_icon"/>
+                android:enabled="false"/>
 
         </LinearLayout>
     </LinearLayout>
 
     <!-- Firefox logo (has to appear higher in the z-order than the content. -->
     <ImageView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
--- a/mobile/android/base/resources/layout/overlay_share_send_tab_item.xml
+++ b/mobile/android/base/resources/layout/overlay_share_send_tab_item.xml
@@ -1,3 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/ShareOverlayButton.Text"/>
\ No newline at end of file
+    style="@style/ShareOverlayButton.Text"
+    android:background="@drawable/overlay_share_button_background"
+    android:clickable="true"/>
--- a/mobile/android/base/resources/values/colors.xml
+++ b/mobile/android/base/resources/values/colors.xml
@@ -45,16 +45,17 @@
 
   <!-- Default inverse colors -->
   <color name="text_color_primary_inverse">#FFFFFF</color>
   <color name="text_color_secondary_inverse">#DDDDDD</color>
   <color name="text_color_tertiary_inverse">#A4A7A9</color>
 
   <!-- Colour used for share overlay button labels -->
   <color name="text_color_overlaybtn">#666666</color>
+  <color name="text_color_overlaybtn_disabled">#AFB1B3</color>
 
   <color name="overlay_share_header_background">#FFFFFFFF</color>
 
   <!-- Colours used for share overlay button background -->
   <color name="overlay_share_background">#FFEBEBF0</color>
   <color name="overlay_share_selected">#FFF5F5F5</color>
 
   <!-- Disabled colors -->
--- a/mobile/android/base/resources/values/styles.xml
+++ b/mobile/android/base/resources/values/styles.xml
@@ -766,27 +766,24 @@
         <item name="android:layout_height">wrap_content</item>
         <item name="android:minHeight">60dp</item>
         <item name="android:gravity">center_vertical</item>
         <item name="android:paddingLeft">15dp</item>
         <item name="android:paddingRight">15dp</item>
         <item name="android:paddingTop">17dp</item>
         <item name="android:paddingBottom">17dp</item>
         <item name="android:focusableInTouchMode">false</item>
-        <item name="android:clickable">true</item>
-        <item name="android:background">@drawable/overlay_share_button_background</item>
         <item name="android:layout_margin">0dp</item>
     </style>
 
     <style name="ShareOverlayButton.Text">
         <item name="android:drawablePadding">15dp</item>
         <item name="android:maxLines">1</item>
         <item name="android:textSize">14sp</item>
-        <item name="android:textColor">@color/text_color_overlaybtn</item>
-        <item name="android:ellipsize">marquee</item>
+        <item name="android:textColor">@color/overlay_btn_text</item>
     </style>
 
     <style name="TabInput"></style>
 
     <style name="TabInput.TabWidget">
         <item name="android:divider">@drawable/divider_vertical</item>
         <item name="android:background">@drawable/tab_indicator_background</item>
     </style>
--- a/mobile/android/base/strings.xml.in
+++ b/mobile/android/base/strings.xml.in
@@ -109,16 +109,18 @@
   <string name="media_play">&media_play;</string>
   <string name="media_pause">&media_pause;</string>
   <string name="media_stop">&media_stop;</string>
 
   <string name="overlay_share_send_other">&overlay_share_send_other;</string>
   <string name="overlay_share_label">&overlay_share_label;</string>
   <string name="overlay_share_bookmark_btn_label">&overlay_share_bookmark_btn_label;</string>
   <string name="overlay_share_reading_list_btn_label">&overlay_share_reading_list_btn_label;</string>
+  <string name="overlay_share_bookmark_btn_label_already">&overlay_share_bookmark_btn_label_already;</string>
+  <string name="overlay_share_reading_list_btn_label_already">&overlay_share_reading_list_btn_label_already;</string>
   <string name="overlay_share_send_tab_btn_label">&overlay_share_send_tab_btn_label;</string>
   <string name="overlay_share_no_url">&overlay_share_no_url;</string>
   <string name="overlay_share_retry">&overlay_share_retry;</string>
   <string name="overlay_share_select_device">&overlay_share_select_device;</string>
 
   <string name="settings">&settings;</string>
   <string name="settings_title">&settings_title;</string>
   <string name="pref_category_advanced">&pref_category_advanced;</string>