@@ -63,7 +63,6 @@ public final class MaterialTimePicker extends DialogFragment {
6363 private final Set <OnDismissListener > dismissListeners = new LinkedHashSet <>();
6464
6565 private TimePickerView timePickerView ;
66- private LinearLayout textInputView ;
6766 private ViewStub textInputStub ;
6867
6968 @ Nullable private TimePickerClockPresenter timePickerClockPresenter ;
@@ -262,6 +261,15 @@ public void onClick(View v) {
262261 return root ;
263262 }
264263
264+ @ Override
265+ public void onStop () {
266+ super .onStop ();
267+ activePresenter = null ;
268+ timePickerClockPresenter = null ;
269+ timePickerTextInputPresenter = null ;
270+ timePickerView = null ;
271+ }
272+
265273 @ Override
266274 public final void onCancel (@ NonNull DialogInterface dialogInterface ) {
267275 for (OnCancelListener listener : cancelListeners ) {
@@ -275,10 +283,7 @@ public final void onDismiss(@NonNull DialogInterface dialogInterface) {
275283 for (OnDismissListener listener : dismissListeners ) {
276284 listener .onDismiss (dialogInterface );
277285 }
278- ViewGroup viewGroup = ((ViewGroup ) getView ());
279- if (viewGroup != null ) {
280- viewGroup .removeAllViews ();
281- }
286+
282287 super .onDismiss (dialogInterface );
283288 }
284289
@@ -296,7 +301,6 @@ private void updateInputMode(MaterialButton modeButton) {
296301 }
297302
298303 private TimePickerPresenter initializeOrRetrieveActivePresenterForMode (int mode ) {
299-
300304 if (mode == INPUT_MODE_CLOCK ) {
301305 timePickerClockPresenter =
302306 timePickerClockPresenter == null
@@ -307,7 +311,7 @@ private TimePickerPresenter initializeOrRetrieveActivePresenterForMode(int mode)
307311 }
308312
309313 if (timePickerTextInputPresenter == null ) {
310- textInputView = (LinearLayout ) textInputStub .inflate ();
314+ LinearLayout textInputView = (LinearLayout ) textInputStub .inflate ();
311315 timePickerTextInputPresenter = new TimePickerTextInputPresenter (textInputView , time );
312316 }
313317
0 commit comments