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

Commit 1683afac authored by Kenny Root's avatar Kenny Root
Browse files

Fix check for required features

The required features check was in an null check for usesLibraries, so
it wasn't checking for required features when an application did not use
a library.

Bug: 3331713
Change-Id: I96d366ba00d4962b84f3796be97e2b622eb331a5
parent 81f573de
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := tests

LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := FrameworkCoreTests_install_uses_feature

include $(BUILD_PACKAGE)
+23 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.android.frameworks.coretests.install_uses_feature">

    <uses-feature android:name="com.android.frameworks.coretests.nonexistent" />
        
    <application android:hasCode="false">
    </application>
</manifest>
+6 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>

<!-- Just need this dummy file to have something to build. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
  <string name="dummy">dummy</string>
</resources>
+3.12 KiB

File added.

No diff preview for this file type.

+10 −2
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources;
import android.content.res.Resources.NotFoundException;
@@ -215,7 +216,7 @@ public class PackageManagerTests extends AndroidTestCase {
        }
    }

    public void invokeInstallPackageFail(Uri packageURI, int flags, int result) {
    public void invokeInstallPackageFail(Uri packageURI, int flags, int expectedResult) {
        PackageInstallObserver observer = new PackageInstallObserver();
        try {
            // Wait on observer
@@ -233,7 +234,7 @@ public class PackageManagerTests extends AndroidTestCase {
                if(!observer.isDone()) {
                    fail("Timed out waiting for packageInstalled callback");
                }
                assertEquals(observer.returnCode, result);
                assertEquals(expectedResult, observer.returnCode);
            }
        } finally {
        }
@@ -2838,6 +2839,13 @@ public class PackageManagerTests extends AndroidTestCase {
        installFromRawResource("install.apk", rapk2, PackageManager.INSTALL_REPLACE_EXISTING, true,
                fail, retCode, PackageInfo.INSTALL_LOCATION_UNSPECIFIED);
    }

    @LargeTest
    public void testUsesFeatureMissingFeature() {
        int retCode = PackageManager.INSTALL_FAILED_MISSING_FEATURE;
        installFromRawResource("install.apk", R.raw.install_uses_feature, 0, true, true, retCode,
                PackageInfo.INSTALL_LOCATION_UNSPECIFIED);
    }
    /*---------- Recommended install location tests ----*/
    /*
     * TODO's
Loading