12cdde11355e7c249e83a8b7aaabae5977bbc3e49Phil Goodwinpackage com.xtremelabs.robolectric.tester.android.view; 238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richardimport android.content.Context; 438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richardimport android.content.res.Configuration; 538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richardimport android.graphics.drawable.Drawable; 638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richardimport android.net.Uri; 738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richardimport android.os.Bundle; 8f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultzimport android.view.InputQueue; 9f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultzimport android.view.KeyEvent; 10f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultzimport android.view.LayoutInflater; 11f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultzimport android.view.MotionEvent; 12f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultzimport android.view.SurfaceHolder; 13f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultzimport android.view.View; 14f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultzimport android.view.ViewGroup; 15f96b9a1f17d47e48d1f5f8e29b4ed7ffccc739abPhil Goodwin & Tyler Schultzimport android.view.Window; 1684c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Mooreimport android.view.WindowManager; 170e1c92ca35030e2c173b141c41341636bbb7a258Christian Williamsimport com.xtremelabs.robolectric.Robolectric; 1838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 1938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richardpublic class TestWindow extends Window { 2038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard public int flags; 2138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard public int requestedFeatureId; 2238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard public int featureDrawableResourceFeatureId; 2338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard public int featureDrawableResourceResId; 24ba755d49ba6df9aa094b7c272350ddf10d8c060cPhil Goodwin & Tyler Schultz public int softInputMode; 2584c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore private TestWindowManager windowManager; 2638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 2747de2ab70714cb6d5f08220f016e527b6fe25df5Christian Williams & Ryan Richard public TestWindow(Context context) { 2838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard super(context); 2984c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore windowManager = new TestWindowManager(); 3038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 3138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 3238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public boolean requestFeature(int featureId) { 3338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard this.requestedFeatureId = featureId; 3438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return true; 3538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 3638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 3738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setFlags(int flags, int mask) { 38adfaceabbda4c8c51f24a0def8926075bd7306adChristian Williams this.flags = (flags & ~mask) | (flags & mask); 3938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 4038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 4138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void addFlags(int flags) { 4238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard setFlags(flags, flags); 4338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 4438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 4584c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore @Override 4684c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore public WindowManager getWindowManager() { 4784c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore return windowManager; 4884c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore } 4984c8e78264cc160819f32a6006049f87d81c43deDavid Farber & Joe Moore 5038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public boolean isFloating() { 5138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return false; 5238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 5338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 541bd81c8df1eab3bc9a15cfe6f8c8a702f02d77f9Phil Goodwin & Tyler Schultz @Override public void takeSurface(SurfaceHolder.Callback2 callback2) { 551bd81c8df1eab3bc9a15cfe6f8c8a702f02d77f9Phil Goodwin & Tyler Schultz } 561bd81c8df1eab3bc9a15cfe6f8c8a702f02d77f9Phil Goodwin & Tyler Schultz 571bd81c8df1eab3bc9a15cfe6f8c8a702f02d77f9Phil Goodwin & Tyler Schultz @Override public void takeInputQueue(InputQueue.Callback callback) { 581bd81c8df1eab3bc9a15cfe6f8c8a702f02d77f9Phil Goodwin & Tyler Schultz } 591bd81c8df1eab3bc9a15cfe6f8c8a702f02d77f9Phil Goodwin & Tyler Schultz 6038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setContentView(int layoutResID) { 6138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 6238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 6338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setContentView(View view) { 6438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 6538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 6638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setContentView(View view, ViewGroup.LayoutParams params) { 6738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 6838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 6938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void addContentView(View view, ViewGroup.LayoutParams params) { 7038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 7138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 7238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public View getCurrentFocus() { 7338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return null; 7438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 7538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 7638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public LayoutInflater getLayoutInflater() { 7738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return null; 7838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 7938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 8038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setTitle(CharSequence title) { 8138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 8238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 8338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setTitleColor(int textColor) { 8438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 8538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 8638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void openPanel(int featureId, KeyEvent event) { 8738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 8838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 8938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void closePanel(int featureId) { 9038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 9138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 9238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void togglePanel(int featureId, KeyEvent event) { 9338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 9438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 9538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public boolean performPanelShortcut(int featureId, int keyCode, KeyEvent event, int flags) { 9638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return false; 9738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 9838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 9938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public boolean performPanelIdentifierAction(int featureId, int id, int flags) { 10038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return false; 10138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 10238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 10338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void closeAllPanels() { 10438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 10538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 10638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public boolean performContextMenuIdentifierAction(int id, int flags) { 10738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return false; 10838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 10938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 11038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void onConfigurationChanged(Configuration newConfig) { 11138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 11238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 11338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setBackgroundDrawable(Drawable drawable) { 11438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 11538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 11638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setFeatureDrawableResource(int featureId, int resId) { 11738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard featureDrawableResourceFeatureId = featureId; 11838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard featureDrawableResourceResId = resId; 11938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 12038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 12138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setFeatureDrawableUri(int featureId, Uri uri) { 12238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 12338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 12438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setFeatureDrawable(int featureId, Drawable drawable) { 12538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 12638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 12738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setFeatureDrawableAlpha(int featureId, int alpha) { 12838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 12938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 13038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setFeatureInt(int featureId, int value) { 13138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 13238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 13338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void takeKeyEvents(boolean get) { 13438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 13538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 13638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public boolean superDispatchKeyEvent(KeyEvent event) { 13738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return false; 13838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 13938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 14038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public boolean superDispatchTouchEvent(MotionEvent event) { 14138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return false; 14238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 14338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 14438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public boolean superDispatchTrackballEvent(MotionEvent event) { 14538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return false; 14638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 14738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 14838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public View getDecorView() { 1490e1c92ca35030e2c173b141c41341636bbb7a258Christian Williams return new View(Robolectric.application); 15038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 15138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 15238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public View peekDecorView() { 15338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return null; 15438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 15538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 15638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public Bundle saveHierarchyState() { 15738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return null; 15838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 15938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 16038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void restoreHierarchyState(Bundle savedInstanceState) { 16138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 16238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 16338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override protected void onActive() { 16438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 16538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 16638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setChildDrawable(int featureId, Drawable drawable) { 16738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 16838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 16938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setChildInt(int featureId, int value) { 17038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 17138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 17238c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public boolean isShortcutKey(int keyCode, KeyEvent event) { 17338c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return false; 17438c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 17538c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 17638c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public void setVolumeControlStream(int streamType) { 17738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 17838c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard 17938c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard @Override public int getVolumeControlStream() { 18038c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard return 0; 18138c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard } 182ba755d49ba6df9aa094b7c272350ddf10d8c060cPhil Goodwin & Tyler Schultz 183ba755d49ba6df9aa094b7c272350ddf10d8c060cPhil Goodwin & Tyler Schultz @Override public void setSoftInputMode(int softInputMode) { 184ba755d49ba6df9aa094b7c272350ddf10d8c060cPhil Goodwin & Tyler Schultz this.softInputMode = softInputMode; 185ba755d49ba6df9aa094b7c272350ddf10d8c060cPhil Goodwin & Tyler Schultz } 186e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi 187e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi @Override public void invalidatePanelMenu(int featureId) { 188e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi } 189e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi 190e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi @Override public boolean superDispatchKeyShortcutEvent(KeyEvent event) { 191e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi return false; 192e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi } 193e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi 194e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi @Override public boolean superDispatchGenericMotionEvent(MotionEvent event) { 195e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi return false; 196e057483dbccea1e7373aed776bb14ef85aaa93c7Michael Portuesi } 19738c16130a7d0b2709049b010bbb14336e1d25d2dPhil Goodwin & Ryan Richard} 198