summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjrizzoli <joey@cyanogenmoditalia.it>2016-04-26 15:16:59 +0200
committerjrizzoli <joey@cyanogenmoditalia.it>2016-04-26 20:25:44 +0200
commit608c7a9aa1656baeb9392d0e5eb56ba440ec71d7 (patch)
tree5f5b8cbd81f2e9b62b1b45af35faf966fd5bda8b
parent1a8e7472c354a150f2318e13aacfb52d82709dde (diff)
downloadandroid_packages_apps_Gello-608c7a9aa1656baeb9392d0e5eb56ba440ec71d7.tar.gz
android_packages_apps_Gello-608c7a9aa1656baeb9392d0e5eb56ba440ec71d7.tar.bz2
android_packages_apps_Gello-608c7a9aa1656baeb9392d0e5eb56ba440ec71d7.zip
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>
-rw-r--r--src/com/android/browser/Controller.java5
-rw-r--r--src/com/android/browser/ShareDialog.java103
2 files changed, 23 insertions, 85 deletions
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index f6a9aa8b..39b42200 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -689,9 +689,8 @@ public class Controller
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 4fe54d3a..93256885 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.File;
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 class ShareDialog extends AppItem {
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 @@ public class ShareDialog extends AppItem {
});
}
- 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 class ShareDialog extends AppItem {
}
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)));
+ }
+
}