From 5152b3a543e71086e047f571c235173a49dffab8 Mon Sep 17 00:00:00 2001 From: Fahim Date: Sun, 29 Aug 2021 21:42:13 +0600 Subject: [PATCH] 2831-P-dark_mode_implementation issue: https://gitlab.e.foundation/e/backlog/-/issues/2831 --- build.gradle | 1 - res/color/tab_text_color.xml | 2 +- res/drawable/bottom_shadow.xml | 2 +- res/drawable/btn_add_to_playlist.xml | 2 +- res/drawable/btn_playback_browse.xml | 2 +- res/drawable/btn_playback_icon.xml | 2 +- res/drawable/btn_playback_repeat_one.xml | 2 +- res/drawable/btn_queue_icon.xml | 2 +- res/drawable/drag_indicator.xml | 2 +- res/drawable/gray_circle.xml | 2 +- res/drawable/gripper.xml | 2 +- res/drawable/gripper_light.xml | 2 +- res/drawable/history_icon.xml | 2 +- res/drawable/ic_action_search.xml | 2 +- res/drawable/ic_back.xml | 9 + res/drawable/ic_default_artwork.xml | 16 ++ res/drawable/menu_button.xml | 2 +- res/drawable/menu_button_light.xml | 2 +- res/drawable/no_results.xml | 2 +- res/drawable/playlist_icon.xml | 2 +- res/drawable/right_shadow.xml | 2 +- res/drawable/rounded_corner_rect.xml | 2 +- res/drawable/selectable_background.xml | 2 +- res/drawable/top_tracks_icon.xml | 2 +- res/drawable/view_pager_tab_background.xml | 2 +- res/layout/activity_audio_preview.xml | 5 +- res/layout/activity_base.xml | 3 +- res/layout/activity_player_fragment.xml | 2 +- res/layout/activity_search.xml | 2 +- res/layout/album_art_fragment.xml | 2 +- res/layout/album_detail_song.xml | 1 + res/layout/app_widget_large.xml | 1 + res/layout/app_widget_large_alternate.xml | 1 + res/layout/app_widget_small.xml | 1 + res/layout/artist_detail_album.xml | 1 + res/layout/artist_detail_song.xml | 1 + res/layout/audio_player_header_bar.xml | 5 +- res/layout/bottom_action_bar.xml | 2 +- res/layout/custom_pref_layout.xml | 58 +++++++ res/layout/custom_pref_switch_layout.xml | 69 ++++++++ res/layout/custom_select_dialog_item.xml | 14 ++ res/layout/edit_queue_list_item.xml | 1 - res/layout/fragment_music_browser_phone.xml | 1 - res/layout/grid_items_normal.xml | 1 + res/layout/header_bar.xml | 4 +- res/layout/list_item_common.xml | 3 +- res/layout/list_item_queue.xml | 1 + res/layout/list_item_simple.xml | 1 + res/layout/list_item_top_tracks.xml | 3 +- res/layout/main_playback_controls.xml | 2 +- res/layout/play_pause_progress_button.xml | 1 + ...y_pause_progress_button_player_control.xml | 1 + res/layout/playlist_detail_header.xml | 1 + res/layout/pref_category_view.xml | 3 +- res/menu/search.xml | 1 + res/menu/search_btn.xml | 1 + res/values-night-v27/styles.xml | 7 + res/values-night/styles.xml | 9 + res/values-v27/styles.xml | 7 + res/values/colors.xml | 155 +++++++++--------- res/values/styles.xml | 42 ++++- res/xml/settings.xml | 61 ++++--- .../eleven/adapters/PlaylistAdapter.java | 5 +- .../eleven/adapters/SongAdapter.java | 2 +- .../lineageos/eleven/cache/ImageWorker.java | 30 +++- .../eleven/menu/BasePlaylistDialog.java | 27 ++- .../eleven/menu/PhotoSelectionDialog.java | 26 ++- .../eleven/ui/activities/BaseActivity.java | 4 +- .../eleven/ui/activities/SearchActivity.java | 3 + .../ui/activities/SettingsActivity.java | 25 ++- .../ui/activities/SlidingPanelActivity.java | 2 +- .../ui/fragments/AudioPlayerFragment.java | 20 +-- .../ui/fragments/PlaylistDetailFragment.java | 25 ++- .../eleven/utils/PlaylistPopupMenuHelper.java | 16 +- .../eleven/widgets/BlurScrimImage.java | 45 ++--- .../eleven/widgets/CustomPreference.java | 39 +++++ .../widgets/CustomSwitchPreference.java | 33 ++++ .../eleven/widgets/NoResultsContainer.java | 2 +- 78 files changed, 601 insertions(+), 247 deletions(-) create mode 100644 res/drawable/ic_back.xml create mode 100644 res/drawable/ic_default_artwork.xml create mode 100644 res/layout/custom_pref_layout.xml create mode 100644 res/layout/custom_pref_switch_layout.xml create mode 100644 res/layout/custom_select_dialog_item.xml create mode 100644 res/values-night-v27/styles.xml create mode 100644 res/values-night/styles.xml create mode 100644 res/values-v27/styles.xml create mode 100644 src/org/lineageos/eleven/widgets/CustomPreference.java create mode 100644 src/org/lineageos/eleven/widgets/CustomSwitchPreference.java diff --git a/build.gradle b/build.gradle index ef89a619..1a5fc9ce 100644 --- a/build.gradle +++ b/build.gradle @@ -127,4 +127,3 @@ dependencies { implementation "com.android.support:palette-v7:28.0.0" implementation "com.android.support:recyclerview-v7:28.0.0" } - diff --git a/res/color/tab_text_color.xml b/res/color/tab_text_color.xml index ae8d73cb..f04e6211 100644 --- a/res/color/tab_text_color.xml +++ b/res/color/tab_text_color.xml @@ -16,6 +16,6 @@ --> - + diff --git a/res/drawable/bottom_shadow.xml b/res/drawable/bottom_shadow.xml index 7b6385c2..2122798b 100644 --- a/res/drawable/bottom_shadow.xml +++ b/res/drawable/bottom_shadow.xml @@ -21,6 +21,6 @@ + android:startColor="@color/primary_text" /> diff --git a/res/drawable/btn_add_to_playlist.xml b/res/drawable/btn_add_to_playlist.xml index 1907ca04..d3a59b82 100644 --- a/res/drawable/btn_add_to_playlist.xml +++ b/res/drawable/btn_add_to_playlist.xml @@ -8,7 +8,7 @@ diff --git a/res/drawable/btn_playback_browse.xml b/res/drawable/btn_playback_browse.xml index 2602092c..54e5e58d 100644 --- a/res/drawable/btn_playback_browse.xml +++ b/res/drawable/btn_playback_browse.xml @@ -8,7 +8,7 @@ diff --git a/res/drawable/btn_playback_icon.xml b/res/drawable/btn_playback_icon.xml index b3aaacbd..7945505c 100644 --- a/res/drawable/btn_playback_icon.xml +++ b/res/drawable/btn_playback_icon.xml @@ -8,7 +8,7 @@ diff --git a/res/drawable/btn_playback_repeat_one.xml b/res/drawable/btn_playback_repeat_one.xml index 289590e6..8e9086a5 100644 --- a/res/drawable/btn_playback_repeat_one.xml +++ b/res/drawable/btn_playback_repeat_one.xml @@ -6,7 +6,7 @@ android:viewportHeight="24"> diff --git a/res/drawable/btn_queue_icon.xml b/res/drawable/btn_queue_icon.xml index bce1cf2d..a72e4fe1 100644 --- a/res/drawable/btn_queue_icon.xml +++ b/res/drawable/btn_queue_icon.xml @@ -6,7 +6,7 @@ android:viewportHeight="24"> diff --git a/res/drawable/drag_indicator.xml b/res/drawable/drag_indicator.xml index 4298d28b..5ca25012 100644 --- a/res/drawable/drag_indicator.xml +++ b/res/drawable/drag_indicator.xml @@ -5,6 +5,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/res/drawable/gray_circle.xml b/res/drawable/gray_circle.xml index 8a53cf38..20e170be 100644 --- a/res/drawable/gray_circle.xml +++ b/res/drawable/gray_circle.xml @@ -15,5 +15,5 @@ limitations under the License. --> - + \ No newline at end of file diff --git a/res/drawable/gripper.xml b/res/drawable/gripper.xml index a2c58d63..e5385f84 100644 --- a/res/drawable/gripper.xml +++ b/res/drawable/gripper.xml @@ -5,6 +5,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/res/drawable/gripper_light.xml b/res/drawable/gripper_light.xml index 4298d28b..e5385f84 100644 --- a/res/drawable/gripper_light.xml +++ b/res/drawable/gripper_light.xml @@ -5,6 +5,6 @@ android:viewportWidth="24.0" android:viewportHeight="24.0"> diff --git a/res/drawable/history_icon.xml b/res/drawable/history_icon.xml index d4728701..39581a60 100644 --- a/res/drawable/history_icon.xml +++ b/res/drawable/history_icon.xml @@ -6,7 +6,7 @@ android:viewportHeight="24"> + + \ No newline at end of file diff --git a/res/drawable/ic_default_artwork.xml b/res/drawable/ic_default_artwork.xml new file mode 100644 index 00000000..90e8066f --- /dev/null +++ b/res/drawable/ic_default_artwork.xml @@ -0,0 +1,16 @@ + + + + + + + diff --git a/res/drawable/menu_button.xml b/res/drawable/menu_button.xml index 89a4dcaa..da1adfc9 100644 --- a/res/drawable/menu_button.xml +++ b/res/drawable/menu_button.xml @@ -8,7 +8,7 @@ diff --git a/res/drawable/menu_button_light.xml b/res/drawable/menu_button_light.xml index 5d8af81b..da1adfc9 100644 --- a/res/drawable/menu_button_light.xml +++ b/res/drawable/menu_button_light.xml @@ -8,7 +8,7 @@ diff --git a/res/drawable/no_results.xml b/res/drawable/no_results.xml index 6299d021..1e17a211 100644 --- a/res/drawable/no_results.xml +++ b/res/drawable/no_results.xml @@ -8,7 +8,7 @@ diff --git a/res/drawable/playlist_icon.xml b/res/drawable/playlist_icon.xml index 454540cd..58bd2d12 100644 --- a/res/drawable/playlist_icon.xml +++ b/res/drawable/playlist_icon.xml @@ -8,7 +8,7 @@ diff --git a/res/drawable/right_shadow.xml b/res/drawable/right_shadow.xml index 85e57445..ef3fc62c 100644 --- a/res/drawable/right_shadow.xml +++ b/res/drawable/right_shadow.xml @@ -21,6 +21,6 @@ + android:startColor="@color/primary_text" /> \ No newline at end of file diff --git a/res/drawable/rounded_corner_rect.xml b/res/drawable/rounded_corner_rect.xml index 0dfec2b8..21175e26 100644 --- a/res/drawable/rounded_corner_rect.xml +++ b/res/drawable/rounded_corner_rect.xml @@ -5,7 +5,7 @@ android:radius="10dp" /> diff --git a/res/drawable/selectable_background.xml b/res/drawable/selectable_background.xml index cc32cb7b..763e8df8 100644 --- a/res/drawable/selectable_background.xml +++ b/res/drawable/selectable_background.xml @@ -15,4 +15,4 @@ --> + android:color="@color/background_color" /> diff --git a/res/drawable/top_tracks_icon.xml b/res/drawable/top_tracks_icon.xml index b8436005..44bb0173 100644 --- a/res/drawable/top_tracks_icon.xml +++ b/res/drawable/top_tracks_icon.xml @@ -8,7 +8,7 @@ diff --git a/res/drawable/view_pager_tab_background.xml b/res/drawable/view_pager_tab_background.xml index f9e09d4e..0b419171 100644 --- a/res/drawable/view_pager_tab_background.xml +++ b/res/drawable/view_pager_tab_background.xml @@ -17,6 +17,6 @@ - + diff --git a/res/layout/activity_audio_preview.xml b/res/layout/activity_audio_preview.xml index 56c088ef..f278efef 100644 --- a/res/layout/activity_audio_preview.xml +++ b/res/layout/activity_audio_preview.xml @@ -24,7 +24,7 @@ @@ -94,6 +96,7 @@ android:layout_alignParentLeft="true" android:layout_below="@id/tv_title" android:layout_toLeftOf="@id/ib_playpause" + android:textColor="@color/secondary_text" android:ellipsize="end" android:textSize="@dimen/preview_artist_textSize" android:textStyle="italic"/> diff --git a/res/layout/activity_base.xml b/res/layout/activity_base.xml index 878189c4..53a461b7 100644 --- a/res/layout/activity_base.xml +++ b/res/layout/activity_base.xml @@ -103,6 +103,7 @@ android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginBottom="5dp" + android:layout_marginTop="5dp" android:background="@drawable/rounded_corner_rect"> diff --git a/res/layout/activity_player_fragment.xml b/res/layout/activity_player_fragment.xml index df1b18c9..0cc69b38 100644 --- a/res/layout/activity_player_fragment.xml +++ b/res/layout/activity_player_fragment.xml @@ -20,7 +20,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@color/header_action_bar_color" + android:background="@color/background_color" android:orientation="vertical"> + android:layout_height="match_parent" > + android:src="@drawable/ic_default_artwork"/> diff --git a/res/layout/album_detail_song.xml b/res/layout/album_detail_song.xml index 80bdc7e9..808ef945 100644 --- a/res/layout/album_detail_song.xml +++ b/res/layout/album_detail_song.xml @@ -23,6 +23,7 @@ android:layout_width="@dimen/overflow_width" android:layout_height="@dimen/overflow_height" android:gravity="center" + android:tint="@color/accent" android:src="@lineageos.platform:drawable/ic_menu" /> diff --git a/res/layout/app_widget_large.xml b/res/layout/app_widget_large.xml index 7ecc900e..b964689b 100644 --- a/res/layout/app_widget_large.xml +++ b/res/layout/app_widget_large.xml @@ -89,6 +89,7 @@ android:background="?android:selectableItemBackground" android:padding="@dimen/notification_expanded_button_padding" android:scaleType="fitCenter" + android:tint="@color/accent" android:src="@drawable/btn_playback_pause" /> diff --git a/res/layout/audio_player_header_bar.xml b/res/layout/audio_player_header_bar.xml index 23198bfb..4d0ded1d 100644 --- a/res/layout/audio_player_header_bar.xml +++ b/res/layout/audio_player_header_bar.xml @@ -37,7 +37,6 @@ android:layout_height="@dimen/header_bar_button_height" android:layout_gravity="center_vertical" android:layout_weight="0" - android:tint="@color/player_action_bar_title_text_color" android:background="@drawable/selectable_background" android:src="@drawable/btn_add_to_playlist" android:scaleType="centerInside" /> @@ -48,7 +47,7 @@ android:layout_height="@dimen/header_bar_button_height" android:layout_gravity="center_vertical" android:layout_weight="0" - android:tint="@color/player_action_bar_title_text_color" + android:tint="@color/accent" android:background="@drawable/selectable_background" android:src="@lineageos.platform:drawable/ic_search" android:scaleType="centerInside" /> @@ -59,7 +58,7 @@ android:layout_height="@dimen/header_bar_button_height" android:layout_gravity="center_vertical" android:layout_weight="0" - android:tint="@color/player_action_bar_title_text_color" + android:tint="@color/accent" android:scaleType="centerInside" android:background="@drawable/selectable_background" android:src="@lineageos.platform:drawable/ic_menu"/> diff --git a/res/layout/bottom_action_bar.xml b/res/layout/bottom_action_bar.xml index 122bdccf..91f4442a 100644 --- a/res/layout/bottom_action_bar.xml +++ b/res/layout/bottom_action_bar.xml @@ -32,7 +32,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|center" - android:src="@drawable/default_artwork" /> + android:src="@drawable/ic_default_artwork" /> + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/layout/custom_pref_switch_layout.xml b/res/layout/custom_pref_switch_layout.xml new file mode 100644 index 00000000..1ef939cb --- /dev/null +++ b/res/layout/custom_pref_switch_layout.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/layout/custom_select_dialog_item.xml b/res/layout/custom_select_dialog_item.xml new file mode 100644 index 00000000..72c6d95c --- /dev/null +++ b/res/layout/custom_select_dialog_item.xml @@ -0,0 +1,14 @@ + + + diff --git a/res/layout/edit_queue_list_item.xml b/res/layout/edit_queue_list_item.xml index 55e2f617..c9e45739 100644 --- a/res/layout/edit_queue_list_item.xml +++ b/res/layout/edit_queue_list_item.xml @@ -26,7 +26,6 @@ android:layout_height="@dimen/drag_and_drop_height" android:layout_centerVertical="true" android:scaleType="fitXY" - android:tint="@color/lineage_blue_color" android:src="@drawable/gripper_light" /> diff --git a/res/layout/header_bar.xml b/res/layout/header_bar.xml index a8030d28..8786ceee 100644 --- a/res/layout/header_bar.xml +++ b/res/layout/header_bar.xml @@ -56,7 +56,7 @@ android:layout_height="@dimen/header_bar_button_height" android:layout_gravity="center_vertical" android:layout_weight="0" - android:tint="@color/player_action_bar_title_text_color" + android:tint="@color/accent" android:src="@lineageos.platform:drawable/ic_search" android:background="@drawable/selectable_background" android:scaleType="centerInside" /> @@ -68,8 +68,8 @@ android:layout_gravity="center_vertical" android:layout_weight="0" android:scaleType="centerInside" - android:tint="@color/player_action_bar_title_text_color" android:background="@drawable/selectable_background" + android:tint="@color/accent" android:src="@lineageos.platform:drawable/ic_menu"/> diff --git a/res/layout/list_item_common.xml b/res/layout/list_item_common.xml index 577171e5..6833fb21 100644 --- a/res/layout/list_item_common.xml +++ b/res/layout/list_item_common.xml @@ -49,7 +49,7 @@ android:id="@+id/now_playing" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:tint="@color/lineage_blue_color" + android:tint="@color/accent" android:src="@drawable/now_playing_icon" android:visibility="gone" /> @@ -57,6 +57,7 @@ android:id="@+id/popup_menu_button" android:layout_width="@dimen/overflow_width" android:layout_height="@dimen/overflow_height" + android:tint="@color/accent" android:src="@lineageos.platform:drawable/ic_menu" /> \ No newline at end of file diff --git a/res/layout/list_item_queue.xml b/res/layout/list_item_queue.xml index f02ee432..5c857046 100644 --- a/res/layout/list_item_queue.xml +++ b/res/layout/list_item_queue.xml @@ -72,5 +72,6 @@ android:layout_height="@dimen/overflow_height" android:layout_alignParentRight="true" android:layout_centerVertical="true" + android:tint="@color/accent" android:src="@lineageos.platform:drawable/ic_menu" /> diff --git a/res/layout/list_item_simple.xml b/res/layout/list_item_simple.xml index e6496e83..4eeae743 100644 --- a/res/layout/list_item_simple.xml +++ b/res/layout/list_item_simple.xml @@ -65,6 +65,7 @@ android:layout_height="@dimen/overflow_height" android:layout_alignParentRight="true" android:layout_centerVertical="true" + android:tint="@color/accent" android:src="@lineageos.platform:drawable/ic_menu" /> diff --git a/res/layout/list_item_top_tracks.xml b/res/layout/list_item_top_tracks.xml index 2f966f39..e47db349 100644 --- a/res/layout/list_item_top_tracks.xml +++ b/res/layout/list_item_top_tracks.xml @@ -49,7 +49,7 @@ android:layout_gravity="center" android:textStyle="bold" android:textSize="@dimen/text_size_small" - android:textColor="@color/position_number_color" /> + android:textColor="@color/color_default_view_on_accent" /> @@ -95,6 +95,7 @@ android:id="@+id/popup_menu_button" android:layout_width="@dimen/overflow_width" android:layout_height="@dimen/overflow_height" + android:tint="@color/accent" android:src="@lineageos.platform:drawable/ic_menu" /> diff --git a/res/layout/main_playback_controls.xml b/res/layout/main_playback_controls.xml index 0778fef9..08127a6d 100644 --- a/res/layout/main_playback_controls.xml +++ b/res/layout/main_playback_controls.xml @@ -24,7 +24,7 @@ card_view:contentPadding="@dimen/audio_player_controls_card_content_padding" card_view:cardElevation="@dimen/audio_player_controls_card_elevation" card_view:cardUseCompatPadding="true" - card_view:cardBackgroundColor="@color/header_action_bar_color" > + card_view:cardBackgroundColor="@color/background_color" > diff --git a/res/layout/play_pause_progress_button.xml b/res/layout/play_pause_progress_button.xml index 628763b9..73d9c8a7 100644 --- a/res/layout/play_pause_progress_button.xml +++ b/res/layout/play_pause_progress_button.xml @@ -42,6 +42,7 @@ android:indeterminate="false" android:max="1000" android:progress="1000" + android:alpha=".3" android:progressDrawable="@drawable/circular_drawable_background" /> diff --git a/res/menu/search.xml b/res/menu/search.xml index 06097fca..e9081235 100644 --- a/res/menu/search.xml +++ b/res/menu/search.xml @@ -20,6 +20,7 @@ android:id="@+id/menu_search" android:actionViewClass="android.widget.SearchView" android:icon="@lineageos.platform:drawable/ic_search" + android:iconTint="@color/accent" android:orderInCategory="1" android:showAsAction="ifRoom|collapseActionView" android:title="@string/menu_search"/> diff --git a/res/menu/search_btn.xml b/res/menu/search_btn.xml index 5b7f3c36..f6e3ba8f 100644 --- a/res/menu/search_btn.xml +++ b/res/menu/search_btn.xml @@ -19,6 +19,7 @@ diff --git a/res/values-night-v27/styles.xml b/res/values-night-v27/styles.xml new file mode 100644 index 00000000..4ac77245 --- /dev/null +++ b/res/values-night-v27/styles.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/res/values-night/styles.xml b/res/values-night/styles.xml new file mode 100644 index 00000000..3db44d3d --- /dev/null +++ b/res/values-night/styles.xml @@ -0,0 +1,9 @@ + + + + + + + \ No newline at end of file diff --git a/res/values-v27/styles.xml b/res/values-v27/styles.xml new file mode 100644 index 00000000..040fd483 --- /dev/null +++ b/res/values-v27/styles.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/res/values/colors.xml b/res/values/colors.xml index f38d574f..10d991fb 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -15,26 +15,44 @@ limitations under the License. --> + + + @lineageos.platform:color/color_default_accent + @lineageos.platform:color/color_default_primary + @lineageos.platform:color/color_default_primary_dark + @lineageos.platform:color/color_default_primary_text + @lineageos.platform:color/color_default_secondary_text + @lineageos.platform:color/color_default_background + @lineageos.platform:color/color_default_foreground + @lineageos.platform:color/color_default_divider + @lineageos.platform:color/color_default_selector + @lineageos.platform:color/color_default_blue1 + @lineageos.platform:color/color_default_blue2 + @lineageos.platform:color/color_default_red1 + @lineageos.platform:color/color_default_orange1 + @lineageos.platform:color/color_default_green1 + @lineageos.platform:color/color_default_gray1 + @lineageos.platform:color/color_default_gray2 + @lineageos.platform:color/color_default_view_on_accent + + + - #424242 - #E91E63 - #333333 - #a0333333 #fafafa - #9e9e9e - #616161 + @color/color_default_gray1 + @color/color_default_gray2 #9C27B0 #673AB7 - #4CAF50 - #F44336 - #FF5722 + @color/color_default_green1 + @color/color_default_red1 + @color/color_default_orange1 #795548 #009688 - #3F51B5 + @color/color_default_blue1 #7B1FA2 #512DA8 #388E3C @@ -42,88 +60,78 @@ #F57C00 #5D4037 #00796B - #303F9F - - - @color/black - @color/white + @color/color_default_blue2 - #fefefe - @color/black - #424242 + @color/background_color + @color/primary_text + @color/secondary_text - #00000000 - #99212121 - #99fafafa - #993F51B5 - - @color/header_action_bar_color + @android:color/transparent - @color/primary - @lineageos.platform:color/color_default_secondary_text - @lineageos.platform:color/color_default_primary_text - @color/default_text_color_light + @color/primary_dark + @color/secondary_text + @color/primary_text + @color/secondary_text - #D6D6D6 + @color/color_default_gray1 - @color/white + @color/background_color - #ea212121 + @color/foreground_color @color/transparent - @color/black + @color/primary_text - #4cfafafa - @color/black - @color/accent - @color/default_text_color - @color/player_action_bar_title_text_color - #4c212121 - #34fafafa - #b3212121 + @color/background_color + @color/primary_text + @color/secondary_text + @color/primary_text + @color/primary_text + @color/divider_color + @color/secondary_text + @color/primary_text - @color/white - @color/white - @color/lineage_blue_color + @color/accent + @color/accent - @color/white + @color/secondary_text - @color/default_text_color_light + @color/secondary_text - @color/transparent_white - @color/white + @color/color_default_view_on_accent + @color/color_default_view_on_accent - @color/circular_ring_bg_color - @color/lineage_blue_color + @color/accent + @color/accent - @color/black - @color/main_action_bar_text_color + @color/primary_text + @color/secondary_text @color/transparent - @color/white + @color/primary_text #b2212121 - @color/grey - @color/white + @color/accent + @color/color_default_view_on_accent @color/letter_tile_purple_color @color/letter_tile_blue_color @@ -152,16 +160,16 @@ #bffafafa - @color/black + @color/background_color @color/background_color @color/background_color @color/background_color @color/background_color @color/background_color - @color/default_text_color - @color/default_text_color - @color/default_text_color - @color/default_text_color + @color/primary_text + @color/primary_text + @color/primary_text + @color/primary_text ?android:textColorPrimaryInverse @color/cardOne @color/cardTwo @@ -169,35 +177,28 @@ @color/list_item_header_text_color @color/cardOne @color/cardTwo - @color/white - @color/white - @color/player_control_color + @color/primary_text + @color/primary_text + @color/primary_text - - @lineageos.platform:color/color_default_blue1 - @lineageos.platform:color/color_default_primary - @lineageos.platform:color/color_default_primary_dark - - @lineageos.platform:color/color_default_primary_text + @color/primary_text - @lineageos.platform:color/color_default_primary_text + @color/accent - @color/primary + @color/primary_dark @color/main_action_bar_text_color @color/header_action_bar_text_color - @color/header_action_bar_text_color_active - @color/header_action_bar_text_color + @color/accent + @color/color_default_gray1 @color/player_control_color @color/player_control_background_color @color/player_control_color - @color/player_control_color - @color/player_control_color - @color/player_control_color - - + @color/color_default_view_on_accent + @color/primary_text + @color/primary_text diff --git a/res/values/styles.xml b/res/values/styles.xml index 822dd102..c164e534 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -16,7 +16,10 @@ --> - + + + + - - @@ -200,11 +219,18 @@ @dimen/tab_text_size - + + - diff --git a/res/xml/settings.xml b/res/xml/settings.xml index 24cc8416..3d8f8e90 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -40,29 +40,33 @@ android:layout="@layout/pref_category_view"> - - - - @@ -71,23 +75,27 @@ android:layout="@layout/pref_category_view"> - - - - @@ -96,10 +104,11 @@ android:data="https://gitlab.e.foundation/e/os/android_packages_apps_Eleven/-/releases" /> - + - @@ -107,38 +116,48 @@ android:action="android.intent.action.VIEW" android:data="https://github.com/LineageOS/android_packages_apps_Eleven" /> - + - + - + - + - + - + - + - + - + - + - + diff --git a/src/org/lineageos/eleven/adapters/PlaylistAdapter.java b/src/org/lineageos/eleven/adapters/PlaylistAdapter.java index 975cffe3..b00fe519 100644 --- a/src/org/lineageos/eleven/adapters/PlaylistAdapter.java +++ b/src/org/lineageos/eleven/adapters/PlaylistAdapter.java @@ -124,15 +124,14 @@ public class PlaylistAdapter extends ArrayAdapter implements IPopupMen holder.mImage.get().setImageResource(R.drawable.top_tracks_icon); break; } + + DrawableCompat.setTint(DrawableCompat.wrap(holder.mImage.get().getDrawable()), HomeActivity.accentColor); } else { // load the image ImageFetcher.getInstance(getContext()).loadPlaylistCoverArtImage( dataHolder.mItemId, holder.mImage.get()); } - DrawableCompat.setTint(DrawableCompat.wrap(holder.mImage.get().getDrawable()), HomeActivity.accentColor); - - return convertView; } diff --git a/src/org/lineageos/eleven/adapters/SongAdapter.java b/src/org/lineageos/eleven/adapters/SongAdapter.java index 989c6665..c5b28cd7 100644 --- a/src/org/lineageos/eleven/adapters/SongAdapter.java +++ b/src/org/lineageos/eleven/adapters/SongAdapter.java @@ -152,7 +152,7 @@ public class SongAdapter extends ArrayAdapter if (mCurrentQueuePosition == position) { // make it visible playPauseProgressButton.enableAndShow(); - playPauseProgressButton.setPlayPauseButton(getContext().getResources().getColor(R.color.lineage_blue_color)); + playPauseProgressButton.setPlayPauseButton(getContext().getResources().getColor(R.color.accent)); playPauseContainer.setVisibility(View.VISIBLE); } else { // hide it diff --git a/src/org/lineageos/eleven/cache/ImageWorker.java b/src/org/lineageos/eleven/cache/ImageWorker.java index 0e0d616a..9b5df950 100644 --- a/src/org/lineageos/eleven/cache/ImageWorker.java +++ b/src/org/lineageos/eleven/cache/ImageWorker.java @@ -137,7 +137,7 @@ public abstract class ImageWorker { /** * Adds a new image to the memory and disk caches * - * @param data The key used to store the image + * @param key The key used to store the image * @param bitmap The {@link Bitmap} to cache */ public void addBitmapToCache(final String key, final Bitmap bitmap) { @@ -253,6 +253,34 @@ public abstract class ImageWorker { return null; } + public static TransitionDrawable createImageTransitionDrawable(final Resources resources, + final Drawable fromDrawable, final Drawable drawable, final int fadeTime, + final boolean dither, final boolean force) { + if (drawable != null || force) { + final Drawable[] arrayDrawable = new Drawable[2]; + arrayDrawable[0] = getTopDrawable(fromDrawable); + + // Add the transition to drawable + Drawable layerTwo; + if (drawable != null) { + layerTwo = drawable; + } else { + // if no drawable (forced) then transition to transparent + layerTwo = new ColorDrawable(Color.TRANSPARENT); + } + + arrayDrawable[1] = layerTwo; + + // Finally, return the image + final TransitionDrawable result = new TransitionDrawable(arrayDrawable); + result.setCrossFadeEnabled(true); + result.startTransition(fadeTime); + return result; + } + + return null; + } + /** * This will create the palette transition from the original color to the new one * @param scrimImage the container to change the color for diff --git a/src/org/lineageos/eleven/menu/BasePlaylistDialog.java b/src/org/lineageos/eleven/menu/BasePlaylistDialog.java index 887abea9..e122265f 100644 --- a/src/org/lineageos/eleven/menu/BasePlaylistDialog.java +++ b/src/org/lineageos/eleven/menu/BasePlaylistDialog.java @@ -19,6 +19,7 @@ import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.support.v4.app.DialogFragment; +import android.support.v4.content.ContextCompat; import android.text.Editable; import android.text.InputType; import android.text.TextWatcher; @@ -60,6 +61,8 @@ public abstract class BasePlaylistDialog extends DialogFragment { mPlaylistDialog = new AlertDialog.Builder(getActivity()).create(); // Initialize the edit text mPlaylist = new EditText(getActivity()); + mPlaylist.setTextColor(ContextCompat.getColor(getContext(), R.color.primary_text)); + mPlaylist.setHintTextColor(ContextCompat.getColor(getContext(), R.color.secondary_text)); // To show the "done" button on the soft keyboard mPlaylist.setSingleLine(true); // All caps @@ -78,24 +81,16 @@ public abstract class BasePlaylistDialog extends DialogFragment { }); // Set the cancel button action mPlaylistDialog.setButton(Dialog.BUTTON_NEGATIVE, getString(R.string.cancel), - new OnClickListener() { - - @Override - public void onClick(final DialogInterface dialog, final int which) { - MusicUtils.refresh(); - dialog.dismiss(); - } + (dialog, which) -> { + MusicUtils.refresh(); + dialog.dismiss(); }); - mPlaylist.post(new Runnable() { - - @Override - public void run() { - // Request focus to the edit text - mPlaylist.requestFocus(); - // Select the playlist name - mPlaylist.selectAll(); - }; + mPlaylist.post(() -> { + // Request focus to the edit text + mPlaylist.requestFocus(); + // Select the playlist name + mPlaylist.selectAll(); }); initObjects(savedInstanceState); diff --git a/src/org/lineageos/eleven/menu/PhotoSelectionDialog.java b/src/org/lineageos/eleven/menu/PhotoSelectionDialog.java index 1d1cc3b7..18b60f47 100644 --- a/src/org/lineageos/eleven/menu/PhotoSelectionDialog.java +++ b/src/org/lineageos/eleven/menu/PhotoSelectionDialog.java @@ -93,22 +93,18 @@ public class PhotoSelectionDialog extends DialogFragment { // Dialog item Adapter final HomeActivity activity = (HomeActivity) getActivity(); final ListAdapter adapter = new ArrayAdapter<>(activity, - android.R.layout.select_dialog_item, mChoices); + R.layout.custom_select_dialog_item, mChoices); return new AlertDialog.Builder(activity).setTitle(title) - .setAdapter(adapter, new DialogInterface.OnClickListener() { - - @Override - public void onClick(final DialogInterface dialog, final int which) { - switch (which) { - case NEW_PHOTO: - activity.selectNewPhoto(mKey); - break; - case OLD_PHOTO: - MusicUtils.selectOldPhoto(activity, mKey); - break; - default: - break; - } + .setAdapter(adapter, (dialog, which) -> { + switch (which) { + case NEW_PHOTO: + activity.selectNewPhoto(mKey); + break; + case OLD_PHOTO: + MusicUtils.selectOldPhoto(activity, mKey); + break; + default: + break; } }).create(); } diff --git a/src/org/lineageos/eleven/ui/activities/BaseActivity.java b/src/org/lineageos/eleven/ui/activities/BaseActivity.java index d26f4981..007fe4ff 100644 --- a/src/org/lineageos/eleven/ui/activities/BaseActivity.java +++ b/src/org/lineageos/eleven/ui/activities/BaseActivity.java @@ -144,7 +144,7 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo setActionBar(mToolBar); setActionBarTitle(getString(R.string.app_name)); - mToolBar.setTitleTextColor(getResources().getColor(R.color.white)); + mToolBar.setTitleTextColor(getResources().getColor(R.color.primary_text)); // set the background on the root view //getWindow().getDecorView().getRootView().setBackgroundColor(getResources().getColor(R.color.background_color)); // Initialze the bottom action bar @@ -348,7 +348,7 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo } protected void clearMetaInfo() { - mAlbumArt.setImageResource(R.drawable.default_artwork); + mAlbumArt.setImageResource(R.drawable.ic_default_artwork); } /** diff --git a/src/org/lineageos/eleven/ui/activities/SearchActivity.java b/src/org/lineageos/eleven/ui/activities/SearchActivity.java index 8a3dbb92..b9ed1af0 100644 --- a/src/org/lineageos/eleven/ui/activities/SearchActivity.java +++ b/src/org/lineageos/eleven/ui/activities/SearchActivity.java @@ -19,6 +19,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; +import android.content.res.ColorStateList; import android.database.Cursor; import android.graphics.drawable.ColorDrawable; import android.media.AudioManager; @@ -445,6 +446,8 @@ public class SearchActivity extends FragmentActivity implements ImageView searchIcon = (ImageView)mSearchView.findViewById(searchButtonId); searchIcon.setLayoutParams(new LinearLayout.LayoutParams(0, 0)); + ImageView searchClose = mSearchView.findViewById(getResources().getIdentifier("android:id/search_close_btn", null, null)); + searchClose.setImageTintList(ColorStateList.valueOf(getColor(R.color.accent))); int id = mSearchView.getContext() .getResources() diff --git a/src/org/lineageos/eleven/ui/activities/SettingsActivity.java b/src/org/lineageos/eleven/ui/activities/SettingsActivity.java index 02bd97e7..0f402e33 100644 --- a/src/org/lineageos/eleven/ui/activities/SettingsActivity.java +++ b/src/org/lineageos/eleven/ui/activities/SettingsActivity.java @@ -99,20 +99,15 @@ public class SettingsActivity extends PreferenceActivity implements OnSharedPref deleteCache.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(final Preference preference) { - new AlertDialog.Builder(SettingsActivity.this).setMessage(R.string.delete_warning) - .setPositiveButton(android.R.string.ok, new OnClickListener() { - @Override - public void onClick(final DialogInterface dialog, final int which) { - ImageFetcher.getInstance(SettingsActivity.this).clearCaches(); - } - }) - .setNegativeButton(R.string.cancel, new OnClickListener() { - @Override - public void onClick(final DialogInterface dialog, final int which) { - dialog.dismiss(); - } - }) - .create().show(); + new AlertDialog.Builder(SettingsActivity.this) + .setMessage(R.string.delete_warning) + .setPositiveButton(android.R.string.ok, (dialog, which) -> + ImageFetcher.getInstance(SettingsActivity.this) + .clearCaches()) + .setNegativeButton(R.string.cancel, (dialog, which) -> + dialog.dismiss()) + .create() + .show(); return true; } }); @@ -143,7 +138,7 @@ public class SettingsActivity extends PreferenceActivity implements OnSharedPref contextThemeWrapper.getTheme().resolveAttribute(android.R.attr.colorAccent, typedValue, true); int color_accent = typedValue.data; - Log.e("TAG", "accent Colour #"+Integer.toHexString(color_accent)); + Log.e("TAG", "accent Colour #" + Integer.toHexString(color_accent)); //change toolbar color diff --git a/src/org/lineageos/eleven/ui/activities/SlidingPanelActivity.java b/src/org/lineageos/eleven/ui/activities/SlidingPanelActivity.java index 623a2824..1e2d9f5a 100644 --- a/src/org/lineageos/eleven/ui/activities/SlidingPanelActivity.java +++ b/src/org/lineageos/eleven/ui/activities/SlidingPanelActivity.java @@ -93,7 +93,7 @@ public abstract class SlidingPanelActivity extends BaseActivity { // Display the now playing screen or shuffle if this isn't anything // playing bottomActionBar.setOnClickListener(mOpenNowPlaying); - accentColor= fetchAccentColor(this); + accentColor = fetchAccentColor(this); bottomActionBar.setBackgroundColor(accentColor); } diff --git a/src/org/lineageos/eleven/ui/fragments/AudioPlayerFragment.java b/src/org/lineageos/eleven/ui/fragments/AudioPlayerFragment.java index 52a8385f..cb78f396 100644 --- a/src/org/lineageos/eleven/ui/fragments/AudioPlayerFragment.java +++ b/src/org/lineageos/eleven/ui/fragments/AudioPlayerFragment.java @@ -306,22 +306,16 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection { mAddToPlaylistButton = (ImageView) mRootView.findViewById(R.id.header_bar_add_button); // Create the context menu when requested - mAddToPlaylistButton.setOnCreateContextMenuListener(new View.OnCreateContextMenuListener() { - @Override - public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, menu); - menu.setHeaderTitle(R.string.add_to_playlist); - } + mAddToPlaylistButton.setOnCreateContextMenuListener((menu, v1, menuInfo) -> { + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, menu); + menu.setHeaderTitle(R.string.add_to_playlist); }); // add a click listener to show the context - mAddToPlaylistButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - // save the current track id - mSelectedId = MusicUtils.getCurrentAudioId(); - mAddToPlaylistButton.showContextMenu(); - } + mAddToPlaylistButton.setOnClickListener(v12 -> { + // save the current track id + mSelectedId = MusicUtils.getCurrentAudioId(); + mAddToPlaylistButton.showContextMenu(); }); // Add the menu button diff --git a/src/org/lineageos/eleven/ui/fragments/PlaylistDetailFragment.java b/src/org/lineageos/eleven/ui/fragments/PlaylistDetailFragment.java index 20434447..bb26fb60 100644 --- a/src/org/lineageos/eleven/ui/fragments/PlaylistDetailFragment.java +++ b/src/org/lineageos/eleven/ui/fragments/PlaylistDetailFragment.java @@ -42,6 +42,7 @@ import org.lineageos.eleven.menu.FragmentMenuItems; import org.lineageos.eleven.model.Playlist; import org.lineageos.eleven.model.Song; import org.lineageos.eleven.recycler.RecycleHolder; +import org.lineageos.eleven.ui.activities.HomeActivity; import org.lineageos.eleven.utils.MusicUtils; import org.lineageos.eleven.utils.PlaylistPopupMenuHelper; import org.lineageos.eleven.utils.PopupMenuHelper; @@ -54,9 +55,9 @@ import org.lineageos.eleven.widgets.NoResultsContainer; import java.util.List; import java.util.TreeSet; -public class PlaylistDetailFragment extends FadingBarFragment implements +public class PlaylistDetailFragment extends DetailFragment implements LoaderCallbacks>, OnItemClickListener, DropListener, - RemoveListener, DragScrollProfile, IChildFragment { + RemoveListener, DragScrollProfile, IChildFragment, AbsListView.OnScrollListener { /** * LoaderCallbacks identifier @@ -303,7 +304,6 @@ public class PlaylistDetailFragment extends FadingBarFragment implements @Override public void onScrollStateChanged(AbsListView view, int scrollState) { - super.onScrollStateChanged(view, scrollState); if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING) { mAdapter.setPauseDiskCache(true); @@ -313,6 +313,25 @@ public class PlaylistDetailFragment extends FadingBarFragment implements } } + @Override + public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { + View firstChild = view.getChildAt(0); + if (firstChild == null) { + return; + } + + float firstChildY = firstChild.getY(); + + if (firstVisibleItem == 0) { + // move header to current top of list + setHeaderPosition(firstChildY); + } else { + // header off screen + setHeaderPosition(-getHeaderHeight()); + } + + } + protected int getHeaderHeight() { return mHeaderContainer.getHeight(); } protected void setHeaderPosition(float y) { diff --git a/src/org/lineageos/eleven/utils/PlaylistPopupMenuHelper.java b/src/org/lineageos/eleven/utils/PlaylistPopupMenuHelper.java index cfebe910..d70e2151 100644 --- a/src/org/lineageos/eleven/utils/PlaylistPopupMenuHelper.java +++ b/src/org/lineageos/eleven/utils/PlaylistPopupMenuHelper.java @@ -91,16 +91,12 @@ public abstract class PlaylistPopupMenuHelper extends PopupMenuHelper { private final AlertDialog buildDeleteDialog(final long playlistId, final String playlistName) { return new AlertDialog.Builder(mActivity) .setTitle(mActivity.getString(R.string.delete_dialog_title, playlistName)) - .setPositiveButton(R.string.context_menu_delete, new OnClickListener() { - - @Override - public void onClick(final DialogInterface dialog, final int which) { - final Uri mUri = ContentUris.withAppendedId( - MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, - playlistId); - mActivity.getContentResolver().delete(mUri, null, null); - MusicUtils.refresh(); - } + .setPositiveButton(R.string.context_menu_delete, (dialog, which) -> { + final Uri mUri = ContentUris.withAppendedId( + MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI, + playlistId); + mActivity.getContentResolver().delete(mUri, null, null); + MusicUtils.refresh(); }).setNegativeButton(R.string.cancel, new OnClickListener() { @Override diff --git a/src/org/lineageos/eleven/widgets/BlurScrimImage.java b/src/org/lineageos/eleven/widgets/BlurScrimImage.java index 2b342f26..8c97fb97 100644 --- a/src/org/lineageos/eleven/widgets/BlurScrimImage.java +++ b/src/org/lineageos/eleven/widgets/BlurScrimImage.java @@ -1,25 +1,29 @@ /* -* Copyright (C) 2014 The CyanogenMod Project -* -* Licensed under the Apache License, Version 2.0 (the "License"); -* you may not use this file except in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, software -* distributed under the License is distributed on an "AS IS" BASIS, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the License for the specific language governing permissions and -* limitations under the License. -*/ + * Copyright (C) 2014 The CyanogenMod Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.lineageos.eleven.widgets; import android.content.Context; import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; +import android.graphics.drawable.ColorDrawable; +import android.graphics.drawable.Drawable; import android.graphics.drawable.TransitionDrawable; +import android.support.v4.content.ContextCompat; import android.util.AttributeSet; import android.view.View; import android.widget.FrameLayout; @@ -45,7 +49,7 @@ public class BlurScrimImage extends FrameLayout { protected void onFinishInflate() { super.onFinishInflate(); - mImageView = (ImageView)findViewById(R.id.blurImage); + mImageView = (ImageView) findViewById(R.id.blurImage); mBlurScrim = findViewById(R.id.blurScrim); } @@ -63,11 +67,10 @@ public class BlurScrimImage extends FrameLayout { return; } - Bitmap blurredBitmap = ((BitmapDrawable) getResources() - .getDrawable(R.drawable.default_artwork_blur_2)).getBitmap(); + Drawable blurredDrawable = new ColorDrawable(ContextCompat.getColor(getContext(), R.color.background_color)); TransitionDrawable imageTransition = ImageWorker.createImageTransitionDrawable(getResources(), - mImageView.getDrawable(), blurredBitmap, ImageWorker.FADE_IN_TIME_SLOW, true, true); + mImageView.getDrawable(), blurredDrawable, ImageWorker.FADE_IN_TIME_SLOW, true, true); TransitionDrawable paletteTransition = ImageWorker.createPaletteTransition(this, Color.TRANSPARENT); @@ -79,11 +82,12 @@ public class BlurScrimImage extends FrameLayout { /** * Sets the transition drawable - * @param imageTransition the transition for the imageview + * + * @param imageTransition the transition for the imageview * @param paletteTransition the transition for the scrim overlay */ public void setTransitionDrawable(TransitionDrawable imageTransition, - TransitionDrawable paletteTransition) { + TransitionDrawable paletteTransition) { mBlurScrim.setBackground(paletteTransition); mImageView.setImageDrawable(imageTransition); mUsingDefaultBlur = false; @@ -91,6 +95,7 @@ public class BlurScrimImage extends FrameLayout { /** * Loads the current artwork into this BlurScrimImage + * * @param imageFetcher an ImageFetcher instance */ public void loadBlurImage(ImageFetcher imageFetcher) { diff --git a/src/org/lineageos/eleven/widgets/CustomPreference.java b/src/org/lineageos/eleven/widgets/CustomPreference.java new file mode 100644 index 00000000..2eb63230 --- /dev/null +++ b/src/org/lineageos/eleven/widgets/CustomPreference.java @@ -0,0 +1,39 @@ +package org.lineageos.eleven.widgets; + +import android.content.Context; +import android.preference.Preference; +import android.util.AttributeSet; +import android.view.View; +import android.view.ViewGroup; + +public class CustomPreference extends Preference { + public CustomPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + public CustomPreference(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public CustomPreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public CustomPreference(Context context) { + super(context); + } + + @Override + public View getView(View convertView, ViewGroup parent) { + View view = super.getView(convertView, parent); + view.setOnClickListener(v -> { + if (getOnPreferenceClickListener() != null) { + getOnPreferenceClickListener().onPreferenceClick(this); + } else if (getIntent() != null) { + Context context = getContext(); + context.startActivity(getIntent()); + } + }); + return view; + } +} diff --git a/src/org/lineageos/eleven/widgets/CustomSwitchPreference.java b/src/org/lineageos/eleven/widgets/CustomSwitchPreference.java new file mode 100644 index 00000000..595dfe3f --- /dev/null +++ b/src/org/lineageos/eleven/widgets/CustomSwitchPreference.java @@ -0,0 +1,33 @@ +package org.lineageos.eleven.widgets; + +import android.content.Context; +import android.preference.SwitchPreference; +import android.util.AttributeSet; +import android.view.View; +import android.view.ViewGroup; + +public class CustomSwitchPreference extends SwitchPreference { + + public CustomSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + } + + public CustomSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + public CustomSwitchPreference(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public CustomSwitchPreference(Context context) { + super(context); + } + + @Override + public View getView(View convertView, ViewGroup parent) { + View view = super.getView(convertView, parent); + view.setOnClickListener(v -> onClick()); + return view; + } +} diff --git a/src/org/lineageos/eleven/widgets/NoResultsContainer.java b/src/org/lineageos/eleven/widgets/NoResultsContainer.java index 770afc34..50d34adf 100644 --- a/src/org/lineageos/eleven/widgets/NoResultsContainer.java +++ b/src/org/lineageos/eleven/widgets/NoResultsContainer.java @@ -60,7 +60,7 @@ public class NoResultsContainer extends LinearLayout { } public void setTextColor(int color) { - ((ImageView)findViewById(R.id.no_results_image)).setColorFilter(color, PorterDuff.Mode.SRC_IN); + //((ImageView)findViewById(R.id.no_results_image)).setColorFilter(color, PorterDuff.Mode.SRC_IN); ((TextView)findViewById(R.id.no_results_main_text)).setTextColor(color); ((TextView)findViewById(R.id.no_results_main_highlight_text)).setTextColor(color); ((TextView)findViewById(R.id.no_results_secondary_text)).setTextColor(color); -- GitLab