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

Commit 8d5ae985 authored by Suchi Amalapurapu's avatar Suchi Amalapurapu
Browse files

Make sdk version and code names static finals in PackageParser.

    Remove api to set these values.
    Remove an unused method in AppSecurityPermissions
parent 24bb9b8a
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) {