1
00:00:00,830 --> 00:00:01,580
Welcome back.

2
00:00:01,819 --> 00:00:07,490
And this video, we are going to get our app to the point where we can finally draw on the view and

3
00:00:07,490 --> 00:00:15,320
because we are going to draw on The View, I also have the view class opened here and, uh, documentation.

4
00:00:15,680 --> 00:00:20,510
And that is something that I highly recommend you to do as well to check out the documentation each

5
00:00:20,510 --> 00:00:25,460
time that you want to know more about a class and more about its different members.

6
00:00:25,760 --> 00:00:32,060
So, for example, we have this class view and as you can see, it's a long file and a very long website.

7
00:00:32,060 --> 00:00:36,920
That's why it's took it took so long to reload it when going from Java to Scotland.

8
00:00:37,520 --> 00:00:40,970
And you can see here probably constructors and all those kind of things.

9
00:00:40,970 --> 00:00:44,360
So a bunch of stuff that you can set in a view.

10
00:00:44,810 --> 00:00:45,140
All right.

11
00:00:45,530 --> 00:00:52,520
And what you can check here is a method that we're going to use, which is called on.

12
00:00:52,520 --> 00:00:53,510
Size changed.

13
00:00:54,140 --> 00:00:56,300
So you can see there is this method called on.

14
00:00:56,300 --> 00:00:57,050
Size changed.

15
00:00:57,410 --> 00:01:01,430
And here it says this is called during layout, when the size of the view has changed.

16
00:01:01,670 --> 00:01:04,879
So in here we can create a bit bitmap.

17
00:01:05,060 --> 00:01:12,920
So when the size of the screen is changed, we want to display the bitmap that because it will require

18
00:01:12,920 --> 00:01:15,170
something to be displayed on our view.

19
00:01:15,560 --> 00:01:18,590
And what we want to display in there is our canvas.

20
00:01:19,220 --> 00:01:19,640
All right.

21
00:01:19,970 --> 00:01:21,770
So let's have a look at that.

22
00:01:22,100 --> 00:01:27,390
Let's create or overwrite this on size changed.

23
00:01:28,040 --> 00:01:32,990
So you can see we can overwrite this function because it exists in the view class, right?

24
00:01:33,260 --> 00:01:36,950
And as you know, our drawing view is inheriting from you.

25
00:01:37,340 --> 00:01:40,670
So we can use its members and override them.

26
00:01:40,760 --> 00:01:41,690
That's what we did here.

27
00:01:42,050 --> 00:01:51,110
So what I want to said is I want to set my canvas bitmap because you maybe remember we had not set that

28
00:01:51,110 --> 00:01:52,630
one yet, so it was still null.

29
00:01:53,450 --> 00:01:55,910
So now at this point, I can set it.

30
00:01:56,660 --> 00:02:05,600
I can just say, create a bitmap with a certain with a certain height and a configuration.

31
00:02:05,960 --> 00:02:08,840
So if you look at it, there are so many overloads.

32
00:02:08,840 --> 00:02:10,190
Look at this create bitmap.

33
00:02:10,190 --> 00:02:15,860
So there are a bunch of overlaps that you can use, and we're going to use the one where it has a bitmap

34
00:02:15,860 --> 00:02:16,430
config.

35
00:02:16,700 --> 00:02:17,090
All right.

36
00:02:17,390 --> 00:02:22,220
So width, height and bitmap dot config.

37
00:02:22,400 --> 00:02:29,600
So a configuration and you can use a configuration as you like, and I'm going to use Air G.B. eight

38
00:02:29,600 --> 00:02:32,990
eight eight eight and you can see each pixel is stored on four bytes each.

39
00:02:32,990 --> 00:02:39,800
Channel GB four and Alpha four translucency is stored with eight bits of precision.

40
00:02:40,250 --> 00:02:44,030
So that's what we're using as the configuration for our bitmap.

41
00:02:44,480 --> 00:02:48,440
So this is the amount of colors, so to speak, that we want to be able to use.

42
00:02:49,070 --> 00:02:54,620
So not eight thousand eight hundred eighty eight, but two hundred and fifty six possible values for

43
00:02:54,620 --> 00:03:01,880
each of the three colors for red, green and blue, which ends up being multiple millions of colors,

44
00:03:01,880 --> 00:03:02,150
right?

45
00:03:02,160 --> 00:03:04,130
So a bunch of colors that we can use now.

