Carson Schaefer - xcarsons/TEST4TIME GitHub Wiki

118 hours total

1/13

  • .5 hours spent researching Test 4 Time.

1/15

  • 1 hour meeting with Tim. Tim gave a little history on Test 4 Time and brought up what he was looking for us to do. We bounced ideas back and forth on different ways to implement the direction he wants to go. After the meeting I looked into what was possible for us to do in building an iOS app for a half hour. We will meet with Tim next Friday and give him some more technical details on what we are capable of doing.

1/20

  • .5 hours meeting with Professor Engelsma discussing capstone project. Discovered another direction to meet our clients need.
  • .5 hours Minutes spent creating a branch off of the Master repository. I committed and pushed the Prospectus to my branch. I then merged the main branch with mine.

1/21

  • 1 hour meeting with the group (Caleb & Zach). Gave them a demo of how to use XCode and swift.

1/22

  • 1 hour meeting with Tim. We discussed our options for building the mobile application. We concluded that we would develop the applications for the Android OS instead of iOS. For iOS we would need special permissions to execute what we want the app to do on the device. We will not meet with Tim for 2 weeks.

1/25

  • 1.5 hour meeting with group. Set up Android SDK with IDE. Pushed the HelloWorld activity for our Test4Time project to branch and then merged it with the master.

1/29

  • 2 hour meeting with group. Created the Design Critique powerpoint. Set up some android files. Planned for what we would like to finish by our meeting next Friday with Tim (client).

2/3

  • 1.5 hour creating a basic UI for prompting the user with questions and taking answers as input.

2/4

  • 4 hours spent with group working on the android app. Continued creating the questions UI. Worked on the questions activity to handle delivering questions to the UI as well as checking whether the response answer is correct or not. Started looking into SQlite and created an SQlite helper class for storing data to the device. Looked into other places to backup this local database to pitch to client. Started building the login/sign-up page.

2/5

  • 1.5 hours Met with client to discuss construction of the types of questions for the grade level. Also discussed control flow of the application and some milestones.

2/8

  • 2 hour meeting with group working on the design document.
  • 2 hours working with application to generate and filter the applications installed on the device. Looked into what permission are needed to be able to detect applications on device and kill them.

2/10

  • 2 hours looked at information on applications stored on the device. Goal is to try to weed out which apps need to be blocked on the device. Tons off applications installed on device and some need to run.

2/12

  • 2.5 hours with group discussing direction of project. Created login and register layouts.

2/13

  • 4 hours researching android scenes and transitions between views. Continued to work on the register and view layouts. Looked into the SQlite database. Started writing SQlite statements

2/14 -2 hours Looking at different toolbar options.

2/19

  • 2 hour meeting with Tim discussing progress, remote databases for storing information, and testing the app.
  • 2 hours Playing with SQlite database, trying different things to get the database functioning.

2/20

  • 2 hours working with the sqlite database. Database gets created and table is created for users. Users can be created, read, and updated.

2/21

  • 1 hour working with the setting layout.

2/23

  • 1 hour speaking with Apple about the ability to implement our application on iOS.

2/24

  • .5 hour speaking with client (Tim).

2/26

  • 2 hours attempting to delete data from table. (Still won't delete..)

2/27

  • 2 hours filtering list

2/28

  • 4 hours working on Milestone 1 report/pres

2/29

  • 2 hours changing the login and create user page into separate activities. Pass data from activity to activity to create account

3/12

  • 3 hours creating a list of all apps installed on the device. Customizing the list to have checkable features. Explored where to find metadata corresponding to the installed app.

3/17

  • 2 hours designing layout for settings page and exploring db schema for which apps to block,.

3/18

  • 2 hour meeting with Tim and the group. Discussed layout changes and other complications.

3/20

  • 2 hours finalizing layout for list of apps

3/23

  • 2 hours exploring IntentService for running a background service

3/27

  • 2 hours writing api for blocked apps table

3/28

  • 1 hour adapting checkboxes to blocked apps, trying to improve scrolling on the listview
  • 1 hour trying to fix multiple check boxes on single check

3/31

  • 3 hours meeting with group organizing tasks moving forward. Made sure a concise single project was made, merges were fine. Discussed issues

4/1

  • 2 hours meeting with Client. Discussed current status of the app and talked about the UI. Took feedback from client, discussed how the application functions
  • 2 hours reading about recyclerviews and switching from a listview (more efficient)

4/2

  • 3 hours creating things necessary for a recyclerview. many issues setting up paths to libraries that are needed. (would not run)
  • 2 hours changing project from the original android application to an android gradle module. This was necessary in order to use the recycler view. (many issues when moving the files to this "new" project)
  • 3 hours making sure the recycler view was populating correctly. Ran into checkbox error again but was able to fix it. Able to store which applications are checked in the BLOCKAPPS table upon save button click (created in action bar) new classes were created and the database api was expanded.
  • 1 hour saving applications that are blocked to device and then re populating the recyclerview (list) with already stored and selected apps
  • 2 hours creating intentservice (service running in the background) testing to kill apps and get the current process running in the foreground

4/3

  • 3 hours working with intentservice, found that kernel stops kill app function on specific pid's. Now rerouting to the test4time app. figuring out how to have service restart itself when the main test4time activity has been killed.

  • 3 hours working with group, merging their files into the new Android Gradle project. Updated checking of list to check and uncheck all applications. Needed to implement deprecated methods for part of intentservice to function on older android devices. Service stays running when Test4Time application is killed.

4/4

  • 3 hours testing to make sure background service is constantly running. Creating redirection to test4time application.

4/5

  • 5 hours met with group to work on design document. Also planned what we would have done by Friday to show client. Discovered that the background service could not access the correct information on android devices running 5.1.1+ . Figured out how to get the foreground activity through usage stats. Users needed to be redirected to devices settings in order to grant this permission.

4/6

  • 3 hours created new activity in the application. The user is redirected to this activity when they are attempting to access a "blocked" app. Here they can enter a pin and open the application or go to the main menu of test 4 time.

4/7

  • 3 hours testing the application and connecting all the pieces to present to client.

4/8

  • 2 hours met with client, discussed UI and other things that might be added to the functionality. Found out that his device ran on 4.4.1 but used android API 19 and not the set up min of 21. I quickly modified the code so he could use the application on his device. This made me a bit nervous (will there need to be different logic for each device..)
  • 1 hour reading on how to check for device level

4/12

  • 2 hours worked on milestone presentation

4/15

  • 2 hours met with client to show progress and discuss modifications and plans moving forward

4/17

  • 3 hours bypassing the blocked apps on correct pin entry. research ways of keeping track of time to know when a user has ran out of time.

4/20

  • 7 hours met with group, prepared application for presentation and correctly merge our projects. added functionality for timer. bug fixes. made sure views were updating correctly. added database api functionality.