X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Factivities%2FRequestsActivity.java;h=a62708a3f70d144ba076192ee26147043f495aca;hb=64fe50abeacf25f6fde5d3b3de11801f1618987b;hp=dcf641298e1204bfddafbd5b70864229edbc1fbc;hpb=5a385f0ba12a7af005761e30155f7fd18767d2f9;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/RequestsActivity.java b/app/src/main/java/com/stoutner/privacybrowser/activities/RequestsActivity.java index dcf64129..a62708a3 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/RequestsActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/RequestsActivity.java @@ -45,7 +45,7 @@ import java.util.List; public class RequestsActivity extends AppCompatActivity implements ViewRequestDialog.ViewRequestListener { // The list view is used in `onCreate()` and `launchViewRequestDialog()`. - private ListView resourceRequestsListView; + private ListView requestsListView; @Override public void onCreate(Bundle savedInstanceState) { @@ -68,12 +68,12 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi setContentView(R.layout.requests_coordinatorlayout); // Use the `SupportActionBar` from `android.support.v7.app.ActionBar` until the minimum API is >= 21. - Toolbar blockListsAppBar = findViewById(R.id.blocklists_toolbar); - setSupportActionBar(blockListsAppBar); + Toolbar requestsAppBar = findViewById(R.id.requests_toolbar); + setSupportActionBar(requestsAppBar); // Get a handle for the app bar and the list view. ActionBar appBar = getSupportActionBar(); - resourceRequestsListView = findViewById(R.id.resource_requests_listview); + requestsListView = findViewById(R.id.requests_listview); // Remove the incorrect lint warning that `appBar` might be null. assert appBar != null; @@ -86,6 +86,7 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi List allResourceRequests = new ArrayList<>(); List defaultResourceRequests = new ArrayList<>(); List allowedResourceRequests = new ArrayList<>(); + List thirdPartyResourceRequests = new ArrayList<>(); List blockedResourceRequests = new ArrayList<>(); // Populate the resource array lists. @@ -107,6 +108,14 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi allowedResourceRequests.add(request); break; + case MainWebViewActivity.REQUEST_THIRD_PARTY: + // Add the request to the list of all requests. + allResourceRequests.add(request); + + // Add the request to the list of third-party requests. + thirdPartyResourceRequests.add(request); + break; + case MainWebViewActivity.REQUEST_BLOCKED: // Add the request to the list of all requests. allResourceRequests.add(request); @@ -122,7 +131,10 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi spinnerCursor.addRow(new Object[]{0, getString(R.string.all) + " - " + allResourceRequests.size()}); spinnerCursor.addRow(new Object[]{1, getString(R.string.default_label) + " - " + defaultResourceRequests.size()}); spinnerCursor.addRow(new Object[]{2, getString(R.string.allowed_plural) + " - " + allowedResourceRequests.size()}); - spinnerCursor.addRow(new Object[]{3, getString(R.string.blocked_plural) + " - " + blockedResourceRequests.size()}); + if (MainWebViewActivity.blockAllThirdPartyRequests) { + spinnerCursor.addRow(new Object[]{3, getString(R.string.third_party_plural) + " - " + thirdPartyResourceRequests.size()}); + } + spinnerCursor.addRow(new Object[]{4, getString(R.string.blocked_plural) + " - " + blockedResourceRequests.size()}); // Create a resource cursor adapter for the spinner. ResourceCursorAdapter spinnerCursorAdapter = new ResourceCursorAdapter(this, R.layout.requests_spinner_item, spinnerCursor, 0) { @@ -147,13 +159,13 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi appBarSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { - switch (position) { + switch ((int) id) { case 0: // All requests. // Get an adapter for all the request. ArrayAdapter allResourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), allResourceRequests); // Display the adapter in the list view. - resourceRequestsListView.setAdapter(allResourceRequestsArrayAdapter); + requestsListView.setAdapter(allResourceRequestsArrayAdapter); break; case 1: // Default requests. @@ -161,7 +173,7 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi ArrayAdapter defaultResourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), defaultResourceRequests); // Display the adapter in the list view. - resourceRequestsListView.setAdapter(defaultResourceRequestsArrayAdapter); + requestsListView.setAdapter(defaultResourceRequestsArrayAdapter); break; case 2: // Allowed requests. @@ -169,15 +181,23 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi ArrayAdapter allowedResourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), allowedResourceRequests); // Display the adapter in the list view. - resourceRequestsListView.setAdapter(allowedResourceRequestsArrayAdapter); + requestsListView.setAdapter(allowedResourceRequestsArrayAdapter); + break; + + case 3: // Third-party requests. + // Get an adapter for the third-party requests. + ArrayAdapter thirdPartyResourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), thirdPartyResourceRequests); + + //Display the adapter in the list view. + requestsListView.setAdapter(thirdPartyResourceRequestsArrayAdapter); break; - case 3: // Blocked requests. + case 4: // Blocked requests. // Get an adapter fo the blocked requests. ArrayAdapter blockedResourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), blockedResourceRequests); // Display the adapter in the list view. - resourceRequestsListView.setAdapter(blockedResourceRequestsArrayAdapter); + requestsListView.setAdapter(blockedResourceRequestsArrayAdapter); break; } } @@ -192,10 +212,10 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi ArrayAdapter resourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), allResourceRequests); // Populate the list view with the resource requests adapter. - resourceRequestsListView.setAdapter(resourceRequestsArrayAdapter); + requestsListView.setAdapter(resourceRequestsArrayAdapter); // Listen for taps on entries in the list view. - resourceRequestsListView.setOnItemClickListener((AdapterView parent, View view, int position, long id) -> { + requestsListView.setOnItemClickListener((AdapterView parent, View view, int position, long id) -> { // Display the view request dialog. The list view is 0 based, so the position must be incremented by 1. launchViewRequestDialog(position + 1); }); @@ -215,10 +235,10 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi private void launchViewRequestDialog(int id) { // Determine if this is the last request in the list. - boolean isLastRequest = (id == resourceRequestsListView.getCount()); + boolean isLastRequest = (id == requestsListView.getCount()); // Get the string array for the selected resource request. The resource requests list view is zero based. - String[] selectedRequestStringArray = (String[]) resourceRequestsListView.getItemAtPosition(id - 1); + String[] selectedRequestStringArray = (String[]) requestsListView.getItemAtPosition(id - 1); // Remove the warning that `selectedRequest` might be null. assert selectedRequestStringArray != null;