46
00:03:04,550 --> 00:03:12,470
And the next thing that I want to said here is to use this bitmap as the canvas bitmap.

47
00:03:12,800 --> 00:03:13,220
All right.

48
00:03:13,880 --> 00:03:19,600
So or as the canvas, to be more precise, I'm just going to use the canvas and year to canvas.

49
00:03:19,610 --> 00:03:22,100
You can pass a bitmap or you have to pass a bitmap.

50
00:03:22,430 --> 00:03:28,700
So I'm going to pass my canvas bitmap here because canvas bitmap is a null type.

51
00:03:29,570 --> 00:03:34,470
We need to use the double exclamation mark here because we just set it.

52
00:03:34,490 --> 00:03:36,260
It's going to be fine because it's not null, right?

53
00:03:36,800 --> 00:03:42,350
So at this point, our canvas is set as well as in remember, we also have this canvas, which was null,

54
00:03:42,350 --> 00:03:45,440
and we still hadn't said it because instead of drawing, we didn't set it.

55
00:03:46,100 --> 00:03:53,000
So we set it each time that the size has changed of our screen and it is called once the screen is inflated.

56
00:03:53,090 --> 00:03:55,010
So once it's displayed, so to speak.

57
00:03:55,250 --> 00:03:59,300
So once our view is displayed, our drawing view.

58
00:04:00,890 --> 00:04:05,180
All right, the next thing that we need to add is what should happen when we want to draw.

59
00:04:05,750 --> 00:04:08,270
And there is a specific.

60
00:04:10,020 --> 00:04:14,380
Method for this, it's called on draw, you can see override fun on draw.

61
00:04:14,700 --> 00:04:20,490
So this on drawn, it's a canvas on which it wants to write something or draw something.

62
00:04:20,790 --> 00:04:22,019
That's exactly what we're going to do.

63
00:04:22,019 --> 00:04:29,130
We want to draw something on our canvas and what we need to do in here in our canvas.

64
00:04:29,130 --> 00:04:30,900
Here we can go ahead and.

65
00:04:33,150 --> 00:04:38,220
Set the canvas to be or to call draw bitmap.

66
00:04:39,760 --> 00:04:46,000
Then will need to pass to admit that we want to draw on and we want to draw on our own commitment that

67
00:04:46,000 --> 00:04:52,860
we created, which was called canvas, but map, and because it's another bill, we need to use the

68
00:04:52,870 --> 00:04:57,070
ducks the nation mark, then we need to say at which position we want to start.

69
00:04:57,070 --> 00:05:02,500
And I'm going to say at zero zero, so I want to start at the top left corner.

70
00:05:03,710 --> 00:05:10,160
And finally, I'm going to pass and canvas paint.

71
00:05:11,690 --> 00:05:12,080
All right.

72
00:05:12,200 --> 00:05:16,220
So if you're wondering, where are all these values from?

73
00:05:16,730 --> 00:05:21,560
You can, of course, always check out the documentation so either on the website or you can open it

74
00:05:21,560 --> 00:05:22,220
from here.

75
00:05:22,460 --> 00:05:25,730
And if you want to know more about straw bitmap, you can check out here.

76
00:05:26,360 --> 00:05:32,570
What it does draw the specific bitmap with its top left corner at X and Y using the specified paint

77
00:05:32,900 --> 00:05:34,940
transformed by the current matrix.

78
00:05:35,390 --> 00:05:41,180
Motive to paint contains a mask filler that generates a mask, which extends beyond the bitmaps original

79
00:05:41,180 --> 00:05:41,840
width and height.

80
00:05:42,170 --> 00:05:46,580
OK, but we want to only draw on the original width and height.

81
00:05:46,730 --> 00:05:49,220
OK, so that's what we're going to do here.

82
00:05:49,430 --> 00:05:54,860
Now the thing is on draw, says your canvas, that it's going to be off canvas, Nullarbor.

83
00:05:55,670 --> 00:05:59,480
But I personally want this to not be another Nullarbor.

84
00:06:00,020 --> 00:06:03,200
OK, so I'm going to get rid of this question mark here.

85
00:06:03,650 --> 00:06:07,340
And if it creates an error, we can fix it because.

86
00:06:08,310 --> 00:06:17,370
We can add something like a tier change canvas to canvas question mark if fails.

