From version 9.1
edited by Divyansh Jain
on 2019/05/25 05:59
To version 10.1
edited by Divyansh Jain
on 2019/05/25 08:37
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,10 +1,5 @@
1 1   XWiki aims to get all the contacts of your organization's intranet automatically and sync across on your phone. As of now, XWiki already has an Android application with basic features like:
2 2  
3 -
4 -
5 -
6 -
7 -
8 8  * Single XWiki account,
9 9  * Displaying the contacts and,
10 10  * Syncing the selected group contacts and syncing them across the device, in a regular interval.
... ... @@ -13,34 +13,17 @@
13 13  Below is how XWiki works as of now,
14 14  )))
15 15  
11 +[[image:Screenshot 2019-05-25 at 9.01.22 AM.png]]
16 16  
17 17  
18 -[[image:Screenshot 2019-05-25 at 9.01.22 AM.png]]
14 +**~ The limitation with the current implementation and my approach to making it better**:
19 19  
20 -
21 -
22 -
23 -
24 -
25 -
26 -
27 -
28 -
29 -
30 -
31 -**The limitation with the current implementation and my approach to making it better**:
32 -
33 -
34 -
35 -
36 -
37 -
38 38  * **No support for multiple accounts**: XWiki does show-up in the add account page in the device settings but upon clicking toast is appeared stating “The user already exists”
39 39  
40 - [[image:Screenshot_2019-05-25-06-51-34-668_com.android.settings.png]]
18 + [[image:Screenshot_2019-05-25-06-51-34-668_com.android.settings.png]]
41 41  
42 42  
43 - **My approach:**
21 + **My approach:**
44 44  
45 45   o Adding account: (final Account account = new Account(accountName, Constants.ACCOUNT_TYPE))
46 46  
... ... @@ -52,23 +52,23 @@
52 52  
53 53   o AuthorizationServiceConfiguration here we’ll specify the URI to get the XWiki managed configuration hence creating the service configuration.
54 54  
55 - o Then to obtains the authorization code we’ll be creating a request using AuthorizationRequest.Builder passing the above config, clientId, Response type and the redirect URI.
33 + o Then to obtains the authorization code we’ll be creating a request using AuthorizationRequest.Builder passing the above config, clientId, Response type, and the redirect URI.
56 56  
57 57   o And finally opening the request in the browser using AuthorizationService which will perform the authorization.
58 58  
59 - o At this point we’ll be listening the AuthorizationResponse. If the authorization is completed (authService.performTokenRequest). If the token response here is received successfully received, then authorization is completed.
37 + o At this point, we’ll be listening to the AuthorizationResponse. If the authorization is completed (authService.performTokenRequest). If the token response here is received successfully received, then authorization is completed.
60 60  
61 61  
62 62  
63 - An example how Google perform this action when third party request sign-in. In our app, it will be similar where user do not have to enter the credentials has the advantage to directly sign-in using this approach.
41 + An example of how Google perform this action when third party request sign-in. In our app, it will be similar where user does not have to enter the credentials has the advantage to directly sign-in using this approach.
64 64  
65 - [[image:Screenshot_2019-05-25-07-27-08-546_com.google.android.gms.png]]
43 + [[image:Screenshot_2019-05-25-07-27-08-546_com.google.android.gms.png]]
66 66  
67 67  
68 68  
69 69  
70 70  
71 - [[image:Screenshot_2019-05-25-07-27-17-293_com.google.android.gms.png]]
49 + [[image:Screenshot_2019-05-25-07-27-17-293_com.google.android.gms.png]]
72 72  
73 73  
74 74  
... ... @@ -83,7 +83,7 @@
83 83  
84 84  * **Adding architectural pattern is used**: An architecture pattern allows us to define a guide for the ‘architecture’ of a software system, making it scalable, maintainable and testable. Differing from design patterns, these have a major abstraction level. I plan to use MVVM which has the following benefits:
85 85  
86 - o Includes three key parts: Model, View (user interface), ViewModel (as agent between view and model).
64 + o Includes three key parts: Model, View (user interface), ViewModel (as an agent between view and model).
87 87  
88 88   o Provides clearer separation of the UI and application logic.
89 89  
... ... @@ -92,17 +92,20 @@
92 92  
93 93  
94 94  
95 -* **Migrating code into kotlin as prescribed by Google guideline**: Kotlin is now official language for android. As all the apps are migrating their existing code into kotlin, I plan to do the same. It has many advantages over Java.
73 +* **Migrating code into kotlin as prescribed by Google guideline**: Kotlin is now official language for Android. As all the apps are migrating their existing code into kotlin, I plan to do the same. It has many advantages over Java.
96 96  
97 97  * **Add more unit test cases in the app**: Right now the app has basic Unit test cases written, before writing any new code I would want to create a TDD environment.
98 98  
99 -* **Edit contact improvement:**Editing contacts is one of the basic functionality of any management system. Right now some part of edit contact functionality already exists in the code but that is not integrated in the app and not accessible to users. I will build other edit contact features on top of existing code.
77 +* **Edit contact improvement:** Editing contacts is one of the basic functionality of any management system. Right now some part of edit contact functionality already exists in the code but that is not integrated in the app and not accessible to users. I will build other edit contact features on top of existing code.
100 100  
101 - [[image:Screenshot 2019-05-25 at 8.56.14 AM.png]]
79 + [[image:Screenshot 2019-05-25 at 8.56.14 AM.png]]
102 102  
103 103  
104 104  
105 -
83 +* **Improving overall app design by following Google Material design.** I'll be strictly following the Google material design throughout the app and improving the overall design.
106 106  
85 +(((
107 107  
108 -* **Finally Provide a library for easy implementation of dedicated XWiki authenticator**: Initially I thought to create a JAR file so any JAVA based project can use but it does not allow to include android resources or manifest files. Once JAR is created the existing android XWiki app will use the new library as dependency. Since the core logic will be moved to a library testing will be much easier and required. Later on same library can be hosted using jitpack or jCenter so that other developers would just need to add a grade dependency.
87 +)))
88 +
89 +* **Finally Provide a library for easy implementation of dedicated XWiki authenticator**: Initially, I thought to create a JAR file so any JAVA based project can use but it does not allow to include android resources or manifest files. Once JAR is created the existing android XWiki app will use the new library as a dependency. Since the core logic will be moved to a library testing will be much easier and required. Later on the same library can be hosted using jitpack or jCenter so that other developers would just need to add a grade dependency.
ProposalCode.ProposalClass[0]
Other URLs
... ... @@ -1,0 +1,2 @@
1 +https://material.io/design/
2 +https://www.youtube.com/watch?v=DdQTXrk6YTk&feature=youtu.be
Issues

Get Connected