X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Factivities%2FRequestsActivity.java;h=dcf641298e1204bfddafbd5b70864229edbc1fbc;hp=8d91126de47a1f35d52c8bde3af5bfbb52c1a599;hb=5a385f0ba12a7af005761e30155f7fd18767d2f9;hpb=012e5595c82d6e8d0b8a46f1ef18a02a56341182 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 8d91126d..dcf64129 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/RequestsActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/RequestsActivity.java @@ -82,7 +82,8 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi appBar.setCustomView(R.layout.requests_spinner); appBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM | ActionBar.DISPLAY_HOME_AS_UP); - // Initialize the resource array lists. + // Initialize the resource array lists. A list is needed for all the resource requests, or the activity can crash if `MainWebViewActivity.resourceRequests` is modified after the activity loads. + List allResourceRequests = new ArrayList<>(); List defaultResourceRequests = new ArrayList<>(); List allowedResourceRequests = new ArrayList<>(); List blockedResourceRequests = new ArrayList<>(); @@ -91,14 +92,26 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi for (String[] request : MainWebViewActivity.resourceRequests) { switch (Integer.valueOf(request[MainWebViewActivity.REQUEST_DISPOSITION])) { case MainWebViewActivity.REQUEST_DEFAULT: + // Add the request to the list of all requests. + allResourceRequests.add(request); + + // Add the request to the list of default requests. defaultResourceRequests.add(request); break; case MainWebViewActivity.REQUEST_ALLOWED: + // Add the request to the list of all requests. + allResourceRequests.add(request); + + // Add the request to the list of allowed requests. allowedResourceRequests.add(request); break; case MainWebViewActivity.REQUEST_BLOCKED: + // Add the request to the list of all requests. + allResourceRequests.add(request); + + // Add the request to the list of blocked requests. blockedResourceRequests.add(request); break; } @@ -106,10 +119,10 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi // Setup a matrix cursor for the resource lists. MatrixCursor spinnerCursor = new MatrixCursor(new String[]{"_id", "Requests"}); - spinnerCursor.addRow(new Object[]{0, getString(R.string.all) + " - " + MainWebViewActivity.resourceRequests.size()}); + 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) + " - " + allowedResourceRequests.size()}); - spinnerCursor.addRow(new Object[]{3, getString(R.string.blocked) + " - " + blockedResourceRequests.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()}); // Create a resource cursor adapter for the spinner. ResourceCursorAdapter spinnerCursorAdapter = new ResourceCursorAdapter(this, R.layout.requests_spinner_item, spinnerCursor, 0) { @@ -137,7 +150,7 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi switch (position) { case 0: // All requests. // Get an adapter for all the request. - ArrayAdapter allResourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), MainWebViewActivity.resourceRequests); + ArrayAdapter allResourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), allResourceRequests); // Display the adapter in the list view. resourceRequestsListView.setAdapter(allResourceRequestsArrayAdapter); @@ -176,7 +189,7 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi }); // Create an array adapter with the list of the resource requests. - ArrayAdapter resourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), MainWebViewActivity.resourceRequests); + ArrayAdapter resourceRequestsArrayAdapter = new RequestsArrayAdapter(getApplicationContext(), allResourceRequests); // Populate the list view with the resource requests adapter. resourceRequestsListView.setAdapter(resourceRequestsArrayAdapter);