summaryrefslogtreecommitdiffstats
path: root/src/com/android/packageinstaller/PackageInstallerActivity.java
diff options
context:
space:
mode:
authorJeff Sharkey <jsharkey@android.com>2012-04-16 19:41:14 -0700
committerJeff Sharkey <jsharkey@android.com>2012-04-16 20:42:03 -0700
commit79da2eaa800f889be5e5f5bd91121c2ecb55ce14 (patch)
tree27f9e4b158afdee8d1a143a154396634c87e12ef /src/com/android/packageinstaller/PackageInstallerActivity.java
parent250b43aeacc2edf80965a1b837b64daa50208f1d (diff)
downloadandroid_packages_apps_PackageInstaller-79da2eaa800f889be5e5f5bd91121c2ecb55ce14.tar.gz
android_packages_apps_PackageInstaller-79da2eaa800f889be5e5f5bd91121c2ecb55ce14.tar.bz2
android_packages_apps_PackageInstaller-79da2eaa800f889be5e5f5bd91121c2ecb55ce14.zip
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
Diffstat (limited to 'src/com/android/packageinstaller/PackageInstallerActivity.java')
-rw-r--r--src/com/android/packageinstaller/PackageInstallerActivity.java22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/com/android/packageinstaller/PackageInstallerActivity.java b/src/com/android/packageinstaller/PackageInstallerActivity.java
index d4591601..ab9bb5a3 100644
--- a/src/com/android/packageinstaller/PackageInstallerActivity.java
+++ b/src/com/android/packageinstaller/PackageInstallerActivity.java
@@ -38,6 +38,8 @@ import android.widget.AppSecurityPermissions;
import android.widget.Button;
import android.widget.LinearLayout;
+import java.io.File;
+
/*
* This activity is launched when a new application is installed via side loading
* The package is first parsed and the user is notified of parse errors via a dialog.
@@ -270,14 +272,22 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
- //get intent information
+
+ // get intent information
final Intent intent = getIntent();
mPackageURI = intent.getData();
mPm = getPackageManager();
- mPkgInfo = PackageUtil.getPackageInfo(mPackageURI);
-
+
+ final String scheme = mPackageURI.getScheme();
+ if (!"file".equals(scheme)) {
+ throw new IllegalArgumentException("unexpected scheme " + scheme);
+ }
+
+ final File sourceFile = new File(mPackageURI.getPath());
+ mPkgInfo = PackageUtil.getPackageInfo(sourceFile);
+
// Check for parse errors
- if(mPkgInfo == null) {
+ if (mPkgInfo == null) {
Log.w(TAG, "Parse error when parsing manifest. Discontinuing installation");
showDialogInner(DLG_PACKAGE_ERROR);
setPmResult(PackageManager.INSTALL_FAILED_INVALID_APK);
@@ -288,8 +298,8 @@ public class PackageInstallerActivity extends Activity implements OnCancelListen
setContentView(R.layout.install_start);
mInstallConfirm = findViewById(R.id.install_confirm_panel);
mInstallConfirm.setVisibility(View.INVISIBLE);
- PackageUtil.AppSnippet as = PackageUtil.getAppSnippet(this,
- mPkgInfo.applicationInfo, mPackageURI);
+ final PackageUtil.AppSnippet as = PackageUtil.getAppSnippet(
+ this, mPkgInfo.applicationInfo, sourceFile);
PackageUtil.initSnippetForNewApp(this, as, R.id.app_snippet);
// Deal with install source.