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

Commit 94a9f216 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Incremental Delivery: Add device feature."

parents 822edb76 d8b25b83
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2212,6 +2212,7 @@ package android.content.pm {
    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSIONCONTROLLER = -268435456; // 0xf0000000
+13 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ import android.os.PersistableBundle;
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.incremental.IncrementalManager;
import android.os.storage.StorageManager;
import android.os.storage.VolumeInfo;
import android.util.AndroidException;
@@ -2996,6 +2997,18 @@ public abstract class PackageManager {
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";

    /**
     * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device has
     * the requisite kernel support to support incremental delivery aka Incremental FileSystem.
     *
     * @see IncrementalManager#isEnabled
     * @hide
     */
    @SystemApi
    @SdkConstant(SdkConstantType.FEATURE)
    public static final String FEATURE_INCREMENTAL_DELIVERY =
            "android.software.incremental_delivery";

    /**
     * Extra field name for the URI to a verification file. Passed to a package
     * verifier.
+8 −0
Original line number Diff line number Diff line
@@ -260,6 +260,13 @@ public final class IncrementalManager {
        }
    }

    /**
     * Checks if Incremental is enabled
     */
    public static boolean isEnabled() {
        return nativeIsEnabled();
    }

    /**
     * Checks if path is mounted on Incremental File System.
     */
@@ -268,5 +275,6 @@ public final class IncrementalManager {
    }

    /* Native methods */
    private static native boolean nativeIsEnabled();
    private static native boolean nativeIsIncrementalPath(@NonNull String path);
}
+5 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.os.FileUtils;
import android.os.Process;
import android.os.SystemProperties;
import android.os.Trace;
import android.os.incremental.IncrementalManager;
import android.os.storage.StorageManager;
import android.permission.PermissionManager.SplitPermissionInfo;
import android.text.TextUtils;
@@ -1156,6 +1157,10 @@ public class SystemConfig {
            addFeature(PackageManager.FEATURE_RAM_NORMAL, 0);
        }

        if (IncrementalManager.isEnabled()) {
            addFeature(PackageManager.FEATURE_INCREMENTAL_DELIVERY, 0);
        }

        for (String featureName : mUnavailableFeatures) {
            removeFeature(featureName);
        }
+6 −2
Original line number Diff line number Diff line
@@ -26,6 +26,10 @@

namespace android {

static jboolean nativeIsEnabled(JNIEnv* env, jobject clazz) {
    return IncFs_IsEnabled();
}

static jboolean nativeIsIncrementalPath(JNIEnv* env,
                                    jobject clazz,
                                    jstring javaPath) {
@@ -34,8 +38,8 @@ static jboolean nativeIsIncrementalPath(JNIEnv* env,
}

static const JNINativeMethod method_table[] = {
        {"nativeIsIncrementalPath", "(Ljava/lang/String;)Z",
         (void*)nativeIsIncrementalPath},
        {"nativeIsEnabled", "()Z", (void*)nativeIsEnabled},
        {"nativeIsIncrementalPath", "(Ljava/lang/String;)Z", (void*)nativeIsIncrementalPath},
};

int register_android_os_incremental_IncrementalManager(JNIEnv* env) {