87
00:06:18,180 --> 00:06:22,170
For example, we could then later on still check it.

88
00:06:22,500 --> 00:06:27,570
But as it can seem, at least the compiler isn't complaining, so we can test it like that.

89
00:06:28,290 --> 00:06:33,990
Of course, the alternative would be to make this one optional here or Nullarbor, because that would

90
00:06:33,990 --> 00:06:34,680
work as well.

91
00:06:36,190 --> 00:06:36,640
All right.

92
00:06:36,910 --> 00:06:42,920
And then the next thing we need to draw is our path, because that's what the path is for, right?

93
00:06:42,970 --> 00:06:48,310
So we created this path, so canvas that draw path.

94
00:06:50,030 --> 00:06:53,990
And she does not drop paint fraud path.

95
00:06:55,310 --> 00:06:58,070
And here we need to pass a path and to paint.

96
00:06:58,580 --> 00:07:00,200
So where do we get our path from?

97
00:07:00,680 --> 00:07:01,790
Well, we get it from.

98
00:07:01,820 --> 00:07:03,230
And draw path.

99
00:07:03,740 --> 00:07:07,010
And where do we get our painful wealth from and draw paint?

100
00:07:07,520 --> 00:07:10,730
Now the problem with those two is that their wealth?

101
00:07:11,860 --> 00:07:13,190
No bubbles.

102
00:07:13,480 --> 00:07:16,060
So we need to use double exclamation marks here.

103
00:07:16,960 --> 00:07:17,860
Now the next thing.

104
00:07:18,070 --> 00:07:24,100
But we definitely need to check if Andropov is not empty because if we look at it, it's a type custom

105
00:07:24,100 --> 00:07:24,520
path.

106
00:07:24,820 --> 00:07:27,430
But what if we didn't start drawing anything?

107
00:07:28,090 --> 00:07:34,970
Well, what we can really make sure of is that our am draw path is not empty.

108
00:07:35,890 --> 00:07:39,040
OK, not so the exclamation mark here to start.

109
00:07:39,490 --> 00:07:40,840
Not Andropov.

110
00:07:40,840 --> 00:07:41,830
That is empty.

111
00:07:42,880 --> 00:07:45,820
All right, so only if that's the case, then draw something.

112
00:07:47,540 --> 00:07:54,380
Now, the next thing we need to set is to stroke with that we want to draw with because we set the width

113
00:07:54,950 --> 00:08:03,440
of our brush size or we set the brush size here, but we need to actually say how thick the paint should

114
00:08:03,440 --> 00:08:03,740
be.

115
00:08:04,280 --> 00:08:07,520
And here we can set that two and drop paint.

116
00:08:09,150 --> 00:08:09,810
Stroke with.

117
00:08:12,150 --> 00:08:18,600
And it should be a draw path that rush thickness.

118
00:08:20,950 --> 00:08:24,370
So as you can see here, the brush thickness of our custom puff.

119
00:08:25,350 --> 00:08:30,870
Because Andropov is of type custom part, that's why we can use the brush thickness here and now, the

120
00:08:30,870 --> 00:08:35,130
next thing is we also want to set the color of our custom path.

121
00:08:35,460 --> 00:08:37,049
So I'm draw paint.

122
00:08:39,059 --> 00:08:42,330
Color is going to be under our paint path.

123
00:08:44,470 --> 00:08:44,710
Color.

124
00:08:45,820 --> 00:08:51,730
And each time I have to use these exclamation marks, because, as you know, Andrew Path is a Nullarbor.

125
00:08:53,260 --> 00:08:57,670
All right, so now we have what should happen when we draw, but when should we draw?

126
00:08:58,210 --> 00:09:00,070
Well, I want to draw something.

127
00:09:01,090 --> 00:09:03,220
When I'm touching the screen.

128
00:09:04,000 --> 00:09:10,140
So what we actually need to do is we need to change her and drop her off, so we need to fill Dan drop

129
00:09:10,160 --> 00:09:16,990
off, so to speak, with a path that should be drawn because otherwise on Draw does doesn't have anything

130
00:09:16,990 --> 00:09:19,180
to do because Andropov is going to be empty.

131
00:09:19,570 --> 00:09:20,710
So there's nothing in there.

132
00:09:21,310 --> 00:09:24,940
So what you see here is I'm checking if it's empty, I'm not checking if it's not.

