protect against limited data size
This commit is contained in:
parent
20ee509d39
commit
9a029af8dd
1 changed files with 16 additions and 4 deletions
|
@ -197,18 +197,30 @@ public class BInstallerActivity extends AppCompatActivity {
|
||||||
|
|
||||||
public void downloadAll(ArrayList<Integer> downloadList, int all) {
|
public void downloadAll(ArrayList<Integer> downloadList, int all) {
|
||||||
ArrayList<String> urlparts = new ArrayList<>();
|
ArrayList<String> urlparts = new ArrayList<>();
|
||||||
|
int len = 0;
|
||||||
for (Integer i : downloadList) {
|
for (Integer i : downloadList) {
|
||||||
urlparts.add(baseNameForTile(i));
|
urlparts.add(baseNameForTile(i));
|
||||||
|
len++;
|
||||||
|
if (len > 500) break; // don't do too much work, data size 10240 Bytes only
|
||||||
}
|
}
|
||||||
|
|
||||||
downloadCanceled = false;
|
downloadCanceled = false;
|
||||||
mProgressIndicator.show();
|
mProgressIndicator.show();
|
||||||
mButtonDownload.setEnabled(false);
|
mButtonDownload.setEnabled(false);
|
||||||
|
|
||||||
Data inputData = new Data.Builder()
|
Data inputData = null;
|
||||||
.putStringArray(DownloadWorker.KEY_INPUT_SEGMENT_NAMES, urlparts.toArray(new String[0]))
|
try {
|
||||||
.putInt(DownloadWorker.KEY_INPUT_SEGMENT_ALL, all)
|
inputData = new Data.Builder()
|
||||||
.build();
|
.putStringArray(DownloadWorker.KEY_INPUT_SEGMENT_NAMES, urlparts.toArray(new String[0]))
|
||||||
|
.putInt(DownloadWorker.KEY_INPUT_SEGMENT_ALL, all)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
} catch (IllegalStateException e) {
|
||||||
|
Toast.makeText(this, "Too much data for download. Please reduce.", Toast.LENGTH_LONG).show();
|
||||||
|
|
||||||
|
e.printStackTrace();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Constraints constraints = new Constraints.Builder()
|
Constraints constraints = new Constraints.Builder()
|
||||||
.setRequiresBatteryNotLow(true)
|
.setRequiresBatteryNotLow(true)
|
||||||
|
|
Loading…
Reference in a new issue