Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
71879ee
refactor(android): move `ChatManager` to `dataManager` package
Chris1320 Oct 25, 2025
2b3c3f9
build(android): add `datastore` and `gson` dependencies
Chris1320 Oct 26, 2025
6779c3a
feat(wip,android): implementing user avatar loading and local saving …
Chris1320 Oct 26, 2025
81744f8
feat(android): stylize app tracker menu
Chris1320 Oct 26, 2025
bb2af3b
feat(android): add internet permission
Chris1320 Oct 26, 2025
7bf3cc3
chore(android): update app logo
Chris1320 Oct 26, 2025
ae69801
feat(android): randomize quotes
Chris1320 Oct 26, 2025
cf5e4f6
feat(android): navigate to screen time tracker when screen time today…
Chris1320 Oct 26, 2025
ef45e7f
feat(android): click the elevated card to change the quote
Chris1320 Oct 26, 2025
0be05a7
feat(android): fetch and display user avatar from Google account
Chris1320 Oct 26, 2025
3fdaf09
feat(wip,android): integrate real app usage data into AI assistant
Chris1320 Oct 27, 2025
48175ea
Merge branch 'main' into chris-dev
Chris1320 Oct 28, 2025
9290ab7
fix(android): fix wording on days active
Chris1320 Oct 28, 2025
703c312
feat: do not show seconds in screen time today card
Chris1320 Oct 28, 2025
fe14093
build(android): build multiple APKs for different ABIs
Chris1320 Oct 29, 2025
93eb6b4
Merge branch 'main' into chris-dev
Chris1320 Oct 29, 2025
0fadf00
Merge branch 'main' into chris-dev
Chris1320 Oct 29, 2025
6ea1b74
feat(android): show actual data in screen time limiter and tracker
Chris1320 Oct 29, 2025
3bea9fd
feat(android): debug logs
Chris1320 Oct 30, 2025
a469f36
fix(android): still show seconds when less than a minute
Chris1320 Oct 30, 2025
8fbaed5
feat(android): use actual app usage for dashboard graph
Chris1320 Oct 30, 2025
9b231f9
feat(android): add functionality to retrieve app usage stats for a sp…
Chris1320 Oct 30, 2025
d6ce0ba
feat(android): add logout confirmation dialog and update user status …
Chris1320 Oct 30, 2025
7718955
feat(android): Implement app usage monitoring and blocking functionality
Chris1320 Oct 30, 2025
d917c88
Merge branch 'main' into user-manager
Chris1320 Nov 2, 2025
7d4eb60
fix(android): fix app blocking
Chris1320 Nov 2, 2025
2969906
chore(android): add `.kotlin/` to `.gitignore`
Chris1320 Nov 2, 2025
6c7d283
feat(android,firebase): add Firestore integration for app usage track…
Chris1320 Nov 2, 2025
78ac42a
feat(android,firebase): implement Settings ViewModel and UI for accou…
Chris1320 Nov 2, 2025
d635d30
build(web,deps): update dependencies in `package.json` to include fir…
Chris1320 Nov 2, 2025
50a4e84
fix(android,firebase): ensure UTC time zone is used for date formatti…
Chris1320 Nov 3, 2025
c297d49
build(deps): add firebase-admin dependency to package.json
Chris1320 Nov 3, 2025
e1290b6
fix(web): update navigation label from "Log In" to "Dashboard" in App…
Chris1320 Nov 3, 2025
2f1640f
chore(web): add example environment configuration for Firebase
Chris1320 Nov 3, 2025
3c74d3e
feat(web): implement Firebase authentication and Firestore integratio…
Chris1320 Nov 3, 2025
d391581
feat(web): display app icon and update login page layout
Chris1320 Nov 3, 2025
fd41125
fix(android): correct XML namespace for app attributes in app_block_o…
Chris1320 Nov 3, 2025
eac6417
fix(web): disable workers_dev and preview_urls in nuxt configuration
Chris1320 Nov 3, 2025
32437a1
feat(web): add nav drawer to AppHeader for mobile
Chris1320 Nov 3, 2025
2363472
feat(web): responsive design for sign out and date navigation buttons
Chris1320 Nov 3, 2025
5be7752
feat(android): basic screentimetracker week list
ArlanGab Nov 3, 2025
4055d8f
feat(web): add previous day comparison for app usage and CO2e emissions
Chris1320 Nov 3, 2025
f58a1f2
feat(android): implement initial 7-day historical sync for app usage …
Chris1320 Nov 3, 2025
a3598b6
feat(web): add environmental impact comparison for app usage CO2e emi…
Chris1320 Nov 3, 2025
aaa3bef
feat(android): add environmental impact card to Dashboard with CO2e e…
Chris1320 Nov 3, 2025
49743a9
Merge branch 'auth' into user-manager
Chris1320 Nov 3, 2025
3567079
feat(android): display total usage time and top apps
Chris1320 Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ReconnectED-Android/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Gradle files
.gradle/
build/
.kotlin/

