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=5bb6b0a4033bae5ce07511977532eaa2adada42a;hb=ab11ca2de00c56982e46627c8e7fc670462b0b3c;hpb=3d167d1ec7d0cef1ef032f20859bb0de8ddb01cf 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 5bb6b0a4..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-2019 Soren Stoutner . + * Copyright © 2018-2021 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -20,8 +20,7 @@ package com.stoutner.privacybrowser.adapters; import android.content.Context; -import android.content.SharedPreferences; -import android.preference.PreferenceManager; +import android.content.res.Configuration; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -32,7 +31,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; import com.stoutner.privacybrowser.R; -import com.stoutner.privacybrowser.helpers.BlockListHelper; +import com.stoutner.privacybrowser.helpers.BlocklistHelper; import java.util.List; @@ -45,12 +44,6 @@ public class RequestsArrayAdapter extends ArrayAdapter { @Override @NonNull public View getView(int position, View view, @NonNull ViewGroup parent) { - // Get a handle for the shared preferences. - SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext()); - - // Get the theme preferences. - boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false); - // Get a handle for the context. Context context = getContext(); @@ -73,9 +66,12 @@ 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 (entryStringArray[0]) { - case BlockListHelper.REQUEST_DEFAULT: + case BlocklistHelper.REQUEST_DEFAULT: // Create the disposition string. String requestDefault = id + ". " + context.getResources().getString(R.string.allowed); @@ -83,10 +79,10 @@ public class RequestsArrayAdapter extends ArrayAdapter { dispositionTextView.setText(requestDefault); // Set the background color. - linearLayout.setBackgroundColor(context.getResources().getColor(R.color.transparent)); + linearLayout.setBackgroundColor(context.getColor(R.color.transparent)); break; - case BlockListHelper.REQUEST_ALLOWED: + case BlocklistHelper.REQUEST_ALLOWED: // Create the disposition string. String requestAllowed = id + ". " + context.getResources().getString(R.string.allowed); @@ -94,14 +90,14 @@ public class RequestsArrayAdapter extends ArrayAdapter { dispositionTextView.setText(requestAllowed); // Set the background color. - if (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: + case BlocklistHelper.REQUEST_THIRD_PARTY: // Create the disposition string. String requestThirdParty = id + ". " + context.getResources().getString(R.string.blocked); @@ -109,15 +105,15 @@ public class RequestsArrayAdapter extends ArrayAdapter { dispositionTextView.setText(requestThirdParty); // Set the background color. - if (darkTheme) { - linearLayout.setBackgroundColor(context.getResources().getColor(R.color.yellow_700_50)); + if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) { + linearLayout.setBackgroundColor(context.getColor(R.color.yellow_100)); } else { - linearLayout.setBackgroundColor(context.getResources().getColor(R.color.yellow_100)); + linearLayout.setBackgroundColor(context.getColor(R.color.yellow_700_50)); } break; - case BlockListHelper.REQUEST_BLOCKED: + case BlocklistHelper.REQUEST_BLOCKED: // Create the disposition string. String requestBlocked = id + ". " + context.getResources().getString(R.string.blocked); @@ -125,10 +121,10 @@ public class RequestsArrayAdapter extends ArrayAdapter { dispositionTextView.setText(requestBlocked); // Set the background color. - if (darkTheme) { - linearLayout.setBackgroundColor(context.getResources().getColor(R.color.red_700_40)); + 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; } @@ -136,15 +132,6 @@ 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 (darkTheme) { - dispositionTextView.setTextColor(context.getResources().getColor(R.color.gray_200)); - urlTextView.setTextColor(context.getResources().getColor(R.color.gray_200)); - } else { - dispositionTextView.setTextColor(context.getResources().getColor(R.color.black)); - urlTextView.setTextColor(context.getResources().getColor(R.color.black)); - } - // Return the modified view. return view; }