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:
committed by
Fabrice Di Meglio
parent
3a84d40133
commit
21dba1f0e7
@@ -137,6 +137,8 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
private boolean mServiceEnabled;
|
private boolean mServiceEnabled;
|
||||||
|
|
||||||
|
private SearchView mSearchView;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
@@ -148,6 +150,9 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onPause() {
|
public void onPause() {
|
||||||
mSettingsContentObserver.unregister(getContentResolver());
|
mSettingsContentObserver.unregister(getContentResolver());
|
||||||
|
if (mSearchView != null) {
|
||||||
|
mSearchView.setOnQueryTextListener(null);
|
||||||
|
}
|
||||||
super.onPause();
|
super.onPause();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -408,8 +413,8 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
MenuItem searchItem = menu.findItem(R.id.print_menu_item_search);
|
MenuItem searchItem = menu.findItem(R.id.print_menu_item_search);
|
||||||
if (mServiceEnabled && mPrintersAdapter.getUnfilteredCount() > 0) {
|
if (mServiceEnabled && mPrintersAdapter.getUnfilteredCount() > 0) {
|
||||||
SearchView searchView = (SearchView) searchItem.getActionView();
|
mSearchView = (SearchView) searchItem.getActionView();
|
||||||
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
|
||||||
@Override
|
@Override
|
||||||
public boolean onQueryTextSubmit(String query) {
|
public boolean onQueryTextSubmit(String query) {
|
||||||
return true;
|
return true;
|
||||||
@@ -421,7 +426,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
searchView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
|
mSearchView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onViewAttachedToWindow(View view) {
|
public void onViewAttachedToWindow(View view) {
|
||||||
if (AccessibilityManager.getInstance(getActivity()).isEnabled()) {
|
if (AccessibilityManager.getInstance(getActivity()).isEnabled()) {
|
||||||
|
Reference in New Issue
Block a user