From cae158d4897bfc891dedea451ccc8a4795b7f00a Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 15 Dec 2020 16:53:36 +0100 Subject: [PATCH] Some improvements --- .../eu/exodus_privacy/exodusprivacy/MainActivity.java | 3 +++ .../exodusprivacy/adapters/MyTrackersListAdapter.java | 11 +++++------ .../exodusprivacy/fragments/MyTrackersFragment.java | 7 ++++++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/MainActivity.java b/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/MainActivity.java index 404ffc9..c1dc245 100644 --- a/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/MainActivity.java +++ b/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/MainActivity.java @@ -156,6 +156,7 @@ public class MainActivity extends AppCompatActivity { } binding.fragmentContainer.setVisibility(View.GONE); } + } @Override @@ -268,6 +269,8 @@ public class MainActivity extends AppCompatActivity { if (fragments.size() > 0) { Updatable fragment = fragments.get(fragments.size() - 1); settingsMenuItem.setVisible(fragment instanceof ReportFragment); + } else { + settingsMenuItem.setVisible(false); } return true; } diff --git a/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/adapters/MyTrackersListAdapter.java b/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/adapters/MyTrackersListAdapter.java index 0cee64c..555e891 100644 --- a/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/adapters/MyTrackersListAdapter.java +++ b/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/adapters/MyTrackersListAdapter.java @@ -35,13 +35,14 @@ public class MyTrackersListAdapter extends RecyclerView.Adapter myTrackers; - private final int max; + private final int max, installedApps; private int viewWidth = 0; - public MyTrackersListAdapter(List mTrackers, TrackerClickListener listener, int maxValue) { + public MyTrackersListAdapter(List mTrackers, TrackerClickListener listener, int maxValue, int appInstalled) { myTrackers = mTrackers; trackerClickListener = listener; max = maxValue; + installedApps = appInstalled; } @NonNull @@ -57,12 +58,10 @@ public class MyTrackersListAdapter extends RecyclerView.Adapter { - trackerClickListener.onTrackerClick(myTracker.tracker.id); - }); + holder.viewDataBinding.getRoot().setOnClickListener(v -> trackerClickListener.onTrackerClick(myTracker.tracker.id)); float percent = (float) myTracker.number / max; holder.viewDataBinding.percent.getLayoutParams().width = (int) (viewWidth * percent); - holder.viewDataBinding.percentVal.setText(String.format("%s %%", myTracker.number * 100 / myTrackers.size())); + holder.viewDataBinding.percentVal.setText(String.format("%s %%", myTracker.number * 100 / installedApps)); holder.viewDataBinding.percent.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { diff --git a/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/fragments/MyTrackersFragment.java b/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/fragments/MyTrackersFragment.java index be89475..5ec956f 100644 --- a/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/fragments/MyTrackersFragment.java +++ b/app/src/main/java/org/eu/exodus_privacy/exodusprivacy/fragments/MyTrackersFragment.java @@ -34,6 +34,7 @@ import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.LinearLayoutManager; import org.eu.exodus_privacy.exodusprivacy.R; +import org.eu.exodus_privacy.exodusprivacy.adapters.ApplicationViewModel; import org.eu.exodus_privacy.exodusprivacy.adapters.MyTrackersListAdapter; import org.eu.exodus_privacy.exodusprivacy.adapters.TrackerListAdapter; import org.eu.exodus_privacy.exodusprivacy.databinding.MyTrackersBinding; @@ -47,6 +48,7 @@ import java.util.Collections; import java.util.List; import java.util.Set; + public class MyTrackersFragment extends Fragment implements MyTrackersListAdapter.TrackerClickListener { private Context context; @@ -79,6 +81,9 @@ public class MyTrackersFragment extends Fragment implements MyTrackersListAdapte List myTrackers = new ArrayList<>(); List added = new ArrayList<>(); int maxValue = 0; + + List vms = ComputeAppList.compute(packageManager, DatabaseManager.getInstance(getActivity()), null); + int appInstalled = vms.size(); for (PackageInfo pkgInfo : packageInstalled) { Report report; if (pkgInfo.versionName != null) @@ -114,7 +119,7 @@ public class MyTrackersFragment extends Fragment implements MyTrackersListAdapte int finalMaxValue = maxValue; Runnable myRunnable = () -> { Collections.sort(myTrackers, (obj1, obj2) -> Integer.compare(obj2.number, obj1.number)); - MyTrackersListAdapter myTrackersListAdapter = new MyTrackersListAdapter(myTrackers, MyTrackersFragment.this, finalMaxValue); + MyTrackersListAdapter myTrackersListAdapter = new MyTrackersListAdapter(myTrackers, MyTrackersFragment.this, finalMaxValue, appInstalled); trackerBinding.trackers.setAdapter(myTrackersListAdapter); trackerBinding.trackers.setLayoutManager(new LinearLayoutManager(context)); trackerBinding.trackers.setVisibility(View.VISIBLE);