friendstagram-android's People
friendstagram-android's Issues
Use Bundle in Fragments
When using a Bundle to pass the arguments, it'll be annoying because it'll require to make 2 variables instead of 1 for a new constructor parameter but it'll make sure they aren't static variables.
Reuse Cloudinary image URL if post fails to be uploaded
On the random occurrence that a post does fail to be posted, instead of uploading the image to Cloudinary again, just reuse the URL returned
Observables run twice
If a fragment with a Subject has been subscribed to, and the fragment is resumed, it'll get something twice.
Add extension method for validation
Add an extension method for EditTexts where it allows for validation of them
For example, instead of:
if (!Util.isPasswordValid(password))
editPassword.setError(getString(R.string.error_password_short))
it can be:
editPassword.addValidation({ value -> return Util.isPasswordValid(value) }, R.string.error_password_short)
// ...
editPassword.validate()
Race condition involving fade animation
When using the fade animation, if the fade animation is run again while there is one currently running, it will set the visibility of both views to invisible.
Use shared element transitions
First, I need to figure out how to do them between Fragments. Then, use them with Fragments like from Profile fragment to Picture fragment.
Database as single source of truth
For most screens (such as profile view or edit profile), a local SQLite database can be used to grab that information directly after loading from the network and refreshing the data occasionally.
Rewrite code
Improve code architecture using:
-
RxJava
-
New architecture components announced at Google I/O
However, this should be done after the app is complete with all the features added.
Toolbar title not centering
Toolbar title is not centering even though it is specified in the layout. It only seems to happen inside ProfileFragment.java so it seems to have something to do with any of the other layouts such as CoordinatorLayout or AppBarLayout or CollapsingToolbarLayout.
Profile picture not loading
When account fragment loaded, profile picture does not load because Fresco does not submit a request to retrieve the image and just removes the image out of memory. However, if the fragment were replaced a second time (ie. rotating the screen), the profile picture loads (by sending a request).
Can't leave PicturesActivity properly
Only way to leave PicturesActivity is to press the X in the top left corner. Can't leave by clicking on the Back button and it'll just restart the Activity again.
Separate network and local models
Best practices indicate to separate the 2
Use both internal and external storage
Find way to use both in the same adapter
Inject listeners
Use Dagger to inject the listeners by putting them in their own module. This way, there won't be a need to worry about listeners such as setToolbar
not being initialized when a Fragment
is being resumed.
Check out AsyncUtil for local image Adapter
See if AsyncUtil
(part of support library) improves the dev process for showing local images on screen and see if it maintains or improves performance
Images disappear when screen rotates
In PicturesFragment, when the screen is rotated, LoaderCallbacks
doesn't recall onLoadFinished
Switching back to login screen
When switching back to the login screen from the register screen, it loads the login screen, then the register screen again, then reloads the login screen. It has something to do with the pop backstack animation.
Move Fragment Creation from onResume
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.