1
00:00:00,270 --> 00:00:02,170
Hello this is mortiser Cordy.

2
00:00:02,310 --> 00:00:07,350
And in this story are you going to implement this on parchment and inside this floating.

3
00:00:07,350 --> 00:00:08,740
You said riskless.

4
00:00:08,850 --> 00:00:11,490
So let's go inside this method here.

5
00:00:11,520 --> 00:00:18,780
First of all I'm going to paste some valuables and you can see that these are the variables that I pasted

6
00:00:18,780 --> 00:00:19,080
here.

7
00:00:19,080 --> 00:00:20,840
The first one is of type integer.

8
00:00:20,940 --> 00:00:23,260
The name of this but is start ex-POWs.

9
00:00:23,340 --> 00:00:26,170
So you can see that I'm not initializing these variables here.

10
00:00:26,200 --> 00:00:28,300
Just declaring these variables here.

11
00:00:28,740 --> 00:00:34,470
And we have this fun in the start of why pose pose means position.

12
00:00:34,640 --> 00:00:35,150
OK.

13
00:00:35,310 --> 00:00:36,680
The float here.

14
00:00:36,690 --> 00:00:39,120
Start touch x float start.

15
00:00:39,120 --> 00:00:40,160
Touch y.

16
00:00:40,200 --> 00:00:43,750
So now let's see how we are going to initialize these variables.

17
00:00:43,770 --> 00:00:46,840
So let's start with this start X-posts.

18
00:00:47,010 --> 00:00:54,060
We can actually either initialize it here in line one hundred and fifty five or we can actually initialize

19
00:00:54,060 --> 00:00:56,790
it after we declared are valuable.

20
00:00:57,120 --> 00:01:03,350
So I can say start's x post assignment operator.

21
00:01:03,750 --> 00:01:11,130
And here I just need to refer to the parameters of the window manager but there is a problem here.

22
00:01:11,130 --> 00:01:18,090
The parameters of the window manager is actually created inside the uncreate Meffert and we cannot access

23
00:01:18,090 --> 00:01:21,610
those parameters from the untouched method.

24
00:01:21,630 --> 00:01:28,320
So if I scroll to the top here we can see that we actually created these parameters of the window manager

25
00:01:28,320 --> 00:01:30,160
here inside this and create it.

26
00:01:30,510 --> 00:01:36,260
So in order to solve this problem we need to declare this valuable inside our class.

27
00:01:36,360 --> 00:01:42,360
So here inside this class I'm going to say private and his name is going to be its type is going to

28
00:01:42,360 --> 00:01:48,000
be window manager that lay out Putnam's.

29
00:01:48,130 --> 00:01:50,610
This is just the type and the name.

30
00:01:50,620 --> 00:01:51,740
Let's change the name.

31
00:01:51,740 --> 00:01:59,830
Name it as window manager or w the palms acase semicolon.

32
00:01:59,840 --> 00:02:04,800
So now let's delete this value here inside and create it.

33
00:02:04,910 --> 00:02:07,750
And instead let's just refer to W.T. problems.

34
00:02:09,110 --> 00:02:14,490
Now we can access these parameters from our attachment.

35
00:02:14,510 --> 00:02:16,030
So here we have a problem.

36
00:02:16,220 --> 00:02:22,430
We need to change these parameters to W.T. perhaps or window manager problems.

37
00:02:22,430 --> 00:02:25,870
So let's change the name of these variables.

38
00:02:26,300 --> 00:02:28,640
The W.T. posts here.

39
00:02:29,820 --> 00:02:31,080
The pumps.

40
00:02:31,120 --> 00:02:35,190
So now as you can see this process is called refactoring.

41
00:02:35,470 --> 00:02:38,060
We are changing our codes for the builder.

42
00:02:38,170 --> 00:02:38,540
Right.

43
00:02:38,540 --> 00:02:39,920
It's called refactoring.

44
00:02:40,120 --> 00:02:45,330
It's really useful in your when you are creating your own projects or your own and reallocations.

45
00:02:45,400 --> 00:02:51,510
Make sure to always repackage your code to make it better make it simpler make it more meaningful.

46
00:02:51,810 --> 00:02:54,540
OK so now let's scroll down here.

47
00:02:54,610 --> 00:02:58,600
Let's go inside the untouched Merfeld.

48
00:02:58,690 --> 00:03:01,360
So here start ex-post right.

