Bug 1073010 - Allow browsing from share overlay. r=margaret
This commit is contained in:
@@ -5,6 +5,25 @@
|
|||||||
|
|
||||||
package org.mozilla.gecko.overlays.ui;
|
package org.mozilla.gecko.overlays.ui;
|
||||||
|
|
||||||
|
import java.net.URISyntaxException;
|
||||||
|
|
||||||
|
import org.mozilla.gecko.AppConstants;
|
||||||
|
import org.mozilla.gecko.Assert;
|
||||||
|
import org.mozilla.gecko.GeckoProfile;
|
||||||
|
import org.mozilla.gecko.LocaleAware;
|
||||||
|
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.sync.setup.activities.WebURLFinder;
|
||||||
|
import org.mozilla.gecko.util.HardwareUtils;
|
||||||
|
import org.mozilla.gecko.util.StringUtils;
|
||||||
|
import org.mozilla.gecko.util.ThreadUtils;
|
||||||
|
import org.mozilla.gecko.util.UIAsyncTask;
|
||||||
|
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -21,25 +40,11 @@ import android.view.MotionEvent;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.animation.Animation;
|
import android.view.animation.Animation;
|
||||||
import android.view.animation.AnimationUtils;
|
import android.view.animation.AnimationUtils;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
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.HardwareUtils;
|
|
||||||
import org.mozilla.gecko.util.StringUtils;
|
|
||||||
import org.mozilla.gecko.util.ThreadUtils;
|
|
||||||
import org.mozilla.gecko.util.UIAsyncTask;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A transparent activity that displays the share overlay.
|
* A transparent activity that displays the share overlay.
|
||||||
*/
|
*/
|
||||||
@@ -165,6 +170,18 @@ public class ShareDialog extends LocaleAware.LocaleAwareActivity implements Send
|
|||||||
findViewById(R.id.sharedialog).startAnimation(anim);
|
findViewById(R.id.sharedialog).startAnimation(anim);
|
||||||
|
|
||||||
// Configure buttons.
|
// Configure buttons.
|
||||||
|
final ImageView foxIcon = (ImageView) findViewById(R.id.share_overlay_icon);
|
||||||
|
final LinearLayout topBar = (LinearLayout) findViewById(R.id.share_overlay_top_bar);
|
||||||
|
View.OnClickListener launchBrowser = new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
ShareDialog.this.launchBrowser();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
foxIcon.setOnClickListener(launchBrowser);
|
||||||
|
topBar.setOnClickListener(launchBrowser);
|
||||||
|
|
||||||
final OverlayDialogButton bookmarkBtn = (OverlayDialogButton) findViewById(R.id.overlay_share_bookmark_btn);
|
final OverlayDialogButton bookmarkBtn = (OverlayDialogButton) findViewById(R.id.overlay_share_bookmark_btn);
|
||||||
|
|
||||||
final String bookmarkEnabledLabel = resources.getString(R.string.overlay_share_bookmark_btn_label);
|
final String bookmarkEnabledLabel = resources.getString(R.string.overlay_share_bookmark_btn_label);
|
||||||
@@ -318,6 +335,19 @@ public class ShareDialog extends LocaleAware.LocaleAwareActivity implements Send
|
|||||||
slideOut();
|
slideOut();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void launchBrowser() {
|
||||||
|
try {
|
||||||
|
// This can launch in the guest profile. Sorry.
|
||||||
|
final Intent i = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
|
||||||
|
i.setClassName(AppConstants.ANDROID_PACKAGE_NAME, AppConstants.BROWSER_INTENT_CLASS_NAME);
|
||||||
|
startActivity(i);
|
||||||
|
} catch (URISyntaxException e) {
|
||||||
|
// Nothing much we can do.
|
||||||
|
} finally {
|
||||||
|
slideOut();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private String getCurrentProfile() {
|
private String getCurrentProfile() {
|
||||||
return GeckoProfile.DEFAULT_PROFILE;
|
return GeckoProfile.DEFAULT_PROFILE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
|
android:id="@+id/share_overlay_top_bar"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_margin="0dp"
|
android:layout_margin="0dp"
|
||||||
@@ -104,6 +105,7 @@
|
|||||||
|
|
||||||
<!-- Firefox logo (has to appear higher in the z-order than the content. -->
|
<!-- Firefox logo (has to appear higher in the z-order than the content. -->
|
||||||
<ImageView
|
<ImageView
|
||||||
|
android:id="@+id/share_overlay_icon"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_above="@+id/share_overlay_content"
|
android:layout_above="@+id/share_overlay_content"
|
||||||
|
|||||||
Reference in New Issue
Block a user