Exemplo n.º 1
0
 public boolean onKey(DialogInterface dialoginterface, int i, KeyEvent keyevent) {
   if (i == 82 || i == 4) {
     if (keyevent.getAction() == 0 && keyevent.getRepeatCount() == 0) {
       dialoginterface = mDialog.getWindow();
       if (dialoginterface != null) {
         dialoginterface = dialoginterface.getDecorView();
         if (dialoginterface != null) {
           dialoginterface = dialoginterface.getKeyDispatcherState();
           if (dialoginterface != null) {
             dialoginterface.startTracking(keyevent, this);
             return true;
           }
         }
       }
     } else if (keyevent.getAction() == 1 && !keyevent.isCanceled()) {
       Object obj = mDialog.getWindow();
       if (obj != null) {
         obj = ((Window) (obj)).getDecorView();
         if (obj != null) {
           obj = ((View) (obj)).getKeyDispatcherState();
           if (obj != null
               && ((android.view.KeyEvent.DispatcherState) (obj)).isTracking(keyevent)) {
             mMenu.close(true);
             dialoginterface.dismiss();
             return true;
           }
         }
       }
     }
   }
   return mMenu.performShortcut(i, keyevent, 0);
 }