package com.adamnickle.deck;
import android.content.Context;
import android.support.v4.view.GravityCompat;
import android.support.v4.view.KeyEventCompat;
import android.support.v4.widget.DrawerLayout;
import android.util.AttributeSet;
import android.view.KeyEvent;
public class GameDrawerLayout extends DrawerLayout
{
public GameDrawerLayout( Context context )
{
super( context );
}
public GameDrawerLayout( Context context, AttributeSet attrs )
{
super( context, attrs );
}
public GameDrawerLayout( Context context, AttributeSet attrs, int defStyle )
{
super( context, attrs, defStyle );
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if( KeyEvent.KEYCODE_BACK == keyCode && ( this.isDrawerOpen( GravityCompat.START ) || this.isDrawerOpen( GravityCompat.END ) ) )
{
KeyEventCompat.startTracking( event );
return true;
}
return super.onKeyDown( keyCode, event );
}
@Override
public boolean onKeyUp(int keyCode, KeyEvent event)
{
if( KeyEvent.KEYCODE_BACK == keyCode && !event.isCanceled() && ( this.isDrawerOpen( GravityCompat.START ) || this.isDrawerOpen( GravityCompat.END ) ) )
{
this.closeDrawers();
return true;
}
return super.onKeyUp( keyCode, event );
}
}