49
00:03:01,360 --> 00:03:02,320
Assignment operator.

50
00:03:02,350 --> 00:03:10,990
Now I can refer to W to deep harams that X Seneca's and this way we can access the start exposition

51
00:03:11,260 --> 00:03:15,960
of the window manager that holds or contains the floating Veach.

52
00:03:15,970 --> 00:03:23,490
So now we can say start why PPOs assignment operator w the palms.

53
00:03:23,530 --> 00:03:26,510
That's why semicolon.

54
00:03:26,890 --> 00:03:28,780
Now let's initialize our start.

55
00:03:28,780 --> 00:03:29,690
Touch x.

56
00:03:29,710 --> 00:03:33,710
So let's say start X assignment operator.

57
00:03:34,030 --> 00:03:41,710
So we have an argument here event which is of a motion event we can access the position of the touch

58
00:03:42,060 --> 00:03:54,400
x the start to touch x from this event which is of motion even so we can see event that gets RA X semicolon.

59
00:03:54,420 --> 00:04:00,540
Notice that the difference between Start exposition and the start to touch x is that the start exposition

60
00:04:00,540 --> 00:04:07,710
is going to give you the position of the floating widget on the screen X. But this Tut tut X is going

61
00:04:07,710 --> 00:04:12,700
to be when user for example starts touching the floating widget on the screen.

62
00:04:12,920 --> 00:04:18,840
Does it start to touch x is going to hold that starting to touch a static position that the user has

63
00:04:18,840 --> 00:04:20,150
started touching.

64
00:04:20,400 --> 00:04:25,520
And then for example the user wants to for example change the place of a widget or on the screen.

65
00:04:25,890 --> 00:04:30,870
So here we say events that get a raw x and B have to start to touch y.

66
00:04:30,890 --> 00:04:41,290
So start touch y assignment operator event that get RA y semicolon.

67
00:04:41,730 --> 00:04:44,320
So there is a problem here.

68
00:04:44,740 --> 00:04:45,620
Sure it does.

69
00:04:45,720 --> 00:04:50,900
So as you can see instead of assignment operator I put a minus here.

70
00:04:51,060 --> 00:04:52,820
So Vinita with the assignment operator here.

71
00:04:52,980 --> 00:04:56,280
OK so why do you want to access these values here.

72
00:04:56,280 --> 00:05:02,550
For example accessing the starting exposition of our widget or accessing the start in y position our

73
00:05:02,550 --> 00:05:13,230
widget or starting touch x because we want to drag our widget over on the screen we need to access these

74
00:05:13,230 --> 00:05:13,710
values.

75
00:05:13,710 --> 00:05:20,070
Let me show you the emulator so here it is my vision on the screen and then I want to drag this image

76
00:05:20,070 --> 00:05:21,940
here over on the screen.

77
00:05:22,020 --> 00:05:26,830
You can see that we need to access the starting position of this widget.

78
00:05:26,990 --> 00:05:31,680
You need to access this starting touching position of this widget.

79
00:05:31,950 --> 00:05:40,220
So while this happens how we can drag this image over on the screen by using the action down.

80
00:05:40,590 --> 00:05:47,070
So when I start touching this image and when I start moving this image here over on the screen or over

81
00:05:47,100 --> 00:05:51,430
other apps I am using the action down event.

82
00:05:51,510 --> 00:06:00,070
So let's go back to android studio and here after declaring these variables here let's create a suite

83
00:06:00,070 --> 00:06:09,600
statement let's say that we have a switch statement and this switch statement is going to switch between

84
00:06:09,610 --> 00:06:17,510
the values of the event that gets action.

85
00:06:17,700 --> 00:06:24,510
So if you want to get the action of the event that is related to the touch of the user right.

86
00:06:25,110 --> 00:06:28,490
So now let's Cotts these values.

87
00:06:28,590 --> 00:06:32,900
Here we are initializing our valuables our local valuables.

88
00:06:32,900 --> 00:06:35,360
Let's cut them and paste them here.

89
00:06:35,490 --> 00:06:45,900
Let's go inside the switch statement and let's create a case motion event motion event that's action

90
00:06:45,930 --> 00:06:46,700
down.

91
00:06:46,890 --> 00:06:55,040
So let's choose this fun action down colon and let's say let's actually paste these values here initializing

92
00:06:55,110 --> 00:06:57,240
our local variables.

