|
83 | 83 | import com.omni.wallet_mainnet.ui.activity.channel.ChannelsActivity; |
84 | 84 | import com.omni.wallet_mainnet.utils.CopyUtil; |
85 | 85 | import com.omni.wallet_mainnet.utils.DriveServiceHelper; |
| 86 | +import com.omni.wallet_mainnet.utils.FilesUtils; |
86 | 87 | import com.omni.wallet_mainnet.utils.GetResourceUtil; |
87 | 88 | import com.omni.wallet_mainnet.utils.MoveCacheFileToFileObd; |
88 | 89 | import com.omni.wallet_mainnet.utils.TimeFormatUtil; |
|
109 | 110 | import java.text.DecimalFormat; |
110 | 111 | import java.text.ParseException; |
111 | 112 | import java.util.ArrayList; |
| 113 | +import java.util.Calendar; |
112 | 114 | import java.util.Collections; |
113 | 115 | import java.util.List; |
114 | 116 |
|
@@ -246,8 +248,16 @@ protected void initData() { |
246 | 248 | } |
247 | 249 | EventBus.getDefault().register(this); |
248 | 250 | if (User.getInstance().isBackUp(mContext) == true) { |
249 | | - mLoadingDialog.show(); |
250 | | - showPageData(); |
| 251 | + String downloadDirectoryPath = mContext.getExternalFilesDir(null) + "/obd" + ConstantWithNetwork.getInstance(ConstantInOB.networkType).getDownloadDirectory(); |
| 252 | + long nowMillis = Calendar.getInstance().getTimeInMillis(); |
| 253 | + long fileHeaderLastEdit = FilesUtils.fileLastUpdate(downloadDirectoryPath + ConstantInOB.blockHeaderBin); |
| 254 | + if (nowMillis - fileHeaderLastEdit > ConstantInOB.WEEK_MILLIS) { |
| 255 | + DataStatusDialog mDataStatusDialog = new DataStatusDialog(mContext); |
| 256 | + mDataStatusDialog.show(); |
| 257 | + } else { |
| 258 | + mLoadingDialog.show(); |
| 259 | + showPageData(); |
| 260 | + } |
251 | 261 | } |
252 | 262 | if (User.getInstance().isNeutrinoDbChecked(mContext)) { |
253 | 263 | // TODO: 2023/5/31 暂定 |
@@ -1369,13 +1379,25 @@ public void onSuccess(FileList fileList) { |
1369 | 1379 | list.add(fileList.getFiles().get(i)); |
1370 | 1380 | } |
1371 | 1381 | } |
| 1382 | + removeDuplicate(list); |
1372 | 1383 | for (int j = 0; j < list.size(); j++) { |
1373 | | - if (list.get(j).getName().contains(User.getInstance().getWalletAddress(mContext))) { |
1374 | | - backupList.add(list.get(j)); |
| 1384 | + if (!list.get(j).getName().startsWith("1")) { |
| 1385 | + mDriveServiceHelper.deleteFile(list.get(j).getId()); |
| 1386 | + } else { |
| 1387 | + if (list.get(j).getName().contains(User.getInstance().getWalletAddress(mContext))) { |
| 1388 | + backupList.add(list.get(j)); |
| 1389 | + } |
1375 | 1390 | } |
1376 | 1391 | } |
1377 | 1392 | if (backupList.size() == 0) { |
1378 | 1393 | createAddressFile(); |
| 1394 | + } else if (backupList.size() == 1) { |
| 1395 | + mDriveServiceHelper.deleteFile(backupList.get(0).getId()); |
| 1396 | + createAddressFile(); |
| 1397 | + } else if (backupList.size() == 2) { |
| 1398 | + mDriveServiceHelper.deleteFile(backupList.get(0).getId()); |
| 1399 | + mDriveServiceHelper.deleteFile(backupList.get(1).getId()); |
| 1400 | + createAddressFile(); |
1379 | 1401 | } else { |
1380 | 1402 | saveAddressFile(backupList.get(1).getId(), backupList.get(0).getId(), backupList.get(2).getId()); |
1381 | 1403 | } |
@@ -1500,6 +1522,21 @@ public void onSuccess(String s) { |
1500 | 1522 | } |
1501 | 1523 | } |
1502 | 1524 |
|
| 1525 | + /** |
| 1526 | + * @备注: 循环删除重复数据 |
| 1527 | + * @description: Circular deletion of duplicate data |
| 1528 | + */ |
| 1529 | + public static void removeDuplicate(List<com.google.api.services.drive.model.File> list) { |
| 1530 | + for (int i = 0; i < list.size() - 1; i++) { |
| 1531 | + for (int j = list.size() - 1; j > i; j--) { |
| 1532 | + if (list.get(j).getName().equals(list.get(i).getName())) { |
| 1533 | + list.remove(j); |
| 1534 | + } |
| 1535 | + } |
| 1536 | + } |
| 1537 | + System.out.println(list); |
| 1538 | + } |
| 1539 | + |
1503 | 1540 | /** |
1504 | 1541 | * Start node |
1505 | 1542 | * 启动节点 |
|
0 commit comments