Projects >> platform_frameworks_base >>9ad2380c9df1269a32f554aef7c6e28619898278

Chunk
Conflicting content
    }

<<<<<<< HEAD
        }
    private String calculateApkRoot(final String codePathString) {
        final File codePath = new File(codePathString);
        final File codeRoot;
        if (FileUtils.contains(Environment.getRootDirectory(), codePath)) {
            codeRoot = Environment.getRootDirectory();
        } else if (FileUtils.contains(Environment.getOemDirectory(), codePath)) {
            codeRoot = Environment.getOemDirectory();
        } else if (FileUtils.contains(Environment.getVendorDirectory(), codePath)) {
            codeRoot = Environment.getVendorDirectory();
        } else {
            // Unrecognized code path; take its top real segment as the apk root:
            // e.g. /something/app/blah.apk => /something
            try {
                File f = codePath.getCanonicalFile();
                File parent = f.getParentFile();    // non-null because codePath is a file
                File tmp;
                while ((tmp = parent.getParentFile()) != null) {
                    f = parent;
                    parent = tmp;
                }
                codeRoot = f;
                Slog.w(TAG, "Unrecognized code path "
                        + codePath + " - using " + codeRoot);
            } catch (IOException e) {
                // Can't canonicalize the lib path -- shenanigans?
                Slog.w(TAG, "Can't canonicalize code path " + codePath);
                return Environment.getRootDirectory().getPath();
            }
        }
        return codeRoot.getPath();
    }

=======
>>>>>>> 5bc12a1b5dadfd504fb03875fad97cda8d39cf25
    // This is the initial scan-time determination of how to handle a given
    // package for purposes of native library location.
    private void setInternalAppNativeLibraryPath(PackageParser.Package pkg,
Solution content
        }
    }

    private String calculateApkRoot(final String codePathString) {
        final File codePath = new File(codePathString);
        final File codeRoot;
        if (FileUtils.contains(Environment.getRootDirectory(), codePath)) {
            codeRoot = Environment.getRootDirectory();
        } else if (FileUtils.contains(Environment.getOemDirectory(), codePath)) {
            codeRoot = Environment.getOemDirectory();
        } else if (FileUtils.contains(Environment.getVendorDirectory(), codePath)) {
            codeRoot = Environment.getVendorDirectory();
        } else {
            // Unrecognized code path; take its top real segment as the apk root:
            // e.g. /something/app/blah.apk => /something
            try {
                File f = codePath.getCanonicalFile();
                File parent = f.getParentFile();    // non-null because codePath is a file
                File tmp;
                while ((tmp = parent.getParentFile()) != null) {
                    f = parent;
                    parent = tmp;
                }
                codeRoot = f;
                Slog.w(TAG, "Unrecognized code path "
                        + codePath + " - using " + codeRoot);
            } catch (IOException e) {
                // Can't canonicalize the lib path -- shenanigans?
                Slog.w(TAG, "Can't canonicalize code path " + codePath);
                return Environment.getRootDirectory().getPath();
            }
        }
        return codeRoot.getPath();
    }

    // This is the initial scan-time determination of how to handle a given
    // package for purposes of native library location.
    private void setInternalAppNativeLibraryPath(PackageParser.Package pkg,
File
PackageManagerService.java
Developer's decision
Version 1
Kind of conflict
Method declaration
Chunk
Conflicting content
            PackageSetting pkgSetting) {
        // "bundled" here means system-installed with no overriding update
        final boolean bundledApk = isSystemApp(pkg) && !isUpdatedSystemApp(pkg);
<<<<<<< HEAD
        final String apkName = getApkName(pkg.applicationInfo.sourceDir);
=======
        final String apkName = getApkName(pkgSetting.codePathString);
>>>>>>> 5bc12a1b5dadfd504fb03875fad97cda8d39cf25
        final File libDir;
        if (bundledApk) {
            // If "/system/lib64/apkname" exists, assume that is the per-package
Solution content
            PackageSetting pkgSetting) {
        // "bundled" here means system-installed with no overriding update
        final boolean bundledApk = isSystemApp(pkg) && !isUpdatedSystemApp(pkg);
        final String apkName = getApkName(pkg.applicationInfo.sourceDir);
        final File libDir;
        if (bundledApk) {
            // If "/system/lib64/apkname" exists, assume that is the per-package
File
PackageManagerService.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
        if (bundledApk) {
            // If "/system/lib64/apkname" exists, assume that is the per-package
            // native library directory to use; otherwise use "/system/lib/apkname".
<<<<<<< HEAD
            String apkRoot = calculateApkRoot(pkg.applicationInfo.sourceDir);
            File lib64 = new File(apkRoot, LIB64_DIR_NAME);
            File packLib64 = new File(lib64, apkName);
            libDir = (packLib64.exists()) ? lib64 : new File(apkRoot, LIB_DIR_NAME);
=======
            File lib64 = new File(Environment.getRootDirectory(), LIB64_DIR_NAME);
            File packLib64 = new File(lib64, apkName);
            libDir = (packLib64.exists())
                    ? lib64
                    : new File(Environment.getRootDirectory(), LIB_DIR_NAME);
>>>>>>> 5bc12a1b5dadfd504fb03875fad97cda8d39cf25
        } else {
            libDir = mAppLibInstallDir;
        }
Solution content
        if (bundledApk) {
            // If "/system/lib64/apkname" exists, assume that is the per-package
            // native library directory to use; otherwise use "/system/lib/apkname".
            String apkRoot = calculateApkRoot(pkg.applicationInfo.sourceDir);
            File lib64 = new File(apkRoot, LIB64_DIR_NAME);
            File packLib64 = new File(lib64, apkName);
            libDir = (packLib64.exists()) ? lib64 : new File(apkRoot, LIB_DIR_NAME);
        } else {
            libDir = mAppLibInstallDir;
        }
File
PackageManagerService.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable