easytarget2000 / micopi-android-matthew Goto Github PK
View Code? Open in Web Editor NEWComplete rework of the established Micopi app using the Matthew library
License: GNU General Public License v3.0
Complete rework of the established Micopi app using the Matthew library
License: GNU General Public License v3.0
Customers of Micopi+ should have the in-app product set as purchased. This feature potentially needs to be disabled after a few weeks to avoid fraud.
Research which framework to use and add a basic implementation to track user interaction.
This is a follow-up to #4.
This feature could be an option in the paid version of the app. The user can decide if this feature is enabled or not. This requires a settings UI.
When this feature is enabled, every time an image is assigned to a contact, the current picture is backed up. Backups should not be overwrite each other. This can lead to a large backup folder. A user that assigns images to 100 contacts 5 times can end up with a backup folder of 500 pictures.
The settings UI should have an option to delete the backup folder, which might be handled in a separate issue.
Experiment with designs for a main menu and implement a simple interface that leads to a contact picker.
Website issue
Replace the icon created in #34 with imagery that is actually unique to Micopi.
Inform the user on the launch menu that ... TBD
Make the contact hash depend entirely on the contact data and hash modifier. This way, the app draws the same pictures for the same contacts every time it is launched.
Fork the library that is used at the moment to adjust one or more of these topics:
These features might go into individual issues.
On the image preview screen, add a button that assigns the currently shown image to the contact.
Assign the images in such a way that it can later be determined if a contact has a Micopi image or not.
Show an icon of the contact's image, if available, in the contact picker list
Create exceptions for these areas and send them to Firebase:
https://firebase.google.com/docs/crashlytics/customize-crash-reports
In single contact mode, if the contact already has an image, warn the user with a dialog, before assigning the image. The dialog should have the option to cancel the action.
After implementing #4, the app stores the images as 1080x1080 px PNGs, yet the images in the Contacts apps show a significant amount of artefacts.
We should investigate, if we can improve the quality of images in the Contacts apps. There might be differences depending on the Android version and vendor OS flavours. A Samsung phone might handle the images differently to a Pixel device, for example.
It is possible that images should be written to the contacts database in an entirely different way.
If the user has not purchased the upgrade, show information about the possibility to select more than one contact at a time in the paid app.
If the user denies certain OS permissions, e.g. reading contacts, the app should not crash.
The first time a user assigns an image to a contact, show a dialog with a continue or cancel option. The dialog should inform the user about creating a backup.
Add a batch mode that appears if the user selects more than one contact.
All buttons should have an icon and text.
After selecting only one contact, open the image preview screen. This screen should show the name of the contact, a preview of the generated image. Further functionality of this screen will be dealt with in follow-up issues.
An in-app managed product "plus_features" has been configured in the Google Play Console. Add a purchase button to the main menu that is only shown, if the product has not been purchased.
Track purchases.
Move the disclaimers and introductory texts from the main menu into onboarding pages. These pages are shown the first time the app is started. They can be displayed again by pressing a button on the main menu.
To add in-app products, you need to add the BILLING permission to your APK.
If it cannot be determined, if the Plus Features product has been purchased and if the setup of the BillingClient fails with an error, show the error in the main menu.
This is a follow-up to #51. It is only an enhancement in code style. A potential side-effect of this ticket is to identify other architectural improvements related to BatchContactViewModel.
On the image preview screen, add a button that allows saving the currently shown image as a file on the device. The image should appear in the user's gallery app.
All buttons should have:
By resizing the ImageView to the expected image dimensions, the layout becomes less jumpy.
The Matthew library contains a new sample pattern. Use this pattern in the image generator. The generator should decide which pattern to use. Start with a probability of 0.5 for using the card pattern.
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.