Fixed #1948 Search feature is light in dark theme (#1951)

* Fixed #1930 Achievements activity is crashing on Android 8.1

* Fixed #1930 Achievements activity is crashing on Android 8.1

* Delete gradle-wrapper.properties

* Update build.gradle

* Create gradle-wrapper.properties

* fixed #1948 Search feature is light in dark theme

* Update FileUtils.java

* Update FileUtils.java

* Update FileUtils.java

* Fixed #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
This commit is contained in:
Divyanshu Shukla 2018-12-17 17:13:58 +05:30 committed by neslihanturan
parent f79456ec8e
commit 83b52fc1b9
3 changed files with 51 additions and 19 deletions

View file

@ -3,6 +3,7 @@ package fr.free.nrw.commons.explore;
import android.content.res.Configuration;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
@ -57,9 +58,16 @@ public class SearchActivity extends NavigationBaseActivity implements MediaDetai
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
boolean currentThemeIsDark = PreferenceManager.getDefaultSharedPreferences(this).getBoolean("theme", false);
setContentView(R.layout.activity_search);
ButterKnife.bind(this);
initDrawer();
if (currentThemeIsDark) {
searchView.setBackgroundResource(R.color.vpi__bright_foreground_disabled_holo_dark);
tabLayout.setBackgroundResource(R.color.vpi__bright_foreground_disabled_holo_dark);
toolbar.setBackgroundResource(R.color.vpi__bright_foreground_disabled_holo_dark);
viewPager.setBackgroundResource(R.color.vpi__bright_foreground_disabled_holo_dark);
}
setTitle(getString(R.string.title_activity_search));
toolbar.setNavigationOnClickListener(v->onBackPressed());
supportFragmentManager = getSupportFragmentManager();

View file

@ -1,6 +1,8 @@
package fr.free.nrw.commons.explore.recentsearches;
import android.content.Context;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
@ -32,6 +34,7 @@ public class RecentSearchesFragment extends CommonsDaggerSupportFragment {
ArrayAdapter adapter;
@BindView(R.id.recent_searches_delete_button)
ImageView recent_searches_delete_button;
boolean currentThemeIsDark = false;
@BindView(R.id.recent_searches_text_view)
TextView recent_searches_text_view;
@ -42,28 +45,32 @@ public class RecentSearchesFragment extends CommonsDaggerSupportFragment {
ButterKnife.bind(this, rootView);
recentSearches = recentSearchesDao.recentSearches(10);
if(recentSearches.isEmpty()) {
if(recentSearches.isEmpty()) {
recent_searches_delete_button.setVisibility(View.GONE);
recent_searches_text_view.setText(R.string.no_recent_searches);
}
recent_searches_delete_button.setOnClickListener(v -> {
new AlertDialog.Builder(getContext())
.setMessage(getString(R.string.delete_recent_searches_dialog))
.setPositiveButton(android.R.string.yes, (dialog, which) -> {
recentSearchesDao.deleteAll(recentSearches);
recent_searches_delete_button.setVisibility(View.GONE);
recent_searches_text_view.setText(R.string.no_recent_searches);
Toast.makeText(getContext(),getString(R.string.search_history_deleted),Toast.LENGTH_SHORT).show();
recentSearches = recentSearchesDao.recentSearches(10);
adapter = new ArrayAdapter<String>(getContext(),R.layout.item_recent_searches, recentSearches);
recentSearchesList.setAdapter(adapter);
adapter.notifyDataSetChanged();
dialog.dismiss();
})
.setNegativeButton(android.R.string.no, null)
.create()
.show();
});
currentThemeIsDark = PreferenceManager.getDefaultSharedPreferences(getContext()).getBoolean("theme", false);
setAdapterForThemes(getContext(), currentThemeIsDark);
recent_searches_delete_button.setOnClickListener(v -> new AlertDialog.Builder(getContext())
.setMessage(getString(R.string.delete_recent_searches_dialog))
.setPositiveButton(android.R.string.yes, (dialog, which) -> {
recentSearchesDao.deleteAll(recentSearches);
recent_searches_delete_button.setVisibility(View.GONE);
recent_searches_text_view.setText(R.string.no_recent_searches);
Toast.makeText(getContext(),getString(R.string.search_history_deleted),Toast.LENGTH_SHORT).show();
recentSearches = recentSearchesDao.recentSearches(10);
adapter = new ArrayAdapter<String>(getContext(),R.layout.item_recent_searches, recentSearches);
recentSearchesList.setAdapter(adapter);
adapter.notifyDataSetChanged();
dialog.dismiss();
})
.setNegativeButton(android.R.string.no, null)
.create()
.show());
adapter = new ArrayAdapter<String>(getContext(),R.layout.item_recent_searches, recentSearches);
recentSearchesList.setAdapter(adapter);
recentSearchesList.setOnItemClickListener((parent, view, position, id) -> (
(SearchActivity)getContext()).updateText(recentSearches.get(position)));
@ -87,7 +94,7 @@ public class RecentSearchesFragment extends CommonsDaggerSupportFragment {
*/
public void updateRecentSearches() {
recentSearches = recentSearchesDao.recentSearches(10);
adapter = new ArrayAdapter<String>(getContext(),R.layout.item_recent_searches, recentSearches);
setAdapterForThemes(getContext(), currentThemeIsDark);
recentSearchesList.setAdapter(adapter);
adapter.notifyDataSetChanged();
@ -96,4 +103,12 @@ public class RecentSearchesFragment extends CommonsDaggerSupportFragment {
recent_searches_text_view.setText(R.string.search_recent_header);
}
}
private void setAdapterForThemes(Context context, boolean currentThemeIsDark) {
if (currentThemeIsDark) {
adapter = new ArrayAdapter<String>(context, R.layout.item_recent_searches_dark_theme, recentSearches);
} else {
adapter = new ArrayAdapter<String>(context, R.layout.item_recent_searches, recentSearches);
}
}
}

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/vpi__bright_foreground_disabled_holo_dark"
android:padding="@dimen/standard_gap"
android:text="@string/search_commons"
android:textAppearance="?android:attr/textAppearanceMedium" />