summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorBryce Lee <brycelee@google.com>2014-11-21 11:08:45 -0800
committerBryce Lee <brycelee@google.com>2014-11-21 11:08:45 -0800
commitd6e6e7235a7e5c82d64beada54ac89c2b1dec201 (patch)
treef51bdf6a7ae3687cac6a64ced2957f3bb01a2d47 /core/java/android
parenta6d2789c954698f6dca5479b305689d22fc05d80 (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.java26
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