diff options
| author | Bryce Lee <brycelee@google.com> | 2014-11-21 11:08:45 -0800 |
|---|---|---|
| committer | Bryce Lee <brycelee@google.com> | 2014-11-21 11:08:45 -0800 |
| commit | d6e6e7235a7e5c82d64beada54ac89c2b1dec201 (patch) | |
| tree | f51bdf6a7ae3687cac6a64ced2957f3bb01a2d47 /core/java/android | |
| parent | a6d2789c954698f6dca5479b305689d22fc05d80 (diff) | |
Make default windows features configurable.
Bug: 18434078
Change-Id: I0bafce1a201088a8681f4b9e43237e23b49296a2
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/view/Window.java | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/core/java/android/view/Window.java b/core/java/android/view/Window.java index 0076abff2f09..2e5c1e0a4b42 100644 --- a/core/java/android/view/Window.java +++ b/core/java/android/view/Window.java @@ -20,6 +20,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.content.Context; import android.content.res.Configuration; +import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.PixelFormat; import android.graphics.drawable.Drawable; @@ -155,6 +156,7 @@ public abstract class Window { "android:navigation:background"; /** The default features enabled */ + @Deprecated @SuppressWarnings({"PointlessBitwiseExpression"}) protected static final int DEFAULT_FEATURES = (1 << FEATURE_OPTIONS_PANEL) | (1 << FEATURE_CONTEXT_MENU); @@ -183,8 +185,8 @@ public abstract class Window { private boolean mSetCloseOnTouchOutside = false; private int mForcedWindowFlags = 0; - private int mFeatures = DEFAULT_FEATURES; - private int mLocalFeatures = DEFAULT_FEATURES; + private int mFeatures; + private int mLocalFeatures; private boolean mHaveWindowFormat = false; private boolean mHaveDimAmount = false; @@ -442,6 +444,7 @@ public abstract class Window { public Window(Context context) { mContext = context; + mFeatures = mLocalFeatures = getDefaultFeatures(context); } /** @@ -1270,6 +1273,25 @@ public abstract class Window { } /** + * Return the feature bits set by default on a window. + * @param context The context used to access resources + */ + public static int getDefaultFeatures(Context context) { + int features = 0; + + final Resources res = context.getResources(); + if (res.getBoolean(com.android.internal.R.bool.config_defaultWindowFeatureOptionsPanel)) { + features |= 1 << FEATURE_OPTIONS_PANEL; + } + + if (res.getBoolean(com.android.internal.R.bool.config_defaultWindowFeatureContextMenu)) { + features |= 1 << FEATURE_CONTEXT_MENU; + } + + return features; + } + + /** * Query for the availability of a certain feature. * * @param feature The feature ID to check |
