kopia lustrzana https://github.com/ryukoposting/Signal-Android
Clean up keyboard fragment when view is detached from window.
rodzic
683247bf98
commit
42d2d415d6
|
@ -50,6 +50,26 @@ public class MediaKeyboard extends FrameLayout implements InputView {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
if (isInitialised && fragmentManager != null && keyboardPagerFragment != null) {
|
||||
fragmentManager.beginTransaction()
|
||||
.replace(R.id.media_keyboard_fragment_container, keyboardPagerFragment, TAG)
|
||||
.commitNowAllowingStateLoss();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow();
|
||||
if (fragmentManager != null && keyboardPagerFragment != null) {
|
||||
fragmentManager.beginTransaction()
|
||||
.remove(keyboardPagerFragment)
|
||||
.commitNowAllowingStateLoss();
|
||||
}
|
||||
}
|
||||
|
||||
public void setFragmentManager(@NonNull FragmentManager fragmentManager) {
|
||||
this.fragmentManager = fragmentManager;
|
||||
}
|
||||
|
@ -152,6 +172,7 @@ public class MediaKeyboard extends FrameLayout implements InputView {
|
|||
|
||||
private void initView() {
|
||||
if (!isInitialised) {
|
||||
Log.d(TAG, "Initialising...");
|
||||
|
||||
LayoutInflater.from(getContext()).inflate(R.layout.media_keyboard, this, true);
|
||||
|
||||
|
@ -166,7 +187,7 @@ public class MediaKeyboard extends FrameLayout implements InputView {
|
|||
}
|
||||
|
||||
fragmentManager.beginTransaction()
|
||||
.replace(R.id.media_keyboard_fragment_container, keyboardPagerFragment)
|
||||
.replace(R.id.media_keyboard_fragment_container, keyboardPagerFragment, TAG)
|
||||
.commitNowAllowingStateLoss();
|
||||
|
||||
keyboardState = State.NORMAL;
|
||||
|
|
Ładowanie…
Reference in New Issue