 Yes, this is this is loose from the SDK team. Can you see my presentation? Yes. Yeah, perfect. All right. So I'm going to talk about SDK instantiation. I'm going to talk a little bit about the I'm going to give some theory but then we are going to start with the with the first exercise. So this will be mainly a practical practical session. And so the first thing that I want to talk about is the D2 class. This is the entry point to access the SDK. And it is required to perform any operation involved with the DHS server or the local database that we have in the device. To be able to use it, we have to deal with the class D2 manager. In the D2 manager, we will configure an instance and instance SD2. And this will also ensure that D2 is a single single tone across the application. So the first thing that we have to do is to configure it. For that, we have in the SDK one class, which is called D2 configuration. And there we can configure some parameters that we will be using in the in the application using the SDK. And as you can see, this is already an extraction of Java code. We are using auto value for our classes, but I don't think this is very relevant. The important thing is that we are using a builder construction here to be able to add all the parameters to the configuration. So the first thing that we have to do is to call the builder and then we can start passing all the parameters that we want to configure before instantiation the SDK. The first one and the only mandatory one that we use is the context, which is an Android class that will grant us access to the device resources, like the file system be able to create the database etc. We can also give a navname and a navversion, and this is used for the sent to the test server for analytics. Like we said, it's already, sorry, it's optional. We have some other more, more optional parameters like timeouts and some of the things that we will not be covering, but we can refer to the documentations to to get the whole list of configuration parameters. We don't go too much into detail, but we for methods that take quite a long time in the SDK we always provide two different versions of the methods one is the blocking way. And the other one is the reactive way using the library reactive Java. You will always see that in some parts we have methods calling like I call like instantiated to, and then you will see that in the same class we have something which has the, which has the same name except the same parameters, but has the blocking word before. It's up to you to decide which ones you use in your applications. In general, I would say that the ones using the reactive way and are more conscious about that this code should be using another thread and will help us in the development of the application. So you will have to always take into considerations that you cannot access for example the the network using the main thread. And so if you are using the blocking. If you're using the blocking construction, you will have to make sure that you run this code in a, in a secondary thread. Okay, so before we start with the exercises I'm going to talk a little bit about how we are going to do this. So the strategy that we're going to follow is that we will have a main facilitator for exercise exercise. In this case, I will be the main facilitator of the first one. So the main facilitator will explain the exercise, and then we do will be moved to a breakout room with a smaller number of students and at least one facilitator that will help you to solve the this exercise. And how are we going to, to solve these exercises. The first thing we have to do is to update your repository. I'm going to animate the whole things that we the list of things that we have to do and then I will go in detail for each point. But the first thing we have to do is to update the git repository to make sure that we have the latest version downloaded from GitHub. We will have to create a new branch, starting from the exercise branch she was you will see that there is this in the repository there is a there's a branch for each exercise. Then in Android Studio, you will have below there is a to do tap, and we everything that you have to do it's smart with it to do so you will, it will be the way for us to guide you to the to the points where you have to add some code. If you finished, you can make a comment and save it. And this comment will be just for you so this won't be evaluated in any way from from us. If you are not, if you don't manage to finish the exercises you can still come to the Q&A session for extra support. So I will show you how to do one of this thing each of these things using Git and Android Studio. And then I will explain the exercise. And if you don't manage, you will also get some support in your break room for the from from your facilitators. So the first thing we have to do is to update the git repository. Next, we have to go to the top menu in Android Studio, click on version content system, PCS, and then find the option update project. Then there are two different ones, merge or rebase, we can leave merge, which is the default, and click on OK, and then all the new data will be pulled from from GitHub. The second thing we have to do is to create a new branch for that on the bottom right in Android Studio, you will see the branch where you are probably your master branch or in the US US cases branch. If you click on there, there will be a menu that pops up from the from the right bottom showing the whole list of branches. Then you can see that if you have, you can first see your local branches, then you can see your remote branches, which are the branches that you haven't that they are on GitHub, but you still haven't used them offline. So you will see that there's a long list of branches with the prefix origin Academy, and you want you have to find the ones that have the prefix to 2021 three online, which is the academy that we have right now. And then you will see the different exercises. Once you find your exercise, you have to click on this branch, you click on new brand from selected, and then you have to give a name. This name is just for you so you can give for example, exercise one. Don't worry if you don't get all this directly, we will, we will you will get support in the breakup room. So the first thing we have to do once we are in the branch of the exercise is to go to this to do top on the bottom left. And there, you will find a list of to do this. Normally, per exercise there's only one or maximum two to do this. You will see that they're maybe if you just if you're just in the project. The two packages, the second package that has 36 items is from the SDK internal from the SDK so you don't have to to get about it you just care about the first block, which has the Android skeleton up on it. And finally, once you're once you're done, you can make a comment to save your changes. So make sure you have it for for for the future, and you can have a clean state for for the next exercise. So for that, you can click on the menu on the top on VCS, click on comments. And then you will see the files that you have changed. You can give a comment message and then save it that you're done. All right, so enough explanations. We can start coding.