1package com.xtremelabs.robolectric.tester.android.view;
2
3import android.content.Context;
4import android.content.res.Configuration;
5import android.graphics.drawable.Drawable;
6import android.net.Uri;
7import android.os.Bundle;
8import android.view.InputQueue;
9import android.view.KeyEvent;
10import android.view.LayoutInflater;
11import android.view.MotionEvent;
12import android.view.SurfaceHolder;
13import android.view.View;
14import android.view.ViewGroup;
15import android.view.Window;
16import android.view.WindowManager;
17import com.xtremelabs.robolectric.Robolectric;
18
19public class TestWindow extends Window {
20    public int flags;
21    public int requestedFeatureId;
22    public int featureDrawableResourceFeatureId;
23    public int featureDrawableResourceResId;
24    public int softInputMode;
25    private TestWindowManager windowManager;
26
27    public TestWindow(Context context) {
28        super(context);
29        windowManager = new TestWindowManager();
30    }
31
32    @Override public boolean requestFeature(int featureId) {
33        this.requestedFeatureId = featureId;
34        return true;
35    }
36
37    @Override public void setFlags(int flags, int mask) {
38        this.flags = (flags & ~mask) | (flags & mask);
39    }
40
41    @Override public void addFlags(int flags) {
42        setFlags(flags, flags);
43    }
44
45    @Override
46    public WindowManager getWindowManager() {
47        return windowManager;
48    }
49
50    @Override public boolean isFloating() {
51        return false;
52    }
53
54    @Override public void takeSurface(SurfaceHolder.Callback2 callback2) {
55    }
56
57    @Override public void takeInputQueue(InputQueue.Callback callback) {
58    }
59
60    @Override public void setContentView(int layoutResID) {
61    }
62
63    @Override public void setContentView(View view) {
64    }
65
66    @Override public void setContentView(View view, ViewGroup.LayoutParams params) {
67    }
68
69    @Override public void addContentView(View view, ViewGroup.LayoutParams params) {
70    }
71
72    @Override public View getCurrentFocus() {
73        return null;
74    }
75
76    @Override public LayoutInflater getLayoutInflater() {
77        return null;
78    }
79
80    @Override public void setTitle(CharSequence title) {
81    }
82
83    @Override public void setTitleColor(int textColor) {
84    }
85
86    @Override public void openPanel(int featureId, KeyEvent event) {
87    }
88
89    @Override public void closePanel(int featureId) {
90    }
91
92    @Override public void togglePanel(int featureId, KeyEvent event) {
93    }
94
95    @Override public boolean performPanelShortcut(int featureId, int keyCode, KeyEvent event, int flags) {
96        return false;
97    }
98
99    @Override public boolean performPanelIdentifierAction(int featureId, int id, int flags) {
100        return false;
101    }
102
103    @Override public void closeAllPanels() {
104    }
105
106    @Override public boolean performContextMenuIdentifierAction(int id, int flags) {
107        return false;
108    }
109
110    @Override public void onConfigurationChanged(Configuration newConfig) {
111    }
112
113    @Override public void setBackgroundDrawable(Drawable drawable) {
114    }
115
116    @Override public void setFeatureDrawableResource(int featureId, int resId) {
117        featureDrawableResourceFeatureId = featureId;
118        featureDrawableResourceResId = resId;
119    }
120
121    @Override public void setFeatureDrawableUri(int featureId, Uri uri) {
122    }
123
124    @Override public void setFeatureDrawable(int featureId, Drawable drawable) {
125    }
126
127    @Override public void setFeatureDrawableAlpha(int featureId, int alpha) {
128    }
129
130    @Override public void setFeatureInt(int featureId, int value) {
131    }
132
133    @Override public void takeKeyEvents(boolean get) {
134    }
135
136    @Override public boolean superDispatchKeyEvent(KeyEvent event) {
137        return false;
138    }
139
140    @Override public boolean superDispatchTouchEvent(MotionEvent event) {
141        return false;
142    }
143
144    @Override public boolean superDispatchTrackballEvent(MotionEvent event) {
145        return false;
146    }
147
148    @Override public View getDecorView() {
149        return new View(Robolectric.application);
150    }
151
152    @Override public View peekDecorView() {
153        return null;
154    }
155
156    @Override public Bundle saveHierarchyState() {
157        return null;
158    }
159
160    @Override public void restoreHierarchyState(Bundle savedInstanceState) {
161    }
162
163    @Override protected void onActive() {
164    }
165
166    @Override public void setChildDrawable(int featureId, Drawable drawable) {
167    }
168
169    @Override public void setChildInt(int featureId, int value) {
170    }
171
172    @Override public boolean isShortcutKey(int keyCode, KeyEvent event) {
173        return false;
174    }
175
176    @Override public void setVolumeControlStream(int streamType) {
177    }
178
179    @Override public int getVolumeControlStream() {
180        return 0;
181    }
182
183    @Override public void setSoftInputMode(int softInputMode) {
184        this.softInputMode = softInputMode;
185    }
186
187	@Override public void invalidatePanelMenu(int featureId) {
188	}
189
190	@Override public boolean superDispatchKeyShortcutEvent(KeyEvent event) {
191		return false;
192	}
193
194	@Override public boolean superDispatchGenericMotionEvent(MotionEvent event) {
195		return false;
196	}
197}
198