93
00:06:57,240 --> 00:07:04,440
Now we can say that when the action is down when this user starts actually touching the the widget in

94
00:07:04,440 --> 00:07:11,690
order to change the position of the widget over on the screen we can return true from this untouched

95
00:07:11,760 --> 00:07:16,780
method so we can see your return true.

96
00:07:16,800 --> 00:07:23,070
So the action down means that the user has started touching the widget on the screen in order to move

97
00:07:23,070 --> 00:07:23,670
it.

98
00:07:24,120 --> 00:07:29,910
So let's create a comment here let's say that these two variables here at the start exposition and is

99
00:07:29,910 --> 00:07:36,780
that why position here we want to access the start

100
00:07:39,550 --> 00:07:49,270
position of widgets and these two variables starts to touch x and start touchpoint you want to access

101
00:07:51,150 --> 00:07:57,810
the start touching position that starts touching position

102
00:08:00,770 --> 00:08:02,100
of widgets.

103
00:08:02,270 --> 00:08:11,180
So now we want to return to return true means that the user has started actually touching the widget

104
00:08:11,180 --> 00:08:12,740
in order to move it.

105
00:08:12,740 --> 00:08:16,650
Now let's create another case statement.

106
00:08:16,660 --> 00:08:28,870
Now we have case motion event that action up on the line of Colin.

107
00:08:28,890 --> 00:08:39,150
Now here this action up means that the user has lifted his or her finger from the Wii Fit on the screen

108
00:08:39,900 --> 00:08:48,580
in order to let the app know that that touching or dragging the widget on the screen is now finished.

109
00:08:49,550 --> 00:08:53,200
So the action up is going to.

110
00:08:53,330 --> 00:08:59,810
In other words this means that we want to get the touching or drying process is now finished.

111
00:08:59,840 --> 00:09:01,450
It's called Action up.

112
00:09:01,520 --> 00:09:04,060
So now let me paste two lines of code here.

113
00:09:04,490 --> 00:09:07,130
As you can see I pasted this to valuables here.

114
00:09:07,120 --> 00:09:13,080
The first one is of type integer and the name is start to end exposition.

115
00:09:13,130 --> 00:09:20,300
So the moment the user starts touching the widget and the moment the user start lifting his or her finger

116
00:09:20,660 --> 00:09:22,480
from the widget on the screen.

117
00:09:23,560 --> 00:09:30,730
It is going to be a defense for the x value start to an exposition a difference between the starting

118
00:09:30,730 --> 00:09:33,220
position and the end position.

119
00:09:33,220 --> 00:09:38,350
So if you want to access that value so if put an assignment operator and we are we want to actually

120
00:09:38,380 --> 00:09:45,270
cast this to an integer value because the event that gets X is going to get was a float value and if

121
00:09:45,270 --> 00:09:51,880
would prefer to see a good event that gets right eats is going to give us the current position or the

122
00:09:51,880 --> 00:10:02,930
kind of touch position of the widget on the screen minus so minus start to touch exposition.

123
00:10:02,950 --> 00:10:09,430
So this thought exposition is the starting position of the widget that is being touched for the first

124
00:10:09,430 --> 00:10:13,570
day for example the user wants to change the position of the widget on the screen.

125
00:10:13,570 --> 00:10:14,160
Right.

126
00:10:14,200 --> 00:10:16,870
So we want to access that value.

127
00:10:16,900 --> 00:10:20,340
The moment these are the users start touching the widget.

128
00:10:20,800 --> 00:10:26,850
And here we have the current position for example the user has changed the position of the visit.

129
00:10:26,860 --> 00:10:34,020
So now we have the current position of the widget minus this thought X touch they start to touch x.

130
00:10:34,240 --> 00:10:40,980
So that's different now we have the difference between the end and the start the exposition.

131
00:10:41,020 --> 00:10:41,510
Right.

132
00:10:41,860 --> 00:10:45,190
So now we want to assign this value to this variable but we have an error here.

133
00:10:45,190 --> 00:10:50,430
This means that variable starts touchbacks might not have been initialized.

134
00:10:50,440 --> 00:10:54,760
So let's actually give them an initial value these valuables inside these on top of it.

135
00:10:54,790 --> 00:11:02,100
Let's give them zero as the value as the initial value or the default value.

136
00:11:02,100 --> 00:11:09,090
Now here the error is gone but here let's give these variables a meaningful name for example start to

