X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;ds=sidebyside;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fadapters%2FRequestsArrayAdapter.java;h=c1e2ee8463368c93e1d8c195f84da0f8f5a0ca9c;hb=8142ac5fc2489de735de4b6fa21a1eae733ccfce;hp=edc64f810678699d612d953d91e31ecb689444af;hpb=bb6f81978d4fdf732b3becc0dd2c055bad5f85d5;p=PrivacyBrowserAndroid.git 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 edc64f81..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,27 +1,26 @@ /* - * Copyright © 2018-2019 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.content.SharedPreferences; -import android.preference.PreferenceManager; +import android.content.res.Configuration; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -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,6 +66,9 @@ 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: @@ -83,7 +79,7 @@ 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: @@ -94,10 +90,10 @@ 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; @@ -109,10 +105,10 @@ 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; @@ -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; }