diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..47065ee --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/local.properties diff --git a/.gradle/8.0/checksums/checksums.lock b/.gradle/8.0/checksums/checksums.lock new file mode 100644 index 0000000..6fc4247 Binary files /dev/null and b/.gradle/8.0/checksums/checksums.lock differ diff --git a/.gradle/8.0/checksums/md5-checksums.bin b/.gradle/8.0/checksums/md5-checksums.bin new file mode 100644 index 0000000..3738cc8 Binary files /dev/null and b/.gradle/8.0/checksums/md5-checksums.bin differ diff --git a/.gradle/8.0/checksums/sha1-checksums.bin b/.gradle/8.0/checksums/sha1-checksums.bin new file mode 100644 index 0000000..4f50c23 Binary files /dev/null and b/.gradle/8.0/checksums/sha1-checksums.bin differ diff --git a/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock b/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock new file mode 100644 index 0000000..1f53b77 Binary files /dev/null and b/.gradle/8.0/dependencies-accessors/dependencies-accessors.lock differ diff --git a/.gradle/8.0/dependencies-accessors/gc.properties b/.gradle/8.0/dependencies-accessors/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/8.0/executionHistory/executionHistory.lock b/.gradle/8.0/executionHistory/executionHistory.lock new file mode 100644 index 0000000..c8534a7 Binary files /dev/null and b/.gradle/8.0/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.0/fileChanges/last-build.bin b/.gradle/8.0/fileChanges/last-build.bin new file mode 100644 index 0000000..f76dd23 Binary files /dev/null and b/.gradle/8.0/fileChanges/last-build.bin differ diff --git a/.gradle/8.0/fileHashes/fileHashes.bin b/.gradle/8.0/fileHashes/fileHashes.bin new file mode 100644 index 0000000..aa4968b Binary files /dev/null and b/.gradle/8.0/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.0/fileHashes/fileHashes.lock b/.gradle/8.0/fileHashes/fileHashes.lock new file mode 100644 index 0000000..e854870 Binary files /dev/null and b/.gradle/8.0/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.0/fileHashes/resourceHashesCache.bin b/.gradle/8.0/fileHashes/resourceHashesCache.bin new file mode 100644 index 0000000..c1f6108 Binary files /dev/null and b/.gradle/8.0/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/8.0/gc.properties b/.gradle/8.0/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock new file mode 100644 index 0000000..2029ad4 Binary files /dev/null and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties new file mode 100644 index 0000000..43872d5 --- /dev/null +++ b/.gradle/buildOutputCleanup/cache.properties @@ -0,0 +1,2 @@ +#Fri May 26 19:13:34 MST 2023 +gradle.version=8.0 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin new file mode 100644 index 0000000..6f92961 Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties new file mode 100644 index 0000000..e69de29 diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..7643783 --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,123 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 0000000..79ee123 --- /dev/null +++ b/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 61a9130..b589d56 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 0cb0e08..a9f4e52 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -3,12 +3,15 @@ diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..e1eea1d --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 37a7509..0ad17cb 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,7 @@ - + + diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..d917149 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1685153491238 + + + + + + + \ No newline at end of file diff --git a/LICENSE b/LICENSE index bff20b2..c560a21 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2021 Chad +Copyright (c) 2021 Hyperling Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 8ee0ebb..ce49968 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,47 @@ # BreakTheHabit -Android application to break the brainwashing habit of checking mobile phone without a reason. -My first Kotlin Android app. \ No newline at end of file +Break the habit of your smartphone addiction. + +## Purpose + +Android application to curb the brainwashing habit of checking mobile phone without a reason. It +attempts to get in the way of "notification dopamine" which our bodies learn to seek. + +## Motivation + +Maybe you realize we're heading into a dystopian nightmare of Internet and electronic addiction, +or you simply want to reclaim some of your free time. This app is meant to put YOU in control of +your device instead of the other way around. Allowing an electronic to control you by creating noise +or vibrations in quite literally mind control. Rather than answering your device's every need, it +should be treated more like a tool which is used when needed and put away when not. + +It doesn't matter where you look, if there are other people, you will likely see someone on a smart +device. Kids are given devices at young ages. Teens are glued to their devices, normally wearing +headphones or ear buds as well, completely tuned out of the physical reality. People no longer feel +safe leaving their homes without their device, even though it wasn't until the late 2000's when the +devices first started becoming popular and humans lives for thousands of years before the invention. + +Without limits on usage the devices will continue to keep us ensnared. Americans are more and more +having their dopamine cycle built around the gratification of using their device and checking their +social media platforms. Tuning out the noise and taking time to detox from smartphone usage can be +difficult to plan and even more difficult to execute. + +Some carriers don't allow dumb phones such as flip phones anymore, and governments help supply +phones and Internet to those who would not be able to afford it. While this may seem charitable and +benevolent, it serves them a higher purpose of digitizing humanity. Mass surveillance is real and +has been implemented very strictly in some countries. The corrupt central banking system will soon +be deprecated with an even more corrupt CBDC system which requires the consentual use of a smart +device. This is the technocratic state that many have been warning about. + +The solutions? Staying in control of yourself, your property, and most importantly your mind. We +are sovereign beings. If you forfeit control of yourself you become a slave to the system they are +building. By building self-reliance through your community you make yourself less dependent to their +control and able to function outside of the slave state. Morality is what matters most. The *l*aw of +man does not trumph the *L*aws of forces such as Nature, God, or whichever of the peaceful moral +codes which exist. + +Humanity is in this together. This is an abundant planet which we need to protect. We can create +peace and prosperity if we choose to do so! + +Thank you for your time. Electronics can be very useful and productive if used correctly. Whether +you install this 100% free and open app or not, we wish you the best and love you very much. \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index f995794..bbb0c5d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,20 +1,23 @@ plugins { id 'com.android.application' - id 'kotlin-android' + id 'org.jetbrains.kotlin.android' } android { - compileSdkVersion 30 - buildToolsVersion "30.0.3" + namespace 'com.hyperling.breakthehabit' + compileSdk 33 defaultConfig { applicationId "com.hyperling.breakthehabit" - minSdkVersion 16 - targetSdkVersion 30 + minSdk 21 + targetSdk 33 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + vectorDrawables { + useSupportLibrary true + } } buildTypes { @@ -30,18 +33,34 @@ android { kotlinOptions { jvmTarget = '1.8' } + buildFeatures { + compose true + } + composeOptions { + kotlinCompilerExtensionVersion '1.3.2' + } + packagingOptions { + resources { + excludes += '/META-INF/{AL2.0,LGPL2.1}' + } + } } dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - implementation 'androidx.core:core-ktx:1.2.0' - implementation 'androidx.appcompat:appcompat:1.1.0' - implementation 'com.google.android.material:material:1.1.0' - implementation 'androidx.constraintlayout:constraintlayout:1.1.3' - implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2' - implementation 'androidx.navigation:navigation-ui-ktx:2.2.2' - testImplementation 'junit:junit:4.+' - androidTestImplementation 'androidx.test.ext:junit:1.1.1' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' + implementation 'androidx.core:core-ktx:1.8.0' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1' + implementation 'androidx.activity:activity-compose:1.5.1' + implementation platform('androidx.compose:compose-bom:2022.10.00') + implementation 'androidx.compose.ui:ui' + implementation 'androidx.compose.ui:ui-graphics' + implementation 'androidx.compose.ui:ui-tooling-preview' + implementation 'androidx.compose.material3:material3' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + androidTestImplementation platform('androidx.compose:compose-bom:2022.10.00') + androidTestImplementation 'androidx.compose.ui:ui-test-junit4' + debugImplementation 'androidx.compose.ui:ui-tooling' + debugImplementation 'androidx.compose.ui:ui-test-manifest' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8116f92..784c0a5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,18 +1,22 @@ + xmlns:tools="http://schemas.android.com/tools"> + android:theme="@style/Theme.BreakTheHabit" + tools:targetApi="31"> + android:theme="@style/Theme.BreakTheHabit"> diff --git a/app/src/main/java/com/hyperling/breakthehabit/FirstFragment.kt b/app/src/main/java/com/hyperling/breakthehabit/FirstFragment.kt deleted file mode 100644 index 6edef86..0000000 --- a/app/src/main/java/com/hyperling/breakthehabit/FirstFragment.kt +++ /dev/null @@ -1,31 +0,0 @@ -package com.hyperling.breakthehabit - -import android.os.Bundle -import androidx.fragment.app.Fragment -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import android.widget.Button -import androidx.navigation.fragment.findNavController - -/** - * A simple [Fragment] subclass as the default destination in the navigation. - */ -class FirstFragment : Fragment() { - - override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_first, container, false) - } - - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - super.onViewCreated(view, savedInstanceState) - - view.findViewById