Repository: flutter
Issue: [camera][ios] : Switching between front and back camera throws `CameraException(Disposed CameraController, buildPreview() was called on a disposed CameraController.)` exception.
Labels: platform-ios,p: camera,package,has reproducible steps,P2,found in release: 2.5,found in release: 2.6,team-ios,triaged-ios

I don't know how this is happening yet, and it doesn't seem to be a major problem, but for some reason I'm getting reports of "buildPreview() was called on a disposed CameraController"

```CameraException(Disposed CameraController, buildPreview() was called on a disposed CameraController.).```

I can see there is a "debugCheckIsDisposed" function, which returns a void, but maybe it would be useful to either have that return a bool or set "isInitialised" to false after dispose has been called.

I'm using camera 0.9.2+2 and it's basically the same setup as the example.


<details>
<summary>log</summary>


```
0
camera_controller.dart - Line 821
_throwIfNotInitialized + 821
1
camera_controller.dart - Line 575
buildPreview + 575
2
camera_preview.dart - Line 34
build.<fn> + 34
3
value_listenable_builder.dart - Line 187
build + 187
4
framework.dart - Line 4691
build + 4691
5
framework.dart - Line 4574
performRebuild + 4574
6
framework.dart - Line 4746
performRebuild + 4746
7
framework.dart - Line 4267
rebuild + 4267
8
framework.dart - Line 4778
update + 4778
9
framework.dart - Line 3350
updateChild + 3350
10
framework.dart - Line 4599
performRebuild + 4599
11
framework.dart - Line 4267
rebuild + 4267
12
framework.dart - Line 4655
update + 4655
13
framework.dart - Line 3350
updateChild + 3350
14
framework.dart - Line 6090
update + 6090
15
framework.dart - Line 3350
updateChild + 3350
16
framework.dart - Line 6090
update + 6090
17
framework.dart - Line 3350
updateChild + 3350
18
framework.dart - Line 5596
updateChildren + 5596
19
framework.dart - Line 6243
update + 6243
20
framework.dart - Line 3350
updateChild + 3350
21
framework.dart - Line 4599
performRebuild + 4599
22
framework.dart - Line 4267
rebuild + 4267
23
framework.dart - Line 4655
update + 4655
24
framework.dart - Line 3350
updateChild + 3350
25
framework.dart - Line 4599
performRebuild + 4599
26
framework.dart - Line 4267
rebuild + 4267
27
framework.dart - Line 4922
update + 4922
28
framework.dart - Line 3350
updateChild + 3350
29
framework.dart - Line 4599
performRebuild + 4599
30
framework.dart - Line 4267
rebuild + 4267
31
framework.dart - Line 4922
update + 4922
32
framework.dart - Line 3350
updateChild + 3350
33
framework.dart - Line 5596
updateChildren + 5596
34
framework.dart - Line 6243
update + 6243
35
framework.dart - Line 3350
updateChild + 3350
36
framework.dart - Line 4599
performRebuild + 4599
37
framework.dart - Line 4746
performRebuild + 4746
38
framework.dart - Line 4267
rebuild + 4267
39
framework.dart - Line 4778
update + 4778
40
framework.dart - Line 3350
updateChild + 3350
41
framework.dart - Line 4599
performRebuild + 4599
42
framework.dart - Line 4267
rebuild + 4267
43
framework.dart - Line 4922
update + 4922
44
framework.dart - Line 3350
updateChild + 3350
45
framework.dart - Line 4599
performRebuild + 4599
46
framework.dart - Line 4746
performRebuild + 4746
47
framework.dart - Line 4267
rebuild + 4267
48
framework.dart - Line 4778
update + 4778
49
framework.dart - Line 3350
updateChild + 3350
50
framework.dart - Line 6090
update + 6090
51
framework.dart - Line 3350
updateChild + 3350
52
framework.dart - Line 4599
performRebuild + 4599
53
framework.dart - Line 4267
rebuild + 4267
54
framework.dart - Line 4655
update + 4655
55
framework.dart - Line 3350
updateChild + 3350
56
framework.dart - Line 6090
update + 6090
57
framework.dart - Line 3350
updateChild + 3350
58
framework.dart - Line 4599
performRebuild + 4599
59
framework.dart - Line 4746
performRebuild + 4746
60
framework.dart - Line 4267
rebuild + 4267
61
framework.dart - Line 4778
update + 4778
62
framework.dart - Line 3350
updateChild + 3350
63
framework.dart - Line 4599
performRebuild + 4599
64
framework.dart - Line 4746
performRebuild + 4746
65
framework.dart - Line 4267
rebuild + 4267
66
framework.dart - Line 4778
update + 4778
67
framework.dart - Line 3350
updateChild + 3350
68
framework.dart - Line 4599
performRebuild + 4599
69
framework.dart - Line 4267
rebuild + 4267
70
framework.dart - Line 4922
update + 4922
71
framework.dart - Line 3350
updateChild + 3350
72
framework.dart - Line 4599
performRebuild + 4599
73
framework.dart - Line 4746
performRebuild + 4746
74
framework.dart - Line 4267
rebuild + 4267
75
framework.dart - Line 4778
update + 4778
76
framework.dart - Line 3350
updateChild + 3350
77
framework.dart - Line 4599
performRebuild + 4599
78
framework.dart - Line 4746
performRebuild + 4746
79
framework.dart - Line 4267
rebuild + 4267
80
framework.dart - Line 2582
buildScope + 2582
81
binding.dart - Line 875
drawFrame + 875
82
binding.dart - Line 328
_handlePersistentFrameCallback + 328
83
binding.dart - Line 1144
_invokeFrameCallback + 1144
84
binding.dart - Line 1082
handleDrawFrame + 1082
85
binding.dart - Line 998
_handleDrawFrame + 998







```


</details>