137
00:11:09,090 --> 00:11:10,470
end X..

138
00:11:10,620 --> 00:11:15,100
Difference is more meaningful starts to an X difference.

139
00:11:16,210 --> 00:11:17,410
And starts to end.

140
00:11:17,410 --> 00:11:20,040
Why the difference in set of polls.

141
00:11:20,050 --> 00:11:22,090
Let's just type in here difference.

142
00:11:22,090 --> 00:11:28,130
So now this variable holds the difference between the end and the start that value.

143
00:11:28,540 --> 00:11:35,410
So why do you want to access this value because we want to actually specify the user has clicked on

144
00:11:35,410 --> 00:11:37,220
the widget or not.

145
00:11:37,480 --> 00:11:38,120
Why.

146
00:11:38,370 --> 00:11:41,550
So let me create an if statement and then I'm going explain more.

147
00:11:41,560 --> 00:11:48,130
So here it is the if statements that I pasted here for this case motion events that action of I am saying

148
00:11:48,130 --> 00:11:53,630
that if start to and X the fence is less than 5.

149
00:11:53,890 --> 00:11:56,470
So let me show you the emulator.

150
00:11:56,470 --> 00:11:58,260
So here it is our widget.

151
00:11:58,390 --> 00:11:59,320
Right.

152
00:11:59,480 --> 00:12:07,900
And now I want to actually change the position of this widget for example on the x axis from left to

153
00:12:07,900 --> 00:12:14,870
right or from right to left the starting position is here and the end position is here.

154
00:12:15,010 --> 00:12:15,660
Right.

155
00:12:16,120 --> 00:12:21,980
So now that we have this difference the start of and X difference.

156
00:12:22,300 --> 00:12:28,750
Sometimes when the user actually clicks on this widget it may actually change it.

157
00:12:28,750 --> 00:12:33,170
For example the user may change the position of the spirit a little bit.

158
00:12:33,610 --> 00:12:40,690
So we want to get that difference in order to say that maybe the user has clicked the visit in order

159
00:12:40,690 --> 00:12:47,940
to change the collapsed state into the expanded state.

160
00:12:48,020 --> 00:12:48,610
Right.

161
00:12:48,640 --> 00:12:53,110
Sometimes touching means clicking.

162
00:12:53,690 --> 00:12:58,790
Or for example the user clicks and is a widget and this widget moves a little bit here.

163
00:12:58,900 --> 00:13:05,770
So we want to say that if this visit moves a little bit here then that is called clicking.

164
00:13:06,190 --> 00:13:08,860
So it's really good for you to learn this technique.

165
00:13:08,890 --> 00:13:12,630
It really helps you in order to create such applications in Android.

166
00:13:12,630 --> 00:13:14,230
So let's go back to android studio.

167
00:13:14,470 --> 00:13:17,020
So that's why I created this statement.

168
00:13:17,020 --> 00:13:20,480
I am saying if start to end X difference.

169
00:13:20,590 --> 00:13:28,170
So let me show the emulator so that the x axis is here right on the on the horizontal axis and we have

170
00:13:28,170 --> 00:13:30,470
this starts to end why difference.

171
00:13:30,480 --> 00:13:34,430
So here this is the y axis.

172
00:13:34,500 --> 00:13:39,320
So now we are saying that if start to an X difference is less than 5.

173
00:13:39,480 --> 00:13:42,650
And the analytical operator starts to end.

174
00:13:42,690 --> 00:13:49,800
Why friends is again less than five then it is called collisions because there it is actually changed

175
00:13:49,890 --> 00:13:54,420
a little bit here on the screen so we can consider it as a click if you want to you can manipulate the

176
00:13:54,420 --> 00:13:55,830
display value by the way.

177
00:13:55,980 --> 00:13:58,470
But 5 is actually good here.

178
00:13:59,760 --> 00:14:06,290
Inside this statement We have another statement and in a statement actually we are saying that it is

179
00:14:06,430 --> 00:14:08,220
it collapsed.

180
00:14:08,350 --> 00:14:14,290
So we're calling MFL that we have not created yet inside our class we are going to create this method

181
00:14:14,440 --> 00:14:22,020
in a moment but this is going to return true if the widget is actually in a collapsed state.

182
00:14:22,880 --> 00:14:28,390
If it is true then it's going to go inside the curly braces of this statement and it's going to say

