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

Commit 5163cd6d authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change I5be3d603 into eclair

* changes:
      Make sdk version and code names static finals in PackageParser.     Remove api to set these values.     Remove an unused method in AppSecurityPermissions
parents ccc214b2 8d5ae985
Loading
Loading
Loading
Loading
+16 −19
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
import android.os.Build;
import android.os.Bundle;
import android.os.PatternMatcher;
import android.util.AttributeSet;
@@ -84,8 +85,9 @@ public class PackageParser {

    private String mArchiveSourcePath;
    private String[] mSeparateProcesses;
    private int mSdkVersion;
    private String mSdkCodename;
    private static final int SDK_VERSION = Build.VERSION.SDK_INT;
    private static final String SDK_CODENAME = "REL".equals(Build.VERSION.CODENAME)
            ? null : Build.VERSION.CODENAME;

    private int mParseError = PackageManager.INSTALL_SUCCEEDED;

@@ -152,11 +154,6 @@ public class PackageParser {
        mSeparateProcesses = procs;
    }

    public void setSdkVersion(int sdkVersion, String codename) {
        mSdkVersion = sdkVersion;
        mSdkCodename = codename;
    }

    private static final boolean isPackageFilename(String name) {
        return name.endsWith(".apk");
    }
@@ -825,7 +822,7 @@ public class PackageParser {
                XmlUtils.skipCurrentTag(parser);

            } else if (tagName.equals("uses-sdk")) {
                if (mSdkVersion > 0) {
                if (SDK_VERSION > 0) {
                    sa = res.obtainAttributes(attrs,
                            com.android.internal.R.styleable.AndroidManifestUsesSdk);

@@ -858,15 +855,15 @@ public class PackageParser {
                    
                    int maxVers = sa.getInt(
                            com.android.internal.R.styleable.AndroidManifestUsesSdk_maxSdkVersion,
                            mSdkVersion);
                            SDK_VERSION);

                    sa.recycle();

                    if (minCode != null) {
                        if (!minCode.equals(mSdkCodename)) {
                            if (mSdkCodename != null) {
                        if (!minCode.equals(SDK_CODENAME)) {
                            if (SDK_CODENAME != null) {
                                outError[0] = "Requires development platform " + minCode
                                        + " (current platform is " + mSdkCodename + ")";
                                        + " (current platform is " + SDK_CODENAME + ")";
                            } else {
                                outError[0] = "Requires development platform " + minCode
                                        + " but this is a release platform.";
@@ -874,18 +871,18 @@ public class PackageParser {
                            mParseError = PackageManager.INSTALL_FAILED_OLDER_SDK;
                            return null;
                        }
                    } else if (minVers > mSdkVersion) {
                    } else if (minVers > SDK_VERSION) {
                        outError[0] = "Requires newer sdk version #" + minVers
                                + " (current version is #" + mSdkVersion + ")";
                                + " (current version is #" + SDK_VERSION + ")";
                        mParseError = PackageManager.INSTALL_FAILED_OLDER_SDK;
                        return null;
                    }
                    
                    if (targetCode != null) {
                        if (!targetCode.equals(mSdkCodename)) {
                            if (mSdkCodename != null) {
                        if (!targetCode.equals(SDK_CODENAME)) {
                            if (SDK_CODENAME != null) {
                                outError[0] = "Requires development platform " + targetCode
                                        + " (current platform is " + mSdkCodename + ")";
                                        + " (current platform is " + SDK_CODENAME + ")";
                            } else {
                                outError[0] = "Requires development platform " + targetCode
                                        + " but this is a release platform.";
@@ -900,9 +897,9 @@ public class PackageParser {
                        pkg.applicationInfo.targetSdkVersion = targetVers;
                    }
                    
                    if (maxVers < mSdkVersion) {
                    if (maxVers < SDK_VERSION) {
                        outError[0] = "Requires older sdk version #" + maxVers
                                + " (current version is #" + mSdkVersion + ")";
                                + " (current version is #" + SDK_VERSION + ")";
                        mParseError = PackageManager.INSTALL_FAILED_OLDER_SDK;
                        return null;
                    }
+0 −12
Original line number Diff line number Diff line
@@ -26,13 +26,10 @@ import android.content.pm.PermissionGroupInfo;
import android.content.pm.PermissionInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;

import java.io.File;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
@@ -149,15 +146,6 @@ public class AppSecurityPermissions implements View.OnClickListener {
        }
    }
    
    public PackageParser.Package getPackageInfo(Uri packageURI) {
        final String archiveFilePath = packageURI.getPath();
        PackageParser packageParser = new PackageParser(archiveFilePath);
        File sourceFile = new File(archiveFilePath);
        DisplayMetrics metrics = new DisplayMetrics();
        metrics.setToDefaults();
        return packageParser.parsePackage(sourceFile, archiveFilePath, metrics, 0);
    }
    
    private void getAllUsedPermissions(int sharedUid, Set<PermissionInfo> permSet) {
        String sharedPkgList[] = mPm.getPackagesForUid(sharedUid);
        if(sharedPkgList == null || (sharedPkgList.length == 0)) {
+0 −2
Original line number Diff line number Diff line
@@ -1997,7 +1997,6 @@ class PackageManagerService extends IPackageManager.Stub {
        parseFlags |= mDefParseFlags;
        PackageParser pp = new PackageParser(scanFile.getPath());
        pp.setSeparateProcesses(mSeparateProcesses);
        pp.setSdkVersion(mSdkVersion, mSdkCodename);
        final PackageParser.Package pkg = pp.parsePackage(scanFile,
                destCodeFile.getAbsolutePath(), mMetrics, parseFlags);
        if (pkg == null) {
@@ -4168,7 +4167,6 @@ class PackageManagerService extends IPackageManager.Stub {
            parseFlags |= mDefParseFlags;
            PackageParser pp = new PackageParser(tmpPackageFile.getPath());
            pp.setSeparateProcesses(mSeparateProcesses);
            pp.setSdkVersion(mSdkVersion, mSdkCodename);
            final PackageParser.Package pkg = pp.parsePackage(tmpPackageFile,
                    destPackageFile.getAbsolutePath(), mMetrics, parseFlags);
            if (pkg == null) {