133
00:09:25,210 --> 00:09:31,800
So what we need to do is we need to implement on touch event functionality.

134
00:09:31,810 --> 00:09:36,640
So UN Touch event, I could see there is a function here.

135
00:09:36,970 --> 00:09:38,050
We can override it.

136
00:09:38,410 --> 00:09:42,760
And here we can now go ahead and start.

137
00:09:43,890 --> 00:09:45,390
Saying what should happen when we touch it?

138
00:09:45,900 --> 00:09:52,890
So what I'm going to have is a variable which is going to store the value of where it was touched.

139
00:09:53,130 --> 00:09:54,180
So even X.

140
00:09:55,500 --> 00:10:00,750
And then a y value when he went, this touched.

141
00:10:01,020 --> 00:10:05,040
So as you can see, they're motion events and they're Nullarbor here.

142
00:10:06,510 --> 00:10:08,670
So I'm just going to add the question marks here.

143
00:10:09,090 --> 00:10:09,720
Of course.

144
00:10:10,170 --> 00:10:15,480
So this is something that has been added actually while I was recording or while I was preparing because

145
00:10:15,480 --> 00:10:19,740
before that motion event in this case wasn't not another bill.

146
00:10:20,010 --> 00:10:22,770
So they have edited it with the latest update.

147
00:10:22,780 --> 00:10:23,660
So what?

148
00:10:23,790 --> 00:10:32,310
What could be the case is that they have actually edited some more variables and made them numbers because

149
00:10:32,700 --> 00:10:38,430
I think they're still figuring out how to use null votes and cut everywhere in the documentation or

150
00:10:38,430 --> 00:10:43,530
in the whole quote that they have prepared in the libraries, right?

151
00:10:43,530 --> 00:10:47,640
So it's going to take a little while until their final version will be out.

152
00:10:48,120 --> 00:10:53,270
So the next thing is we have multiple actions that can happen.

153
00:10:53,280 --> 00:10:57,900
So Event can have multiple actions and this year.

154
00:10:58,880 --> 00:11:00,380
Is very generic.

155
00:11:00,680 --> 00:11:04,400
It's always the same three things that you have when it comes to motion events.

156
00:11:04,940 --> 00:11:05,300
All right.

157
00:11:05,330 --> 00:11:06,950
Because we're using motion event here, right?

158
00:11:07,280 --> 00:11:08,750
If you want to know more about motion event.

159
00:11:08,960 --> 00:11:10,610
Just check it out, as you can see.

160
00:11:11,840 --> 00:11:20,120
Motion event is a class which takes care of motion events, who would have known and the three events

161
00:11:20,120 --> 00:11:22,590
that are important are action done.

162
00:11:22,610 --> 00:11:26,960
So once we get with our finger on the screen, then action move.

163
00:11:27,200 --> 00:11:34,580
Once we drag our finger over the screen and action up the moment when we release the touch.

164
00:11:34,790 --> 00:11:41,090
So when we lift our finger, so to say, all right, so these are the three motion events that we have.

165
00:11:41,510 --> 00:11:48,800
So here motion is actually kept all motion event, but action.

166
00:11:49,310 --> 00:11:53,390
And you can see there are a bunch of other actions, but the three are the most important one.

167
00:11:53,410 --> 00:11:54,920
So action.

168
00:11:57,000 --> 00:11:57,960
Underscored down.

169
00:11:58,860 --> 00:12:01,140
So what should happen when we.

170
00:12:02,560 --> 00:12:09,430
Press onto the screen, and as you can see, we're using an expression here.

171
00:12:09,680 --> 00:12:10,990
You maybe remember what this is.

172
00:12:11,680 --> 00:12:12,850
It's a lambda expression.

173
00:12:13,180 --> 00:12:14,920
So he's in no expressions here.

174
00:12:16,120 --> 00:12:25,210
All right, so when we press on the screen, we want to set the agenda a path color to be the correct

175
00:12:25,210 --> 00:12:25,600
color.

176
00:12:26,410 --> 00:12:29,350
Then we want to set the Andropov thickness.

177
00:12:32,300 --> 00:12:35,480
Brush thickness to be him brush.

178
00:12:36,440 --> 00:12:36,890
Size.

179
00:12:38,000 --> 00:12:41,390
And by the way, this is not the same as what we did here.

180
00:12:41,630 --> 00:12:44,870
So here we're actually said how thick the paint should be.