183
00:14:28,410 --> 00:14:29,650
collapsed view.

184
00:14:29,960 --> 00:14:35,550
That said visibility view that we don't want to see the collapsed view anymore.

185
00:14:35,720 --> 00:14:42,980
So when I actually change the place of this visit a little bit here for example here.

186
00:14:43,180 --> 00:14:47,630
Now it's changed to the expanded state.

187
00:14:47,740 --> 00:14:48,880
Right.

188
00:14:48,950 --> 00:14:50,250
So that's it.

189
00:14:50,590 --> 00:14:54,970
And here we can see that the collapsed view is gone.

190
00:14:55,480 --> 00:14:57,400
And the expanded view is visible.

191
00:14:57,400 --> 00:14:59,390
So let me click on this close button again.

192
00:14:59,560 --> 00:15:01,710
So now let me just click on this visit here.

193
00:15:01,750 --> 00:15:04,980
Now you can see that the collapse is gone.

194
00:15:05,790 --> 00:15:08,940
And the expanded view is visible.

195
00:15:08,970 --> 00:15:14,610
So now let's create this Nefert inside our class is we just collapsed.

196
00:15:14,610 --> 00:15:16,270
So he'll just scroll down here.

197
00:15:16,320 --> 00:15:25,420
So before so after the end in Crilley brace of these touch my feet here and inside this class floating

198
00:15:25,600 --> 00:15:29,600
views service class I am going to just type in here.

199
00:15:29,610 --> 00:15:37,690
Private's Boullion and in Aimee's is when it collapsed I put a pair of apprentices here and I just opened

200
00:15:37,690 --> 00:15:40,020
and closed this method by using these curly braces.

201
00:15:40,030 --> 00:15:45,000
So now let's just say return collapsed.

202
00:15:45,060 --> 00:15:55,480
You got get visibility is equal to view that visible semicolon.

203
00:15:55,670 --> 00:16:02,900
If the visibility of the collapsed view is actually visible and it is on the screen then this means

204
00:16:02,900 --> 00:16:06,870
that the widget is actually collapsed right there.

205
00:16:06,890 --> 00:16:08,270
And this it is going to return true.

206
00:16:08,270 --> 00:16:11,540
Otherwise the Smurfette is going to return false.

207
00:16:12,140 --> 00:16:14,780
So here you can see that the error is gone.

208
00:16:15,920 --> 00:16:19,570
So now let's go back to our switch statement here.

209
00:16:19,970 --> 00:16:25,130
And we have this action up and this statement so after the ending really brace of this if statement

210
00:16:25,160 --> 00:16:31,330
or this outer loop statement we can return TRUE return to semicolon.

211
00:16:31,620 --> 00:16:39,340
Finally here we need to specify the final case statement.

212
00:16:39,390 --> 00:16:45,440
It is going to be Moshin event that action move.

213
00:16:45,880 --> 00:16:59,780
So let's just say if in here case motion even motion event that action move this one colon.

214
00:16:59,860 --> 00:17:06,660
So now it's time to update the position of our widget the floating widget on the screen.

215
00:17:07,090 --> 00:17:11,260
First of all you need to specify the parameters our window manager.

216
00:17:11,260 --> 00:17:16,410
So we have this W.T. pardon's that X we want to update disvalue.

217
00:17:16,480 --> 00:17:16,800
Right.

218
00:17:16,810 --> 00:17:24,460
Because it is actually action move action move means that the user is dragging the floating widget on

219
00:17:24,460 --> 00:17:25,130
the screen.

220
00:17:25,240 --> 00:17:27,580
The action movie is going to be caught.

221
00:17:27,610 --> 00:17:32,510
So here we see WRAMC that X assignment operator.

222
00:17:32,510 --> 00:17:39,960
So first we have the starting exposition of our widget.

223
00:17:40,110 --> 00:17:48,390
So if you're going to say start x posts plus So now we want to cast our value to an integer value.

224
00:17:48,480 --> 00:17:51,370
So it's a part of Prentice's integer.

225
00:17:51,830 --> 00:17:55,060
And let's put another prof practice year.

226
00:17:55,140 --> 00:17:56,880
So let's say event

227
00:17:59,930 --> 00:18:04,420
gets RA x.

228
00:18:04,460 --> 00:18:10,680
So now we have the current position of our widgets on the screen.

229
00:18:11,000 --> 00:18:13,960
Touching that dragging process is now finished.

