@Override
 public boolean onContextItemSelected(MenuItem item) {
   if (mSelectedAccessPoint == null) {
     return super.onContextItemSelected(item);
   }
   switch (item.getItemId()) {
     case MENU_ID_CONNECT:
       {
         if (mSelectedAccessPoint.networkId != INVALID_NETWORK_ID) {
           mWifiManager.connect(mSelectedAccessPoint.networkId, mConnectListener);
         } else if (mSelectedAccessPoint.security == AccessPoint.SECURITY_NONE) {
           /** Bypass dialog for unsecured networks */
           mSelectedAccessPoint.generateOpenNetworkConfig();
           mWifiManager.connect(mSelectedAccessPoint.getConfig(), mConnectListener);
         } else {
           showDialog(mSelectedAccessPoint, true);
         }
         return true;
       }
     case MENU_ID_FORGET:
       {
         mWifiManager.forget(mSelectedAccessPoint.networkId, mForgetListener);
         return true;
       }
     case MENU_ID_MODIFY:
       {
         showDialog(mSelectedAccessPoint, true);
         return true;
       }
   }
   return super.onContextItemSelected(item);
 }
 @Override
 public boolean onPreferenceTreeClick(PreferenceScreen screen, Preference preference) {
   if (preference instanceof AccessPoint) {
     mSelectedAccessPoint = (AccessPoint) preference;
     /** Bypass dialog for unsecured, unsaved networks */
     if (mSelectedAccessPoint.security == AccessPoint.SECURITY_NONE
         && mSelectedAccessPoint.networkId == INVALID_NETWORK_ID
         && !mSelectedAccessPoint.isIBSS) {
       mSelectedAccessPoint.generateOpenNetworkConfig();
       mWifiManager.connect(mSelectedAccessPoint.getConfig(), mConnectListener);
     } else {
       showDialog(mSelectedAccessPoint, false);
     }
   } else {
     return super.onPreferenceTreeClick(screen, preference);
   }
   return true;
 }