Merge "Incremental Delivery: Add device feature."
This commit is contained in:
committed by
Android (Google) Code Review
commit
94a9f216a4
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user