X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fadapters%2FRequestsArrayAdapter.java;h=f729cb23319edb1708989800661d10ff7ac148f6;hp=e0c58cea85e79b8870fd5297e01b6a767b793011;hb=ab11ca2de00c56982e46627c8e7fc670462b0b3c;hpb=012e5595c82d6e8d0b8a46f1ef18a02a56341182 diff --git a/app/src/main/java/com/stoutner/privacybrowser/adapters/RequestsArrayAdapter.java b/app/src/main/java/com/stoutner/privacybrowser/adapters/RequestsArrayAdapter.java index e0c58cea..f729cb23 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/adapters/RequestsArrayAdapter.java +++ b/app/src/main/java/com/stoutner/privacybrowser/adapters/RequestsArrayAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright © 2018 Soren Stoutner . + * Copyright © 2018-2021 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -20,7 +20,7 @@ package com.stoutner.privacybrowser.adapters; import android.content.Context; -import android.support.annotation.NonNull; +import android.content.res.Configuration; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -28,8 +28,10 @@ import android.widget.ArrayAdapter; import android.widget.LinearLayout; import android.widget.TextView; +import androidx.annotation.NonNull; + import com.stoutner.privacybrowser.R; -import com.stoutner.privacybrowser.activities.MainWebViewActivity; +import com.stoutner.privacybrowser.helpers.BlocklistHelper; import java.util.List; @@ -52,7 +54,7 @@ public class RequestsArrayAdapter extends ArrayAdapter { // Get handles for the views. LinearLayout linearLayout = view.findViewById(R.id.request_item_linearlayout); - TextView actionTextView = view.findViewById(R.id.request_item_action); + TextView dispositionTextView = view.findViewById(R.id.request_item_disposition); TextView urlTextView = view.findViewById(R.id.request_item_url); // Get the string array for this entry. @@ -64,47 +66,65 @@ public class RequestsArrayAdapter extends ArrayAdapter { // The ID is one greater than the position because it is 0 based. int id = position + 1; + // Get the current theme status. + int currentThemeStatus = context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK; + // Set the action text and the background color. - switch (Integer.valueOf(entryStringArray[0])) { - case MainWebViewActivity.REQUEST_DEFAULT: + switch (entryStringArray[0]) { + case BlocklistHelper.REQUEST_DEFAULT: // Create the disposition string. String requestDefault = id + ". " + context.getResources().getString(R.string.allowed); // Set the disposition text. - actionTextView.setText(requestDefault); + dispositionTextView.setText(requestDefault); // Set the background color. - linearLayout.setBackgroundColor(context.getResources().getColor(R.color.transparent)); + linearLayout.setBackgroundColor(context.getColor(R.color.transparent)); break; - case MainWebViewActivity.REQUEST_ALLOWED: + case BlocklistHelper.REQUEST_ALLOWED: // Create the disposition string. String requestAllowed = id + ". " + context.getResources().getString(R.string.allowed); // Set the disposition text. - actionTextView.setText(requestAllowed); + dispositionTextView.setText(requestAllowed); // Set the background color. - if (MainWebViewActivity.darkTheme) { - linearLayout.setBackgroundColor(context.getResources().getColor(R.color.blue_700_50)); + if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) { + linearLayout.setBackgroundColor(context.getColor(R.color.blue_100)); } else { - linearLayout.setBackgroundColor(context.getResources().getColor(R.color.blue_100)); + linearLayout.setBackgroundColor(context.getColor(R.color.blue_700_50)); } break; + case BlocklistHelper.REQUEST_THIRD_PARTY: + // Create the disposition string. + String requestThirdParty = id + ". " + context.getResources().getString(R.string.blocked); - case MainWebViewActivity.REQUEST_BLOCKED: + // Set the disposition text. + dispositionTextView.setText(requestThirdParty); + + // Set the background color. + if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) { + linearLayout.setBackgroundColor(context.getColor(R.color.yellow_100)); + } else { + linearLayout.setBackgroundColor(context.getColor(R.color.yellow_700_50)); + } + break; + + + case BlocklistHelper.REQUEST_BLOCKED: // Create the disposition string. String requestBlocked = id + ". " + context.getResources().getString(R.string.blocked); // Set the disposition text. - actionTextView.setText(requestBlocked); + dispositionTextView.setText(requestBlocked); // Set the background color. - if (MainWebViewActivity.darkTheme) { - linearLayout.setBackgroundColor(context.getResources().getColor(R.color.red_700_50)); + if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) { + linearLayout.setBackgroundColor(context.getColor(R.color.red_100)); } else { - linearLayout.setBackgroundColor(context.getResources().getColor(R.color.red_100)); + linearLayout.setBackgroundColor(context.getColor(R.color.red_700_40)); } break; } @@ -112,16 +132,7 @@ public class RequestsArrayAdapter extends ArrayAdapter { // Set the URL text. urlTextView.setText(entryStringArray[1]); - // Set the text color. For some unexplained reason, `android:textColor="?android:textColorPrimary"` doesn't work in the layout file. Probably some bug relating to array adapters. - if (MainWebViewActivity.darkTheme) { - actionTextView.setTextColor(context.getResources().getColor(R.color.gray_200)); - urlTextView.setTextColor(context.getResources().getColor(R.color.gray_200)); - } else { - actionTextView.setTextColor(context.getResources().getColor(R.color.black)); - urlTextView.setTextColor(context.getResources().getColor(R.color.black)); - } - // Return the modified view. return view; } -} +} \ No newline at end of file