summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Soyars <ctsoyars@gmail.com>2010-02-28 09:39:18 -0500
committerSteve Kondik <shade@chemlab.org>2010-04-11 21:44:15 -0400
commit61774978cbf6fa4ccdac081d9aed16ed96904a77 (patch)
tree555f01221cd3f1d0056b498daed3b4dada291c84
parent7b570cb2e02ddf1324b48d4d2ceb932324cec48c (diff)
downloadandroid_frameworks_base-61774978cbf6fa4ccdac081d9aed16ed96904a77.tar.gz
android_frameworks_base-61774978cbf6fa4ccdac081d9aed16ed96904a77.tar.bz2
android_frameworks_base-61774978cbf6fa4ccdac081d9aed16ed96904a77.zip
Rebase
-rw-r--r--services/java/com/android/server/PackageManagerService.java41
1 files changed, 30 insertions, 11 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 6fad12caa25..13483dc7cda 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -27,6 +27,7 @@ import org.xmlpull.v1.XmlSerializer;
import android.app.ActivityManagerNative;
import android.app.IActivityManager;
import android.content.ComponentName;
+import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -57,6 +58,7 @@ import android.content.pm.ProviderInfo;
import android.content.pm.ResolveInfo;
import android.content.pm.ServiceInfo;
import android.content.pm.Signature;
+import android.database.Cursor;
import android.net.Uri;
import android.os.Binder;
import android.os.Build;
@@ -3543,17 +3545,34 @@ class PackageManagerService extends IPackageManager.Stub {
/* Called when a downloaded package installation is completed (usually by the Market) */
public void installPackage(final Uri packageURI, final IPackageInstallObserver observer, final int flags, final String installerPackageName) {
- // Here we need to throw an Intent to prompt the user to choose the install location.
-
- Intent intent = new Intent();
- intent.setData(packageURI);
- intent.putExtra("installerPackageName", installerPackageName);
- intent.putExtra("flags", flags);
- intent.setComponent(new ComponentName("com.android.packageinstaller","com.android.packageinstaller.MarketInstallerActivity"));
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- mContext.startActivity(intent);
-
- return;
+ // Here we need to throw an Intent to prompt the user to choose the install location.
+ Boolean prompt = false;
+
+ ContentResolver cr = mContext.getContentResolver();
+ Cursor c = cr.query(Uri.parse("content://org.ducktape.provider.Settings/settings"), new String[] { "value" }, "key='apps2sd_prompt'", null, null);
+ c.moveToFirst();
+ if (c.getCount()==0){
+ prompt = false;
+ } else if (c.getString(0).equals("1")) {
+ prompt = true;
+ }
+ c.close();
+
+ if (prompt) {
+ Intent intent = new Intent();
+ Bundle bundle = new Bundle();
+ bundle.putInt("flags", flags);
+ bundle.putString("installerPackageName", installerPackageName);
+ intent.setData(packageURI);
+ intent.putExtras(bundle);
+ intent.setComponent(new ComponentName("com.android.packageinstaller","com.android.packageinstaller.MarketInstallerActivity"));
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ mContext.startActivity(intent);
+ } else {
+ installPackageExt(packageURI, observer, flags, installerPackageName, false);
+ }
+
+ return;
}
public void installPackageExt(final Uri packageURI, final IPackageInstallObserver observer, final int flags, final String installerPackageName, boolean extInstall) {