Skip to content

Commit 83b52fc

Browse files
Divyanshu2132neslihanturan
authored andcommitted
Fixed commons-app#1948 Search feature is light in dark theme (commons-app#1951)
* Fixed commons-app#1930 Achievements activity is crashing on Android 8.1 * Fixed commons-app#1930 Achievements activity is crashing on Android 8.1 * Delete gradle-wrapper.properties * Update build.gradle * Create gradle-wrapper.properties * fixed commons-app#1948 Search feature is light in dark theme * Update FileUtils.java * Update FileUtils.java * Update FileUtils.java * Fixed commons-app#1948 Search feature is light in dark theme * changed files for the build * Made the changes asked for * Made the changes asked for * Update gradle.properties * Update gradle.properties * Made changes in RecentSearchFragment
1 parent f79456e commit 83b52fc

File tree

3 files changed

+51
-19
lines changed

3 files changed

+51
-19
lines changed

app/src/main/java/fr/free/nrw/commons/explore/SearchActivity.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.content.res.Configuration;
44
import android.database.DataSetObserver;
55
import android.os.Bundle;
6+
import android.preference.PreferenceManager;
67
import android.support.design.widget.TabLayout;
78
import android.support.v4.app.Fragment;
89
import android.support.v4.app.FragmentManager;
@@ -57,9 +58,16 @@ public class SearchActivity extends NavigationBaseActivity implements MediaDetai
5758
@Override
5859
protected void onCreate(Bundle savedInstanceState) {
5960
super.onCreate(savedInstanceState);
61+
boolean currentThemeIsDark = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("theme", false);
6062
setContentView(R.layout.activity_search);
6163
ButterKnife.bind(this);
6264
initDrawer();
65+
if (currentThemeIsDark) {
66+
searchView.setBackgroundResource(R.color.vpi__bright_foreground_disabled_holo_dark);
67+
tabLayout.setBackgroundResource(R.color.vpi__bright_foreground_disabled_holo_dark);
68+
toolbar.setBackgroundResource(R.color.vpi__bright_foreground_disabled_holo_dark);
69+
viewPager.setBackgroundResource(R.color.vpi__bright_foreground_disabled_holo_dark);
70+
}
6371
setTitle(getString(R.string.title_activity_search));
6472
toolbar.setNavigationOnClickListener(v->onBackPressed());
6573
supportFragmentManager = getSupportFragmentManager();

app/src/main/java/fr/free/nrw/commons/explore/recentsearches/RecentSearchesFragment.java

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package fr.free.nrw.commons.explore.recentsearches;
22

3+
import android.content.Context;
34
import android.os.Bundle;
5+
import android.preference.PreferenceManager;
46
import android.support.v7.app.AlertDialog;
57
import android.view.LayoutInflater;
68
import android.view.View;
@@ -32,6 +34,7 @@ public class RecentSearchesFragment extends CommonsDaggerSupportFragment {
3234
ArrayAdapter adapter;
3335
@BindView(R.id.recent_searches_delete_button)
3436
ImageView recent_searches_delete_button;
37+
boolean currentThemeIsDark = false;
3538
@BindView(R.id.recent_searches_text_view)
3639
TextView recent_searches_text_view;
3740

@@ -42,28 +45,32 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
4245
ButterKnife.bind(this, rootView);
4346
recentSearches = recentSearchesDao.recentSearches(10);
4447

45-
if(recentSearches.isEmpty()) {
48+
if(recentSearches.isEmpty()) {
4649
recent_searches_delete_button.setVisibility(View.GONE);
4750
recent_searches_text_view.setText(R.string.no_recent_searches);
4851
}
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);
4973

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);
6774
recentSearchesList.setAdapter(adapter);
6875
recentSearchesList.setOnItemClickListener((parent, view, position, id) -> (
6976
(SearchActivity)getContext()).updateText(recentSearches.get(position)));
@@ -87,7 +94,7 @@ public void onResume() {
8794
*/
8895
public void updateRecentSearches() {
8996
recentSearches = recentSearchesDao.recentSearches(10);
90-
adapter = new ArrayAdapter<String>(getContext(),R.layout.item_recent_searches, recentSearches);
97+
setAdapterForThemes(getContext(), currentThemeIsDark);
9198
recentSearchesList.setAdapter(adapter);
9299
adapter.notifyDataSetChanged();
93100

@@ -96,4 +103,12 @@ public void updateRecentSearches() {
96103
recent_searches_text_view.setText(R.string.search_recent_header);
97104
}
98105
}
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+
}
99114
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
3+
android:id="@+id/textView2"
4+
android:layout_width="match_parent"
5+
android:layout_height="wrap_content"
6+
android:background="@color/vpi__bright_foreground_disabled_holo_dark"
7+
android:padding="@dimen/standard_gap"
8+
android:text="@string/search_commons"
9+
android:textAppearance="?android:attr/textAppearanceMedium" />

0 commit comments

Comments
 (0)