Annotated mTheme field on ContextThemeWrapper with maxTargetSdk P
Added ContextThemeWrapper#setTheme(Theme) method to programmatically assign the theme without using a resource id Change-Id: I043253e65a535abdf8d89d9421d2cff2b41bdb05 Fixes: 123768723 Test: Added CTS test to verify setTheme
This commit is contained in:
@@ -49250,6 +49250,7 @@ package android.view {
|
||||
ctor public ContextThemeWrapper(android.content.Context, android.content.res.Resources.Theme);
|
||||
method public void applyOverrideConfiguration(android.content.res.Configuration);
|
||||
method protected void onApplyThemeResource(android.content.res.Resources.Theme, int, boolean);
|
||||
method public void setTheme(@Nullable android.content.res.Resources.Theme);
|
||||
}
|
||||
|
||||
public final class Display {
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package android.view;
|
||||
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.StyleRes;
|
||||
import android.annotation.UnsupportedAppUsage;
|
||||
import android.content.Context;
|
||||
@@ -23,6 +24,7 @@ import android.content.ContextWrapper;
|
||||
import android.content.res.AssetManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.os.Build;
|
||||
|
||||
/**
|
||||
* A context wrapper that allows you to modify or replace the theme of the
|
||||
@@ -31,7 +33,7 @@ import android.content.res.Resources;
|
||||
public class ContextThemeWrapper extends ContextWrapper {
|
||||
@UnsupportedAppUsage
|
||||
private int mThemeResource;
|
||||
@UnsupportedAppUsage
|
||||
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 123768723)
|
||||
private Resources.Theme mTheme;
|
||||
@UnsupportedAppUsage
|
||||
private LayoutInflater mInflater;
|
||||
@@ -146,6 +148,15 @@ public class ContextThemeWrapper extends ContextWrapper {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the configure the current theme. If null is provided then the default Theme is returned
|
||||
* on the next call to {@link #getTheme()}
|
||||
* @param theme Theme to consume in the wrapper, a value of null resets the theme to the default
|
||||
*/
|
||||
public void setTheme(@Nullable Resources.Theme theme) {
|
||||
mTheme = theme;
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@Override
|
||||
@UnsupportedAppUsage
|
||||
|
||||
Reference in New Issue
Block a user