From 12cc2bf7221a54add8e13a85a4f0f1f7fe84bed3 Mon Sep 17 00:00:00 2001 From: hussainmohd-a Date: Tue, 2 Mar 2021 19:11:07 +0530 Subject: [PATCH] Application theme - Final pass - Version 053b Changes in the layout files and corresponding attributes in Styles.xml. The changes are part of v053b release. Still more changes needs to be done in order to make the theme more generic. --- app/src/main/AndroidManifest.xml | 3 +- .../adapter/UniversalBlockedRulesAdapter.kt | 1 - .../celzero/bravedns/ui/WelcomeActivity.kt | 32 ++- .../main/res/drawable/bs_dns_home_screen.xml | 9 + .../res/drawable/bs_firewall_home_screen.xml | 9 + app/src/main/res/drawable/ic_app_update.xml | 3 + app/src/main/res/drawable/ic_blog.xml | 30 ++- app/src/main/res/drawable/ic_dns_firewall.xml | 13 + app/src/main/res/drawable/ic_fab_appinfo.xml | 6 +- .../main/res/drawable/ic_fab_uninstall.xml | 2 +- .../res/drawable/ic_fab_without_border.xml | 2 +- app/src/main/res/drawable/ic_faq.xml | 45 ++-- app/src/main/res/drawable/ic_github.xml | 1 + app/src/main/res/drawable/ic_mail.xml | 30 ++- app/src/main/res/drawable/ic_twitter.xml | 15 +- app/src/main/res/drawable/ic_website.xml | 3 + app/src/main/res/drawable/ic_whats_new.xml | 1 + .../rounded_corners_button_primary.xml | 2 +- .../layout/activity_faq_webview_layout.xml | 1 + .../main/res/layout/activity_query_detail.xml | 17 +- .../res/layout/activity_settings_screen.xml | 67 ++++- app/src/main/res/layout/activity_welcome.xml | 15 +- app/src/main/res/layout/apk_list_item.xml | 17 +- .../res/layout/bottom_sheet_conn_track.xml | 103 ++++---- .../res/layout/bottom_sheet_home_screen.xml | 239 +++++++++++++++--- .../layout/connection_list_scroll_list.xml | 1 + .../res/layout/connection_transaction_row.xml | 15 +- .../main/res/layout/custom_dialog_layout.xml | 2 +- .../res/layout/dialog_info_custom_layout.xml | 2 +- .../main/res/layout/dialog_set_custom_url.xml | 10 +- .../main/res/layout/dialog_set_dns_crypt.xml | 6 + .../main/res/layout/dialog_set_dns_proxy.xml | 6 +- .../main/res/layout/dialog_set_http_proxy.xml | 6 +- app/src/main/res/layout/dialog_set_proxy.xml | 14 +- .../layout/dns_crypt_endpoint_list_item.xml | 13 +- .../main/res/layout/dns_proxy_list_item.xml | 16 +- .../res/layout/doh_endpoint_list_item.xml | 19 +- .../res/layout/exclude_app_dialog_layout.xml | 2 +- .../res/layout/expandable_firewall_header.xml | 9 +- app/src/main/res/layout/fragment_about.xml | 84 +++--- .../res/layout/fragment_configure_dns.xml | 34 ++- app/src/main/res/layout/fragment_firewall.xml | 1 - .../res/layout/fragment_firewall_all_apps.xml | 4 +- .../main/res/layout/fragment_home_screen.xml | 3 + .../res/layout/query_list_scroll_list.xml | 5 +- app/src/main/res/layout/transaction_row.xml | 13 +- .../res/layout/univ_whitelist_list_item.xml | 1 - .../res/layout/univ_whitelist_rules_item.xml | 10 +- app/src/main/res/layout/welcome_slide1.xml | 5 +- app/src/main/res/layout/welcome_slide2.xml | 5 +- app/src/main/res/values/colors.xml | 4 +- app/src/main/res/values/strings.xml | 79 +++--- app/src/main/res/values/styles.xml | 5 +- 53 files changed, 685 insertions(+), 355 deletions(-) create mode 100644 app/src/main/res/drawable/bs_dns_home_screen.xml create mode 100644 app/src/main/res/drawable/bs_firewall_home_screen.xml create mode 100644 app/src/main/res/drawable/ic_dns_firewall.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f40c1a46c..712b6ea98 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -23,7 +23,7 @@ android:roundIcon="@drawable/ic_launcher" android:supportsRtl="true" android:name=".RethinkDnsApplication" - android:theme="@style/AppTheme"> + android:theme="@style/AppThemeInitial"> @@ -47,6 +47,7 @@ android:launchMode="singleTask" /> - internal val layout: IntArray = intArrayOf(R.layout.welcome_slide1, R.layout.welcome_slide2) + internal val layout: IntArray = intArrayOf(R.layout.welcome_slide2, R.layout.welcome_slide1) private lateinit var myPagerAdapter: PagerAdapter - private val persistentState by inject() override fun onCreate(savedInstanceState: Bundle?) { @@ -72,28 +71,37 @@ class WelcomeActivity : AppCompatActivity(R.layout.activity_welcome) { } b.btnNext.setOnClickListener { - val currentItem = getItem(1) - if (currentItem < layout.size) b.viewPager.currentItem = currentItem - else launchHomeScreen() + val currentItem = getItem() + if (currentItem+1 >= layout.size) { + launchHomeScreen() + }else { + b.viewPager.currentItem = currentItem+1 + } } b.viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { override fun onPageScrollStateChanged(state: Int) { - if (ViewPager.SCROLLBAR_POSITION_RIGHT == state + 1) { - if (getItem(1) == layout.size) launchHomeScreen() - } } override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) { - } override fun onPageSelected(position: Int) { addBottomDots(position) + if (position >= layout.size - 1) { + b.btnNext.text = getString(R.string.finish) + b.btnNext.visibility = View.VISIBLE + b.btnSkip.visibility = View.INVISIBLE + }else{ + b.btnSkip.visibility = View.VISIBLE + b.btnNext.visibility = View.INVISIBLE + } } - }) + } + override fun onBackPressed() { + return } private fun Context.isDarkThemeOn(): Boolean { @@ -127,8 +135,8 @@ class WelcomeActivity : AppCompatActivity(R.layout.activity_welcome) { } } - private fun getItem(i: Int): Int { - return b.viewPager.currentItem + i + private fun getItem(): Int { + return b.viewPager.currentItem } private fun launchHomeScreen() { diff --git a/app/src/main/res/drawable/bs_dns_home_screen.xml b/app/src/main/res/drawable/bs_dns_home_screen.xml new file mode 100644 index 000000000..e1784f3f2 --- /dev/null +++ b/app/src/main/res/drawable/bs_dns_home_screen.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/bs_firewall_home_screen.xml b/app/src/main/res/drawable/bs_firewall_home_screen.xml new file mode 100644 index 000000000..766fba9f0 --- /dev/null +++ b/app/src/main/res/drawable/bs_firewall_home_screen.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_app_update.xml b/app/src/main/res/drawable/ic_app_update.xml index 69d350622..0d787c906 100644 --- a/app/src/main/res/drawable/ic_app_update.xml +++ b/app/src/main/res/drawable/ic_app_update.xml @@ -8,12 +8,14 @@ android:pathData="M12,3L12,16" android:strokeWidth="2" android:strokeColor="?attr/svgStrokeColor" + android:strokeAlpha="0.5" android:strokeLineCap="square" android:strokeLineJoin="miter" /> @@ -21,6 +23,7 @@ android:fillColor="?attr/svgFillColor" android:pathData="M20,21L4,21" android:strokeWidth="2" + android:strokeAlpha="0.5" android:strokeColor="?attr/svgStrokeColor" android:strokeLineCap="square" android:strokeLineJoin="miter" /> diff --git a/app/src/main/res/drawable/ic_blog.xml b/app/src/main/res/drawable/ic_blog.xml index 7a249a85a..47b484d0f 100644 --- a/app/src/main/res/drawable/ic_blog.xml +++ b/app/src/main/res/drawable/ic_blog.xml @@ -3,18 +3,20 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - - + + diff --git a/app/src/main/res/drawable/ic_dns_firewall.xml b/app/src/main/res/drawable/ic_dns_firewall.xml new file mode 100644 index 000000000..633e1f160 --- /dev/null +++ b/app/src/main/res/drawable/ic_dns_firewall.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/drawable/ic_fab_appinfo.xml b/app/src/main/res/drawable/ic_fab_appinfo.xml index 9e209bea7..52dc60f51 100644 --- a/app/src/main/res/drawable/ic_fab_appinfo.xml +++ b/app/src/main/res/drawable/ic_fab_appinfo.xml @@ -8,20 +8,20 @@ android:strokeLineJoin="miter" android:strokeWidth="1" android:fillColor="#00000000" - android:strokeColor="?attr/colorCheckSelected" + android:strokeColor="?attr/accentGood" android:strokeLineCap="square"/> diff --git a/app/src/main/res/drawable/ic_fab_uninstall.xml b/app/src/main/res/drawable/ic_fab_uninstall.xml index c0bbcff32..21c0275f8 100644 --- a/app/src/main/res/drawable/ic_fab_uninstall.xml +++ b/app/src/main/res/drawable/ic_fab_uninstall.xml @@ -8,6 +8,6 @@ android:strokeLineJoin="miter" android:strokeWidth="1" android:fillColor="#00000000" - android:strokeColor="?attr/colorCheckSelected" + android:strokeColor="?attr/accentGood" android:strokeLineCap="square"/> diff --git a/app/src/main/res/drawable/ic_fab_without_border.xml b/app/src/main/res/drawable/ic_fab_without_border.xml index 4b96a1368..f05864961 100644 --- a/app/src/main/res/drawable/ic_fab_without_border.xml +++ b/app/src/main/res/drawable/ic_fab_without_border.xml @@ -8,6 +8,6 @@ android:strokeLineJoin="miter" android:strokeWidth="1" android:fillColor="?attr/svgFillColor" - android:strokeColor="?attr/primaryTextColor" + android:strokeColor="@color/white" android:strokeLineCap="square"/> diff --git a/app/src/main/res/drawable/ic_faq.xml b/app/src/main/res/drawable/ic_faq.xml index 826ee4a84..75a606163 100644 --- a/app/src/main/res/drawable/ic_faq.xml +++ b/app/src/main/res/drawable/ic_faq.xml @@ -3,25 +3,28 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - - - + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_github.xml b/app/src/main/res/drawable/ic_github.xml index a5be10437..45846d787 100644 --- a/app/src/main/res/drawable/ic_github.xml +++ b/app/src/main/res/drawable/ic_github.xml @@ -9,5 +9,6 @@ android:strokeWidth="2" android:fillColor="?attr/svgFillColor" android:strokeColor="?attr/svgStrokeColor" + android:strokeAlpha="0.5" android:strokeLineCap="round"/> diff --git a/app/src/main/res/drawable/ic_mail.xml b/app/src/main/res/drawable/ic_mail.xml index d20ab595d..15f40f1b5 100644 --- a/app/src/main/res/drawable/ic_mail.xml +++ b/app/src/main/res/drawable/ic_mail.xml @@ -3,18 +3,20 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - - + + diff --git a/app/src/main/res/drawable/ic_twitter.xml b/app/src/main/res/drawable/ic_twitter.xml index 1982adfd3..97bb67c52 100644 --- a/app/src/main/res/drawable/ic_twitter.xml +++ b/app/src/main/res/drawable/ic_twitter.xml @@ -3,11 +3,12 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24"> - + diff --git a/app/src/main/res/drawable/ic_website.xml b/app/src/main/res/drawable/ic_website.xml index 0bdb731ba..01a438746 100644 --- a/app/src/main/res/drawable/ic_website.xml +++ b/app/src/main/res/drawable/ic_website.xml @@ -8,6 +8,7 @@ android:pathData="M12,12m-10,0a10,10 0,1 1,20 0a10,10 0,1 1,-20 0" android:strokeWidth="2" android:strokeColor="?attr/svgStrokeColor" + android:strokeAlpha="0.5" android:strokeLineCap="round" android:strokeLineJoin="round" /> diff --git a/app/src/main/res/drawable/ic_whats_new.xml b/app/src/main/res/drawable/ic_whats_new.xml index b9d13b7f3..f5d65e5cb 100644 --- a/app/src/main/res/drawable/ic_whats_new.xml +++ b/app/src/main/res/drawable/ic_whats_new.xml @@ -7,6 +7,7 @@ android:pathData="M12,17.844l-5.817,3.058l1.111,-6.477l-4.706,-4.587l6.504,-0.945l2.908,-5.893l2.908,5.893l6.504,0.945l-4.706,4.587l1.111,6.477z" android:strokeLineJoin="miter" android:strokeWidth="2" + android:strokeAlpha="0.5" android:fillColor="?attr/svgFillColor" android:strokeColor="?attr/svgStrokeColor" android:strokeLineCap="square"/> diff --git a/app/src/main/res/drawable/rounded_corners_button_primary.xml b/app/src/main/res/drawable/rounded_corners_button_primary.xml index 2cbfb83fa..d2dc82250 100644 --- a/app/src/main/res/drawable/rounded_corners_button_primary.xml +++ b/app/src/main/res/drawable/rounded_corners_button_primary.xml @@ -3,7 +3,7 @@ android:shape="rectangle"> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_faq_webview_layout.xml b/app/src/main/res/layout/activity_faq_webview_layout.xml index a861734e7..d1d1380d2 100644 --- a/app/src/main/res/layout/activity_faq_webview_layout.xml +++ b/app/src/main/res/layout/activity_faq_webview_layout.xml @@ -1,6 +1,7 @@ + android:textColor="?attr/primaryTextColor" + android:textSize="@dimen/large_font_text_view" /> + android:textColor="?attr/primaryTextColor" + android:textSize="@dimen/large_font_text_view" /> - - diff --git a/app/src/main/res/layout/activity_settings_screen.xml b/app/src/main/res/layout/activity_settings_screen.xml index 201b4bec2..d1b25985b 100644 --- a/app/src/main/res/layout/activity_settings_screen.xml +++ b/app/src/main/res/layout/activity_settings_screen.xml @@ -12,6 +12,65 @@ android:orientation="vertical" app:layout_behavior="@string/appbar_scrolling_view_behavior"> + + + + + + + + + + + + + + + + + + @@ -125,6 +185,7 @@ android:layout_height="wrap_content" android:fontFamily="sans-serif-smallcaps" android:padding="10dp" + android:layout_marginStart="10dp" android:text="@string/settings_dns_header" android:textColor="?attr/accentGood" android:textSize="@dimen/large_font_text_view" /> @@ -186,12 +247,13 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/settings_activity_on_device_ll" + android:background="@drawable/rounded_corners_button_primary" android:layout_alignParentEnd="true" android:layout_marginTop="3dp" android:layout_marginEnd="3dp" android:padding="13dp" android:text="@string/settings_local_blocklist_configure" - android:textColor="?attr/accentGood" + android:textColor="@color/white" android:textSize="@dimen/default_font_text_view" android:visibility="visible" /> @@ -230,6 +292,7 @@ android:layout_height="wrap_content" android:fontFamily="sans-serif-smallcaps" android:padding="10dp" + android:layout_marginStart="10dp" android:text="@string/settings_vpn_header" android:textColor="?attr/accentGood" android:textSize="@dimen/large_font_text_view" /> @@ -365,6 +428,7 @@ android:layout_height="wrap_content" android:fontFamily="sans-serif-smallcaps" android:padding="10dp" + android:layout_marginStart="10dp" android:text="@string/settings_proxy_header" android:textColor="?attr/accentGood" android:textSize="@dimen/large_font_text_view" /> @@ -489,6 +553,7 @@ android:layout_height="wrap_content" android:fontFamily="sans-serif-smallcaps" android:padding="10dp" + android:layout_marginStart="10dp" android:text="@string/settings_general_header" android:textColor="?attr/accentGood" android:textSize="@dimen/large_font_text_view" /> diff --git a/app/src/main/res/layout/activity_welcome.xml b/app/src/main/res/layout/activity_welcome.xml index 579efea7e..43dc5b42b 100644 --- a/app/src/main/res/layout/activity_welcome.xml +++ b/app/src/main/res/layout/activity_welcome.xml @@ -26,30 +26,27 @@ android:layout_above="@id/layoutDots" android:background="@color/lightColorPrimary" /> - + android:textColor="?attr/accentGood" /> - + android:textColor="?attr/accentGood" /> diff --git a/app/src/main/res/layout/apk_list_item.xml b/app/src/main/res/layout/apk_list_item.xml index 94af6ae62..e69e6a60f 100644 --- a/app/src/main/res/layout/apk_list_item.xml +++ b/app/src/main/res/layout/apk_list_item.xml @@ -3,13 +3,12 @@ android:id="@+id/apk_parent" android:layout_width="match_parent" android:layout_height="wrap_content" - android:backgroundTint="?attr/backgroundDark"> + android:backgroundTint="?attr/backgroundDark" + android:layout_margin="1dp"> - + android:layout_height="wrap_content"> + android:orientation="vertical"> @@ -116,5 +113,5 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/bottom_sheet_conn_track.xml b/app/src/main/res/layout/bottom_sheet_conn_track.xml index bd06ae1d7..c637746f7 100644 --- a/app/src/main/res/layout/bottom_sheet_conn_track.xml +++ b/app/src/main/res/layout/bottom_sheet_conn_track.xml @@ -5,9 +5,9 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" + android:focusable="true" android:orientation="vertical" - android:paddingBottom="40dp" - android:focusable="true"> + android:paddingBottom="40dp"> @@ -58,11 +58,11 @@ android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_margin="2dp" - android:textColor="?attr/primaryTextColor" android:layout_marginTop="8dp" android:layout_toEndOf="@id/bs_conn_track_app_icon" android:gravity="center" android:text="@string/action_automatic" + android:textColor="?attr/primaryTextColor" android:textSize="@dimen/extra_large_font_text_view" /> @@ -80,8 +80,9 @@ android:ellipsize="none" android:gravity="center" android:minWidth="35dp" + android:fontFamily="sans-serif-condensed-medium" android:singleLine="true" - android:textAppearance="@style/TextAppearance.AppCompat.Headline" + android:textAppearance="@android:style/TextAppearance.Material.Subhead" android:textSize="26sp" /> @@ -119,9 +120,9 @@ android:id="@+id/bs_conn_blocked_desc" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_gravity="fill_horizontal" android:ellipsize="end" android:gravity="end" - android:layout_gravity="fill_horizontal" android:text="@string/bsct_conn_block_desc" android:textColor="?attr/primaryLightColorText" android:textSize="@dimen/default_font_text_view" @@ -153,18 +154,6 @@ android:textSize="@dimen/default_font_text_view" android:visibility="gone" /> - - + android:orientation="vertical"> + + + + + @@ -205,44 +213,51 @@ android:textSize="@dimen/default_font_text_view" android:visibility="gone" /> - - + android:orientation="vertical"> + + + + + + diff --git a/app/src/main/res/layout/bottom_sheet_home_screen.xml b/app/src/main/res/layout/bottom_sheet_home_screen.xml index 0b777d4ed..fd46ac734 100644 --- a/app/src/main/res/layout/bottom_sheet_home_screen.xml +++ b/app/src/main/res/layout/bottom_sheet_home_screen.xml @@ -4,9 +4,9 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:clickable="true" + android:focusable="true" android:orientation="vertical" - android:paddingBottom="40dp" - android:focusable="true"> + android:paddingBottom="40dp"> + android:textSize="@dimen/extra_large_font_text_view" + android:textStyle="bold" /> + android:background="@color/recycler_selected" + android:visibility="gone" /> - - + + + + + + + + + + + + + + + android:layout_marginBottom="1dp" + android:background="?attr/background" + android:paddingTop="5dp" + android:paddingBottom="5dp"> + - + + + + + + + + + + + + android:background="?attr/background" + android:paddingTop="5dp" + android:paddingBottom="5dp"> + + + + + + + + + + android:background="@color/recycler_selected" + android:visibility="gone" /> + + android:textIsSelectable="true" + android:textSize="@dimen/default_font_text_view" + android:visibility="gone" /> diff --git a/app/src/main/res/layout/connection_list_scroll_list.xml b/app/src/main/res/layout/connection_list_scroll_list.xml index 3a66388bd..39ddbd970 100644 --- a/app/src/main/res/layout/connection_list_scroll_list.xml +++ b/app/src/main/res/layout/connection_list_scroll_list.xml @@ -83,6 +83,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:nestedScrollingEnabled="false" + android:background="?attr/border" android:clickable="true" android:focusable="true" android:orientation="vertical" /> diff --git a/app/src/main/res/layout/connection_transaction_row.xml b/app/src/main/res/layout/connection_transaction_row.xml index 82007c0d0..479bf6f58 100644 --- a/app/src/main/res/layout/connection_transaction_row.xml +++ b/app/src/main/res/layout/connection_transaction_row.xml @@ -1,13 +1,12 @@ - @@ -19,7 +18,7 @@ @@ -103,7 +102,7 @@ android:id="@+id/connection_flag" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_gravity="center" + android:layout_gravity="end" android:ellipsize="none" android:gravity="center" android:minWidth="35dp" @@ -123,7 +122,7 @@ android:weightSum="1"> - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/custom_dialog_layout.xml b/app/src/main/res/layout/custom_dialog_layout.xml index 416c55958..0fb4f949f 100644 --- a/app/src/main/res/layout/custom_dialog_layout.xml +++ b/app/src/main/res/layout/custom_dialog_layout.xml @@ -31,7 +31,7 @@ android:layout_gravity="start" android:fontFamily="sans-serif" android:isScrollContainer="true" - app:queryHint="Search by app name"> + app:queryHint="@string/search_hint"> + android:text="@string/hs_download_positive_default"/> \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_set_custom_url.xml b/app/src/main/res/layout/dialog_set_custom_url.xml index 3ffd183b0..97a1e82b6 100644 --- a/app/src/main/res/layout/dialog_set_custom_url.xml +++ b/app/src/main/res/layout/dialog_set_custom_url.xml @@ -21,7 +21,7 @@ android:layout_marginTop="10dp" android:layout_height="wrap_content" android:hint="@string/cd_doh_dialog_resolver_name" - app:hintTextColor="@color/secondaryText" + app:hintTextColor="?attr/accentGood" app:layout_constraintTop_toBottomOf="@id/dialog_custom_url_top"> @@ -46,7 +46,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/cd_doh_dialog_resolver_url" - app:hintTextColor="@color/secondaryText" + app:hintTextColor="?attr/accentGood" app:layout_constraintTop_toBottomOf="@id/text_input_layout_name"> @@ -94,6 +94,7 @@ android:layout_marginBottom="10dp" android:text="@string/cd_dialog_positive_btn" android:textSize="@dimen/large_font_text_view" + android:textColor="?attr/accentBad" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/dialog_custom_url_failure_text" /> @@ -108,6 +109,7 @@ android:gravity="center" android:text="@string/cd_dialog_negative_btn" android:textSize="@dimen/large_font_text_view" + android:textColor="?attr/accentBad" app:layout_constraintEnd_toStartOf="@id/dialog_custom_url_ok_btn" app:layout_constraintTop_toBottomOf="@id/dialog_custom_url_failure_text" /> diff --git a/app/src/main/res/layout/dialog_set_dns_crypt.xml b/app/src/main/res/layout/dialog_set_dns_crypt.xml index 7abb70c62..1a3f7d53c 100644 --- a/app/src/main/res/layout/dialog_set_dns_crypt.xml +++ b/app/src/main/res/layout/dialog_set_dns_crypt.xml @@ -59,6 +59,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/cd_dns_crypt_dialog_name" + app:hintTextColor="?attr/accentGood" app:layout_constraintTop_toBottomOf="@id/dialog_dns_proxy_radio_group"> @@ -114,6 +118,7 @@ + android:textColor="@color/colorRed_A400"/> + android:textColor="?attr/accentBad" /> + android:textColor="?attr/accentBad" /> \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_set_http_proxy.xml b/app/src/main/res/layout/dialog_set_http_proxy.xml index baf3b9e36..88444b28b 100644 --- a/app/src/main/res/layout/dialog_set_http_proxy.xml +++ b/app/src/main/res/layout/dialog_set_http_proxy.xml @@ -21,7 +21,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="@string/settings_http_proxy_hostname" - app:hintTextColor="@color/secondaryText" + app:hintTextColor="?attr/accentGood" app:layout_constraintTop_toBottomOf="@id/dialog_http_proxy_top"> @@ -119,6 +120,7 @@ android:layout_marginBottom="10dp" android:gravity="center" android:textSize="@dimen/large_font_text_view" + android:textColor="?attr/accentBad" android:text="@string/settings_dns_proxy_dialog_negative_btn" app:layout_constraintEnd_toStartOf="@id/dialog_http_proxy_ok_btn" app:layout_constraintTop_toBottomOf="@id/dialog_http_proxy_failure_text" /> diff --git a/app/src/main/res/layout/dialog_set_proxy.xml b/app/src/main/res/layout/dialog_set_proxy.xml index 73119a382..f8d135662 100644 --- a/app/src/main/res/layout/dialog_set_proxy.xml +++ b/app/src/main/res/layout/dialog_set_proxy.xml @@ -66,7 +66,7 @@ android:textSize="@dimen/large_font_text_view" android:maxLines="1" android:layout_weight="0.7" - android:hint="IP Address" /> + android:hint="@string/settings_socks5_dialog_hint_ip" /> @@ -92,7 +92,7 @@ android:layout_gravity="center" android:layout_weight="0.7" android:maxLines="1" - android:hint="Port" + android:hint="@string/settings_socks5_dialog_hint_port" android:textSize="@dimen/large_font_text_view" android:inputType="number" /> @@ -121,7 +121,7 @@ android:layout_weight="0.7" android:maxLines="1" android:textSize="@dimen/large_font_text_view" - android:hint="Username (optional)" /> + android:hint="@string/settings_socks5_dialog_hint_username" /> @@ -147,7 +147,7 @@ android:layout_gravity="center" android:layout_weight="0.7" android:textSize="@dimen/large_font_text_view" - android:hint="Password (optional)" + android:hint="@string/settings_socks5_dialog_hint_password" android:maxLines="1" android:inputType="textPassword" /> @@ -169,6 +169,8 @@ android:text="@string/univ_firewall_rule_4" /> + android:textColor="?attr/accentBad" /> + android:textColor="?attr/accentBad" /> \ No newline at end of file diff --git a/app/src/main/res/layout/dns_crypt_endpoint_list_item.xml b/app/src/main/res/layout/dns_crypt_endpoint_list_item.xml index 3b23ecb50..66bbca8c4 100644 --- a/app/src/main/res/layout/dns_crypt_endpoint_list_item.xml +++ b/app/src/main/res/layout/dns_crypt_endpoint_list_item.xml @@ -3,7 +3,7 @@ android:id="@+id/doh_endpoint_list_parent" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="1dp" + android:layout_margin="0.5dp" android:background="?android:attr/selectableItemBackground" android:elevation="@dimen/activity_horizontal_margin"> @@ -12,7 +12,6 @@ android:id="@+id/dns_crypt_endpoint_list_container" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="5dp" android:padding="5dp"> @@ -63,8 +62,8 @@ android:layout_height="48dp" android:layout_alignParentEnd="true" android:gravity="center" - android:buttonTint="?attr/colorCheckSelected" - android:foregroundTint="?attr/colorCheckSelected" + android:buttonTint="?attr/accentGood" + android:foregroundTint="?attr/accentGood" android:text="@null" android:padding="10dp" /> @@ -72,8 +71,8 @@ + android:background="?attr/backgroundDark" /> \ No newline at end of file diff --git a/app/src/main/res/layout/dns_proxy_list_item.xml b/app/src/main/res/layout/dns_proxy_list_item.xml index 2d355b3fb..aa362406f 100644 --- a/app/src/main/res/layout/dns_proxy_list_item.xml +++ b/app/src/main/res/layout/dns_proxy_list_item.xml @@ -3,16 +3,14 @@ android:id="@+id/dns_proxy_list_parent" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="1dp" - android:background="?android:attr/selectableItemBackground" - android:elevation="@dimen/activity_horizontal_margin"> + android:layout_margin="0.5dp" + android:background="?android:attr/selectableItemBackground"> @@ -61,18 +59,18 @@ android:layout_width="48dp" android:layout_height="48dp" android:layout_alignParentEnd="true" + android:buttonTint="?attr/accentGood" + android:foregroundTint="?attr/accentGood" android:gravity="center" android:padding="10dp" - android:buttonTint="?attr/colorCheckSelected" - android:foregroundTint="?attr/colorCheckSelected" android:text="@null" /> + android:background="?attr/backgroundDark" /> \ No newline at end of file diff --git a/app/src/main/res/layout/doh_endpoint_list_item.xml b/app/src/main/res/layout/doh_endpoint_list_item.xml index 9c9381322..b3923e323 100644 --- a/app/src/main/res/layout/doh_endpoint_list_item.xml +++ b/app/src/main/res/layout/doh_endpoint_list_item.xml @@ -3,9 +3,8 @@ android:id="@+id/doh_endpoint_list_parent" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginBottom="1dp" - android:background="?android:attr/selectableItemBackground" - android:elevation="@dimen/activity_horizontal_margin"> + android:layout_margin="0.5dp" + android:background="?android:attr/selectableItemBackground"> @@ -75,19 +74,21 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/doh_endpoint_list_container" + android:background="@drawable/rounded_corners_button_primary" android:layout_alignParentStart="true" android:layout_marginStart="12dp" android:layout_marginEnd="12dp" android:layout_marginBottom="10dp" - android:padding="5dp" + android:padding="0dp" android:text="@string/dns_connected_rethink_configure" android:textSize="@dimen/large_font_text_view" - android:textColor="?attr/accentGood" /> + android:textColor="@color/white" /> + android:background="?attr/backgroundDark" /> + \ No newline at end of file diff --git a/app/src/main/res/layout/exclude_app_dialog_layout.xml b/app/src/main/res/layout/exclude_app_dialog_layout.xml index f02cca0cd..a5fa8b90f 100644 --- a/app/src/main/res/layout/exclude_app_dialog_layout.xml +++ b/app/src/main/res/layout/exclude_app_dialog_layout.xml @@ -31,7 +31,7 @@ android:layout_gravity="start" android:fontFamily="sans-serif" android:isScrollContainer="true" - app:queryHint="Search by app name"> + app:queryHint="@string/search_hint"> - - diff --git a/app/src/main/res/layout/fragment_about.xml b/app/src/main/res/layout/fragment_about.xml index 413f96bb8..167786017 100644 --- a/app/src/main/res/layout/fragment_about.xml +++ b/app/src/main/res/layout/fragment_about.xml @@ -18,39 +18,56 @@ android:layout_height="wrap_content" android:orientation="horizontal" android:padding="15dp" - android:visibility="gone" + android:visibility="visible" android:weightSum="1"> + + android:orientation="vertical" + android:padding="10dp"> - - - + + + + + @@ -144,20 +161,21 @@ style="@style/TextAppearance.AppCompat.Subhead" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginStart="20dp" + android:layout_marginStart="54dp" android:gravity="center_vertical" + android:fontFamily="sans-serif-smallcaps" android:lineSpacingExtra="5dp" android:padding="5dp" android:text="@string/about_app" android:textColor="?attr/accentGood" - android:textSize="@dimen/large_font_text_view" /> + android:textSize="@dimen/extra_large_font_text_view" /> + android:textSize="@dimen/extra_large_font_text_view" /> + android:textSize="@dimen/extra_large_font_text_view" /> @@ -94,8 +97,8 @@ android:id="@+id/recycler_dns_crypt_connections" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_below="@id/recycler_dns_crypt_servers_title" - android:clickable="true" + android:layout_below="@id/recycler_dns_crypt_servers_title" android:clickable="true" + android:background="?attr/background" android:focusable="true" android:nestedScrollingEnabled="true" android:visibility="visible" /> @@ -107,12 +110,13 @@ android:layout_below="@id/recycler_dns_crypt_connections" android:layout_marginTop="10dp" android:fontFamily="sans-serif-smallcaps" + android:layout_marginStart="15dp" android:paddingStart="5dp" - android:paddingTop="30dp" + android:paddingTop="15dp" android:paddingEnd="5dp" android:paddingBottom="10dp" android:text="@string/cd_dns_crypt_relay_title" - android:textColor="@color/secondaryText" + android:textColor="?attr/accentGood" android:textSize="@dimen/heading_font_text_view" android:visibility="visible" /> @@ -122,6 +126,7 @@ android:layout_height="wrap_content" android:layout_below="@id/recycler_dns_crypt_relays_title" android:clickable="true" + android:background="?attr/background" android:focusable="true" android:nestedScrollingEnabled="true" android:visibility="visible" /> @@ -132,6 +137,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/configure_screen_spinner_layout" + android:layout_marginTop="10dp" android:visibility="gone"> @@ -163,14 +170,15 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" - android:layout_centerHorizontal="true" - android:layout_margin="20dp" + android:layout_alignParentEnd="true" + android:layout_margin="30dp" + android:textAllCaps="false" android:drawablePadding="10dp" android:text="@string/cd_fab_add_button" - android:textColor="?attr/primaryTextColor" + android:textColor="@color/white" android:textSize="@dimen/default_font_text_view" - android:backgroundTint="?attr/backgroundDark" - app:fabSize="normal" + android:backgroundTint="?attr/mainButtonBackground" + app:fabSize="mini" app:icon="@drawable/ic_fab_without_border" - app:iconTint="?attr/primaryTextColor" /> + app:iconTint="@color/white" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_firewall.xml b/app/src/main/res/layout/fragment_firewall.xml index 3e7118841..ff7e9d0b2 100644 --- a/app/src/main/res/layout/fragment_firewall.xml +++ b/app/src/main/res/layout/fragment_firewall.xml @@ -246,7 +246,6 @@ android:id="@+id/firewall_search_view_top" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?attr/backgroundDark" android:orientation="vertical" android:visibility="visible"> diff --git a/app/src/main/res/layout/fragment_firewall_all_apps.xml b/app/src/main/res/layout/fragment_firewall_all_apps.xml index c174ba4c8..8a032304c 100644 --- a/app/src/main/res/layout/fragment_firewall_all_apps.xml +++ b/app/src/main/res/layout/fragment_firewall_all_apps.xml @@ -77,9 +77,9 @@ android:layout_below="@id/firewall_app_search_view_top" android:layout_marginStart="2dp" android:layout_marginEnd="2dp" - android:childDivider="?attr/background" + android:childDivider="?attr/backgroundDark" android:divider="?attr/border" - android:dividerHeight="2dp" + android:dividerHeight="1dp" android:groupIndicator="@null" android:nestedScrollingEnabled="true" android:scrollbars="none" /> diff --git a/app/src/main/res/layout/fragment_home_screen.xml b/app/src/main/res/layout/fragment_home_screen.xml index 82812ae88..2c20218a1 100644 --- a/app/src/main/res/layout/fragment_home_screen.xml +++ b/app/src/main/res/layout/fragment_home_screen.xml @@ -140,6 +140,7 @@ android:layout_marginTop="10dp" android:background="@color/dividerColor" />--> + android:orientation="vertical" /> diff --git a/app/src/main/res/layout/transaction_row.xml b/app/src/main/res/layout/transaction_row.xml index e8fafc640..fa16faefe 100644 --- a/app/src/main/res/layout/transaction_row.xml +++ b/app/src/main/res/layout/transaction_row.xml @@ -1,21 +1,18 @@ - + android:animateLayoutChanges="true" + android:orientation="vertical"> - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/univ_whitelist_list_item.xml b/app/src/main/res/layout/univ_whitelist_list_item.xml index e4f62743d..456b75cde 100644 --- a/app/src/main/res/layout/univ_whitelist_list_item.xml +++ b/app/src/main/res/layout/univ_whitelist_list_item.xml @@ -4,7 +4,6 @@ android:id="@+id/am_apk_parent" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="?attr/background" android:layout_marginBottom="1dp" android:paddingEnd="10dp"> diff --git a/app/src/main/res/layout/univ_whitelist_rules_item.xml b/app/src/main/res/layout/univ_whitelist_rules_item.xml index 17dc81c8d..61c58928c 100644 --- a/app/src/main/res/layout/univ_whitelist_rules_item.xml +++ b/app/src/main/res/layout/univ_whitelist_rules_item.xml @@ -3,10 +3,10 @@ android:id="@+id/am_apk_parent" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@color/colorPrimaryDark" android:layout_marginBottom="1dp" - android:layout_marginStart="5dp" - android:layout_marginEnd="5dp"> + android:layout_marginStart="3dp" + android:background="?attr/background" + android:layout_marginEnd="3dp"> + android:layout_height="match_parent"> + android:layout_height="match_parent"> #005cb2 #FFFFFF #005cb2 - #c60055 + #ff1744 #fafafa #1B1B1E #000000 @@ -95,6 +95,6 @@ #757575 #eeeeee #424242 - #00e676 + #9cff57 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3695d8c5f..ebda5b689 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -5,6 +5,8 @@ Settings Internet Manager Part of Mozilla Builders MVP Program + A highly customizable DNS and Firewall + Detect and block network security threats Tip : Firewall prevents apps from accessing the Internet over Wifi or Mobile data. Since most forms of surveillance require the data to be sent over to a central repository, firewalling them effectively mitigates the threat. \n\nThere\'s a class of apps that require Internet connection all day, and those are usually communication apps like Gmail and messenger apps like WhatsApp. Firewalling them might not be an option, and that\'s why we built content blockers. @@ -27,12 +29,13 @@ Next Skip + Finish Welcome - RethinkDNS is the easiest way to monitor app activity, circumvent Internet censorship, and firewall apps on your Android device. + RethinkDNS is the easiest way to monitor network activity, bypass Internet censorship, and firewall apps on your Android device. - Welcome - Say hello to a safer, transparent, and secure Android. + Free and Open Source + RethinkDNS is an open source software backed by Mozilla Builders MVP program. Cloudflare @@ -47,7 +50,7 @@ https://cloudflare-dns.com/dns-query https://family.cloudflare-dns.com/dns-query https://security.cloudflare-dns.com/dns-query - https://basic.bravedns.com/1:YBcgAIAQIAAIAABgIAA= + https://basic.bravedns.com/1:YASAAQBwIAA= https://cloudflare-dns.com/ https://basic.bravedns.com/ @@ -226,11 +229,15 @@ DNS + Firewall + Block malware and other security threats with configurable, encrypted DNS. + Monitor network activity and firewall any app or IP address. + All of the above + bypass Internet censorship. + Permission - Accessibility Action Required - RethinkDNS uses accessibility service to track which apps are in-use (foreground) versus those that are not in-use (background). + RethinkDNS uses accessibility service to track which apps are in-use (foreground) versus those that are not in-use (background).\n\nRethinkDNS does not collect any information or spy on you in any way. RethinkDNS accessibility service has stopped or crashed. Goto Settings and Force Stop RethinkDNS and start it again to use "Block any app not in use" feature.\n\n @@ -311,9 +318,11 @@ Block System Apps Block System Components + Block Non-App System Some system apps are critical to proper functioning of a device. Block them only if you know what you are doing. Some system components are critical to proper functioning of a device. Block them only if you know what you are doing. + Some non-app system components are critical to proper functioning of a device. Block them only if you know what you are doing. Block anyway Cancel @@ -467,29 +476,28 @@ (disabled) Cannot block the app - What\'s new in v053a - 🎁 Data Privacy Day (Jan 28) 🎁 + What\'s new in v053b + 🎁 International Women\'s Day (Mar 08) 🎁 Incremental update:\n\n - \u00091. Better support for the "Always-on VPN" feature.\n\n - \u00092. Home screen UI refreshed.\n\n - \u00093. Improvements in "Block apps not in use" behavior.\n\n - \u00094. Enable / disable auto-check for app updates.\n\n - \u00095. Major performance and stability bug fixes.\n + 1. Themes: Dark and Light themes. More flavors coming soon.\n\n + 2. Fixed a Battery drain issue.\n\n + 3. Home and Welcome screen UI changes.\n\n + 4. Improvements to the underlying Firewall and DNS network engine.\n\n - Firewall + firewall Kill app when firewalled (experimental) Some stubborn apps persistently try to connect to the internet even when firewalled. Enable this setting to kill such apps. - DNS + dns Enable on-device blocklists Choose from 170+ blocklists. configure Update last check for update: 10 mins ago - VPN + vpn Exclude apps from Firewall and DNS Connections from excluded apps will not monitored or blocked. @@ -498,13 +506,13 @@ "Disabled. Settings->VPN->Block connections without VPN" is enabled for RethinkDNS, enabling the feature will block the internet connection of the apps which are trying to bypass the VPN. Cannot exclude apps or allow bypass because VPN is running in lockdown mode. - Proxy (experimental) + proxy (experimental) Setup SOCKS5 (TCP) Proxy Forward connections to SOCKS5 endpoint. Setup HTTP(S) Proxy This setting is only a recommendation and it is possible that apps will ignore it. - General + general Refresh Data Re-sync application list. Auto-start on power up (experimental) @@ -529,7 +537,7 @@ Check for app updates Check for apps updates once a week. - Enable Dark Theme + Appearance Dark/light theme Forwarding to %1$s:%2$s @@ -546,7 +554,7 @@ Set SOCKS5 (TCP) Proxy - Set SOCKS5(TCP) Proxy + Set SOCKS5 (TCP) Proxy App Hostname Port Number @@ -560,11 +568,19 @@ Forwarding to %1$s:%2$s, %3$s Forward connections to SOCKS5 endpoint. - Select theme - Default system + IP Address + Port + Username (optional) + Password (optional) + + + Appearance + Set by System Light Dark + Current theme: %1$s + Application Icon @@ -592,13 +608,13 @@ (%1$s) - VPN activation request - Set up VPN connection for the first time message + Attention! + RethinkDNS needs permission to set up a local VPN to encrypt the device\'s DNS requests, implement a network monitor, and enforce firewall rules. \n\nRethinkDNS does not collect any information or spy on you in any way. Proceed Cancel - Start VPN - Start VPN to enable the %1$s + Start %1$s + You are one step away from safe and secure Android: Instantly see network activity, block websites, IPs, and badly behaving apps. Start Dismiss @@ -617,15 +633,15 @@ RethinkDNS is a free and open-source project, led by ex-engineers from Amazon, IBM, and Scientific Games. to report bugs and suggest features. Join the RethinkDNS group on Telegram - Links + links Visit rethinkdns.com Contribute on GitHub View FAQs Read our blog - Contact - App + contact + app Email us - What\'s new + What\'s new in %1$s Follow us on Twitter RethinkDNS is part of Mozilla Builders MVP program. Check for app updates @@ -640,13 +656,14 @@ https://www.bravedns.com/ https://builders.mozilla.community/alumni.html v%1$s + v%1$s (%2$s) Suggest features Select DNS resolvers relays - Add + Custom DNS Custom Server URL DoH %1$s Custom DNS Proxy @@ -717,6 +734,8 @@ Go back select all + Search by app name + ok Complete Update diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 7bb300cc6..69252c1a7 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,5 +1,8 @@ +