OSDN Git Service

Fix 258181
authorSuchi Amalapurapu <asuchitra@google.com>
Tue, 13 Apr 2010 18:51:58 +0000 (11:51 -0700)
committerSuchi Amalapurapu <asuchitra@google.com>
Tue, 13 Apr 2010 20:15:59 +0000 (13:15 -0700)
Enable moving apps to external storage if install location is set and they had been
moved to internal storage.

Change-Id: I54b24303872dc525a86294c3d2b8c0c76dd366c5

src/com/android/settings/InstalledAppDetails.java

index 52e9844..a8ceab0 100644 (file)
@@ -239,15 +239,11 @@ public class InstalledAppDetails extends Activity implements View.OnClickListene
             moveDisable = false;
         } else {
             mMoveAppButton.setText(R.string.move_app_to_sdcard);
-            if ((mAppInfo.flags & ApplicationInfo.FLAG_FORWARD_LOCK) != 0 ||
-                    (mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
-                moveDisable = true;
-            } else if (pkgInfo != null) {
-                if (pkgInfo.installLocation ==
-                    PackageInfo.INSTALL_LOCATION_INTERNAL_ONLY) {
-                    // If an application explicitly specifies install location
-                    // consider that
-                    moveDisable = true;
+            if ((mAppInfo.flags & ApplicationInfo.FLAG_FORWARD_LOCK) == 0 &&
+                    (mAppInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0 &&
+                    pkgInfo != null) {
+                if (pkgInfo.installLocation == PackageInfo.INSTALL_LOCATION_PREFER_EXTERNAL) {
+                    moveDisable = false;
                 } else if (pkgInfo.installLocation == PackageInfo.INSTALL_LOCATION_UNSPECIFIED) {
                     IPackageManager ipm  = IPackageManager.Stub.asInterface(
                             ServiceManager.getService("package"));