Fix crash in AndroidBeam class.

SwitchChangeListener is not added if admin disables the options, so
don't try to remove the listener in this case.

Bug: 27828118
Change-Id: Id0f9c71a10f93fc4c87af2b02ab7f04482145217
This commit is contained in:
Sudheer Shanka
2016-03-24 12:21:45 -07:00
parent f3dc18b65b
commit b51457db10

View File

@@ -47,7 +47,7 @@ public class AndroidBeam extends InstrumentedFragment
private SwitchBar mSwitchBar;
private CharSequence mOldActivityTitle;
private boolean mBeamDisallowedByBase;
private boolean mBeamDisallowedByAdmin;
private boolean mBeamDisallowedByOnlyAdmin;
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -81,7 +81,7 @@ public class AndroidBeam extends InstrumentedFragment
View view = inflater.inflate(R.layout.admin_support_details_empty_view, null);
ShowAdminSupportDetailsDialog.setAdminSupportDetails(getActivity(), view, admin, false);
view.setVisibility(View.VISIBLE);
mBeamDisallowedByAdmin = true;
mBeamDisallowedByOnlyAdmin = true;
return view;
}
mView = inflater.inflate(R.layout.android_beam, container, false);
@@ -95,7 +95,7 @@ public class AndroidBeam extends InstrumentedFragment
SettingsActivity activity = (SettingsActivity) getActivity();
mSwitchBar = activity.getSwitchBar();
if (!mBeamDisallowedByBase && mBeamDisallowedByAdmin) {
if (mBeamDisallowedByOnlyAdmin) {
mSwitchBar.hide();
} else {
mSwitchBar.setChecked(!mBeamDisallowedByBase && mNfcAdapter.isNdefPushEnabled());
@@ -111,8 +111,10 @@ public class AndroidBeam extends InstrumentedFragment
if (mOldActivityTitle != null) {
getActivity().getActionBar().setTitle(mOldActivityTitle);
}
mSwitchBar.removeOnSwitchChangeListener(this);
mSwitchBar.hide();
if (!mBeamDisallowedByOnlyAdmin) {
mSwitchBar.removeOnSwitchChangeListener(this);
mSwitchBar.hide();
}
}
@Override