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