|
3 | 3 | import android.content.Context; |
4 | 4 | import android.net.Uri; |
5 | 5 | import android.net.wifi.WifiManager; |
| 6 | +import android.os.AsyncTask; |
6 | 7 | import android.os.Bundle; |
7 | 8 | import android.os.StrictMode; |
8 | 9 | import android.support.v4.app.Fragment; |
@@ -39,8 +40,7 @@ public void onCreate(Bundle savedInstanceState) { |
39 | 40 | @Override |
40 | 41 | public View onCreateView(LayoutInflater inflater, ViewGroup container, |
41 | 42 | Bundle savedInstanceState) { |
42 | | - StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); |
43 | | - StrictMode.setThreadPolicy(policy); |
| 43 | + |
44 | 44 | // Inflate the layout for this fragment |
45 | 45 | view= inflater.inflate(R.layout.fragment_reciever, container, false); |
46 | 46 |
|
@@ -68,44 +68,63 @@ public void onDetach() { |
68 | 68 | @Override |
69 | 69 | public void onClick(View view) { |
70 | 70 |
|
71 | | - Context c = view.getContext(); |
72 | | - takeWifi(c, true); |
| 71 | + Log.e("clicked","clicked"); |
| 72 | + |
| 73 | + final View temp=view; |
| 74 | + AsyncTask.execute(new Runnable() { |
| 75 | + @Override |
| 76 | + public void run() { |
| 77 | + android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND); |
| 78 | + |
73 | 79 |
|
74 | | - String mip = mIpAddress.getText().toString(); |
75 | | - String port = mPort.getText().toString(); |
76 | | - InetAddress group = null; |
77 | | - MulticastSocket socket = null; |
78 | 80 |
|
79 | 81 | try { |
| 82 | + Context c = temp.getContext(); |
| 83 | + takeWifi(c, true); |
| 84 | + String mip = mIpAddress.getText().toString(); |
| 85 | + String port = mPort.getText().toString(); |
| 86 | + InetAddress group = null; |
| 87 | + MulticastSocket socket = null; |
80 | 88 | group = InetAddress.getByName(mip); |
81 | 89 | socket = new MulticastSocket(Integer.parseInt(port)); |
82 | 90 | socket.joinGroup(group); |
| 91 | + |
83 | 92 | while (true) { |
84 | 93 | byte[] buf = new byte[1000]; |
85 | 94 | DatagramPacket recv = new DatagramPacket(buf, buf.length); |
86 | 95 | Log.d("VIVZ", "Datagram packet created"); |
87 | 96 | socket.receive(recv); |
88 | 97 | Log.d("VIVZ", "It was recvd"); |
89 | 98 | String received = new String(recv.getData(), 0, recv.getLength()); |
90 | | - if (received == "STOP") { |
91 | | - updatePC(); |
92 | | - updateUI(received); |
| 99 | + if (received.equals("STOP")) { |
| 100 | + /* updatePC(); |
| 101 | + updateUI(received);*/ |
93 | 102 | break; |
94 | 103 |
|
95 | 104 | } |
96 | 105 |
|
97 | 106 | //Initially just for simplicity |
98 | | - updatePC(); |
99 | | - updateUI(received); |
100 | | - } |
| 107 | + final String tempString=received; |
| 108 | + getActivity().runOnUiThread(new Runnable() { |
| 109 | + @Override |
| 110 | + public void run() { |
| 111 | + updatePC(); |
| 112 | + updateUI(tempString); |
| 113 | + } |
| 114 | + }); |
| 115 | + |
| 116 | + } |
101 | 117 | takeWifi(c, false); |
102 | 118 | } catch (Exception e) { |
103 | 119 | e.printStackTrace(); |
104 | 120 | Log.d("VIVZ", String.valueOf(e)); |
105 | 121 | } |
106 | 122 |
|
107 | | - |
| 123 | + return; |
| 124 | + } |
| 125 | + }); |
108 | 126 | } |
| 127 | + |
109 | 128 | public void updateUI(String recvd) { |
110 | 129 |
|
111 | 130 | packetstatus.setText("Packet Received: " + packetcount); |
|
0 commit comments