Git Product home page Git Product logo

stand-up's Introduction

Stand Up

Build Status codecov API Slack

Sitting is next cancer.

Logo

Want to contribute?

Make sure you check out 👉CONTRIBUTING.md

Questions?

Hit me on twitter Twitter or join us on slack Slack.

License

Copyright 2018 Keval Patel

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

stand-up's People

Contributors

kevalpatel2106 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

mwshubham

stand-up's Issues

Make design consistent by using the same theme for the cards throughout app

Card padding and the background color is different for all the screens. Make it consistent throughout the app and also consider tablet layout.

  • Card padding should be same for all the screens and layout
  • Card horizontal margin should vary based on the screen size.
  • Card background should be consistent.
  • Card title text and subtitle color should be consistent.

Create Android Wear App

Make and android wear app with:

  • User tracking based on the step counter sensor.
  • Create way to see today's stats on the watch

Unknown InterruptedIOException exception while api call.

      Caused by: java.io.InterruptedIOException
                                                                         at okhttp3.internal.http2.Http2Stream.waitForIo(Http2Stream.java:579)
                                                                         at okhttp3.internal.http2.Http2Stream$FramingSource.waitUntilReadable(Http2Stream.java:371)
                                                                         at okhttp3.internal.http2.Http2Stream$FramingSource.read(Http2Stream.java:337)
                                                                         at okhttp3.internal.http2.Http2Codec$StreamFinishingSource.read(Http2Codec.java:210)
                                                                         at okio.Buffer.writeAll(Buffer.java:1005)
                                                                         at okio.RealBufferedSource.readString(RealBufferedSource.java:190)
                                                                         at okhttp3.ResponseBody.string(ResponseBody.java:175)
                                                                         at com.kevalpatel2106.network.NWInterceptor.processJsonResponse(NWInterceptor.kt:142)
                                                                         at com.kevalpatel2106.network.NWInterceptor.progressResponse(NWInterceptor.kt:87)
                                                                         at com.kevalpatel2106.network.NWInterceptor.intercept(NWInterceptor.kt:74)
                                                                         at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
                                                                         at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
                                                                         at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:212)
                                                                         at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
                                                                         at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
                                                                         at com.facebook.stetho.okhttp3.StethoInterceptor.intercept(StethoInterceptor.java:56)
                                                                         at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
                                                                         at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
                                                                         at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:200)
                                                                         at okhttp3.RealCall.execute(RealCall.java:77)
                                                                         at retrofit2.OkHttpCall.execute(OkHttpCall.java:180)
                                                                         at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall.execute(ExecutorCallAdapterFactory.java:91)
                                                                         at com.kevalpatel2106.network.executor.refresher.RetrofitNetworkRefresher.read(RetrofitNetworkRefresher.kt:37)
                                                                         at com.kevalpatel2106.common.repository.Repository$fetch$flowable$1.subscribe(Repository.kt:66)
                                                                         at io.reactivex.internal.operators.flowable.FlowableCreate.subscribeActual(FlowableCreate.java:72)
                                                                         at io.reactivex.Flowable.subscribe(Flowable.java:13234) 
                                                                         at io.reactivex.internal.operators.flowable.FlowableMap.subscribeActual(FlowableMap.java:36) 
                                                                         at io.reactivex.Flowable.subscribe(Flowable.java:13234) 
                                                                         at io.reactivex.Flowable.subscribe(Flowable.java:13180) 
                                                                         at io.reactivex.internal.operators.flowable.FlowableSubscribeOn$SubscribeOnSubscriber.run(FlowableSubscribeOn.java:82) 
                                                                         at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66) 
                                                                         at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57) 
                                                                         at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
                                                                         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301) 
                                                                         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
                                                                         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
                                                                         at java.lang.Thread.run(Thread.java:764)

Unknown InterruptedIOException exception while api call.

App crashes at launch because core is not initialised.

Caused by java.lang.IllegalStateException:
You need to call create() at least once to create the singleton
com.evernote.android.job.JobManager.instance (JobManager.java:139)
com.standup.core.Core.refresh (Core.kt:124)
com.standup.app.splash.SplashActivity.onCreate (SplashActivity.kt:91)

Load the previous data from the server

