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=c1e2ee8463368c93e1d8c195f84da0f8f5a0ca9c;hp=e0c58cea85e79b8870fd5297e01b6a767b793011;hb=8142ac5fc2489de735de4b6fa21a1eae733ccfce;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..c1e2ee84 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/adapters/RequestsArrayAdapter.java +++ b/app/src/main/java/com/stoutner/privacybrowser/adapters/RequestsArrayAdapter.java @@ -1,26 +1,26 @@ /* - * Copyright © 2018 Soren Stoutner . + * Copyright © 2018-2022 Soren Stoutner . * - * This file is part of Privacy Browser . + * This file is part of Privacy Browser Android . * - * Privacy Browser is free software: you can redistribute it and/or modify + * Privacy Browser Android is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * - * Privacy Browser is distributed in the hope that it will be useful, + * Privacy Browser Android is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with Privacy Browser. If not, see . + * along with Privacy Browser Android. If not, see . */ 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