1
1
package fr .free .nrw .commons .explore .recentsearches ;
2
2
3
+ import android .content .Context ;
3
4
import android .os .Bundle ;
5
+ import android .preference .PreferenceManager ;
4
6
import android .support .v7 .app .AlertDialog ;
5
7
import android .view .LayoutInflater ;
6
8
import android .view .View ;
@@ -32,6 +34,7 @@ public class RecentSearchesFragment extends CommonsDaggerSupportFragment {
32
34
ArrayAdapter adapter ;
33
35
@ BindView (R .id .recent_searches_delete_button )
34
36
ImageView recent_searches_delete_button ;
37
+ boolean currentThemeIsDark = false ;
35
38
@ BindView (R .id .recent_searches_text_view )
36
39
TextView recent_searches_text_view ;
37
40
@@ -42,28 +45,32 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
42
45
ButterKnife .bind (this , rootView );
43
46
recentSearches = recentSearchesDao .recentSearches (10 );
44
47
45
- if (recentSearches .isEmpty ()) {
48
+ if (recentSearches .isEmpty ()) {
46
49
recent_searches_delete_button .setVisibility (View .GONE );
47
50
recent_searches_text_view .setText (R .string .no_recent_searches );
48
51
}
52
+
53
+ recent_searches_delete_button .setOnClickListener (v -> {
54
+ new AlertDialog .Builder (getContext ())
55
+ .setMessage (getString (R .string .delete_recent_searches_dialog ))
56
+ .setPositiveButton (android .R .string .yes , (dialog , which ) -> {
57
+ recentSearchesDao .deleteAll (recentSearches );
58
+ recent_searches_delete_button .setVisibility (View .GONE );
59
+ recent_searches_text_view .setText (R .string .no_recent_searches );
60
+ Toast .makeText (getContext (),getString (R .string .search_history_deleted ),Toast .LENGTH_SHORT ).show ();
61
+ recentSearches = recentSearchesDao .recentSearches (10 );
62
+ adapter = new ArrayAdapter <String >(getContext (),R .layout .item_recent_searches , recentSearches );
63
+ recentSearchesList .setAdapter (adapter );
64
+ adapter .notifyDataSetChanged ();
65
+ dialog .dismiss ();
66
+ })
67
+ .setNegativeButton (android .R .string .no , null )
68
+ .create ()
69
+ .show ();
70
+ });
71
+ currentThemeIsDark = PreferenceManager .getDefaultSharedPreferences (getContext ()).getBoolean ("theme" , false );
72
+ setAdapterForThemes (getContext (), currentThemeIsDark );
49
73
50
- recent_searches_delete_button .setOnClickListener (v -> new AlertDialog .Builder (getContext ())
51
- .setMessage (getString (R .string .delete_recent_searches_dialog ))
52
- .setPositiveButton (android .R .string .yes , (dialog , which ) -> {
53
- recentSearchesDao .deleteAll (recentSearches );
54
- recent_searches_delete_button .setVisibility (View .GONE );
55
- recent_searches_text_view .setText (R .string .no_recent_searches );
56
- Toast .makeText (getContext (),getString (R .string .search_history_deleted ),Toast .LENGTH_SHORT ).show ();
57
- recentSearches = recentSearchesDao .recentSearches (10 );
58
- adapter = new ArrayAdapter <String >(getContext (),R .layout .item_recent_searches , recentSearches );
59
- recentSearchesList .setAdapter (adapter );
60
- adapter .notifyDataSetChanged ();
61
- dialog .dismiss ();
62
- })
63
- .setNegativeButton (android .R .string .no , null )
64
- .create ()
65
- .show ());
66
- adapter = new ArrayAdapter <String >(getContext (),R .layout .item_recent_searches , recentSearches );
67
74
recentSearchesList .setAdapter (adapter );
68
75
recentSearchesList .setOnItemClickListener ((parent , view , position , id ) -> (
69
76
(SearchActivity )getContext ()).updateText (recentSearches .get (position )));
@@ -87,7 +94,7 @@ public void onResume() {
87
94
*/
88
95
public void updateRecentSearches () {
89
96
recentSearches = recentSearchesDao .recentSearches (10 );
90
- adapter = new ArrayAdapter < String > (getContext (),R . layout . item_recent_searches , recentSearches );
97
+ setAdapterForThemes (getContext (), currentThemeIsDark );
91
98
recentSearchesList .setAdapter (adapter );
92
99
adapter .notifyDataSetChanged ();
93
100
@@ -96,4 +103,12 @@ public void updateRecentSearches() {
96
103
recent_searches_text_view .setText (R .string .search_recent_header );
97
104
}
98
105
}
106
+
107
+ private void setAdapterForThemes (Context context , boolean currentThemeIsDark ) {
108
+ if (currentThemeIsDark ) {
109
+ adapter = new ArrayAdapter <String >(context , R .layout .item_recent_searches_dark_theme , recentSearches );
110
+ } else {
111
+ adapter = new ArrayAdapter <String >(context , R .layout .item_recent_searches , recentSearches );
112
+ }
113
+ }
99
114
}
0 commit comments