박규리
Showing 41 changed files with 898 additions and 0 deletions
1 +*.iml
2 +.gradle
3 +/local.properties
4 +/.idea/caches
5 +/.idea/libraries
6 +/.idea/modules.xml
7 +/.idea/workspace.xml
8 +/.idea/navEditor.xml
9 +/.idea/assetWizardSettings.xml
10 +.DS_Store
11 +/build
12 +/captures
13 +.externalNativeBuild
14 +.cxx
15 +local.properties
1 +# Default ignored files
2 +/shelf/
3 +/workspace.xml
1 +Holiday Counter
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<project version="4">
3 + <component name="CompilerConfiguration">
4 + <bytecodeTargetLevel target="11" />
5 + </component>
6 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<project version="4">
3 + <component name="GradleSettings">
4 + <option name="linkedExternalProjectsSettings">
5 + <GradleProjectSettings>
6 + <option name="testRunner" value="GRADLE" />
7 + <option name="distributionType" value="DEFAULT_WRAPPED" />
8 + <option name="externalProjectPath" value="$PROJECT_DIR$" />
9 + <option name="modules">
10 + <set>
11 + <option value="$PROJECT_DIR$" />
12 + <option value="$PROJECT_DIR$/app" />
13 + </set>
14 + </option>
15 + <option name="resolveModulePerSourceSet" value="false" />
16 + </GradleProjectSettings>
17 + </option>
18 + </component>
19 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<project version="4">
3 + <component name="DesignSurface">
4 + <option name="filePathToZoomLevelMap">
5 + <map>
6 + <entry key="..\:/Workspaces/teamPARK/holiday-counter-recommend-activity/android/app/src/main/res/layout/activity_main.xml" value="0.38697916666666665" />
7 + </map>
8 + </option>
9 + </component>
10 + <component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="Android Studio default JDK" project-jdk-type="JavaSDK">
11 + <output url="file://$PROJECT_DIR$/build/classes" />
12 + </component>
13 + <component name="ProjectType">
14 + <option name="id" value="Android" />
15 + </component>
16 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<project version="4">
3 + <component name="VcsDirectoryMappings">
4 + <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
5 + </component>
6 +</project>
...\ No newline at end of file ...\ No newline at end of file
1 +/build
...\ No newline at end of file ...\ No newline at end of file
1 +plugins {
2 + id 'com.android.application'
3 +}
4 +
5 +android {
6 + compileSdk 32
7 +
8 + defaultConfig {
9 + applicationId "com.example.holidaycounter"
10 + minSdk 21
11 + targetSdk 32
12 + versionCode 1
13 + versionName "1.0"
14 +
15 + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
16 + }
17 +
18 + buildTypes {
19 + release {
20 + minifyEnabled false
21 + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
22 + }
23 + }
24 + compileOptions {
25 + sourceCompatibility JavaVersion.VERSION_1_8
26 + targetCompatibility JavaVersion.VERSION_1_8
27 + }
28 +}
29 +
30 +dependencies {
31 +
32 + implementation 'androidx.appcompat:appcompat:1.3.0'
33 + implementation 'com.google.android.material:material:1.4.0'
34 + implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
35 + implementation 'org.jsoup:jsoup:1.13.1'
36 + testImplementation 'junit:junit:4.13.2'
37 + androidTestImplementation 'androidx.test.ext:junit:1.1.3'
38 + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
39 +}
...\ No newline at end of file ...\ No newline at end of file
1 +# Add project specific ProGuard rules here.
2 +# You can control the set of applied configuration files using the
3 +# proguardFiles setting in build.gradle.
4 +#
5 +# For more details, see
6 +# http://developer.android.com/guide/developing/tools/proguard.html
7 +
8 +# If your project uses WebView with JS, uncomment the following
9 +# and specify the fully qualified class name to the JavaScript interface
10 +# class:
11 +#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12 +# public *;
13 +#}
14 +
15 +# Uncomment this to preserve the line number information for
16 +# debugging stack traces.
17 +#-keepattributes SourceFile,LineNumberTable
18 +
19 +# If you keep the line number information, uncomment this to
20 +# hide the original source file name.
21 +#-renamesourcefileattribute SourceFile
...\ No newline at end of file ...\ No newline at end of file
1 +package com.example.holidaycounter;
2 +
3 +import android.content.Context;
4 +
5 +import androidx.test.platform.app.InstrumentationRegistry;
6 +import androidx.test.ext.junit.runners.AndroidJUnit4;
7 +
8 +import org.junit.Test;
9 +import org.junit.runner.RunWith;
10 +
11 +import static org.junit.Assert.*;
12 +
13 +/**
14 + * Instrumented test, which will execute on an Android device.
15 + *
16 + * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
17 + */
18 +@RunWith(AndroidJUnit4.class)
19 +public class ExampleInstrumentedTest {
20 + @Test
21 + public void useAppContext() {
22 + // Context of the app under test.
23 + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
24 + assertEquals("com.example.holidaycounter", appContext.getPackageName());
25 + }
26 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 + package="com.example.holidaycounter">
4 + <uses-permission android:name="android.permission.INTERNET"/>
5 + <application
6 + android:allowBackup="true"
7 + android:icon="@mipmap/ic_launcher"
8 + android:label="@string/app_name"
9 + android:roundIcon="@mipmap/ic_launcher_round"
10 + android:supportsRtl="true"
11 + android:usesCleartextTraffic="true"
12 + android:theme="@style/Theme.HolidayCounter">
13 + <activity
14 + android:name=".MainActivity"
15 + android:exported="true">
16 + <intent-filter>
17 + <action android:name="android.intent.action.MAIN" />
18 +
19 + <category android:name="android.intent.category.LAUNCHER" />
20 + </intent-filter>
21 + </activity>
22 + </application>
23 +
24 +</manifest>
...\ No newline at end of file ...\ No newline at end of file
1 +package com.example.holidaycounter;
2 +
3 +import androidx.appcompat.app.AppCompatActivity;
4 +
5 +import android.os.Bundle;
6 +import android.os.Handler;
7 +import android.os.Message;
8 +import android.widget.TextView;
9 +
10 +import org.jsoup.Jsoup;
11 +import org.jsoup.nodes.Document;
12 +import org.jsoup.nodes.Element;
13 +
14 +import java.io.IOException;
15 +
16 +public class MainActivity extends AppCompatActivity {
17 + TextView todayDate;
18 + TextView dateName;
19 + TextView locDate;
20 + TextView leftDate;
21 + String url = "http://52.200.90.192:8080/app";
22 + String msg;
23 + final Bundle bundle = new Bundle();
24 +
25 +
26 + Handler handler = new Handler() {
27 + @Override
28 + public void handleMessage(Message msg) {
29 + Bundle bundle = msg.getData();
30 + String[] data = bundle.getString("message").split(",");
31 + todayDate.setText(data[0]);
32 + dateName.setText(data[1]);
33 + locDate.setText(Integer.parseInt(data[2].substring(4, 6)) + "월 " + Integer.parseInt(data[2].substring(6)) + "일");
34 + leftDate.setText("D-" + data[3]);
35 + }
36 + };
37 +
38 + @Override
39 + protected void onCreate(Bundle savedInstanceState) {
40 +
41 + super.onCreate(savedInstanceState);
42 + setContentView(R.layout.activity_main);
43 +
44 + todayDate = findViewById(R.id.todayDate);
45 + dateName = findViewById(R.id.dateName);
46 + locDate = findViewById(R.id.locDate);
47 + leftDate = findViewById(R.id.leftDate);
48 + new Thread() {
49 + public void run() {
50 + Document doc = null;
51 + try {
52 + doc = Jsoup.connect(url).get();
53 + Element elements = doc.select("body").first();
54 + msg = elements.text();
55 + bundle.putString("message", msg);
56 + Message msg = handler.obtainMessage();
57 + msg.setData(bundle);
58 + handler.sendMessage(msg);
59 + } catch (IOException e) {
60 + e.printStackTrace();
61 + }
62 + }
63 + }.start();
64 + }
65 +
66 +}
...\ No newline at end of file ...\ No newline at end of file
1 +<vector xmlns:android="http://schemas.android.com/apk/res/android"
2 + xmlns:aapt="http://schemas.android.com/aapt"
3 + android:width="108dp"
4 + android:height="108dp"
5 + android:viewportWidth="108"
6 + android:viewportHeight="108">
7 + <path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
8 + <aapt:attr name="android:fillColor">
9 + <gradient
10 + android:endX="85.84757"
11 + android:endY="92.4963"
12 + android:startX="42.9492"
13 + android:startY="49.59793"
14 + android:type="linear">
15 + <item
16 + android:color="#44000000"
17 + android:offset="0.0" />
18 + <item
19 + android:color="#00000000"
20 + android:offset="1.0" />
21 + </gradient>
22 + </aapt:attr>
23 + </path>
24 + <path
25 + android:fillColor="#FFFFFF"
26 + android:fillType="nonZero"
27 + android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
28 + android:strokeWidth="1"
29 + android:strokeColor="#00000000" />
30 +</vector>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<vector xmlns:android="http://schemas.android.com/apk/res/android"
3 + android:width="108dp"
4 + android:height="108dp"
5 + android:viewportWidth="108"
6 + android:viewportHeight="108">
7 + <path
8 + android:fillColor="#3DDC84"
9 + android:pathData="M0,0h108v108h-108z" />
10 + <path
11 + android:fillColor="#00000000"
12 + android:pathData="M9,0L9,108"
13 + android:strokeWidth="0.8"
14 + android:strokeColor="#33FFFFFF" />
15 + <path
16 + android:fillColor="#00000000"
17 + android:pathData="M19,0L19,108"
18 + android:strokeWidth="0.8"
19 + android:strokeColor="#33FFFFFF" />
20 + <path
21 + android:fillColor="#00000000"
22 + android:pathData="M29,0L29,108"
23 + android:strokeWidth="0.8"
24 + android:strokeColor="#33FFFFFF" />
25 + <path
26 + android:fillColor="#00000000"
27 + android:pathData="M39,0L39,108"
28 + android:strokeWidth="0.8"
29 + android:strokeColor="#33FFFFFF" />
30 + <path
31 + android:fillColor="#00000000"
32 + android:pathData="M49,0L49,108"
33 + android:strokeWidth="0.8"
34 + android:strokeColor="#33FFFFFF" />
35 + <path
36 + android:fillColor="#00000000"
37 + android:pathData="M59,0L59,108"
38 + android:strokeWidth="0.8"
39 + android:strokeColor="#33FFFFFF" />
40 + <path
41 + android:fillColor="#00000000"
42 + android:pathData="M69,0L69,108"
43 + android:strokeWidth="0.8"
44 + android:strokeColor="#33FFFFFF" />
45 + <path
46 + android:fillColor="#00000000"
47 + android:pathData="M79,0L79,108"
48 + android:strokeWidth="0.8"
49 + android:strokeColor="#33FFFFFF" />
50 + <path
51 + android:fillColor="#00000000"
52 + android:pathData="M89,0L89,108"
53 + android:strokeWidth="0.8"
54 + android:strokeColor="#33FFFFFF" />
55 + <path
56 + android:fillColor="#00000000"
57 + android:pathData="M99,0L99,108"
58 + android:strokeWidth="0.8"
59 + android:strokeColor="#33FFFFFF" />
60 + <path
61 + android:fillColor="#00000000"
62 + android:pathData="M0,9L108,9"
63 + android:strokeWidth="0.8"
64 + android:strokeColor="#33FFFFFF" />
65 + <path
66 + android:fillColor="#00000000"
67 + android:pathData="M0,19L108,19"
68 + android:strokeWidth="0.8"
69 + android:strokeColor="#33FFFFFF" />
70 + <path
71 + android:fillColor="#00000000"
72 + android:pathData="M0,29L108,29"
73 + android:strokeWidth="0.8"
74 + android:strokeColor="#33FFFFFF" />
75 + <path
76 + android:fillColor="#00000000"
77 + android:pathData="M0,39L108,39"
78 + android:strokeWidth="0.8"
79 + android:strokeColor="#33FFFFFF" />
80 + <path
81 + android:fillColor="#00000000"
82 + android:pathData="M0,49L108,49"
83 + android:strokeWidth="0.8"
84 + android:strokeColor="#33FFFFFF" />
85 + <path
86 + android:fillColor="#00000000"
87 + android:pathData="M0,59L108,59"
88 + android:strokeWidth="0.8"
89 + android:strokeColor="#33FFFFFF" />
90 + <path
91 + android:fillColor="#00000000"
92 + android:pathData="M0,69L108,69"
93 + android:strokeWidth="0.8"
94 + android:strokeColor="#33FFFFFF" />
95 + <path
96 + android:fillColor="#00000000"
97 + android:pathData="M0,79L108,79"
98 + android:strokeWidth="0.8"
99 + android:strokeColor="#33FFFFFF" />
100 + <path
101 + android:fillColor="#00000000"
102 + android:pathData="M0,89L108,89"
103 + android:strokeWidth="0.8"
104 + android:strokeColor="#33FFFFFF" />
105 + <path
106 + android:fillColor="#00000000"
107 + android:pathData="M0,99L108,99"
108 + android:strokeWidth="0.8"
109 + android:strokeColor="#33FFFFFF" />
110 + <path
111 + android:fillColor="#00000000"
112 + android:pathData="M19,29L89,29"
113 + android:strokeWidth="0.8"
114 + android:strokeColor="#33FFFFFF" />
115 + <path
116 + android:fillColor="#00000000"
117 + android:pathData="M19,39L89,39"
118 + android:strokeWidth="0.8"
119 + android:strokeColor="#33FFFFFF" />
120 + <path
121 + android:fillColor="#00000000"
122 + android:pathData="M19,49L89,49"
123 + android:strokeWidth="0.8"
124 + android:strokeColor="#33FFFFFF" />
125 + <path
126 + android:fillColor="#00000000"
127 + android:pathData="M19,59L89,59"
128 + android:strokeWidth="0.8"
129 + android:strokeColor="#33FFFFFF" />
130 + <path
131 + android:fillColor="#00000000"
132 + android:pathData="M19,69L89,69"
133 + android:strokeWidth="0.8"
134 + android:strokeColor="#33FFFFFF" />
135 + <path
136 + android:fillColor="#00000000"
137 + android:pathData="M19,79L89,79"
138 + android:strokeWidth="0.8"
139 + android:strokeColor="#33FFFFFF" />
140 + <path
141 + android:fillColor="#00000000"
142 + android:pathData="M29,19L29,89"
143 + android:strokeWidth="0.8"
144 + android:strokeColor="#33FFFFFF" />
145 + <path
146 + android:fillColor="#00000000"
147 + android:pathData="M39,19L39,89"
148 + android:strokeWidth="0.8"
149 + android:strokeColor="#33FFFFFF" />
150 + <path
151 + android:fillColor="#00000000"
152 + android:pathData="M49,19L49,89"
153 + android:strokeWidth="0.8"
154 + android:strokeColor="#33FFFFFF" />
155 + <path
156 + android:fillColor="#00000000"
157 + android:pathData="M59,19L59,89"
158 + android:strokeWidth="0.8"
159 + android:strokeColor="#33FFFFFF" />
160 + <path
161 + android:fillColor="#00000000"
162 + android:pathData="M69,19L69,89"
163 + android:strokeWidth="0.8"
164 + android:strokeColor="#33FFFFFF" />
165 + <path
166 + android:fillColor="#00000000"
167 + android:pathData="M79,19L79,89"
168 + android:strokeWidth="0.8"
169 + android:strokeColor="#33FFFFFF" />
170 +</vector>
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 + xmlns:app="http://schemas.android.com/apk/res-auto"
4 + xmlns:tools="http://schemas.android.com/tools"
5 + android:layout_width="match_parent"
6 + android:layout_height="match_parent"
7 + tools:context=".MainActivity">
8 +
9 + <TextView
10 + android:id="@+id/leftDate"
11 + android:layout_width="380dp"
12 + android:layout_height="217dp"
13 + android:text="D-0"
14 + android:textAlignment="center"
15 + android:textSize="200sp"
16 + app:layout_constraintBottom_toBottomOf="parent"
17 + app:layout_constraintHorizontal_bias="0.466"
18 + app:layout_constraintLeft_toLeftOf="parent"
19 + app:layout_constraintRight_toRightOf="parent"
20 + app:layout_constraintTop_toTopOf="parent"
21 + app:layout_constraintVertical_bias="0.278" />
22 +
23 + <TextView
24 + android:id="@+id/dateName"
25 + android:layout_width="364dp"
26 + android:layout_height="42dp"
27 + android:layout_marginTop="4dp"
28 + android:text="NONE"
29 + android:textAlignment="center"
30 + android:textSize="32sp"
31 + app:layout_constraintEnd_toEndOf="parent"
32 + app:layout_constraintHorizontal_bias="0.498"
33 + app:layout_constraintStart_toStartOf="parent"
34 + app:layout_constraintTop_toBottomOf="@+id/leftDate" />
35 +
36 + <TextView
37 + android:id="@+id/locDate"
38 + android:layout_width="210dp"
39 + android:layout_height="28dp"
40 + android:text="0월 0일"
41 + android:textAlignment="center"
42 + android:textSize="18sp"
43 + app:layout_constraintEnd_toEndOf="parent"
44 + app:layout_constraintStart_toStartOf="parent"
45 + app:layout_constraintTop_toBottomOf="@+id/dateName" />
46 +
47 + <TextView
48 + android:id="@+id/todayDate"
49 + android:layout_width="78dp"
50 + android:layout_height="19dp"
51 + android:layout_marginEnd="2dp"
52 + android:text="0000-00-00"
53 + android:textAlignment="viewEnd"
54 + app:layout_constraintBottom_toBottomOf="parent"
55 + app:layout_constraintEnd_toEndOf="parent" />
56 +
57 +</androidx.constraintlayout.widget.ConstraintLayout>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3 + <background android:drawable="@drawable/ic_launcher_background" />
4 + <foreground android:drawable="@drawable/ic_launcher_foreground" />
5 +</adaptive-icon>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3 + <background android:drawable="@drawable/ic_launcher_background" />
4 + <foreground android:drawable="@drawable/ic_launcher_foreground" />
5 +</adaptive-icon>
...\ No newline at end of file ...\ No newline at end of file
1 +<resources xmlns:tools="http://schemas.android.com/tools">
2 + <!-- Base application theme. -->
3 + <style name="Theme.HolidayCounter" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
4 + <!-- Primary brand color. -->
5 + <item name="colorPrimary">@color/purple_200</item>
6 + <item name="colorPrimaryVariant">@color/purple_700</item>
7 + <item name="colorOnPrimary">@color/black</item>
8 + <!-- Secondary brand color. -->
9 + <item name="colorSecondary">@color/teal_200</item>
10 + <item name="colorSecondaryVariant">@color/teal_200</item>
11 + <item name="colorOnSecondary">@color/black</item>
12 + <!-- Status bar color. -->
13 + <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
14 + <!-- Customize your theme here. -->
15 + </style>
16 +</resources>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<resources>
3 + <color name="purple_200">#FFBB86FC</color>
4 + <color name="purple_500">#FF6200EE</color>
5 + <color name="purple_700">#FF3700B3</color>
6 + <color name="teal_200">#FF03DAC5</color>
7 + <color name="teal_700">#FF018786</color>
8 + <color name="black">#FF000000</color>
9 + <color name="white">#FFFFFFFF</color>
10 +</resources>
...\ No newline at end of file ...\ No newline at end of file
1 +<resources>
2 + <string name="app_name">Holiday Counter</string>
3 +</resources>
...\ No newline at end of file ...\ No newline at end of file
1 +<resources xmlns:tools="http://schemas.android.com/tools">
2 + <!-- Base application theme. -->
3 + <style name="Theme.HolidayCounter" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
4 + <!-- Primary brand color. -->
5 + <item name="colorPrimary">@color/purple_500</item>
6 + <item name="colorPrimaryVariant">@color/purple_700</item>
7 + <item name="colorOnPrimary">@color/white</item>
8 + <!-- Secondary brand color. -->
9 + <item name="colorSecondary">@color/teal_200</item>
10 + <item name="colorSecondaryVariant">@color/teal_700</item>
11 + <item name="colorOnSecondary">@color/black</item>
12 + <!-- Status bar color. -->
13 + <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
14 + <!-- Customize your theme here. -->
15 + </style>
16 +</resources>
...\ No newline at end of file ...\ No newline at end of file
1 +package com.example.holidaycounter;
2 +
3 +import org.junit.Test;
4 +
5 +import static org.junit.Assert.*;
6 +
7 +/**
8 + * Example local unit test, which will execute on the development machine (host).
9 + *
10 + * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
11 + */
12 +public class ExampleUnitTest {
13 + @Test
14 + public void addition_isCorrect() {
15 + assertEquals(4, 2 + 2);
16 + }
17 +}
...\ No newline at end of file ...\ No newline at end of file
1 +// Top-level build file where you can add configuration options common to all sub-projects/modules.
2 +plugins {
3 + id 'com.android.application' version '7.1.1' apply false
4 + id 'com.android.library' version '7.1.1' apply false
5 +}
6 +
7 +task clean(type: Delete) {
8 + delete rootProject.buildDir
9 +}
...\ No newline at end of file ...\ No newline at end of file
1 +# Project-wide Gradle settings.
2 +# IDE (e.g. Android Studio) users:
3 +# Gradle settings configured through the IDE *will override*
4 +# any settings specified in this file.
5 +# For more details on how to configure your build environment visit
6 +# http://www.gradle.org/docs/current/userguide/build_environment.html
7 +# Specifies the JVM arguments used for the daemon process.
8 +# The setting is particularly useful for tweaking memory settings.
9 +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
10 +# When configured, Gradle will run in incubating parallel mode.
11 +# This option should only be used with decoupled projects. More details, visit
12 +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 +# org.gradle.parallel=true
14 +# AndroidX package structure to make it clearer which packages are bundled with the
15 +# Android operating system, and which are packaged with your app"s APK
16 +# https://developer.android.com/topic/libraries/support-library/androidx-rn
17 +android.useAndroidX=true
18 +# Enables namespacing of each library's R class so that its R class includes only the
19 +# resources declared in the library itself and none from the library's dependencies,
20 +# thereby reducing the size of the R class for that library
21 +android.nonTransitiveRClass=true
...\ No newline at end of file ...\ No newline at end of file
No preview for this file type
1 +#Fri May 27 13:32:24 KST 2022
2 +distributionBase=GRADLE_USER_HOME
3 +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
4 +distributionPath=wrapper/dists
5 +zipStorePath=wrapper/dists
6 +zipStoreBase=GRADLE_USER_HOME
1 +#!/usr/bin/env sh
2 +
3 +#
4 +# Copyright 2015 the original author or authors.
5 +#
6 +# Licensed under the Apache License, Version 2.0 (the "License");
7 +# you may not use this file except in compliance with the License.
8 +# You may obtain a copy of the License at
9 +#
10 +# https://www.apache.org/licenses/LICENSE-2.0
11 +#
12 +# Unless required by applicable law or agreed to in writing, software
13 +# distributed under the License is distributed on an "AS IS" BASIS,
14 +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 +# See the License for the specific language governing permissions and
16 +# limitations under the License.
17 +#
18 +
19 +##############################################################################
20 +##
21 +## Gradle start up script for UN*X
22 +##
23 +##############################################################################
24 +
25 +# Attempt to set APP_HOME
26 +# Resolve links: $0 may be a link
27 +PRG="$0"
28 +# Need this for relative symlinks.
29 +while [ -h "$PRG" ] ; do
30 + ls=`ls -ld "$PRG"`
31 + link=`expr "$ls" : '.*-> \(.*\)$'`
32 + if expr "$link" : '/.*' > /dev/null; then
33 + PRG="$link"
34 + else
35 + PRG=`dirname "$PRG"`"/$link"
36 + fi
37 +done
38 +SAVED="`pwd`"
39 +cd "`dirname \"$PRG\"`/" >/dev/null
40 +APP_HOME="`pwd -P`"
41 +cd "$SAVED" >/dev/null
42 +
43 +APP_NAME="Gradle"
44 +APP_BASE_NAME=`basename "$0"`
45 +
46 +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
47 +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
48 +
49 +# Use the maximum available, or set MAX_FD != -1 to use that value.
50 +MAX_FD="maximum"
51 +
52 +warn () {
53 + echo "$*"
54 +}
55 +
56 +die () {
57 + echo
58 + echo "$*"
59 + echo
60 + exit 1
61 +}
62 +
63 +# OS specific support (must be 'true' or 'false').
64 +cygwin=false
65 +msys=false
66 +darwin=false
67 +nonstop=false
68 +case "`uname`" in
69 + CYGWIN* )
70 + cygwin=true
71 + ;;
72 + Darwin* )
73 + darwin=true
74 + ;;
75 + MINGW* )
76 + msys=true
77 + ;;
78 + NONSTOP* )
79 + nonstop=true
80 + ;;
81 +esac
82 +
83 +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
84 +
85 +
86 +# Determine the Java command to use to start the JVM.
87 +if [ -n "$JAVA_HOME" ] ; then
88 + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
89 + # IBM's JDK on AIX uses strange locations for the executables
90 + JAVACMD="$JAVA_HOME/jre/sh/java"
91 + else
92 + JAVACMD="$JAVA_HOME/bin/java"
93 + fi
94 + if [ ! -x "$JAVACMD" ] ; then
95 + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
96 +
97 +Please set the JAVA_HOME variable in your environment to match the
98 +location of your Java installation."
99 + fi
100 +else
101 + JAVACMD="java"
102 + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
103 +
104 +Please set the JAVA_HOME variable in your environment to match the
105 +location of your Java installation."
106 +fi
107 +
108 +# Increase the maximum file descriptors if we can.
109 +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
110 + MAX_FD_LIMIT=`ulimit -H -n`
111 + if [ $? -eq 0 ] ; then
112 + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
113 + MAX_FD="$MAX_FD_LIMIT"
114 + fi
115 + ulimit -n $MAX_FD
116 + if [ $? -ne 0 ] ; then
117 + warn "Could not set maximum file descriptor limit: $MAX_FD"
118 + fi
119 + else
120 + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
121 + fi
122 +fi
123 +
124 +# For Darwin, add options to specify how the application appears in the dock
125 +if $darwin; then
126 + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
127 +fi
128 +
129 +# For Cygwin or MSYS, switch paths to Windows format before running java
130 +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
131 + APP_HOME=`cygpath --path --mixed "$APP_HOME"`
132 + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
133 +
134 + JAVACMD=`cygpath --unix "$JAVACMD"`
135 +
136 + # We build the pattern for arguments to be converted via cygpath
137 + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
138 + SEP=""
139 + for dir in $ROOTDIRSRAW ; do
140 + ROOTDIRS="$ROOTDIRS$SEP$dir"
141 + SEP="|"
142 + done
143 + OURCYGPATTERN="(^($ROOTDIRS))"
144 + # Add a user-defined pattern to the cygpath arguments
145 + if [ "$GRADLE_CYGPATTERN" != "" ] ; then
146 + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
147 + fi
148 + # Now convert the arguments - kludge to limit ourselves to /bin/sh
149 + i=0
150 + for arg in "$@" ; do
151 + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
152 + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
153 +
154 + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
155 + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
156 + else
157 + eval `echo args$i`="\"$arg\""
158 + fi
159 + i=`expr $i + 1`
160 + done
161 + case $i in
162 + 0) set -- ;;
163 + 1) set -- "$args0" ;;
164 + 2) set -- "$args0" "$args1" ;;
165 + 3) set -- "$args0" "$args1" "$args2" ;;
166 + 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
167 + 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
168 + 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
169 + 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
170 + 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
171 + 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
172 + esac
173 +fi
174 +
175 +# Escape application args
176 +save () {
177 + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
178 + echo " "
179 +}
180 +APP_ARGS=`save "$@"`
181 +
182 +# Collect all arguments for the java command, following the shell quoting and substitution rules
183 +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
184 +
185 +exec "$JAVACMD" "$@"
1 +@rem
2 +@rem Copyright 2015 the original author or authors.
3 +@rem
4 +@rem Licensed under the Apache License, Version 2.0 (the "License");
5 +@rem you may not use this file except in compliance with the License.
6 +@rem You may obtain a copy of the License at
7 +@rem
8 +@rem https://www.apache.org/licenses/LICENSE-2.0
9 +@rem
10 +@rem Unless required by applicable law or agreed to in writing, software
11 +@rem distributed under the License is distributed on an "AS IS" BASIS,
12 +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 +@rem See the License for the specific language governing permissions and
14 +@rem limitations under the License.
15 +@rem
16 +
17 +@if "%DEBUG%" == "" @echo off
18 +@rem ##########################################################################
19 +@rem
20 +@rem Gradle startup script for Windows
21 +@rem
22 +@rem ##########################################################################
23 +
24 +@rem Set local scope for the variables with windows NT shell
25 +if "%OS%"=="Windows_NT" setlocal
26 +
27 +set DIRNAME=%~dp0
28 +if "%DIRNAME%" == "" set DIRNAME=.
29 +set APP_BASE_NAME=%~n0
30 +set APP_HOME=%DIRNAME%
31 +
32 +@rem Resolve any "." and ".." in APP_HOME to make it shorter.
33 +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34 +
35 +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36 +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37 +
38 +@rem Find java.exe
39 +if defined JAVA_HOME goto findJavaFromJavaHome
40 +
41 +set JAVA_EXE=java.exe
42 +%JAVA_EXE% -version >NUL 2>&1
43 +if "%ERRORLEVEL%" == "0" goto execute
44 +
45 +echo.
46 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47 +echo.
48 +echo Please set the JAVA_HOME variable in your environment to match the
49 +echo location of your Java installation.
50 +
51 +goto fail
52 +
53 +:findJavaFromJavaHome
54 +set JAVA_HOME=%JAVA_HOME:"=%
55 +set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56 +
57 +if exist "%JAVA_EXE%" goto execute
58 +
59 +echo.
60 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61 +echo.
62 +echo Please set the JAVA_HOME variable in your environment to match the
63 +echo location of your Java installation.
64 +
65 +goto fail
66 +
67 +:execute
68 +@rem Setup the command line
69 +
70 +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71 +
72 +
73 +@rem Execute Gradle
74 +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75 +
76 +:end
77 +@rem End local scope for the variables with windows NT shell
78 +if "%ERRORLEVEL%"=="0" goto mainEnd
79 +
80 +:fail
81 +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82 +rem the _cmd.exe /c_ return code!
83 +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84 +exit /b 1
85 +
86 +:mainEnd
87 +if "%OS%"=="Windows_NT" endlocal
88 +
89 +:omega
1 +pluginManagement {
2 + repositories {
3 + gradlePluginPortal()
4 + google()
5 + mavenCentral()
6 + }
7 +}
8 +dependencyResolutionManagement {
9 + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
10 + repositories {
11 + google()
12 + mavenCentral()
13 + }
14 +}
15 +rootProject.name = "Holiday Counter"
16 +include ':app'