快传成绩单 - 热点优化

This commit is contained in:
khy
2017-02-24 15:11:00 +08:00
parent ef1f2251b5
commit da20b817d2
42 changed files with 960 additions and 155 deletions

View File

@ -48,6 +48,7 @@ import java.net.DatagramSocket;
import java.net.ServerSocket;
import java.net.Socket;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -77,6 +78,8 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd
private List<FileInfo> mFileInfos;
private List<Map<String, String>> sendData; // 传送成绩单数据
private IpPortInfo mIpPortInfo;
private ServerRunnable mReceiverServer;
@ -91,7 +94,6 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd
private boolean isOpenWifi; //记录开热点前的WiFi状态
private boolean isDestroy;
private long mStartTime;
Handler handler = new Handler() {
@Override
@ -166,6 +168,8 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd
mFileInfos = (List<FileInfo>) AppController.get("FileInfo", false);
sendData = new ArrayList<>();
mIpPortInfo = (IpPortInfo) getIntent().getSerializableExtra(Constant.KEY_IP_PORT_INFO);
isOpenWifi = getIntent().getBooleanExtra("isOpenWifi", false);
@ -360,10 +364,13 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd
mFileReceiver = new FileReceiver(socket, FileReceiverActivity.this);
mFileReceiver.setOnReceiveListener(new FileReceiver.OnReceiveListener() {
private long mStartTime;
private long mNormalStartTime;
@Override
public void onStart() {
Utils.log("快传文件接收onStart");
mStartTime = Utils.getTime(FileReceiverActivity.this);
mNormalStartTime = System.currentTimeMillis();
}
@Override
@ -406,6 +413,13 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd
hashMap.put("receive_token", sp.getString("token", null));
DataCollectionManager.onEvent(FileReceiverActivity.this, "transfer", hashMap, false);
Utils.log("快传文件接收成功onSuccess:: 发送事件::" + sendTime);
long sendNormalTime = System.currentTimeMillis() - mNormalStartTime;
Map<String, String> map = new HashMap<>();
map.put("sendTime", String.valueOf(sendNormalTime));
map.put("apkPath",Environment.getExternalStorageDirectory() + "/GH-KC/" + mCurFileInfo.getName() + ".apk");
map.put("apkSize", String.valueOf(mCurFileInfo.getSize()));
sendData.add(map);
}
@Override
@ -449,6 +463,11 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd
}
private void initSenderHint(boolean isNoMemory) {
for (FileInfo mFileInfo : mFileInfos) {
if (mFileInfo.getResult() == 0 || mFileInfo.getResult() == 1) { // 还有没完成的任务
return;
}
}
mReceiverBottom.setVisibility(View.VISIBLE);
mReceiverControl.setVisibility(View.VISIBLE);
@ -522,12 +541,7 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd
}
//关闭热点
HotspotManager.disableAp(this);
mReceiverServer.close();
AppController.remove("FileInfo");
mFileInfos.clear();
HotspotManager.disableAp(FileReceiverActivity.this);
HotspotManager.initUserAp(this);
if (isOpenWifi) {
WifiMgr.getInstance(this).openWifi();
@ -554,8 +568,13 @@ public class FileReceiverActivity extends BaseActivity implements FileReceiverAd
}
}
FileReceiverActivity.this.finish();
mReceiverServer.close();
AppController.remove("FileInfo");
mFileInfos.clear();
AppController.put("sendData", sendData);
finish();
}
private void backHint() {