- Props & State
- Props is properties and is passed to component from outside and immutable.
- State is similar to props, but it is private and fully controlled by the component.
- Reactive
- Props changed -> re-render
- State chagned -> re-render
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is Git's per-user configuration file. | |
[user] | |
# Please adapt and uncomment the following lines: | |
#. name = Giang Nguyen | |
#. email = [email protected] | |
[alias] | |
co = checkout | |
st = status | |
unstage = reset HEAD -- |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[*.{kt,kts}] | |
# possible values: number (e.g. 2), "unset" (makes ktlint ignore indentation completely) | |
indent_size=2 | |
# possible values: number (e.g. 2), "unset" | |
continuation_indent_size=4 | |
# true (recommended) / false | |
insert_final_newline=true | |
# possible values: number (e.g. 120) (package name, imports & comments are ignored), "off" | |
# it's automatically set to 100 on `ktlint --android ...` (per Android Kotlin Style Guide) | |
max_line_length=100 |
- Maximize UI reusability https://proandroiddev.com/how-to-maximize-androids-ui-reusability-5-common-mistakes-cb2571216a9f
- Architecture to support easy to switch between user experiments. https://www.youtube.com/watch?v=dS9gho9Rxn4, https://www.techyourchance.com/netflix-shows-the-future-of-android-architecture/
Release cycle: one-week. https://speakerdeck.com/frogermcs/effective-mobile-engineering-to-make-product-successful
- Build features branch.
- Add more effective tests.
- https://speakerdeck.com/rjrjr/reactive-workflows
- https://speakerdeck.com/rjrjr/where-the-reactive-rubber-meets-the-road
- https://medium.com/androiddevelopers/a-patchwork-plaid-monolith-to-modularized-app-60235d9f212e
- https://medium.com/@froger_mcs/who-is-not-a-tech-leader-a98aab27ad93
- https://proandroiddev.com/how-to-maximize-androids-ui-reusability-5-common-mistakes-cb2571216a9f
- https://www.techyourchance.com/netflix-shows-the-future-of-android-architecture/
- https://speakerdeck.com/frogermcs/effective-mobile-engineering-to-make-product-successful
- https://proandroiddev.com/dagger-2-on-android-the-simple-way-f706a2c597e9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
val cacheSize = (5 * 1024 * 1024).toLong() | |
val cache = Cache(context.cacheDir, cacheSize) | |
// Source https://medium.com/mindorks/caching-with-retrofit-store-responses-offline-71439ed32fda | |
val okHttpClient = OkHttpClient.Builder() | |
// Specify the cache we created earlier. | |
.cache(cache) | |
// Add an Interceptor to the OkHttpClient. | |
.addInterceptor { chain -> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Copy from https://gist.github.com/pyricau/4df64341cc978a7de414. Added fixed mHField null. | |
import static android.content.Context.INPUT_METHOD_SERVICE; | |
import static android.os.Build.VERSION.SDK_INT; | |
import static android.os.Build.VERSION_CODES.KITKAT; | |
import android.app.Activity; | |
import android.app.Application; | |
import android.content.Context; | |
import android.content.ContextWrapper; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
keep_apps=( | |
com.facebook.mlite | |
com.zing.zalo | |
org.telegram.messenger | |
com.goviet.app | |
vn.mcdonalds.delivery | |
com.mcu.iVMS | |
com.thecoffeehouse.guestapp | |
com.lastpass.authenticator |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
"xiaomi", | |
"bitis hunter", | |
"bts", | |
"balo", | |
"bitis hunter x", | |
"tai nghe", | |
"harry potter", | |
"anker", | |
"iphone", |