Пример #1
0
        private void WepOkClicked(object sender, DialogClickEventArgs e)
        {
            var dialog   = (AlertDialog)sender;
            var password = (EditText)dialog.FindViewById(Resource.Id.password);

            var conf = new WifiConfiguration();

            conf.Ssid          = "\"" + mSelectedSsid + "\"";
            conf.WepKeys[0]    = "\"" + password + "\"";
            conf.WepTxKeyIndex = 0;
            conf.AllowedKeyManagement.Set((int)KeyManagementType.None);
            conf.AllowedPairwiseCiphers.Set((int)GroupCipherType.Wep40);

            var wifiManager = GetSystemService(WifiService).JavaCast <WifiManager>();

            wifiManager.AddNetwork(conf);
            WifiP2pDevice wifi = new WifiP2pDevice();

            foreach (var network in wifiManager.ConfiguredNetworks.Where(n => n.Ssid.Contains(mSelectedSsid)))
            {
                wifiManager.Disconnect();
                wifiManager.EnableNetwork(network.NetworkId, true);
                wifiManager.Reconnect();
            }
        }
 /// <summary>
 /// <see cref="IWifiP2pCallbacksHandler.OnThisDeviceChanged(WifiP2pDevice)"/>
 /// </summary>
 override public void OnThisDeviceChanged(WifiP2pDevice deviceDetails)
 {
     // Update the device's details
     m_Views.DeviceNameTextView.Text    = deviceDetails.DeviceName;
     m_Views.DeviceAddressTextView.Text = deviceDetails.DeviceAddress;
     m_Views.DeviceStatusTextView.Text  = deviceDetails.Status.ToString();
 }
Пример #3
0
        /// <summary>
        /// Update UI for this device.
        /// </summary>
        /// <param name="device">WifiP2pDevice object</param>
        public void UpdateThisDevice(WifiP2pDevice device)
        {
            Device = device;
            var view = _contentView.FindViewById <TextView>(Resource.Id.my_name);

            view.Text = device.DeviceName;
            view      = _contentView.FindViewById <TextView>(Resource.Id.my_status);
            view.Text = GetDeviceStatus(device.Status);
        }
Пример #4
0
        /// <summary>
        /// Updates the UI with device data
        /// </summary>
        /// <param name="device">the device to be displayed</param>
        public void ShowDetails(WifiP2pDevice device)
        {
            _device         = device;
            View.Visibility = ViewStates.Visible;
            var view = _contentView.FindViewById <TextView>(Resource.Id.device_address);

            view.Text = _device.DeviceAddress;
            view      = _contentView.FindViewById <TextView>(Resource.Id.device_info);
            view.Text = _device.ToString();
        }
        /// <summary>
        /// <see cref="RecyclerView.Adapter.OnBindViewHolder(RecyclerView.ViewHolder, int)"/>
        /// </summary>
        override public void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            WifiPeerViewHolder wifiPeerHolder = holder as WifiPeerViewHolder;
            WifiP2pDevice      currentItem    = m_WifiP2pDevices.ElementAt(position);

            wifiPeerHolder.DeviceImage.SetImageResource(position % 2 == 0 ? Resource.Drawable.ic_tablet_android : Resource.Drawable.ic_phone_android);
            wifiPeerHolder.DeviceName.Text = currentItem.DeviceName;
            wifiPeerHolder.InformationLayout.SetOnClickListener(new BaseOnClickListener(v =>
            {
                m_OnItemClick?.Invoke(currentItem);
            }));

            wifiPeerHolder.SendButton.Visibility = m_ShowButton ? ViewStates.Visible : ViewStates.Gone;
        }
Пример #6
0
        public void ShowDetails(WifiP2pDevice device)
        {
            var fragment = FragmentManager.FindFragmentById <DeviceDetailFragment>(Resource.Id.frag_detail);

            fragment.ShowDetails(device);
        }
 /// <summary>
 /// <see cref="IWifiP2pCallbacksHandler.OnThisDeviceChanged(WifiP2pDevice)"/>
 /// </summary>
 abstract public void OnThisDeviceChanged(WifiP2pDevice deviceDetails);
 /// <summary>
 /// <see cref="IWifiP2pCallbacksHandler.OnThisDeviceChanged(WifiP2pDevice)"/>
 /// </summary>
 virtual public void OnThisDeviceChanged(WifiP2pDevice deviceDetails)
 {
 }
        /// <summary>
        /// <see cref="BroadcastReceiver.OnReceive(Context, Intent)"/>
        /// </summary>
        override public void OnReceive(Context context, Intent intent)
        {
            // Filter Messages intents
            if (intent is WifiP2pMessageIntent messageIntent)
            {
                // Load extra data from the intent.
                messageIntent.Load();
                switch (messageIntent.Action)
                {
                case WifiP2pMessageIntent.ActionMessageReceivedProgress:
                    if (messageIntent.IsCompleted)
                    {
                        m_CallbackHandler.OnMessageReceived(messageIntent.Message);
                    }
                    else
                    {
                        m_CallbackHandler.OnMessageReceivedProgressChanged(messageIntent.Message.MessageType, messageIntent.Progress);
                    }
                    break;

                case WifiP2pMessageIntent.ActionMessageSentProgress:
                    if (messageIntent.IsCompleted)
                    {
                        m_CallbackHandler.OnMessageSent(messageIntent.Message);
                    }
                    else
                    {
                        m_CallbackHandler.OnMessageSendingProgressChanged(messageIntent.Message, messageIntent.Progress);
                    }
                    break;
                }
            }
            else
            {
                switch (intent.Action)
                {
                case WifiP2pConnectionChangedAction:
                    NetworkInfo  networkInfo = (NetworkInfo)intent.GetParcelableExtra(ExtraNetworkInfo);
                    WifiP2pInfo  p2pInfo     = (WifiP2pInfo)intent.GetParcelableExtra(ExtraWifiP2pInfo);
                    WifiP2pGroup groupInfo   = (WifiP2pGroup)intent.GetParcelableExtra(ExtraWifiP2pGroup);
                    m_CallbackHandler.OnWifiP2pConnectionChanged(networkInfo, p2pInfo, groupInfo);
                    break;

                case WifiP2pPeersChangedAction:
                    WifiP2pDeviceList peers = (WifiP2pDeviceList)intent.GetParcelableExtra(ExtraP2pDeviceList);
                    m_CallbackHandler.OnPeersAvailable(peers);
                    break;

                case WifiP2pStateChangedAction:
                    EWifiState wifiState = (EWifiState)intent.GetIntExtra(ExtraWifiState, 0);
                    m_CallbackHandler.OnWifiP2pStateChanged(wifiState);
                    break;

                case WifiP2pThisDeviceChangedAction:
                    WifiP2pDevice deviceDetails = (WifiP2pDevice)intent.GetParcelableExtra(ExtraWifiP2pDevice);
                    m_CallbackHandler.OnThisDeviceChanged(deviceDetails);
                    break;

                default:
                    throw new NotSupportedException($"The action {intent.Action} is not handled by this receiver.");
                }
            }
        }
Пример #10
0
 public WifiDirectDevice(WifiP2pDevice droidDevice)
 {
     DroidDevice = droidDevice;
 }