From 26c92ee64e5daeaa03a285f66638481463348018 Mon Sep 17 00:00:00 2001 From: Aditya-Sood Date: Thu, 27 Jun 2019 01:05:22 +0530 Subject: [PATCH] Increment: Add cancelSearch() method For disconnecting a connection to an erroneous peer device --- .../DeviceListFragment.java | 2 +- .../LocalFileTransferActivity.java | 70 +++++++++---------- .../main/res/menu/wifi_file_share_items.xml | 4 +- 3 files changed, 36 insertions(+), 40 deletions(-) diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/DeviceListFragment.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/DeviceListFragment.java index c35c1ebfc..73d495ad9 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/DeviceListFragment.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/DeviceListFragment.java @@ -363,7 +363,7 @@ public class DeviceListFragment extends ListFragment implements WifiP2pManager.P /*void showDetails(WifiP2pDevice device);*/ - void cancelDisconnect(); + void cancelSearch(); void connect(WifiP2pDevice peerDevice); diff --git a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/LocalFileTransferActivity.java b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/LocalFileTransferActivity.java index 766e92c13..7033b8aad 100644 --- a/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/LocalFileTransferActivity.java +++ b/app/src/main/java/org/kiwix/kiwixmobile/zim_manager/local_file_transfer/LocalFileTransferActivity.java @@ -208,11 +208,12 @@ public class LocalFileTransferActivity extends AppCompatActivity implements Wifi }); return true; - } else if(item.getItemId() == R.id.menu_item_disconnect) { + } else if(item.getItemId() == R.id.menu_item_cancel_search) { if(manager != null) { - // TODO: 'cancelDisconnect', for removing the indefinite progress bar + // TODO: 'cancelDisconnect', for removing incorrect connections //removeGroupDetails(); - disconnect(); + //disconnect(); + cancelSearch(); } @@ -556,8 +557,35 @@ public class LocalFileTransferActivity extends AppCompatActivity implements Wifi }*/ @Override - public void cancelDisconnect() { - //TODO + public void cancelSearch() { + + if (manager != null) { + final DeviceListFragment fragment = (DeviceListFragment) getSupportFragmentManager().findFragmentById(R.id.fragment_device_list); + + if (fragment.getUserDevice() == null + || fragment.getUserDevice().status == WifiP2pDevice.CONNECTED) { + disconnect(); + + } else if (fragment.getUserDevice().status == WifiP2pDevice.AVAILABLE + || fragment.getUserDevice().status == WifiP2pDevice.INVITED) { + + manager.cancelConnect(channel, new WifiP2pManager.ActionListener() { + + @Override + public void onSuccess() { + Toast.makeText(LocalFileTransferActivity.this, "Aborting connection", + Toast.LENGTH_SHORT).show(); + } + + @Override + public void onFailure(int reasonCode) { + Toast.makeText(LocalFileTransferActivity.this, + "Connect abort request failed. Reason : " + getErrorMessage(reasonCode), + Toast.LENGTH_SHORT).show(); + } + }); + } + } } @Override @@ -621,35 +649,3 @@ public class LocalFileTransferActivity extends AppCompatActivity implements Wifi closeLocalFileTransferActivity(); } } -/* -@Override - public void disconnect() { - fileSendingDevice = false; - - //TODO - manager.removeGroup(channel, new DisconnectActionListener(this)); - Toast.makeText(this, "Disconnecting devices...", Toast.LENGTH_LONG).show(); - - - } - - class DisconnectActionListener implements WifiP2pManager.ActionListener { - - private LocalFileTransferActivity parentActivity; - - public DisconnectActionListener(LocalFileTransferActivity parentActivity) { - this.parentActivity = parentActivity; - } - - @Override - public void onSuccess() { - Log.d(TAG, "Disconnect successful"); - parentActivity.finish(); - } - - @Override - public void onFailure(int reasonCode) { - Log.d(TAG, "Disconnect failed. Reason :" + reasonCode); - } - } - */ diff --git a/app/src/main/res/menu/wifi_file_share_items.xml b/app/src/main/res/menu/wifi_file_share_items.xml index cb2f2ddae..95d018dde 100644 --- a/app/src/main/res/menu/wifi_file_share_items.xml +++ b/app/src/main/res/menu/wifi_file_share_items.xml @@ -4,8 +4,8 @@ xmlns:tools="http://schemas.android.com/tools" tools:context=".zim_manager.local_file_transfer.LocalFileTransferActivity"> -