diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 131f449..de911e1 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,7 +12,9 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
- tools:ignore="GoogleAppIndexingWarning">
+ tools:ignore="GoogleAppIndexingWarning"
+ android:largeHeap="true"
+ >
@@ -23,4 +25,4 @@
-
\ No newline at end of file
+
diff --git a/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/manager/NetworkManager.java b/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/manager/NetworkManager.java
index db7457e..2535a52 100644
--- a/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/manager/NetworkManager.java
+++ b/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/manager/NetworkManager.java
@@ -46,6 +46,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Random;
+import java.util.Set;
import java.util.TimeZone;
import java.util.concurrent.Semaphore;
@@ -201,8 +202,14 @@ public class NetworkManager {
JSONObject tracker = trackers.getJSONObject(trackerId);
Tracker track = parseTracker(tracker,trackerId);
trackersList.add(track);
+ if (trackersList.size() == 20) {
+ DatabaseManager.getInstance(mes.context).insertOrUpdateTrackers(trackersList);
+ trackersList.clear();
+ }
}
- DatabaseManager.getInstance(mes.context).insertOrUpdateTrackers(trackersList);
+ if(!trackersList.isEmpty())
+ DatabaseManager.getInstance(mes.context).insertOrUpdateTrackers(trackersList);
+ trackersList.clear();
} catch (JSONException e) {
mes.listener.onError(mes.context.getString(R.string.json_error));
}
@@ -225,40 +232,55 @@ public class NetworkManager {
if(object != null) {
Map handles = new HashMap<>();
+ ArrayList packages = mes.args.getStringArrayList("packages");
+ if (packages == null)
+ return;
+
try {
JSONArray applications = object.getJSONArray("applications");
+
+ //manage handles map (handle,UAID)
for(int i = 0; i handles) {
- ArrayList packages = mes.args.getStringArrayList("packages");
- if(packages == null)
- return;
-
- packages.retainAll(handles.keySet());
-
- // Add some random packages to avoid tracking
- Random rand = new Random(Thread.currentThread().getId());
- int alea = rand.nextInt(120) % 10 + 11;
- List handleList = new ArrayList<>(handles.keySet());
- for(int i = 0 ; i < alea; i++) {
- int val = rand.nextInt(handleList.size());
- packages.add(handleList.get(val));
- }
-
- Collections.shuffle(packages);
-
+ private void getReports(Message mes, Map handles, ArrayList packages) {
for(int i = 0; i < packages.size(); i++) {
mes.listener.onProgress(R.string.parse_application,i+1,packages.size());
getReport(mes,packages.get(i),handles.get(packages.get(i)));
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index b1b24a5..ef87a4b 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,6 @@
-#Mon May 20 19:52:15 CEST 2019
+#Tue Oct 01 11:13:40 CEST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
-distributionSha256Sum=14cd15fc8cc8705bd69dcfa3c8fefb27eb7027f5de4b47a8b279218f76895a91