Fix a crash in the print service settigns.
When the search view is attached and detached we announce that for accessibility. The trouble is that if the activity is being torn down we are trying to access resources from a fragment that is detached and the qcrash occurs. This change does not try to access resources if the activity is finishing and also we do not load resource strings if accessibility is not enabled. bug:11127814 Change-Id: If3e97b6e94687775386a43c8fa54fd45140306eb
This commit is contained in:
@@ -53,6 +53,7 @@ import android.view.MenuInflater;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
import android.widget.BaseAdapter;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||||
@@ -425,13 +426,19 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
|
||||
searchView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
|
||||
@Override
|
||||
public void onViewAttachedToWindow(View view) {
|
||||
view.announceForAccessibility(getString(
|
||||
R.string.print_search_box_shown_utterance));
|
||||
if (AccessibilityManager.getInstance(getActivity()).isEnabled()) {
|
||||
view.announceForAccessibility(getString(
|
||||
R.string.print_search_box_shown_utterance));
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void onViewDetachedFromWindow(View view) {
|
||||
view.announceForAccessibility(getString(
|
||||
R.string.print_search_box_hidden_utterance));
|
||||
Activity activity = getActivity();
|
||||
if (activity != null && !activity.isFinishing()
|
||||
&& AccessibilityManager.getInstance(activity).isEnabled()) {
|
||||
view.announceForAccessibility(getString(
|
||||
R.string.print_search_box_hidden_utterance));
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
|
Reference in New Issue
Block a user