Skip to content

Commit e14d03b

Browse files
committed
revert 4d5b368
1 parent 52fca0f commit e14d03b

3 files changed

Lines changed: 31 additions & 77 deletions

File tree

cSploit/src/org/csploit/android/MainActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ public boolean onItemLongClick(AdapterView<?> parent, View view, int position, l
200200
mWipeReceiver.register(MainActivity.this);
201201
mMsfReceiver.register(MainActivity.this);
202202

203-
getNetworkRadar().setAdapter(mTargetAdapter);
203+
mRadarReceiver.setTargetAdapter(mTargetAdapter);
204204

205205
StartRPCServer();
206206

Lines changed: 19 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.csploit.android.services;
22

33
import android.app.Activity;
4+
import android.content.Context;
45
import android.view.MenuItem;
5-
import android.widget.BaseAdapter;
66

77
import org.csploit.android.R;
88
import org.csploit.android.core.Logger;
@@ -11,29 +11,20 @@
1111
import org.csploit.android.net.Target;
1212

1313
import java.net.InetAddress;
14-
import java.util.LinkedList;
15-
import java.util.List;
1614

1715
/**
1816
* network-radar process manager
1917
*/
2018
public class NetworkRadar extends NativeService implements MenuControllableService {
19+
public static final String NRDR_CHANGED = "NetworkRadar.action.TARGET_CHANGED";
2120
public static final String NRDR_STOPPED = "NetworkRadar.action.STOPPED";
2221
public static final String NRDR_STARTED = "NetworkRadar.action.STARTED";
2322
public static final String NRDR_START_FAILED = "NetworkRadar.action.START_FAILED";
2423

25-
private final List<TargetTask> taskList = new LinkedList<>();
26-
private final TargetSubmitter submitter = new TargetSubmitter();
27-
private BaseAdapter adapter;
28-
29-
public NetworkRadar(Activity context) {
24+
public NetworkRadar(Context context) {
3025
this.context = context;
3126
}
3227

33-
public void setAdapter(BaseAdapter adapter) {
34-
this.adapter = adapter;
35-
}
36-
3728
public boolean start() {
3829
stop();
3930
try {
@@ -78,48 +69,41 @@ private class Receiver extends org.csploit.android.tools.NetworkRadar.HostReceiv
7869
@Override
7970
public void onHostFound(byte[] macAddress, InetAddress ipAddress, String name) {
8071
Target t;
81-
TargetTask task = null;
72+
boolean notify = false;
8273

8374
t = System.getTargetByAddress(ipAddress);
8475

8576
if(t==null) {
8677
t = new Target(ipAddress, macAddress);
87-
t.setAlias(name);
8878

89-
task = new TargetTask(t, true, null, true);
90-
} else {
91-
boolean aliasChanged = name != null && !name.equals(t.getAlias());
79+
System.addOrderedTarget(t);
9280

93-
if(aliasChanged || !t.isConnected()) {
94-
task = new TargetTask(t, false, (aliasChanged ? name : t.getAlias()), true);
95-
}
81+
notify = true;
9682
}
9783

98-
if(task == null)
99-
return;
84+
if( !t.isConnected() ) {
85+
t.setConneced(true);
86+
notify = true;
87+
}
10088

101-
synchronized (taskList) {
102-
taskList.add(task);
89+
if (name != null && !name.equals(t.getAlias())) {
90+
t.setAlias(name);
91+
notify = true;
10392
}
10493

105-
((Activity)context).runOnUiThread(submitter);
94+
if(notify) {
95+
sendIntent(NRDR_CHANGED);
96+
}
10697
}
10798

10899
@Override
109100
public void onHostLost(InetAddress ipAddress) {
110101
Target t = System.getTargetByAddress(ipAddress);
111102

112-
if(t == null) {
113-
return;
114-
}
115-
116-
synchronized (taskList) {
117-
taskList.add(
118-
new TargetTask(t, false, t.getAlias(), false)
119-
);
103+
if(t != null) {
104+
t.setConneced(false);
105+
sendIntent(NRDR_CHANGED);
120106
}
121-
122-
((Activity)context).runOnUiThread(submitter);
123107
}
124108

125109
@Override
@@ -136,45 +120,4 @@ public void onDeath(int signal) {
136120
sendIntent(NRDR_STOPPED);
137121
}
138122
}
139-
140-
private class TargetTask {
141-
final Target target;
142-
final boolean add;
143-
final String name;
144-
final boolean connected;
145-
146-
public TargetTask(Target target, boolean add, String name, boolean connected) {
147-
this.target = target;
148-
this.add = add;
149-
this.name = name;
150-
this.connected = connected;
151-
}
152-
}
153-
154-
private class TargetSubmitter implements Runnable {
155-
@Override
156-
public void run() {
157-
synchronized (taskList) {
158-
if(!taskList.isEmpty()) {
159-
for (TargetTask task : taskList) {
160-
processTask(task);
161-
}
162-
if(adapter != null)
163-
adapter.notifyDataSetChanged();
164-
}
165-
}
166-
}
167-
168-
private void processTask(final TargetTask task) {
169-
if(task.add) {
170-
System.addOrderedTarget(task.target);
171-
} else {
172-
task.target.setConneced(task.connected);
173-
task.target.setAlias(task.name);
174-
}
175-
}
176-
177-
}
178-
179-
180123
}

cSploit/src/org/csploit/android/services/receivers/NetworkRadarReceiver.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import android.content.Context;
55
import android.content.Intent;
66
import android.content.IntentFilter;
7+
import android.widget.BaseAdapter;
78
import android.widget.Toast;
89

910
import org.csploit.android.R;
@@ -16,13 +17,19 @@
1617
public class NetworkRadarReceiver extends ManagedReceiver {
1718

1819
private final IntentFilter filter;
20+
private BaseAdapter targetAdapter;
1921

2022
public NetworkRadarReceiver() {
2123
filter = new IntentFilter();
2224

2325
filter.addAction(NetworkRadar.NRDR_STARTED);
2426
filter.addAction(NetworkRadar.NRDR_START_FAILED);
2527
filter.addAction(NetworkRadar.NRDR_STOPPED);
28+
filter.addAction(NetworkRadar.NRDR_CHANGED);
29+
}
30+
31+
public void setTargetAdapter(BaseAdapter targetAdapter) {
32+
this.targetAdapter = targetAdapter;
2633
}
2734

2835
@Override
@@ -57,6 +64,10 @@ private void notifyIntent(Context context, Intent intent) {
5764
case NetworkRadar.NRDR_START_FAILED:
5865
Toast.makeText(context, R.string.net_discovery_start_failed, Toast.LENGTH_LONG).show();
5966
break;
67+
case NetworkRadar.NRDR_CHANGED:
68+
if(targetAdapter != null)
69+
targetAdapter.notifyDataSetChanged();
70+
break;
6071
}
6172
}
6273
}

0 commit comments

Comments
 (0)