Magma language support for Sublime Text 3. See also the MagmaSnippets package.
This package provides syntax highlighting, comments, indentation rules and completions for the Magma language. Magma is a computer algebra system, homepage: http://magma.maths.usyd.edu.au/magma/.
Installation
Package Control (recommended)
Install the Package Control package from https://packagecontrol.io, then use the Package Control: Install Package command to install the Magma package.
Manually
In Sublime click Preferences then Browse Packages..., then navigate to the User directory. Create a new directory there called Magma and copy the contents of this repository into it.
I welcome contributions/suggestions. Please get in touch via GitHub.
License
Copyright (C) 2018 Christopher Doris
This is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this. If not, see http://www.gnu.org/licenses/.
I’ve created this package to simplify unit testing in AngularJS apps. I had enough of writing repeated code. For every spec (controller, directive, service) I had to write the same injector and compile blocks of code, for every mocked service I had to write the same lines. With this package, everything becomes easier and faster.
Features
All selectors are using native Javascript querySelector or querySelectorAll, so jQuery is not requierd.
addMethod will add an empty function to the someService at name value and also create spyOn on this created method. spyOn will return returnedValue.
returnedValue can be undefined, a value, an object or a function.
You can also construct chaining methods calls, for example:
addPromise will add an empty function to the someService at name value and also create spyOn on this created method. Same as addMethod.
But spyOn will return object with then property, which will become a function. aThis function will bind two arguments to success and error property of someService[name]. So to call success promise you will simply call someService[name].success() and for failure promise someService[name].fail. You can also call this function with arguments (someService[name].success('someString')), so when you call this someService[name].then(function(response) { console.log(response)}), response will become ‘someString’`.
You can also construct chaining methods calls, for example:
get will return property from a created service. You can use direct propery call (someService.name), this method is useful with typescript. More in typescript chapter.
createCtrl will create and return a controller with ‘name’ and services object. You don’t need to inject $scope into services method, it’s injected by default if services.$scope doesn’t exists.
addTemplate will create and return an angular element with current $scope. path is a path to the template that is stored in $templateCache. ctrlAs is an optional argument. If you are using controllerAs syntax, then ctrlAs should be the value of controllerAs property.
createDirective will create and return an angular element with with html and scope. name is a name of the directive, html is a string and scope is an object, e. g.: name = 'someDirective', html = '<some-directive attribute="someValue"></some-directive>'; scope = { someValue: 123 };.
inputOn will set value of the element found with selector, trigger a input handler and make $scope.$digest(). It returns a promise.
If you have many inputs with the same selector, then you can pass which input you want to react with by adding number as a third argument (0 is a first input). which is an optional argument.
define will define a model with attributes for creating factories (it can be also a sequence). name should be unique. It should be called before any create action. The best solution is to define models in seperate folder and inject it at the beginning of the karma.config file (but after test-helpers).
createList will create an collection of object with model named name. number defines how many objects in collections should be added. attributes are an optional argument, it overwrites default attributes defined with define method.
defineSequence will define a model with attributes for creating factories. name should be unique. It should be called before any sequence call. argOne can be iterator or function.
sequence returns a function. When you call it, then sequnce will increment. When you call clear method on it, then sequnce will be cleared to default value;
We believe in a future in which the web is a preferred environment for numerical computation. To help realize this future, we’ve built stdlib. stdlib is a standard library, with an emphasis on numerical and scientific computation, written in JavaScript (and C) for execution in browsers and in Node.js.
The library is fully decomposable, being architected in such a way that you can swap out and mix and match APIs and functionality to cater to your exact preferences and use cases.
When you use stdlib, you can be absolutely certain that you are using the most thorough, rigorous, well-written, studied, documented, tested, measured, and high-quality code out there.
To join us in bringing numerical computing to the web, get started by checking us out on GitHub, and please consider financially supporting stdlib. We greatly appreciate your continued support!
The branches.md file summarizes the available branches and displays a diagram illustrating their relationships.
To view installation and usage instructions specific to each branch build, be sure to explicitly navigate to the respective README files on each branch, as linked to above.
This package is part of stdlib, a standard library for JavaScript and Node.js, with an emphasis on numerical and scientific computing. The library provides a collection of robust, high performance libraries for mathematics, statistics, streams, utilities, and more.
For more information on the project, filing bug reports and feature requests, and guidance on how to develop stdlib, see the main project repository.
Requires Unity 2021.1.2f1 or later.
You can add https://github.com/DeNA/MustAwaitAnalyzer.git?path=com.dena.must-await-analyzer#1.0.0 to Package Manager.
// badnamespaceBadCase{publicclassTask1{TaskTask_NoAsync()=>Task.Run(()=>{});// DENA008, "Must use await" is reportedpublicTaskUseNoAsync(){Task_NoAsync();// DENA008, "Must use await" is reported}Action<object>action=(objectobj)=>{};publicasyncTaskHoge(){newTask(action,"a");// DENA008, "Must use await" is reported}}}// goodnamespaceGoodCase{publicclassTask1{asyncTaskTask_NoAsync()=>awaitTask.Run(()=>{});// DENA008, "Must use await" is not reportedpublicasyncTaskUseNoAsync(){awaitTask_NoAsync();// DENA008, "Must use await" is not reported}Action<object>action=(objectobj)=>{};publicasyncTaskHoge(){awaitnewTask(action,"a");// DENA008, "Must use await" is not reported}}}
NOTE2: If the last method in a method chain is named Terminate or Forget, the analysis does not take place.
staticasyncUniTaskHogeAsync(){awaitTask.Run(()=>{});}staticvoidTerminateCase(){HogeAsync();// DENA008 is reported due to missing awaitHogeAsync().GetAwaiter();// DENA008 is reported due to missing awaitHogeAsync().GetAwaiter().Terminate();// Nothing is reportedHogeAsync().GetAwaiter().Forget();// Nothing is reported}
NOTE3: If a method call directly references a property that is an analysis target, the property reference is analyzed instead of the method call.
// badpublicasyncstaticTask<Task>BadPropertyCase(){varp=newProgram();p.Example();// DENA008 is reportedreturnp.Example().Result;// Result returns Task, hence DENA008 is reported}publicasyncTask<Task>Example(){returnawaitnewTask<Task>(null);}// goodpublicasyncstaticTask<int>GoodPropertyCase(){varp=newProgram();p.Example();// DENA008 is reportedreturnp.Example().Result;// Result returns int, hence DENA008 is not reported}publicasyncTask<int>Example(){returnawaitnewTask<int>(null);}
NOTE4: The following method calls, property references, and field references are excluded from analysis:
System.Threading.Tasks.Task.CompletedTask
System.Threading.Tasks.Task.FromResult
Cysharp.Threading.Tasks.UniTask.CompletedTask
Cysharp.Threading.Tasks.UniTask.FromResult
NOTE5: If Task or UniTask objects are assigned to a variable and then awaited, no warning is issued. Additionally, if Task or UniTask objects are stored in a list (a class that implements System.Collections.Generic.IList) and awaited collectively, no warning is issued either.
// goodpublicasyncTaskM1(){vartask=Task.Run(()=>{});// DENA008 is not reportedawaittask;}
// goodpublicasyncTaskM1(){varlist=newList<Task>();list.Add(Task.Run(()=>{}));// DENA008 is not reportedlist.Add(Task.Run(()=>{}));// DENA008 is not reportedawaitTask.WhenAll(list);}
Analysis Locations
If the target of analysis exists within the following syntax and lacks an await, DENA008 will be reported.
Within a Block
// badnamespaceBadCase{publicclassTask1{TaskTask_NoAsync()=>Task.Run(()=>{});// DENA008, "Must use await" is reportedpublicTaskUseNoAsync(){Task_NoAsync();// DENA008, "Must use await" is reported}}}// goodnamespaceGoodCase{publicclassTask1{asyncTaskTask_NoAsync()=>awaitTask.Run(()=>{});publicasyncTaskUseNoAsync(){awaitTask_NoAsync();}}}
Within a Statement
Examples for various statement types are shown below.
using Statement
// badnamespaceBadCase{publicclassTask1{publicasyncvoidM1(){using(M2())// DENA008, "Must use await" is reported{}}publicasyncTask<IDisposable>M2(){returnawait(Task<IDisposable>)Task.Run(()=>{});}}}// goodnamespaceGoodCase{publicclassTask1{publicasyncvoidM1(){using(awaitM2())// DENA008 is not reported{}}publicasyncTask<IDisposable>M2(){returnawait(Task<IDisposable>)Task.Run(()=>{});}}}
do-while Statement
// badpublicclassBadCase{publicasyncvoidM(){do{Task.Run(()=>{});// DENA008, "Must use await" is reported.}while(true);{}}}// goodpublicclassGoodCase{publicasyncvoidM(){do{awaitTask.Run(()=>{});// DENA008 is not reported.}while(true);{}}}
if Statement
// bad casenamespaceFailedCase{publicclassC{publicasyncvoidM(){if(M2())// DENA008 is reported{}}publicasyncTask<bool>M2(){returnawait(Task<bool>)Task.Run(()=>{});}}}// good casenamespaceSuccessCase{publicclassC{publicasyncvoidM(){if(awaitM2()){}}publicasyncTask<bool>M2(){returnawait(Task<bool>)Task.Run(()=>{});}}}
yield Statement
// badnamespaceBadCase{publicclassYieldReturn{publicasyncIAsyncEnumerable<int>M1(){for(inti=0;i<10;i++){yieldreturn(Task<int>)Task.Run(()=>0);// DENA008 and CS0029 are reported}}}}// goodnamespaceGoodCase{publicclassYieldReturn{publicasyncIAsyncEnumerable<int>M1(){for(inti=0;i<10;i++){yieldreturnawait(Task<int>)Task.Run(()=>0);}}}}
Lambda
// badnamespaceFailedCase{publicclassTask1{Func<Task<int>>Example()=>(()=>Task.Run(()=>0));// DENA008, "Must use await" is reportedpublicvoidUseAsync(){Example();// DENA008 is not reported since the return type is Func<Task<int>>, not Task<int>.}}}// goodnamespaceSuccessCase{publicclassTask1{Func<Task<int>>Example()=>(async()=>awaitTask.Run(()=>0));publicvoidUseAsync(){Example();// DENA008 is not reported since the return type is Func<Task<int>>, not Task<int>.}}}
Asynchronous Processing within Partial Methods
namespaceBadCase{interfaceIStudent{TaskGetName();}partialclassPartialMethod:IStudent{publicvirtualpartialTaskGetName();}publicpartialclassPartialMethod{publicvirtualpartialasyncTaskGetName(){Task.Run(()=>{});// DENA008 is reported.}}}namespaceGoodCase{interfaceIStudent{TaskGetName();}partialclassPartialMethod:IStudent{publicvirtualpartialTaskGetName();}publicpartialclassPartialMethod{publicvirtualpartialasyncTaskGetName(){awaitTask.Run(()=>{});// DENA008, "Must use await" is not reported}}}
Target-typed Inference
// badcasenamespaceBadCase{publicclassTargetTypedNewExpression{Func<object,int>func=null;publicasyncTask<int>Hoge(){returnawaitnewTask<int>(func,"a");}publicasyncvoidM(){Dictionary<string,int>field=new(){{"item1",Hoge()}// DENA008 is reported};}}}// GoodCasenamespaceGoodCase{publicclassTargetTypedNewExpression{Func<object,int>func=null;publicasyncTask<int>Hoge(){returnawaitnewTask<int>(func,"a");}publicasyncvoidM(){Dictionary<string,int>field=new(){{"item1",awaitHoge()}// DENA008, "Must use await" is not reported};}}}
Requires Unity 2021.1.2f1 or later.
You can add https://github.com/DeNA/MustAwaitAnalyzer.git?path=com.dena.must-await-analyzer#1.0.0 to Package Manager.
// badnamespaceBadCase{publicclassTask1{TaskTask_NoAsync()=>Task.Run(()=>{});// DENA008, "Must use await" is reportedpublicTaskUseNoAsync(){Task_NoAsync();// DENA008, "Must use await" is reported}Action<object>action=(objectobj)=>{};publicasyncTaskHoge(){newTask(action,"a");// DENA008, "Must use await" is reported}}}// goodnamespaceGoodCase{publicclassTask1{asyncTaskTask_NoAsync()=>awaitTask.Run(()=>{});// DENA008, "Must use await" is not reportedpublicasyncTaskUseNoAsync(){awaitTask_NoAsync();// DENA008, "Must use await" is not reported}Action<object>action=(objectobj)=>{};publicasyncTaskHoge(){awaitnewTask(action,"a");// DENA008, "Must use await" is not reported}}}
NOTE2: If the last method in a method chain is named Terminate or Forget, the analysis does not take place.
staticasyncUniTaskHogeAsync(){awaitTask.Run(()=>{});}staticvoidTerminateCase(){HogeAsync();// DENA008 is reported due to missing awaitHogeAsync().GetAwaiter();// DENA008 is reported due to missing awaitHogeAsync().GetAwaiter().Terminate();// Nothing is reportedHogeAsync().GetAwaiter().Forget();// Nothing is reported}
NOTE3: If a method call directly references a property that is an analysis target, the property reference is analyzed instead of the method call.
// badpublicasyncstaticTask<Task>BadPropertyCase(){varp=newProgram();p.Example();// DENA008 is reportedreturnp.Example().Result;// Result returns Task, hence DENA008 is reported}publicasyncTask<Task>Example(){returnawaitnewTask<Task>(null);}// goodpublicasyncstaticTask<int>GoodPropertyCase(){varp=newProgram();p.Example();// DENA008 is reportedreturnp.Example().Result;// Result returns int, hence DENA008 is not reported}publicasyncTask<int>Example(){returnawaitnewTask<int>(null);}
NOTE4: The following method calls, property references, and field references are excluded from analysis:
System.Threading.Tasks.Task.CompletedTask
System.Threading.Tasks.Task.FromResult
Cysharp.Threading.Tasks.UniTask.CompletedTask
Cysharp.Threading.Tasks.UniTask.FromResult
NOTE5: If Task or UniTask objects are assigned to a variable and then awaited, no warning is issued. Additionally, if Task or UniTask objects are stored in a list (a class that implements System.Collections.Generic.IList) and awaited collectively, no warning is issued either.
// goodpublicasyncTaskM1(){vartask=Task.Run(()=>{});// DENA008 is not reportedawaittask;}
// goodpublicasyncTaskM1(){varlist=newList<Task>();list.Add(Task.Run(()=>{}));// DENA008 is not reportedlist.Add(Task.Run(()=>{}));// DENA008 is not reportedawaitTask.WhenAll(list);}
Analysis Locations
If the target of analysis exists within the following syntax and lacks an await, DENA008 will be reported.
Within a Block
// badnamespaceBadCase{publicclassTask1{TaskTask_NoAsync()=>Task.Run(()=>{});// DENA008, "Must use await" is reportedpublicTaskUseNoAsync(){Task_NoAsync();// DENA008, "Must use await" is reported}}}// goodnamespaceGoodCase{publicclassTask1{asyncTaskTask_NoAsync()=>awaitTask.Run(()=>{});publicasyncTaskUseNoAsync(){awaitTask_NoAsync();}}}
Within a Statement
Examples for various statement types are shown below.
using Statement
// badnamespaceBadCase{publicclassTask1{publicasyncvoidM1(){using(M2())// DENA008, "Must use await" is reported{}}publicasyncTask<IDisposable>M2(){returnawait(Task<IDisposable>)Task.Run(()=>{});}}}// goodnamespaceGoodCase{publicclassTask1{publicasyncvoidM1(){using(awaitM2())// DENA008 is not reported{}}publicasyncTask<IDisposable>M2(){returnawait(Task<IDisposable>)Task.Run(()=>{});}}}
do-while Statement
// badpublicclassBadCase{publicasyncvoidM(){do{Task.Run(()=>{});// DENA008, "Must use await" is reported.}while(true);{}}}// goodpublicclassGoodCase{publicasyncvoidM(){do{awaitTask.Run(()=>{});// DENA008 is not reported.}while(true);{}}}
if Statement
// bad casenamespaceFailedCase{publicclassC{publicasyncvoidM(){if(M2())// DENA008 is reported{}}publicasyncTask<bool>M2(){returnawait(Task<bool>)Task.Run(()=>{});}}}// good casenamespaceSuccessCase{publicclassC{publicasyncvoidM(){if(awaitM2()){}}publicasyncTask<bool>M2(){returnawait(Task<bool>)Task.Run(()=>{});}}}
yield Statement
// badnamespaceBadCase{publicclassYieldReturn{publicasyncIAsyncEnumerable<int>M1(){for(inti=0;i<10;i++){yieldreturn(Task<int>)Task.Run(()=>0);// DENA008 and CS0029 are reported}}}}// goodnamespaceGoodCase{publicclassYieldReturn{publicasyncIAsyncEnumerable<int>M1(){for(inti=0;i<10;i++){yieldreturnawait(Task<int>)Task.Run(()=>0);}}}}
Lambda
// badnamespaceFailedCase{publicclassTask1{Func<Task<int>>Example()=>(()=>Task.Run(()=>0));// DENA008, "Must use await" is reportedpublicvoidUseAsync(){Example();// DENA008 is not reported since the return type is Func<Task<int>>, not Task<int>.}}}// goodnamespaceSuccessCase{publicclassTask1{Func<Task<int>>Example()=>(async()=>awaitTask.Run(()=>0));publicvoidUseAsync(){Example();// DENA008 is not reported since the return type is Func<Task<int>>, not Task<int>.}}}
Asynchronous Processing within Partial Methods
namespaceBadCase{interfaceIStudent{TaskGetName();}partialclassPartialMethod:IStudent{publicvirtualpartialTaskGetName();}publicpartialclassPartialMethod{publicvirtualpartialasyncTaskGetName(){Task.Run(()=>{});// DENA008 is reported.}}}namespaceGoodCase{interfaceIStudent{TaskGetName();}partialclassPartialMethod:IStudent{publicvirtualpartialTaskGetName();}publicpartialclassPartialMethod{publicvirtualpartialasyncTaskGetName(){awaitTask.Run(()=>{});// DENA008, "Must use await" is not reported}}}
Target-typed Inference
// badcasenamespaceBadCase{publicclassTargetTypedNewExpression{Func<object,int>func=null;publicasyncTask<int>Hoge(){returnawaitnewTask<int>(func,"a");}publicasyncvoidM(){Dictionary<string,int>field=new(){{"item1",Hoge()}// DENA008 is reported};}}}// GoodCasenamespaceGoodCase{publicclassTargetTypedNewExpression{Func<object,int>func=null;publicasyncTask<int>Hoge(){returnawaitnewTask<int>(func,"a");}publicasyncvoidM(){Dictionary<string,int>field=new(){{"item1",awaitHoge()}// DENA008, "Must use await" is not reported};}}}
TITLE:Characterizing the Myoarchitecture of the Supraspinatus and Infraspinatus Muscles With MRI Using Diffusion Tensor Imaging
ABSTRACT:
Background: The societal cost of shoulder disabilities in our aging society keeps rising. Providing biomarkers of early changes in the microstructure of rotator cuff (RC) muscles might improve surgical planning. Elevation angle (E1A) and pennation angle (PA) assessed by ultrasound change with RC tears. Furthermore, ultrasounds lack repeatability.
Purpose: To propose a repeatable framework to quantify the myocyte angulation in RC muscles.
Study type: Prospective.
Subjects: Six asymptomatic healthy volunteers (1 female aged 30 years; 5 males, mean age 35 years, range 25-49 years), who underwent three repositioned scanning sessions (10 minutes apart) of the right infraspinatus muscle (ISPM) and supraspinatus muscle (SSPM).
Field strength/sequence: 3-T, T1-weighted and diffusion tensor imaging (DTI; 12 gradient encoding directions, b-values of 500 and 800 s/mm2 ).
Assessment: Each voxel was binned in percentage of depth defined by the shortest distance in the antero-posterior direction (manual delineation), i.e. the radial axis. A second order polynomial fit for PA across the muscle depth was used, while E1A described a sigmoid across depth:E1Asig=E
1Arange × sigmf(1:100% depth,(−EA1grad,E1Aasym))+E1Ashift.
Statistical tests: Repeatability was assessed with the nonparametric Wilcoxon’s rank-sum test for paired comparisons across repeated scans in each volunteer for each anatomical muscle region and across repeated measures of the radial axis. A P-value Ë‚0.05 was considered statistically significant.
Results: In the ISPM, E1A was constantly negative, became helicoidal, then mainly positive across the antero-posterior depth, respective at the caudal, central and cranial regions. In the SSPM, posterior myocytes ran more parallel to the intramuscular tendon (PA≈0°), while anterior myocytes inserted with a pennation angle (PA≈−20°). E1A and PA were repeatable in each volunteer (error ˂ 10%). Intra-repeatability of the radial axis was achieved (error ˂ 5%).
Data conclusion: ElA and PA in the proposed framework of the ISPM and SSPM are repeatable with DTI. Variations of myocyte angulation in the ISPM and SSPM can be quantified across volunteers.
R cleaning scripts used for network data from Northwestern University’s RADAR Project. The primary purpose of this repository is to provide version control for a body of scripts that have previously been managed with filename changes. However, some additional information and context is provided for both potential users of the scripts and individuals curious about the scripts used for this data.
Prerequisites
R
Neo4j (select scripts)
Getting started
Clone this repository to your machine by running git clone <repo-url>.
If you are involved in the RADAR Project, please request access to the network data, which will give you access to configure_networkscripts.txt, REDCapIDs.txt, and corrections.json.
If you want to run all three of the core cleaning scripts, run Process_NetworkFiles.R.
If you want to run an individual processing script, you can find them in the Process/ directory.
If you want to run any number of the miscellaneous scripts (data pulls, reports, etc.), you can do this by running Misc_NetworkScripts.R.
If you want to run an individual ‘miscellaneous’ script, you can find them in the Misc/ directory.
This file is the code for a bookmarklet pulls survey dates and participant IDs from REDCap (Research Electronic Data Capture). If you have access to RADAR Survey data in REDCap, you can use this script by taking the following steps.
Create a new bookmark in your browser.
Set the title of the bookmark to ‘REDCap ID Pull’ or something else that you will understand.
Copy the text in REDCapIDPull.js.
Paste the contents of REDCapIDPull.js into the URL field of the new bookmark.
Click this bookmark when you are on the RADAR Survey/Demographics page.
Open your browser’s developer tools. In Chrome, you can do this by right-clicking the page and selecting Inspect Element or by hitting ‘Control-Shift-C’ or ‘Command-Shift-C’.
If you are not already there, navigate to the ‘Console’ tab of the developer tools.
Refer to your copy of REDCapIds.txt and identify the latest included ID.
Copy from your console output beginning at the first new ID.
Paste into REDCapIds.txt.
Note: If you want to run the script without making a bookmark, you can paste the contents of REDCapIDPull.js into your browser’s console and run it from there. The majority of the instructions above still apply.
License
This project is licensed under the MIT License – see the LICENSE file for details
My Day is an Digital Diary Application that is built on Android Framework. It helps users to
-Make daily entries and delete any past entry
-Update a past Entry
-Adding rich media content like Images and Videos
-Support for adding metadata like GeoTag and Weather Information
-Search for any Entry by date
-Set Favourites Entry
-Adding Screen Widget
-Enable Google Drive AutoBackup for Database and Preferences (requires Sign In using Google+ Account)
Developer Features
-Firebase Authentication
-Crash Reporting
-Test Labs
-Analytics
-Push Notifications
OS Requirements
My Day for Android is supported on all devices running Android Marshmallow (API Level 23) and above.
It can be installed, but is untested on Android Lollipop and Kitkat.
All Android Versions below Kitkat are unsupported.
Installation
My Day has two build types: Deug and Release.
For testing and demonstration uses, please use the Debug Verison which is currently on build version 1. Beta Testing
For production runs, please use the Release Version which is currently on build version 1. on Stable Channels
3.1 To install Debug version, follow the given steps
a. Sign up on openWeatherMap.org and obtain an API Key using the website the website https://home.openweathermap.org/users/sign_up
b. Goto and install Android Studio along with SDK tools for API Level 25. At the time of this writing, Android Studio is Version 2.3.3
Use the following link to download Android Studio https://developer.android.com/studio/index.html
c. In Android Studio, goto File >New >Import from Version Control >Github and checkout the following repository
https://github.com/anujc4/My_Day_Capstone.git
d. Download the project and complete the Gradle Synchronization.
e. Change the View from Android to Project from the left side Pane.
f. In the Project View, navigate to app/src/main/java/com/simplicity/anuj/myday/Utility class and put the API Key in the variable API_KEY.
g. Enable Debugging options in your Mobile from Developer Tools in Settings. If you choose to run the project on an emulator, skip this step.
h. Run the project by using Command Shift+F10 or the Play button in top bar.
i. After the Gradle Build completes, the App will start running on your device.
3.2 To install the Release verison, simply goto the given URL from your Android Device in which you want to install My Day
https://goo.gl/w6zSXp
Advanced Configuration
MyDay has advanced cloud integration with features for Crash Reporting, Analytics, Cloud Authentication and Test Labs. These features are intended solely for the Developer and are not available for public use.