181
00:12:45,140 --> 00:12:48,200
And here we're saying how thick the path is.

182
00:12:48,440 --> 00:12:49,670
It's two different things.

183
00:12:49,820 --> 00:12:50,480
It's not the same.

184
00:12:51,350 --> 00:12:56,660
And then we reset whatever we had.

185
00:12:56,990 --> 00:12:58,340
So clear any lines.

186
00:13:00,010 --> 00:13:08,050
From the and curves from the path and making it empty and then we move out and drop half.

187
00:13:09,970 --> 00:13:15,820
Move to touch and touch sex or to be more precise, touch sex and touch why?

188
00:13:16,540 --> 00:13:20,320
And as we see here they are another bulls, right?

189
00:13:20,330 --> 00:13:22,630
So they have this question mark when the motion event.

190
00:13:23,530 --> 00:13:28,300
And that's why we have to force it here.

191
00:13:28,750 --> 00:13:29,140
All right.

192
00:13:30,100 --> 00:13:33,910
Because here at this point, we're saying, OK, there is actually going to be a touch event.

193
00:13:34,120 --> 00:13:40,030
If you want it to be 100 percent sure, of course, you wouldn't need to add an if statement around

194
00:13:40,030 --> 00:13:40,120
it.

195
00:13:40,120 --> 00:13:41,300
So double checking.

196
00:13:41,320 --> 00:13:44,200
OK, so alternatively, you can also.

197
00:13:45,170 --> 00:13:47,720
Uh, run over it, surround with Nalchik.

198
00:13:48,980 --> 00:13:50,210
And the same for this one.

199
00:13:51,820 --> 00:13:52,810
It's of Nalchik.

200
00:13:53,530 --> 00:13:59,530
OK, so now it's only going to move to that spot if Touch X and Touch Y are not, no.

201
00:14:01,770 --> 00:14:06,150
All right, so this is what should happen when we have the action down.

202
00:14:06,300 --> 00:14:08,580
Now let's add the motion event.

203
00:14:10,390 --> 00:14:12,130
But action move.

204
00:14:13,860 --> 00:14:17,490
So this one here, what should happen when we drag over the screen?

205
00:14:18,330 --> 00:14:25,530
Well, then I want to set my am drop have to be line to.

206
00:14:26,520 --> 00:14:27,840
And here.

207
00:14:29,030 --> 00:14:29,930
We do the same thing.

208
00:14:32,310 --> 00:14:35,820
We used to Touch X and Touch Y.

209
00:14:37,170 --> 00:14:43,170
And, of course, going to complain again so we can add null checks to be 100 percent certain.

210
00:14:44,510 --> 00:14:48,350
And then finally, what should happen when we released the touch?

211
00:14:49,190 --> 00:14:52,790
Well, we do with a again motion event.

212
00:14:56,300 --> 00:14:59,060
Action this time it's action up.

213
00:15:02,230 --> 00:15:12,070
So here again, Helen, the expression with and drop half being a custom path with the color.

214
00:15:14,240 --> 00:15:15,890
And the brush size.

215
00:15:20,700 --> 00:15:26,520
So then I'm going to add an default case here, so else, return false.

216
00:15:26,790 --> 00:15:31,680
So for this when expression here, when even because as you saw, there are a bunch of other motion

217
00:15:31,680 --> 00:15:32,970
events that are possible.

218
00:15:33,330 --> 00:15:36,690
I'm just going to say for all the other ones, just return false.

219
00:15:37,170 --> 00:15:38,340
So don't do anything.

220
00:15:40,000 --> 00:15:40,330
All right.

221
00:15:40,360 --> 00:15:42,760
And then there are two more things left to do here.

222
00:15:43,150 --> 00:15:44,820
Otherwise I'm going to return true.

223
00:15:44,830 --> 00:15:50,650
So if none of the cases is the case, then it's going to return true.

224
00:15:51,010 --> 00:15:53,710
But just before that, I want to invalidate.

225
00:15:54,990 --> 00:15:56,640
So now what does invalidate do?

226
00:15:57,270 --> 00:15:58,890
Well, you can hover over it.

227
00:15:59,040 --> 00:16:00,390
Click on it and you can see.

228
00:16:01,280 --> 00:16:06,980
Invalidate the hold you if the Jew is visible and on draw will be called at some point in the future.

229
00:16:07,010 --> 00:16:10,010
This must be called from UI threats to call from One UI thread.

