summaryrefslogtreecommitdiffstats
path: root/src/com/android/providers/downloads/DownloadReceiver.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/providers/downloads/DownloadReceiver.java')
-rw-r--r--src/com/android/providers/downloads/DownloadReceiver.java22
1 files changed, 5 insertions, 17 deletions
diff --git a/src/com/android/providers/downloads/DownloadReceiver.java b/src/com/android/providers/downloads/DownloadReceiver.java
index 81ff4040..aa165e41 100644
--- a/src/com/android/providers/downloads/DownloadReceiver.java
+++ b/src/com/android/providers/downloads/DownloadReceiver.java
@@ -28,13 +28,12 @@ import android.database.Cursor;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
+import android.provider.BaseColumns;
import android.provider.Downloads;
import android.util.Log;
import com.google.common.annotations.VisibleForTesting;
-import java.io.File;
-
/**
* Receives system broadcasts (boot, network connectivity)
*/
@@ -144,23 +143,12 @@ public class DownloadReceiver extends BroadcastReceiver {
* has been clicked.
*/
private void openDownload(Context context, Cursor cursor) {
- String filename = cursor.getString(cursor.getColumnIndexOrThrow(Downloads.Impl._DATA));
- String mimetype =
- cursor.getString(cursor.getColumnIndexOrThrow(Downloads.Impl.COLUMN_MIME_TYPE));
- Uri path = Uri.parse(filename);
- // If there is no scheme, then it must be a file
- if (path.getScheme() == null) {
- path = Uri.fromFile(new File(filename));
- }
-
- Intent activityIntent = new Intent(Intent.ACTION_VIEW);
- mimetype = DownloadDrmHelper.getOriginalMimeType(context, filename, mimetype);
- activityIntent.setDataAndType(path, mimetype);
- activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ final long id = cursor.getLong(cursor.getColumnIndexOrThrow(BaseColumns._ID));
+ final Intent intent = OpenHelper.buildViewIntent(context, id);
try {
- context.startActivity(activityIntent);
+ context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
- Log.d(Constants.TAG, "no activity for " + mimetype, ex);
+ Log.d(Constants.TAG, "no activity for " + intent, ex);
}
}