IllegalStateException fixed in print service settings

Settings crashed due to IllegalStateException
as OnQueryTextListener refers to an already
detached view. The listener is set to null
on press of home key (onPause).

Change-Id: If9c76fe3ff040c295f0af9c092e8824b9a1371d7
This commit is contained in:
Raju Yadav
2014-11-25 13:26:17 +01:00
committed by Zoran Jovanovic
parent eb7795ed31
commit 7468085405

View File

@@ -137,6 +137,8 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
private boolean mServiceEnabled;
private SearchView mSearchView;
@Override
public void onResume() {
super.onResume();
@@ -148,6 +150,9 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
@Override
public void onPause() {
mSettingsContentObserver.unregister(getContentResolver());
if (mSearchView != null) {
mSearchView.setOnQueryTextListener(null);
}
super.onPause();
}
@@ -408,8 +413,8 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
MenuItem searchItem = menu.findItem(R.id.print_menu_item_search);
if (mServiceEnabled && mPrintersAdapter.getUnfilteredCount() > 0) {
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
mSearchView = (SearchView) searchItem.getActionView();
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return true;
@@ -421,7 +426,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
return true;
}
});
searchView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
mSearchView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override
public void onViewAttachedToWindow(View view) {
if (AccessibilityManager.getInstance(getActivity()).isEnabled()) {