Load the previous user activity detail from the server.

  • Once use open up the application try syncing the data with the server.
  • Try pulling new activity list from the server when sync job runs.
  • Get previous data while setting up the registered device on login/sign up.

Create a diary view to support tablet layout

Convert diary view to the master-detail plane layout for supporting the tablet layout. On the master list, list of all the history will be visible. When the user clicks on the particular item from the listing, detail layout of the list will be visible on the right. When the user clicks on the "View activity list" button, the new separate screen will open with the list of activities timeline.

User activity list is displaying the wrong duration if the activity is started on the previous day.

If the activity (e.g. sitting) is started on the 11:00 PM of the previous day and it ends on 6:00 AM of the current day.
When the user navigates to the diary list -> that date summary -> user activity timeline screen it shows the sitting duration is 7 hours and calculates duration from the user activity start time instead of calculating from 12 AM of that day.

  • Here are the screenshots for understanding the issue:
  1. 1
  2. 2
  3. 3

Database snapshot: StandUpDb.zip

Null data in onActivityResult after Google/FB sign in causing crash

Parameter specified as non-null is null: method kotlin.jvm.internal.g.b, parameter data 
com.standup.app.authentication.intro.IntroActivity.onActivityResult (Unknown Source:2)
android.app.Activity.dispatchActivityResult (Activity.java:7276)
android.app.ActivityThread.deliverResults (ActivityThread.java:4264)
android.app.ActivityThread.handleSendResult (ActivityThread.java:4312)
android.app.ActivityThread.-wrap19 (Unknown Source)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1644)
android.os.Handler.dispatchMessage (Handler.java:106)
android.os.Looper.loop (Looper.java:164)
android.app.ActivityThread.main (ActivityThread.java:6494)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:438)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:807)

Add bar animations in timeline view

Add animation to the timeline view bar whenever timeline view bars are created. Animate the bar so that the height increases from 0 to original height in given time duration.

Redesign the Pop Up

Redesign of the reminder pop up:

  • Set action bar.
  • Select a nice background colour.

Profile page is throwing OOM

Error reporting crash
                  java.lang.OutOfMemoryError: Failed to allocate a 3113932 byte allocation with 2542976 free bytes and 2MB until OOM
                      at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:95)
                      at java.lang.AbstractStringBuilder.append0(AbstractStringBuilder.java:125)
                      at java.lang.StringBuffer.append(StringBuffer.java:278)
                      at java.io.StringWriter.write(StringWriter.java:123)
                      at com.android.internal.util.FastPrintWriter.flushLocked(FastPrintWriter.java:358)
                      at com.android.internal.util.FastPrintWriter.appendLocked(FastPrintWriter.java:303)
                      at com.android.internal.util.FastPrintWriter.write(FastPrintWriter.java:625)
                      at com.android.internal.util.FastPrintWriter.append(FastPrintWriter.java:658)
                      at java.io.PrintWriter.append(PrintWriter.java:691)
                      at java.io.PrintWriter.append(PrintWriter.java:31)
                      at java.lang.Throwable.printStackTrace(Throwable.java:324)
                      at java.lang.Throwable.printStackTrace(Throwable.java:300)
                      at android.util.Log.getStackTraceString(Log.java:504)
                      at com.android.internal.os.RuntimeInit.Clog_e(RuntimeInit.java:59)
                      at com.android.internal.os.RuntimeInit.access$200(RuntimeInit.java:43)
                      at com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:91)
                      at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
                      at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)

Android Version: 5.1

Device Information:

  • MANUFACTURER: Samsung
  • BRAND: Galaxy S4
  • MODEL: GT-I9500

Move to Kotlin DSL.

Because it's easy to manage gradle build configs with this much modules 🙄.

Besides this project is to apply and learn new hot things in android.🤔

Daily summary stats notification

Prepare the daily summary notification which will display the notiffication with previous day's stats. Clicking on the notification will redirect user to the detail activity of that day.

Integrate IAP into the app

Integrate in-app purchase into the application and make detail page and some settings of the application inaccessible for free user.

Task list:

  • Explore play billing.
  • Create a premium in-app product in play console.
  • Integrate play billing into the app.
  • Create a module to expose in-app purchase APIs.
  • Make detail page for pro only.
  • Make history older than 2 weeks PRO only.
  • Securely sore order id.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.