summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/Window.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/view/Window.java')
-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 0076abf..2e5c1e0 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