Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb9f1e4d authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android Git Automerger
Browse files

am 6f7e10ca: Merge "Make it easier to figure out whether an app can go on sd...

am 6f7e10ca: Merge "Make it easier to figure out whether an app can go on sd card." into gingerbread

Merge commit '6f7e10ca' into gingerbread-plus-aosp

* commit '6f7e10ca':
  Make it easier to figure out whether an app can go on sd card.
parents daa9b8c6 6f7e10ca
Loading
Loading
Loading
Loading
+11 −2
Original line number Original line Diff line number Diff line
@@ -297,12 +297,12 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
     * the normal application lifecycle.
     * the normal application lifecycle.
     *
     *
     * <p>Comes from the
     * <p>Comes from the
     * {@link android.R.styleable#AndroidManifestApplication_heavyWeight android:heavyWeight}
     * {@link android.R.styleable#AndroidManifestApplication_cantSaveState android:cantSaveState}
     * attribute of the &lt;application&gt; tag.
     * attribute of the &lt;application&gt; tag.
     *
     *
     * {@hide}
     * {@hide}
     */
     */
    public static final int CANT_SAVE_STATE = 1<<27;
    public static final int FLAG_CANT_SAVE_STATE = 1<<27;


    /**
    /**
     * Flags associated with the application.  Any combination of
     * Flags associated with the application.  Any combination of
@@ -381,6 +381,12 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
     */
     */
    public boolean enabled = true;
    public boolean enabled = true;


    /**
     * For convenient access to package's install location.
     * @hide
     */
    public int installLocation = PackageInfo.INSTALL_LOCATION_UNSPECIFIED;
    
    public void dump(Printer pw, String prefix) {
    public void dump(Printer pw, String prefix) {
        super.dumpFront(pw, prefix);
        super.dumpFront(pw, prefix);
        if (className != null) {
        if (className != null) {
@@ -457,6 +463,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        uid = orig.uid;
        uid = orig.uid;
        targetSdkVersion = orig.targetSdkVersion;
        targetSdkVersion = orig.targetSdkVersion;
        enabled = orig.enabled;
        enabled = orig.enabled;
        installLocation = orig.installLocation;
        manageSpaceActivityName = orig.manageSpaceActivityName;
        manageSpaceActivityName = orig.manageSpaceActivityName;
        descriptionRes = orig.descriptionRes;
        descriptionRes = orig.descriptionRes;
    }
    }
@@ -489,6 +496,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        dest.writeInt(uid);
        dest.writeInt(uid);
        dest.writeInt(targetSdkVersion);
        dest.writeInt(targetSdkVersion);
        dest.writeInt(enabled ? 1 : 0);
        dest.writeInt(enabled ? 1 : 0);
        dest.writeInt(installLocation);
        dest.writeString(manageSpaceActivityName);
        dest.writeString(manageSpaceActivityName);
        dest.writeString(backupAgentName);
        dest.writeString(backupAgentName);
        dest.writeInt(descriptionRes);
        dest.writeInt(descriptionRes);
@@ -521,6 +529,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
        uid = source.readInt();
        uid = source.readInt();
        targetSdkVersion = source.readInt();
        targetSdkVersion = source.readInt();
        enabled = source.readInt() != 0;
        enabled = source.readInt() != 0;
        installLocation = source.readInt();
        manageSpaceActivityName = source.readString();
        manageSpaceActivityName = source.readString();
        backupAgentName = source.readString();
        backupAgentName = source.readString();
        descriptionRes = source.readInt();
        descriptionRes = source.readInt();
+6 −5
Original line number Original line Diff line number Diff line
@@ -787,6 +787,7 @@ public class PackageParser {
        pkg.installLocation = sa.getInteger(
        pkg.installLocation = sa.getInteger(
                com.android.internal.R.styleable.AndroidManifest_installLocation,
                com.android.internal.R.styleable.AndroidManifest_installLocation,
                PARSE_DEFAULT_INSTALL_LOCATION);
                PARSE_DEFAULT_INSTALL_LOCATION);
        pkg.applicationInfo.installLocation = pkg.installLocation;
        
        
        // Resource boolean are -1, so 1 means we don't know the value.
        // Resource boolean are -1, so 1 means we don't know the value.
        int supportsSmallScreens = 1;
        int supportsSmallScreens = 1;
@@ -1600,7 +1601,7 @@ public class PackageParser {
                if (sa.getBoolean(
                if (sa.getBoolean(
                        com.android.internal.R.styleable.AndroidManifestApplication_cantSaveState,
                        com.android.internal.R.styleable.AndroidManifestApplication_cantSaveState,
                        false)) {
                        false)) {
                    ai.flags |= ApplicationInfo.CANT_SAVE_STATE;
                    ai.flags |= ApplicationInfo.FLAG_CANT_SAVE_STATE;


                    // A heavy-weight application can not be in a custom process.
                    // A heavy-weight application can not be in a custom process.
                    // We can do direct compare because we intern all strings.
                    // We can do direct compare because we intern all strings.
@@ -1897,7 +1898,7 @@ public class PackageParser {


        sa.recycle();
        sa.recycle();


        if (receiver && (owner.applicationInfo.flags&ApplicationInfo.CANT_SAVE_STATE) != 0) {
        if (receiver && (owner.applicationInfo.flags&ApplicationInfo.FLAG_CANT_SAVE_STATE) != 0) {
            // A heavy-weight application can not have receives in its main process
            // A heavy-weight application can not have receives in its main process
            // We can do direct compare because we intern all strings.
            // We can do direct compare because we intern all strings.
            if (a.info.processName == owner.packageName) {
            if (a.info.processName == owner.packageName) {
@@ -2185,7 +2186,7 @@ public class PackageParser {


        sa.recycle();
        sa.recycle();


        if ((owner.applicationInfo.flags&ApplicationInfo.CANT_SAVE_STATE) != 0) {
        if ((owner.applicationInfo.flags&ApplicationInfo.FLAG_CANT_SAVE_STATE) != 0) {
            // A heavy-weight application can not have providers in its main process
            // A heavy-weight application can not have providers in its main process
            // We can do direct compare because we intern all strings.
            // We can do direct compare because we intern all strings.
            if (p.info.processName == owner.packageName) {
            if (p.info.processName == owner.packageName) {
@@ -2425,7 +2426,7 @@ public class PackageParser {


        sa.recycle();
        sa.recycle();


        if ((owner.applicationInfo.flags&ApplicationInfo.CANT_SAVE_STATE) != 0) {
        if ((owner.applicationInfo.flags&ApplicationInfo.FLAG_CANT_SAVE_STATE) != 0) {
            // A heavy-weight application can not have services in its main process
            // A heavy-weight application can not have services in its main process
            // We can do direct compare because we intern all strings.
            // We can do direct compare because we intern all strings.
            if (s.info.processName == owner.packageName) {
            if (s.info.processName == owner.packageName) {
+2 −2
Original line number Original line Diff line number Diff line
@@ -515,7 +515,7 @@ public class ActivityStack {
                    r.info, r.icicle, results, newIntents, !andResume,
                    r.info, r.icicle, results, newIntents, !andResume,
                    mService.isNextTransitionForward());
                    mService.isNextTransitionForward());
            
            
            if ((app.info.flags&ApplicationInfo.CANT_SAVE_STATE) != 0) {
            if ((app.info.flags&ApplicationInfo.FLAG_CANT_SAVE_STATE) != 0) {
                // This may be a heavy-weight process!  Note that the package
                // This may be a heavy-weight process!  Note that the package
                // manager will ensure that only activity can run in the main
                // manager will ensure that only activity can run in the main
                // process of the .apk, which is the only thing that will be
                // process of the .apk, which is the only thing that will be
@@ -2442,7 +2442,7 @@ public class ActivityStack {
            final long origId = Binder.clearCallingIdentity();
            final long origId = Binder.clearCallingIdentity();
            
            
            if (mMainStack && aInfo != null &&
            if (mMainStack && aInfo != null &&
                    (aInfo.applicationInfo.flags&ApplicationInfo.CANT_SAVE_STATE) != 0) {
                    (aInfo.applicationInfo.flags&ApplicationInfo.FLAG_CANT_SAVE_STATE) != 0) {
                // This may be a heavy-weight process!  Check to see if we already
                // This may be a heavy-weight process!  Check to see if we already
                // have another, different heavy-weight process running.
                // have another, different heavy-weight process running.
                if (aInfo.processName.equals(aInfo.applicationInfo.packageName)) {
                if (aInfo.processName.equals(aInfo.applicationInfo.packageName)) {