Merge "[layout precompilation] Add testing hook for precompiled layouts"
am: 15b86c9037
Change-Id: I7c1e46dc5ebce025e1aafd6131596d352e0c1bc8
This commit is contained in:
@@ -1790,6 +1790,10 @@ package android.view {
|
|||||||
method public boolean isSystemGroup();
|
method public boolean isSystemGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public abstract class LayoutInflater {
|
||||||
|
method public void setPrecompiledLayoutsEnabledForTesting(boolean);
|
||||||
|
}
|
||||||
|
|
||||||
public final class MotionEvent extends android.view.InputEvent implements android.os.Parcelable {
|
public final class MotionEvent extends android.view.InputEvent implements android.os.Parcelable {
|
||||||
method public void setActionButton(int);
|
method public void setActionButton(int);
|
||||||
method public void setButtonState(int);
|
method public void setButtonState(int);
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import android.annotation.LayoutRes;
|
|||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.annotation.SystemService;
|
import android.annotation.SystemService;
|
||||||
|
import android.annotation.TestApi;
|
||||||
import android.annotation.UnsupportedAppUsage;
|
import android.annotation.UnsupportedAppUsage;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
@@ -389,9 +390,13 @@ public abstract class LayoutInflater {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initPrecompiledViews() {
|
private void initPrecompiledViews() {
|
||||||
|
initPrecompiledViews(
|
||||||
|
SystemProperties.getBoolean(USE_PRECOMPILED_LAYOUT_SYSTEM_PROPERTY, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initPrecompiledViews(boolean enablePrecompiledViews) {
|
||||||
|
mUseCompiledView = enablePrecompiledViews;
|
||||||
try {
|
try {
|
||||||
mUseCompiledView =
|
|
||||||
SystemProperties.getBoolean(USE_PRECOMPILED_LAYOUT_SYSTEM_PROPERTY, false);
|
|
||||||
if (mUseCompiledView) {
|
if (mUseCompiledView) {
|
||||||
mPrecompiledClassLoader = mContext.getClassLoader();
|
mPrecompiledClassLoader = mContext.getClassLoader();
|
||||||
String dexFile = mContext.getCodeCacheDir() + COMPILED_VIEW_DEX_FILE_NAME;
|
String dexFile = mContext.getCodeCacheDir() + COMPILED_VIEW_DEX_FILE_NAME;
|
||||||
@@ -409,6 +414,17 @@ public abstract class LayoutInflater {
|
|||||||
}
|
}
|
||||||
mUseCompiledView = false;
|
mUseCompiledView = false;
|
||||||
}
|
}
|
||||||
|
if (!mUseCompiledView) {
|
||||||
|
mPrecompiledClassLoader = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @hide for use by CTS tests
|
||||||
|
*/
|
||||||
|
@TestApi
|
||||||
|
public void setPrecompiledLayoutsEnabledForTesting(boolean enablePrecompiledLayouts) {
|
||||||
|
initPrecompiledViews(enablePrecompiledLayouts);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user