From 79da2eaa800f889be5e5f5bd91121c2ecb55ce14 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Mon, 16 Apr 2012 19:41:14 -0700 Subject: Stop advertising content://-style Uri support. Internally using PackageParser, which needs raw files. Tried making local copy of incoming files, but ran into 6347522. Instead, stop advertising support for content://-style Uris. Bug: 6343461 Change-Id: Ia57ffa56876f38db359e618d9a2c1116c71f56f2 --- .../android/packageinstaller/InstallAppProgress.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/com/android/packageinstaller/InstallAppProgress.java') diff --git a/src/com/android/packageinstaller/InstallAppProgress.java b/src/com/android/packageinstaller/InstallAppProgress.java index a1c07952..bb6fda2f 100755 --- a/src/com/android/packageinstaller/InstallAppProgress.java +++ b/src/com/android/packageinstaller/InstallAppProgress.java @@ -16,20 +16,18 @@ */ package com.android.packageinstaller; -import com.android.packageinstaller.R; - import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; -import android.content.Intent; import android.content.DialogInterface.OnCancelListener; +import android.content.Intent; import android.content.pm.ApplicationInfo; import android.content.pm.IPackageInstallObserver; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; import android.content.pm.PackageManager.NameNotFoundException; +import android.content.pm.ResolveInfo; import android.graphics.drawable.LevelListDrawable; import android.net.Uri; import android.os.Bundle; @@ -41,6 +39,7 @@ import android.widget.Button; import android.widget.ProgressBar; import android.widget.TextView; +import java.io.File; import java.util.List; /** @@ -161,6 +160,12 @@ public class InstallAppProgress extends Activity implements View.OnClickListener Intent intent = getIntent(); mAppInfo = intent.getParcelableExtra(PackageUtil.INTENT_ATTR_APPLICATION_INFO); mPackageURI = intent.getData(); + + final String scheme = mPackageURI.getScheme(); + if (!"file".equals(scheme)) { + throw new IllegalArgumentException("unexpected scheme " + scheme); + } + initView(); } @@ -220,8 +225,9 @@ public class InstallAppProgress extends Activity implements View.OnClickListener if((installFlags & PackageManager.INSTALL_REPLACE_EXISTING )!= 0) { Log.w(TAG, "Replacing package:" + mAppInfo.packageName); } - PackageUtil.AppSnippet as = PackageUtil.getAppSnippet(this, mAppInfo, - mPackageURI); + + final File sourceFile = new File(mPackageURI.getPath()); + PackageUtil.AppSnippet as = PackageUtil.getAppSnippet(this, mAppInfo, sourceFile); mLabel = as.label; PackageUtil.initSnippetForNewApp(this, as, R.id.app_snippet); mStatusTextView = (TextView)findViewById(R.id.center_text); -- cgit v1.2.3