# Local configuration file (sdk path, etc)
local.properties
Expand Down
12 changes: 12 additions & 0 deletions ReconnectED-Android/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,22 @@ android {
viewBinding = true
buildConfig = true
}
splits {
abi {
// https://developer.android.com/build/configure-apk-splits#kts
isEnable = true // enable multiple APKs per ABI
reset() // reset included ABIs
include("armeabi-v7a", "arm64-v8a", "x86_64")
isUniversalApk = true
}
}
}

dependencies {
implementation(libs.firebase.ai)
implementation(libs.firebase.firestore)
implementation(libs.androidx.datastore)
implementation(libs.gson)
implementation(libs.androidx.compose.foundation)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(libs.androidx.junit)
Expand Down
33 changes: 32 additions & 1 deletion ReconnectED-Android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,15 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission
android:name="android.permission.PACKAGE_USAGE_STATS"
tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />

<queries>
<!-- Allow querying ALL launchable apps -->
Expand All @@ -21,7 +27,6 @@
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.App.Starting">
<activity
Expand All @@ -34,5 +39,31 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<!-- App Blocked Activity -->
<activity
android:name=".activities.AppBlockedActivity"
android:exported="false"
android:excludeFromRecents="true"
android:launchMode="singleTop"
android:taskAffinity=""
android:theme="@style/Theme.ReconnectED" />

<!-- App Limit Monitor Service -->
<service
android:name=".services.AppLimitMonitorService"
android:enabled="true"
android:exported="false"
android:foregroundServiceType="specialUse">
<property
android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
android:value="Monitors app usage and enforces time limits" />
</service>

<!-- App Block Overlay Service -->
<service
android:name=".services.AppBlockOverlayService"
android:enabled="true"
android:exported="false" />
</application>
</manifest>
286 changes: 286 additions & 0 deletions ReconnectED-Android/app/src/main/assets/quotes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,286 @@
[
{
"quote": "Digital detox is not about disconnecting, but reconnecting.",
"author": "Anonymous"
},
{
"quote": "Almost everything will work again if you unplug it for a few minutes, including you.",
"author": "Anne Lamott"
},
{
"quote": "You don’t have to disconnect from the world, just from the noise.",
"author": "Anonymous"
},
{
"quote": "Clarity comes when the screens go dark.",
"author": "Anonymous"
},
{
"quote": "Technology is a useful servant but a dangerous master.",
"author": "Christian Lous Lange"
},
{
"quote": "The best productivity hack is still a good night’s sleep.",
"author": "Anonymous"
},
{
"quote": "Focus is the new IQ.",
"author": "Cal Newport"
},
{
"quote": "Your attention is your most valuable currency.",
"author": "Anonymous"
},
{
"quote": "Detox your mind by decluttering your digital life.",
"author": "Anonymous"
},
{
"quote": "Productivity is never an accident. It is always the result of a commitment to excellence, intelligent planning, and focused effort.",
"author": "Paul J. Meyer"
},
{
"quote": "Almost everything distracting you is less important than you think.",
"author": "Anonymous"
},
{
"quote": "The price of productivity is the courage to say no.",
"author": "Anonymous"
},
{
"quote": "Do not disturb is a productivity superpower.",
"author": "Anonymous"
},
{
"quote": "The more you check your phone, the less you check in with yourself.",
"author": "Anonymous"
},
{
"quote": "Simplicity is the ultimate sophistication.",
"author": "Leonardo da Vinci"
},
{
"quote": "Time is what we want most, but what we use worst.",
"author": "William Penn"
},
{
"quote": "Your phone should serve you, not enslave you.",
"author": "Anonymous"
},
{
"quote": "The ability to focus is a competitive advantage.",
"author": "Anonymous"
},
{
"quote": "Don’t confuse being busy with being productive.",
"author": "Anonymous"
},
{
"quote": "Sometimes the most productive thing you can do is rest.",
"author": "Mark Black"
},
{
"quote": "Disconnect to reconnect with what matters.",
"author": "Anonymous"
},
{
"quote": "Beware the barrenness of a busy life.",
"author": "Socrates"
},
{
"quote": "Productivity is being able to do things that you were never able to do before.",
"author": "Franz Kafka"
},
{
"quote": "Your attention is being mined. Guard it fiercely.",
"author": "Anonymous"
},
{
"quote": "The key is not to prioritize what’s on your schedule, but to schedule your priorities.",
"author": "Stephen Covey"
},
{
"quote": "Digital detox is a gift of presence to yourself and others.",
"author": "Anonymous"
},
{
"quote": "Focus on being productive instead of busy.",
"author": "Tim Ferriss"
},
{
"quote": "Almost all creativity requires purposeful un-plugging.",
"author": "Anonymous"
},
{
"quote": "The shorter way to do many things is to only do one thing at a time.",
"author": "Mozart"
},
{
"quote": "Your phone is a tool, not a tether.",
"author": "Anonymous"
},
{
"quote": "The future depends on what you do today.",
"author": "Mahatma Gandhi"
},
{
"quote": "Silence is sometimes the best productivity hack.",
"author": "Anonymous"
},
{
"quote": "Don’t get so busy making a living that you forget to make a life.",
"author": "Dolly Parton"
},
{
"quote": "The best way to get something done is to begin.",
"author": "Anonymous"
},
{
"quote": "Digital detox is not deprivation, it’s liberation.",
"author": "Anonymous"
},
{
"quote": "Lost time is never found again.",
"author": "Benjamin Franklin"
},
{
"quote": "The art of being wise is knowing what to overlook.",
"author": "William James"
},
{
"quote": "Your brain is not designed for constant notifications.",
"author": "Anonymous"
},
{
"quote": "Concentration is the secret of strength.",
"author": "Ralph Waldo Emerson"
},
{
"quote": "Technology should enhance life, not consume it.",
"author": "Anonymous"
},
{
"quote": "The way to get started is to quit talking and begin doing.",
"author": "Walt Disney"
},
{
"quote": "Digital detox is a reset button for your mind.",
"author": "Anonymous"
},
{
"quote": "Productivity is less about time management and more about mind management.",
"author": "Anonymous"
},
{
"quote": "The ability to simplify means to eliminate the unnecessary so that the necessary may speak.",
"author": "Hans Hofmann"
},
{
"quote": "Your best ideas rarely come when you’re scrolling.",
"author": "Anonymous"
},
{
"quote": "Don’t watch the clock; do what it does. Keep going.",
"author": "Sam Levenson"
},
{
"quote": "The more you subtract, the more you add to your life.",
"author": "Anonymous"
},
{
"quote": "Focus is the art of knowing what to ignore.",
"author": "Anonymous"
},
{
"quote": "Digital detox is self-care in the modern age.",
"author": "Anonymous"
},
{
"quote": "The successful warrior is the average man, with laser-like focus.",
"author": "Bruce Lee"
},
{
"quote": "Your phone steals your mornings if you let it.",
"author": "Anonymous"
},
{
"quote": "Don’t confuse motion with progress.",
"author": "Anonymous"
},
{
"quote": "The greatest wealth is to live content with little.",
"author": "Plato"
},
{
"quote": "Digital detox is not about less life, but more real life.",
"author": "Anonymous"
},
{
"quote": "Productivity is never about doing more things, but doing the right things.",
"author": "Anonymous"
},
{
"quote": "The best way to focus is to remove distractions, not add willpower.",
"author": "Anonymous"
},
{
"quote": "Happiness is not having what you want. It is wanting what you have.",
"author": "Anonymous"
},
{
"quote": "Your attention is the battlefield of the 21st century.",
"author": "Anonymous"
},
{
"quote": "Don’t let your phone be the first thing you touch in the morning.",
"author": "Anonymous"
},
{
"quote": "The key to productivity is to do less, better.",
"author": "Anonymous"
},
{
"quote": "Digital detox is a vacation for your brain.",
"author": "Anonymous"
},
{
"quote": "The secret of getting ahead is getting started.",
"author": "Mark Twain"
},
{
"quote": "Your focus determines your reality.",
"author": "George Lucas"
},
{
"quote": "Don’t drown in information, starve for wisdom.",
"author": "Anonymous"
},
{
"quote": "The best productivity system is the one you actually use.",
"author": "Anonymous"
},
{
"quote": "Digital detox is a way of reclaiming your time.",
"author": "Anonymous"
},
{
"quote": "The man who moves a mountain begins by carrying away small stones.",
"author": "Confucius"
},
{
"quote": "Your phone is not your life; it’s just a device.",
"author": "Anonymous"
},
{
"quote": "Don’t confuse activity with achievement.",
"author": "John Wooden"
},
{
"quote": "Digital detox is not about losing connection, but gaining perspective.",
"author": "Anonymous"
},
{
"quote": "The key to productivity is focus, not frenzy.",
"author": "Anonymous"
}
]
3 changes: 3 additions & 0 deletions ReconnectED-Android/app/src/main/ic_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading