Minor fixes for browser

- Fix flags for share intent
- Prevent classcast exception

Change-Id: If0257c0e34e030a2619cb5957ad8c852c5a496eb
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 21853cf..12b8b29 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2359,6 +2359,7 @@
     }
 
     private void goLive() {
+        if (!getCurrentTab().isSnapshot()) return;
         SnapshotTab t = (SnapshotTab) getCurrentTab();
         String url = t.getLiveUrl();
         boolean onlySingleTabRemaining = false;
diff --git a/src/com/android/browser/ShareDialog.java b/src/com/android/browser/ShareDialog.java
index 4b649d5..a4bfad7 100644
--- a/src/com/android/browser/ShareDialog.java
+++ b/src/com/android/browser/ShareDialog.java
@@ -40,6 +40,7 @@
 import android.content.pm.ResolveInfo;
 import android.content.pm.PackageManager;
 import android.graphics.Bitmap;
+import android.os.Build;
 
 import java.util.List;
 import java.util.Collections;
@@ -98,13 +99,22 @@
                 ComponentName name = new android.content.ComponentName(activityInfo.applicationInfo.packageName,
                                                      activityInfo.name);
                 Intent i = new Intent(Intent.ACTION_SEND);
-                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
-                            Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
+                if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
+                    // This flag clears the called app from the activity stack,
+                    // so users arrive in the expected place next time this application is restarted
+                    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
+                } else {
+                    // flag used from Lollipop onwards
+                    i.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
+                }
+
+                i.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT |
+                            Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP);
+                i.setType("text/plain");
                 i.putExtra(Intent.EXTRA_TEXT, url);
                 i.putExtra(Intent.EXTRA_SUBJECT, title);
                 i.putExtra(EXTRA_SHARE_FAVICON, favicon);
                 i.putExtra(EXTRA_SHARE_SCREENSHOT, screenshot);
-                i.setType("text/plain");
                 i.setComponent(name);
                 activity.startActivity(i);
             }