androidsoft-org / androidsoft-coloring Goto Github PK
View Code? Open in Web Editor NEWColoring for Kids
License: GNU General Public License v3.0
Coloring for Kids
License: GNU General Public License v3.0
Hello,
Little kids love putting fingers everywhere to draw, and sometimes they quit the application by mistake.
A full screen mode would help such problems.
Tks !
I performed sentiment analysis and LDA topic modeling on the app reviews. From the topic analysis, it is clear that the audience of the application are children who draw and color for fun. Both the suggested features are crafted considering this observation. Additionally, along with the sentiment analysis and the topics, we can say that majority of the user base is satisfied and has positive reviews. Hence, I am suggesting two features and not probing for bugs. On smaller devices, it might get tricky to get clear drawings with detail due to the screen size. Pinch to zoom will be both easy and intuitive for kids to draw on all kinds of devices.
In PaintActivity
, the app relies on onRetainNonConfigurationInstance()
to store important state information that cannot otherwise be recovered in the event of activity death. According to the Android SDK documentation, this method is not always guaranteed to be called, and should not be relied upon as anything other than an optimization:
http://developer.android.com/reference/android/app/Activity.html#onRetainNonConfigurationInstance()
Contrary to this, the app relies on this method always being called in order to function correctly in basic use-cases.
Whenever this method is not called by the platform (which seems to be the case when the "Don't keep activities" developer option is ticked), the following two consistent user-visible behaviours appear:
StartNewActivity
to select a new outline, the app crashes. This is a minor inconvenience to users, but it does require them to always only colour a randomly selected outline.PickColorActivity
to select a new colour, the outline is re-randomized and all colouring data is reset to blank. This is a major inconvenience to users because it means colour-selection can only be done before starting to draw, and cannot be informed by knowledge of which outline is about to be coloured.Here is a stack-trace showing the crash mentioned above:
03-26 14:50:31.335 2003-4091/? I/ActivityManager: START u0 {act=org.androidsoft.coloring.paint.START_NEW cmp=org.androidsoft.coloring/.ui.activity.StartNewActivity} from uid 10036 on display 0
03-26 14:50:31.421 2760-2760/? I/Keyboard.Facilitator: onFinishInput()
03-26 14:50:31.446 2003-2021/? I/ActivityManager: Displayed org.androidsoft.coloring/.ui.activity.StartNewActivity: +104ms
03-26 14:50:31.475 29609-29637/? D/OpenGLRenderer: endAllStagingAnimators on 0xb447d900 (RippleDrawable) with handle 0xab212250
03-26 14:50:33.240 2003-2346/? D/ConnectivityService: notifyType CAP_CHANGED for NetworkAgentInfo [WIFI () - 362]
03-26 14:50:35.062 29609-29692/? E/AndroidRuntime: FATAL EXCEPTION: Thread-10762
Process: org.androidsoft.coloring, PID: 29609
java.lang.IllegalArgumentException: width and height must be > 0
at android.graphics.Bitmap.createBitmap(Bitmap.java:829)
at android.graphics.Bitmap.createBitmap(Bitmap.java:808)
at android.graphics.Bitmap.createBitmap(Bitmap.java:775)
at org.androidsoft.coloring.ui.widget.PaintView.loadFromBitmap(PaintView.java:98)
at org.androidsoft.coloring.ui.activity.PaintActivity$InitPaintView.run(PaintActivity.java:371)
at java.lang.Thread.run(Thread.java:818)
03-26 14:50:35.065 2003-16076/? W/ActivityManager: Force finishing activity org.androidsoft.coloring/.ui.activity.PaintActivity
I think it would be wise to implement some other more reliable means to persist outline-selection and colouring data when navigating between these three activities. While this bug is only easily reproducible when certain developer-only options are set, there is still a chance it may randomly affect an ordinary user, especially if future versions of Android ever reduce the probability of this non-guaranteed call (which is already deprecated as of API level 13). And it will definitely impact users who are handed a developer device and don't know how to (or know they need to) disable the "Don't keep activities" option.
I performed sentiment analysis and LDA topic modeling on the app reviews. From the topic analysis, it is clear that the audience of the application are children who draw and color for fun. Both the suggested features are crafted considering this observation. Additionally, along with the sentiment analysis and the topics, we can say that majority of the user base is satisfied and has positive reviews. Hence, I am suggesting two features and not probing for bugs. Kids tend to accidentally close the app with their hand gestures and wouldn't want their masterpiece to disappear accidentally. So auto-save to reload while reopening the app will be helpful.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.