230
00:16:10,010 --> 00:16:13,820
You can alternatively use this post invalidate method.

231
00:16:14,030 --> 00:16:16,070
All right, but we're going to use the invalidate method.

232
00:16:16,580 --> 00:16:16,940
All right.

233
00:16:16,940 --> 00:16:22,730
So now we have prepared this view and it took us quite a bit right, but we still wouldn't see it.

234
00:16:22,970 --> 00:16:25,760
So we still need to add it to our activity.

235
00:16:25,760 --> 00:16:26,090
Main.

236
00:16:26,840 --> 00:16:32,120
So here, instead of having our Hello World text you, I'm going to get rid of that and I'm going to

237
00:16:32,120 --> 00:16:34,880
use my you dart.

238
00:16:36,790 --> 00:16:40,630
And we are tutorials that kids drawing app drawing view.

239
00:16:42,870 --> 00:16:46,530
And I can, of course, set all of the settings for our driving view.

240
00:16:46,560 --> 00:16:53,850
So first of all, I need an ID and I'm going to use the ID drawing on the score view, then I'm going

241
00:16:53,850 --> 00:16:55,110
to set the layout with.

242
00:16:57,200 --> 00:16:58,070
Lay out.

243
00:16:59,510 --> 00:16:59,930
With.

244
00:17:01,920 --> 00:17:05,339
Two zero density pixels, layout height.

245
00:17:08,500 --> 00:17:10,180
To zero density pixels.

246
00:17:12,109 --> 00:17:14,030
And then some constraints.

247
00:17:15,069 --> 00:17:21,490
So I want this to be in the middle of the screen, so I'm just going to use all of the loud constrained

248
00:17:21,490 --> 00:17:27,970
bottom to bottom of parent left to left of parent, right to right of parent and top to top of parents.

249
00:17:29,080 --> 00:17:34,610
All right, and once all of that is done, we can finally check our application and see if it's running.

250
00:17:34,630 --> 00:17:36,580
And if we can finally draw something on the screen.

251
00:17:38,360 --> 00:17:39,110
So there we are.

252
00:17:39,530 --> 00:17:40,010
Let's see.

253
00:17:40,550 --> 00:17:44,420
And as you can see now, we can draw on the screen.

254
00:17:45,470 --> 00:17:45,860
All right.

255
00:17:45,860 --> 00:17:52,430
So this was quite some work, but I promise you that the other features will come a lot quicker.

256
00:17:52,430 --> 00:17:57,440
So it's going to be a lot easier to add all the new features in the next videos, and they are all going

257
00:17:57,440 --> 00:17:58,580
to be a lot shorter.

258
00:17:58,880 --> 00:18:03,920
But this is just the effort that we needed to put in to even see anything on the screen here, right?

259
00:18:04,280 --> 00:18:11,060
Because our drawing view, it needed all of this set up in order to do anything.

260
00:18:11,390 --> 00:18:11,810
All right.

261
00:18:12,140 --> 00:18:18,800
So this untouched event, for example, we needed to implement that to even print anything on draw in

262
00:18:18,800 --> 00:18:26,000
order to draw something on the screen on size change to even just set the canvas to be correct.

263
00:18:26,960 --> 00:18:32,780
And of course, our set of drawing in order to set up all of the variables that we have prepared.

264
00:18:35,030 --> 00:18:40,520
So now a very important aspect that I need to talk to you about is that you wouldn't have to come up

265
00:18:40,520 --> 00:18:45,140
with all of this stuff by yourself and you wouldn't know all of these things.

266
00:18:45,140 --> 00:18:51,290
You would build up step by step, so you would check out some documentations, then you would check

267
00:18:51,290 --> 00:18:54,080
on some tutorials and then you would step by step build this.

268
00:18:54,350 --> 00:19:00,170
So this is not something that I would expect you to be able to build already with the knowledge that

269
00:19:00,170 --> 00:19:01,700
you've gained so far in the course.

270
00:19:01,970 --> 00:19:03,110
So no worries there.

271
00:19:03,560 --> 00:19:03,920
All right.

272
00:19:03,920 --> 00:19:14,270
So now let's take care of the drawings or lines to stay permanently, or at least for the duration of

273
00:19:14,270 --> 00:19:15,680
our activities lifecycle.

274
00:19:16,190 --> 00:19:17,450
So see you in the next video.

