diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 736c7b5..8d2df47 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -5,6 +5,7 @@ - - + \ No newline at end of file diff --git a/.idea/libraries/appcompat_v7_22_0_0.xml b/.idea/libraries/appcompat_v7_22_0_0.xml index 8446148..d59dc81 100644 --- a/.idea/libraries/appcompat_v7_22_0_0.xml +++ b/.idea/libraries/appcompat_v7_22_0_0.xml @@ -1,5 +1,8 @@ + + + diff --git a/.idea/libraries/recyclerview_v7_22_0_0.xml b/.idea/libraries/recyclerview_v7_22_0_0.xml index 3913f48..35c153e 100644 --- a/.idea/libraries/recyclerview_v7_22_0_0.xml +++ b/.idea/libraries/recyclerview_v7_22_0_0.xml @@ -5,6 +5,8 @@ - + + + \ No newline at end of file diff --git a/.idea/libraries/support_v4_22_0_0.xml b/.idea/libraries/support_v4_22_0_0.xml index 3c2c4ad..a9c6b95 100644 --- a/.idea/libraries/support_v4_22_0_0.xml +++ b/.idea/libraries/support_v4_22_0_0.xml @@ -6,6 +6,8 @@ - + + + \ No newline at end of file diff --git a/README.md b/README.md index dd33653..469a352 100644 --- a/README.md +++ b/README.md @@ -1,30 +1,30 @@ # Pigeon Messenger -![alt tag](https://dl.dropboxusercontent.com/u/2336896/pigeon_messenger_header_github.png) +![alt tag](http://www.stefanocappa.it/publicfiles/Github_repositories_images/Pigeon_Messenger/pigeon_messenger_header_github.png) ## Informations -Wi-Fi Direct MultiChat (aka Pigeon Messenger) is a DEMO Android's application that try to overcome some Wi-Fi Direct limitations. -At the moment, the wi-fi diver of commercial devices don't allow a device to partecipate simultaneosly in two Wi-Fi Direct's groups. +Wi-Fi Direct MultiChat (aka Pigeon Messenger) is a demo Android's application that try to overcome some Wi-Fi Direct's limitations. +At the moment, the wifi diver of commercial devices doesn't allow a device to partecipate concurrently in two Wi-Fi Direct's groups. This app tries to overcome this limitation, indeed, a user can communicate with a large number of nearby people without an internet connection, using point-to-point communications. The main goal is the simultaneous management of multiple chats, queuing messages sent when the connection is not available and send them at the same time as soon as possible. Pigeon Messenger requires Android 4.4 KitKat (API 19) or higher. This choice is related to to the fact that in previous versions, this protocol was unstable and unreliable. -It's important to remember that this is a demo application, so features like the management of screen's rotation, standby device, wi-fi not available and so on, are not managed as a commercial product. +It's important to remember that this is a demo application, so features like the management of screen's rotation, standby device, wifi not available and so on, are not managed as a commercial product. ## Results -VIDEO YOUTUBE -As you can see, Pigeon Messenger works with good performances.
-The main problems are the "Discovery Phase" of this protocol and the WiFi-Direct implementation in Android, in fact:
+Pigeon Messenger works with good performances.
+The main problems are the "Discovery Phase" of this protocol and the Wi-Fi Direct's implementation in Android, in fact:
1. The discovery time is too high when the number of devices increases
2. After a certain time, a device is no longer discoverable from others, so you need to restart the Discovery Phase on all devices
-3. Sometimes, the Wi-Fi part of Android crashes and the only way to solve this annoying problem is a complete reboot of the device (this situation is recognizable when Android can't find other network in Wi-Fi Setting's app). +3. Sometimes, especially in KitKat, the WiFi part of Android crashes and the only way to solve this annoying problem is a complete reboot of the device (this situation is recognizable when Android can't find other network in Wi-Fi Setting's app). This shows that it's possible to extend the Wi-Fi Direct protocol in Android in some particular and limited scenarios, for example a chat. ## News +- *03/13/2015* - **Pigeon Messenger** Alpha 2 (updated to Android 5.1 with the new support libraries) - *03/02/2015* - **Pigeon Messenger** Alpha 1 public release @@ -40,7 +40,7 @@ You can: 8. manage an infinite number of chats 9. sending messages in a chat, previously stopped, if the associated device is discoverable 10. enqueue messages if the device is not discoverable, and send all of them at the next attempt to reconnect -11. use *"Eternal Discovery"*, a way to restart the discovery phase every time there are errors or disconnections +11. use *"Eternal Discovery"*, a way to restart the discovery phase every time that there are errors or disconnections ## Future extensions - [ ] Connect more clients at the same GO without limitations @@ -48,6 +48,13 @@ You can: - [ ] Private chats between clients, i.e. a client uses his GO like a server to send private messages to another client, because in Wi-Fi Direct the communication between clients in a group is impossible. In this case is necessary to provide security mechanisms, like encryption, because a GO should never read private messages between its clients. - [ ] and so on... ;) + +## Images +
+![alt tag](http://www.stefanocappa.it/publicfiles/Github_repositories_images/Pigeon_Messenger/tre_immagini.png +
+ + ## Usage ### General usage 1. Activate Wi-Fi on all devices @@ -77,7 +84,7 @@ You can: 4. Chat with this device 5. Disconnect one device clicking on the second icon in the toolbar 6. Disable the Discovery Phase that was automatically restarted by "Eternal Discovery", so the list under "Other Devices" will be empty -7. Write some messages in the chat. As you can see the connection is not possibile, but don't despare, because this app is able to enqueue your messages +7. Write some messages in the chat. As you can see the connection is not possible, but don't despair, because this app is able to enqueue your messages 8. Restart the Discovery Phase e reconnect to the device in one of the methods described above ("Reconnection usage", step 7) 9. All messages in the queue will be automatically sent to destination in only one message @@ -229,8 +236,8 @@ if (readMessage.contains(Configuration.MAGICADDRESSKEYWORD)) { ## License -TODO - +TODO -*Stefano* +
+Created by Stefano Cappa \ No newline at end of file diff --git a/WiFiDirectMultiChat.iml b/WiFiDirectMultiChat.iml index 0bb6048..e92f457 100644 --- a/WiFiDirectMultiChat.iml +++ b/WiFiDirectMultiChat.iml @@ -1,9 +1,10 @@ - + @@ -15,5 +16,4 @@ - - + \ No newline at end of file diff --git a/app/app.iml b/app/app.iml index be9af08..cf0e259 100644 --- a/app/app.iml +++ b/app/app.iml @@ -1,5 +1,5 @@ - + @@ -12,8 +12,9 @@ - - + \ No newline at end of file diff --git a/app/src/main/java/it/polimi/deib/p2pchat/discovery/MainActivity.java b/app/src/main/java/it/polimi/deib/p2pchat/discovery/MainActivity.java index bb07ad4..22965a0 100644 --- a/app/src/main/java/it/polimi/deib/p2pchat/discovery/MainActivity.java +++ b/app/src/main/java/it/polimi/deib/p2pchat/discovery/MainActivity.java @@ -804,7 +804,7 @@ private void manageAddressMessageReception(P2pDestinationDevice p2pDevice) { } } - //NOT IMPLEMENTED BUT CAN BE USEFUL + //NOT IMPLEMENTED BUT PLEASE BE USEFUL // @Override // public void onChannelDisconnected() { // // we will try once more diff --git a/build/intermediates/dex-cache/cache.xml b/build/intermediates/dex-cache/cache.xml index 298d78f..9bfcb10 100644 --- a/build/intermediates/dex-cache/cache.xml +++ b/build/intermediates/dex-cache/cache.xml @@ -2,53 +2,67 @@ - - - - + revision="22.0.0" + sha1="d84409890828e07d344a3b9b1da545dba9897b51"> + - + revision="22.0.0" + sha1="685d0b2c590447e85284ed84712cb363ba04eff8"> + + + + + + + + + + - + sha1="00b0b7233e1ec64acebfac40d4983d32d4712426"> + - + sha1="15ebf37e2dc7047e993afdfb308610e171bcea1b"> +