230
00:18:13,970 --> 00:18:22,280
Now we have the current position the current touch value they get for X the CANNOT TOUCH value of the

231
00:18:22,280 --> 00:18:26,020
X of our floating better than the screen.

232
00:18:26,300 --> 00:18:34,850
And we want to get the difference if we want to say minus start touch x semicolon.

233
00:18:35,050 --> 00:18:44,110
So if you want to say start exposition the initial position of our widget on the screen plus there result

234
00:18:44,200 --> 00:18:50,410
of this operation here event that gets raw eggs the kind of touch position minus this tarting touch

235
00:18:50,410 --> 00:18:53,900
position and we are casting this value to an integer value.

236
00:18:53,920 --> 00:18:59,420
And finally this value is going to be assigned to this window manager programs that acts in this way

237
00:18:59,420 --> 00:19:03,640
we can update the position of our floating widget on the screen.

238
00:19:03,640 --> 00:19:05,720
So this is the formula here.

239
00:19:05,830 --> 00:19:09,000
You can use this formula in any apps you want.

240
00:19:09,000 --> 00:19:13,810
For example you want to change the position of a specific widget or a component on the screen.

241
00:19:13,810 --> 00:19:21,190
You can use actually this formula here and let's say that we have the perhaps that why don't we want

242
00:19:21,190 --> 00:19:22,980
to use this formula.

243
00:19:22,990 --> 00:19:24,580
So put an assignment operator.

244
00:19:24,670 --> 00:19:28,580
Now we say start with voice position plus.

245
00:19:28,780 --> 00:19:30,880
Let's test this to an integer value.

246
00:19:31,690 --> 00:19:41,890
And let's put up her Apprentice's again event that gets raw Voi minus 13 touch y semicolon.

247
00:19:41,960 --> 00:19:49,560
But we can say the window manager that up date we are calling this Meffert update view lay out.

248
00:19:49,570 --> 00:19:53,860
So this if it needs two arguments the first one is going to be the view the floating period.

249
00:19:53,950 --> 00:20:00,850
So we passed the floating widget comma and finally we need to pass the parameters so we updated the

250
00:20:00,850 --> 00:20:07,330
x and y coordinates of our window manager here write the parameters.

251
00:20:07,360 --> 00:20:09,630
So if you want to pass the w the Pops.

252
00:20:09,730 --> 00:20:16,050
And finally we are going to return true from this case return TRUE semicolon.

253
00:20:16,450 --> 00:20:20,020
So we passed these values here but we have another error.

254
00:20:20,290 --> 00:20:24,180
This it on touch move it needs to return a boolean value.

255
00:20:24,400 --> 00:20:32,200
But we created a switch statement and only one of these case statements of the switch statement is actually

256
00:20:32,230 --> 00:20:33,360
executed.

257
00:20:33,520 --> 00:20:36,360
The boolean value is going to be returned for example.

258
00:20:36,370 --> 00:20:45,050
True but as a whole inside the curly braces of the Smurfette untouched we need to return a boolean value.

259
00:20:45,190 --> 00:20:47,230
So let's say just return false.

260
00:20:47,260 --> 00:20:52,910
Let's say before the end curly brace of this unperson for let's say return for Senechal.

261
00:20:53,080 --> 00:20:56,550
So let me sum in space here.

262
00:20:57,560 --> 00:20:57,890
That's it.

263
00:20:57,900 --> 00:21:02,440
This is our untouched method and that's enough for this tutorial.

264
00:21:02,790 --> 00:21:08,940
And if you have any questions about these concepts that you've learned so far about implementing this

265
00:21:09,000 --> 00:21:13,710
untouched method please post the discussion in the course and then I'll do my best to answer all of

266
00:21:13,710 --> 00:21:15,730
your questions in the next tutorial.

267
00:21:15,750 --> 00:21:22,570
We are going to implement the and destroy method here inside our class so that we can make sure the

268
00:21:22,610 --> 00:21:28,070
widget meant that a service is actually stopped we can make sure that the memory is also emptied.

269
00:21:28,230 --> 00:21:31,790
And we do not encounter memory problems later.

270
00:21:32,020 --> 00:21:35,120
And our app is actually published.

271
00:21:35,280 --> 00:21:37,900
So thank you very much for watching.

272
00:21:38,220 --> 00:21:41,030
And I look forward to seeing you in the next tutorial.

