Gello: remove holo-like share dialog

Let's use system one instead with DirectShare support
and cleanup useless android api checks

Change-Id: I9604bc761c706ca967f5a1229f0ad25753733408
Signed-off-by: jrizzoli <joey@cyanogenmoditalia.it>
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index f6a9aa8..39b4220 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -689,9 +689,8 @@
             Bitmap favicon, Bitmap screenshot) {
 
         ShareDialog sDialog = new ShareDialog((Activity)c, title, url, favicon, screenshot);
-        final AppAdapter adapter = new AppAdapter(c, c.getPackageManager(),
-                                        R.layout.app_row, sDialog.getApps());
-        sDialog.loadView(adapter);
+
+        sDialog.sharePage();
     }
 
     private void copy(CharSequence text) {
diff --git a/src/com/android/browser/ShareDialog.java b/src/com/android/browser/ShareDialog.java
index 4fe54d3..9325688 100644
--- a/src/com/android/browser/ShareDialog.java
+++ b/src/com/android/browser/ShareDialog.java
@@ -30,19 +30,13 @@
 package com.android.browser;
 
 import android.app.Activity;
-import android.app.AlertDialog;
-import android.content.ComponentName;
 import android.content.Context;
-import android.content.DialogInterface;
-import android.content.DialogInterface.OnClickListener;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ResolveInfo;
-import android.content.pm.PackageManager;
 import android.graphics.Bitmap;
 import android.net.Uri;
 import android.os.AsyncTask;
-import android.os.Build;
 import android.os.Environment;
 
 import java.util.List;
@@ -56,13 +50,12 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 
-public class ShareDialog extends AppItem {
+public class ShareDialog {
     private Activity activity = null;
     public String title = null;
     public String url = null;
     public Bitmap favicon = null;
     public Bitmap screenshot = null;
-    private List<ResolveInfo>apps = null;
     public final static String EXTRA_SHARE_SCREENSHOT = "share_screenshot";
     public final static String EXTRA_SHARE_FAVICON = "share_favicon";
     private static final String SCREENSHOT_DIRECTORY_NAME = "screenshot_share";
@@ -71,9 +64,7 @@
     public static final String IMAGE_FILE_PATH = "images";
 
     public ShareDialog (Activity activity, String title, String url, Bitmap favicon, Bitmap screenshot) {
-        super(null);
         this.activity = activity;
-        this.apps = getShareableApps();
         this.title = title;
         this.url = url;
         this.favicon = favicon;
@@ -124,61 +115,6 @@
         });
     }
 
-    private List<ResolveInfo> getShareableApps() {
-        Intent shareIntent = new Intent("android.intent.action.SEND");
-        shareIntent.setType("text/plain");
-        PackageManager pm = activity.getPackageManager();
-        List<ResolveInfo> launchables = pm.queryIntentActivities(shareIntent, 0);
-
-        Collections.sort(launchables,
-                     new ResolveInfo.DisplayNameComparator(pm));
-
-        return launchables;
-    }
-
-
-    public List<ResolveInfo> getApps() {
-        return apps;
-    }
-
-    public void loadView(final AppAdapter adapter) {
-        AlertDialog.Builder builderSingle = new AlertDialog.Builder(activity);
-        builderSingle.setIcon(R.mipmap.ic_launcher_browser);
-        builderSingle.setTitle(activity.getString(R.string.choosertitle_sharevia));
-        builderSingle.setAdapter(adapter, new DialogInterface.OnClickListener() {
-            @Override
-            public void onClick(DialogInterface dialog, int position) {
-                dialog.dismiss();
-                ResolveInfo launchable = adapter.getItem(position);
-                ActivityInfo activityInfo = launchable.activityInfo;
-                ComponentName name = new android.content.ComponentName(activityInfo.applicationInfo.packageName,
-                                                     activityInfo.name);
-                Intent i = new Intent(Intent.ACTION_SEND);
-                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.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
-                i.putExtra(Intent.EXTRA_STREAM, getShareBitmapUri(screenshot));
-                i.setComponent(name);
-                activity.startActivity(i);
-            }
-        });
-
-        builderSingle.show();
-    }
-
     public Uri getShareBitmapUri(Bitmap screenshot) {
         Uri uri = null;
         if (screenshot != null) {
@@ -208,28 +144,31 @@
    }
 
     public static Uri getUriForImageCaptureFile(Context context, File file) {
-        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2
-            ? ContentUriUtils.getContentUriFromFile(context, file)
-            : Uri.fromFile(file);
+        return ContentUriUtils.getContentUriFromFile(context, file);
     }
 
     public static File getDirectoryForImageCapture(Context context) throws IOException {
-        File path;
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
-            path = new File(context.getFilesDir(), IMAGE_FILE_PATH);
-            if (!path.exists() && !path.mkdir()) {
-                throw new IOException("Folder cannot be created.");
-            }
-        } else {
-            File externalDataDir =
-            Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
-            path = new File(
-            externalDataDir.getAbsolutePath() + File.separator + EXTERNAL_IMAGE_FILE_PATH);
-            if (!path.exists() && !path.mkdirs()) {
-                path = externalDataDir;
-            }
+        File path = new File(context.getFilesDir(), IMAGE_FILE_PATH);
+        if (!path.exists() && !path.mkdir()) {
+            throw new IOException("Folder cannot be created.");
         }
         return path;
     }
 
+    public void sharePage() {
+        Intent intent = new Intent(Intent.ACTION_SEND);
+        intent.setType("text/plain");
+        intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT |
+                Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP |
+                Intent.FLAG_ACTIVITY_NEW_DOCUMENT |
+                Intent.FLAG_GRANT_READ_URI_PERMISSION);
+        intent.putExtra(Intent.EXTRA_TEXT, url);
+        intent.putExtra(Intent.EXTRA_SUBJECT, title);
+        intent.putExtra(EXTRA_SHARE_FAVICON, favicon);
+        intent.putExtra(Intent.EXTRA_STREAM, getShareBitmapUri(screenshot));
+
+        activity.startActivity(Intent.createChooser(intent,
+                activity.getString(R.string.choosertitle_sharevia)));
+    }
+
 }