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: I96052f95689ae17dd1b4e9d1c313100b7b47a599
This commit is contained in:
Raju Yadav
2014-11-25 13:26:17 +01:00
committed by Fabrice Di Meglio
parent 3a84d40133
commit 21dba1f0e7

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()) {