강수인

Initial Commit

Showing 46 changed files with 1328 additions and 0 deletions
1 +*.iml
2 +.gradle
3 +/local.properties
4 +/.idea/libraries
5 +/.idea/modules.xml
6 +/.idea/workspace.xml
7 +.DS_Store
8 +/build
9 +/captures
10 +.externalNativeBuild
No preview for this file type
1 +<component name="ProjectCodeStyleConfiguration">
2 + <code_scheme name="Project" version="173">
3 + <Objective-C-extensions>
4 + <file>
5 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
6 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
7 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
8 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
9 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
10 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
11 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
12 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
13 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
14 + </file>
15 + <class>
16 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
17 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
18 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
19 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
20 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
21 + <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
22 + </class>
23 + <extensions>
24 + <pair source="cpp" header="h" fileNamingConvention="NONE" />
25 + <pair source="c" header="h" fileNamingConvention="NONE" />
26 + </extensions>
27 + </Objective-C-extensions>
28 + </code_scheme>
29 +</component>
...\ 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="distributionType" value="DEFAULT_WRAPPED" />
7 + <option name="externalProjectPath" value="$PROJECT_DIR$" />
8 + <option name="modules">
9 + <set>
10 + <option value="$PROJECT_DIR$" />
11 + <option value="$PROJECT_DIR$/app" />
12 + </set>
13 + </option>
14 + <option name="resolveModulePerSourceSet" value="false" />
15 + </GradleProjectSettings>
16 + </option>
17 + </component>
18 +</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="NullableNotNullManager">
4 + <option name="myDefaultNullable" value="android.support.annotation.Nullable" />
5 + <option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
6 + <option name="myNullables">
7 + <value>
8 + <list size="5">
9 + <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
10 + <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
11 + <item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
12 + <item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
13 + <item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
14 + </list>
15 + </value>
16 + </option>
17 + <option name="myNotNulls">
18 + <value>
19 + <list size="4">
20 + <item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
21 + <item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
22 + <item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
23 + <item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
24 + </list>
25 + </value>
26 + </option>
27 + </component>
28 + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
29 + <output url="file://$PROJECT_DIR$/build/classes" />
30 + </component>
31 + <component name="ProjectType">
32 + <option name="id" value="Android" />
33 + </component>
34 +</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="RunConfigurationProducerService">
4 + <option name="ignoredProducers">
5 + <set>
6 + <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
7 + <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
8 + <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
9 + </set>
10 + </option>
11 + </component>
12 +</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 +apply plugin: 'com.android.application'
2 +
3 +android {
4 + compileSdkVersion 27
5 + defaultConfig {
6 + applicationId "com.example.ksi.refrigerator"
7 + minSdkVersion 15
8 + targetSdkVersion 27
9 + versionCode 1
10 + versionName "1.0"
11 + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
12 + }
13 + buildTypes {
14 + release {
15 + minifyEnabled false
16 + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
17 + }
18 + }
19 +}
20 +
21 +dependencies {
22 + implementation fileTree(dir: 'libs', include: ['*.jar'])
23 + implementation 'com.android.support:appcompat-v7:27.0.0'
24 + implementation 'com.android.support.constraint:constraint-layout:1.1.3'
25 + testImplementation 'junit:junit:4.12'
26 + androidTestImplementation 'com.android.support.test:runner:1.0.2'
27 + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
28 + implementation 'com.github.bumptech.glide:glide:3.7.0'
29 +}
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
1 +package com.example.ksi.refrigerator;
2 +
3 +import android.content.Context;
4 +import android.support.test.InstrumentationRegistry;
5 +import android.support.test.runner.AndroidJUnit4;
6 +
7 +import org.junit.Test;
8 +import org.junit.runner.RunWith;
9 +
10 +import static org.junit.Assert.*;
11 +
12 +/**
13 + * Instrumented test, which will execute on an Android device.
14 + *
15 + * @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
16 + */
17 +@RunWith(AndroidJUnit4.class)
18 +public class ExampleInstrumentedTest {
19 + @Test
20 + public void useAppContext() {
21 + // Context of the app under test.
22 + Context appContext = InstrumentationRegistry.getTargetContext();
23 +
24 + assertEquals("com.example.ksi.refrigerator", appContext.getPackageName());
25 + }
26 +}
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 + package="com.example.ksi.refrigerator">
4 +
5 + <uses-permission android:name="android.permission.INTERNET" />
6 +
7 + <application
8 + android:allowBackup="true"
9 + android:icon="@mipmap/ic_launcher"
10 + android:label="@string/app_name"
11 + android:roundIcon="@mipmap/ic_launcher_round"
12 + android:supportsRtl="true"
13 + android:theme="@style/AppTheme">
14 + <activity android:name=".MainActivity">
15 + <intent-filter>
16 + <action android:name="android.intent.action.MAIN" />
17 +
18 + <category android:name="android.intent.category.LAUNCHER" />
19 + </intent-filter>
20 + </activity>
21 + <activity android:name=".Main2Activity" />
22 + <activity android:name=".Main3Activity" />
23 + <activity android:name=".Main4Activity"></activity>
24 + </application>
25 +
26 +</manifest>
...\ No newline at end of file ...\ No newline at end of file
1 +package com.example.ksi.refrigerator;
2 +
3 +import java.io.Serializable;
4 +import java.util.Date;
5 +
6 +public class Item implements Serializable{
7 + String name="";
8 + Date date=new Date();
9 + String image = "";
10 +
11 +}
1 +package com.example.ksi.refrigerator;
2 +
3 +import android.content.Intent;
4 +import android.graphics.Bitmap;
5 +import android.net.Uri;
6 +import android.provider.MediaStore;
7 +import android.support.v7.app.AppCompatActivity;
8 +import android.os.Bundle;
9 +import android.view.View;
10 +import android.widget.ImageView;
11 +
12 +public class Main2Activity extends AppCompatActivity {
13 +
14 + Intent intent;
15 + ImageView barcode ;
16 + Item item = new Item();
17 + @Override
18 + protected void onCreate(Bundle savedInstanceState) {
19 + super.onCreate(savedInstanceState);
20 + setContentView(R.layout.activity_main2);
21 +
22 + barcode = findViewById(R.id.imageView);
23 +
24 + intent = getIntent();
25 + Bitmap img = (Bitmap)intent.getParcelableExtra("barcode");
26 + barcode.setImageBitmap(img);
27 + }
28 +
29 + public void selfInput(View view){
30 + Intent intent = new Intent(this,Main3Activity.class);
31 + intent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
32 + intent.putExtra("item",item);
33 + startActivity(intent);
34 + finish();
35 + }
36 + public void photoAgain(View view){
37 + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
38 + if(intent.resolveActivity(getPackageManager())!=null) {
39 + startActivityForResult(intent, 1);
40 + }
41 + }
42 + public void add(View view){
43 +
44 + }
45 +
46 + @Override
47 + protected void onActivityResult(int requestCode, int resultCode, Intent data) {
48 + //super.onActivityResult(requestCode, resultCode, data);
49 +
50 + Bitmap img;
51 + if(requestCode == 1 && resultCode == RESULT_OK)
52 + {
53 + Bundle extras = data.getExtras();
54 + img = (Bitmap) extras.get("data");
55 + barcode.setImageBitmap(img);
56 + }
57 + }
58 +}
1 +package com.example.ksi.refrigerator;
2 +
3 +import android.app.DatePickerDialog;
4 +import android.content.Intent;
5 +import android.support.v7.app.AppCompatActivity;
6 +import android.os.Bundle;
7 +import android.view.View;
8 +import android.widget.DatePicker;
9 +import android.widget.EditText;
10 +import android.widget.TextView;
11 +import android.widget.Toast;
12 +
13 +import java.util.Calendar;
14 +import java.util.Date;
15 +
16 +public class Main3Activity extends AppCompatActivity {
17 +
18 + Intent intent;
19 + Item item;
20 +
21 + TextView name;
22 + TextView date;
23 + @Override
24 + protected void onCreate(Bundle savedInstanceState) {
25 + super.onCreate(savedInstanceState);
26 + setContentView(R.layout.activity_main3);
27 +
28 + name = findViewById(R.id.name);
29 + date = findViewById(R.id.datepick);
30 +
31 + intent = getIntent();
32 +
33 + item = (Item) intent.getSerializableExtra("item");
34 +
35 + name.setText(item.name);
36 +
37 + item.image = "https://us.123rf.com/450wm/utima/utima1512/utima151200012/50417381-%EC%8B%A0%EC%84%A0%ED%95%9C-%EB%B9%A8%EA%B0%84-%EC%82%AC%EA%B3%BC-%ED%99%94%EC%9D%B4%ED%8A%B8%EC%97%90-%EA%B2%A9%EB%A6%AC%EC%9E%85%EB%8B%88%EB%8B%A4-%ED%81%B4%EB%A6%AC%ED%95%91-%ED%8C%A8%EC%8A%A4%EC%99%80-%ED%95%A8%EA%BB%98.jpg?ver=6";
38 + }
39 +
40 + public void addItem(View view){
41 + Intent mainIntent = new Intent();
42 + mainIntent.putExtra("item2",item);
43 + setResult(RESULT_OK,mainIntent);
44 + finish();
45 + }
46 + public void datePick(View view) {
47 + Calendar pickedDate = Calendar.getInstance();
48 + Calendar minDate = Calendar.getInstance();
49 +
50 + DatePickerDialog datePickerDialog = new DatePickerDialog(
51 + Main3Activity.this,
52 + new DatePickerDialog.OnDateSetListener() {
53 + @Override
54 + public void onDateSet(DatePicker datePicker, int year, int month, int dayofMonth) {
55 + Toast.makeText(getApplicationContext(), "select date : " + year + "-" + (month + 1) + "-" + dayofMonth, Toast.LENGTH_LONG).show();
56 + date.setText(year + "-" + (month + 1) + "-" + dayofMonth);
57 + item.date = new Date(year,month,dayofMonth);
58 + }
59 + },
60 + pickedDate.get(Calendar.YEAR),
61 + pickedDate.get(Calendar.MONTH),
62 + pickedDate.get(Calendar.DATE)
63 + );
64 +
65 + datePickerDialog.show();
66 + }
67 +}
1 +package com.example.ksi.refrigerator;
2 +
3 +import android.content.Context;
4 +import android.content.Intent;
5 +import android.support.v7.app.AppCompatActivity;
6 +import android.os.Bundle;
7 +import android.text.Layout;
8 +import android.view.LayoutInflater;
9 +import android.widget.LinearLayout;
10 +import android.widget.TextView;
11 +
12 +import java.text.Format;
13 +import java.text.SimpleDateFormat;
14 +import java.util.ArrayList;
15 +
16 +public class Main4Activity extends AppCompatActivity {
17 +
18 + Intent intent;
19 +
20 + ArrayList<Item> itemList = new ArrayList();
21 + @Override
22 + protected void onCreate(Bundle savedInstanceState) {
23 + super.onCreate(savedInstanceState);
24 + setContentView(R.layout.activity_main4);
25 +
26 + intent = getIntent();
27 +
28 + itemList = (ArrayList<Item>)intent.getSerializableExtra("item");
29 +
30 + LinearLayout layout = findViewById(R.id.layout);
31 + TextView item[][] = new TextView[itemList.size()][2];
32 +
33 + for(int i=0; i< itemList.size();i++)
34 + {
35 + item[i][0] = new TextView(this);
36 + item[i][1] = new TextView(this);
37 +
38 + item[i][0].setText(itemList.get(i).name);
39 + item[i][0].setTextSize(20);
40 + Format formatter = new SimpleDateFormat("yyyy-MM-dd");
41 + String s = formatter.format(itemList.get(i).date);
42 + item[i][1].setText(s);
43 + item[i][1].setTextSize(20);
44 +
45 +
46 + LinearLayout layout2 = new LinearLayout(this);
47 + layout2.addView(item[i][0]);
48 + layout2.addView(item[i][1]);
49 + layout.addView(layout2);
50 + }
51 +
52 +
53 +
54 +
55 + }
56 +}
1 +package com.example.ksi.refrigerator;
2 +
3 +import android.content.Intent;
4 +import android.graphics.Bitmap;
5 +import android.media.Image;
6 +import android.provider.MediaStore;
7 +import android.support.v7.app.AppCompatActivity;
8 +import android.os.Bundle;
9 +import android.view.View;
10 +import android.widget.ImageView;
11 +import android.widget.TableLayout;
12 +import android.widget.TableRow;
13 +import android.widget.Toast;
14 +
15 +import com.bumptech.glide.Glide;
16 +
17 +import java.lang.reflect.Array;
18 +import java.net.URL;
19 +import java.util.ArrayList;
20 +import java.util.Date;
21 +
22 +public class MainActivity extends AppCompatActivity {
23 +
24 + ArrayList<Item> itemList = new ArrayList();
25 +
26 + @Override
27 + protected void onCreate(Bundle savedInstanceState) {
28 + super.onCreate(savedInstanceState);
29 + setContentView(R.layout.activity_main);
30 +
31 + for(int i=0; i<3; i++)
32 + {
33 + Item temp = new Item();
34 + temp.name = "사과";
35 + temp.date = new Date();
36 + itemList.add(temp);
37 + }
38 +
39 + }
40 +
41 + public void showExpdate(View view){
42 + Intent intent = new Intent(this,Main4Activity.class);
43 +
44 + ArrayList<Item> ExpdateItem = new ArrayList();
45 + for(int i=0; i<itemList.size();i++)
46 + {
47 + Date today = new Date();
48 + long dif = today.getTime()-itemList.get(i).date.getTime();
49 + dif = dif/(24*60*60*1000);
50 +
51 + //유통기한 3일 남은것까지 보여주기
52 + if(dif < 4){
53 + ExpdateItem.add(itemList.get(i));
54 + }
55 + }
56 +
57 + intent.putExtra("item",ExpdateItem);
58 +
59 + startActivity(intent);
60 + }
61 +
62 + public void addItem(View view){
63 + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
64 + if(intent.resolveActivity(getPackageManager())!=null) {
65 + startActivityForResult(intent, 1);
66 + }
67 + }
68 +
69 + @Override
70 + protected void onActivityResult(int requestCode, int resultCode, Intent data) {
71 + //super.onActivityResult(requestCode, resultCode, data);
72 +
73 + Bitmap img;
74 + if(requestCode == 1 && resultCode == RESULT_OK)
75 + {
76 + Bundle extras = data.getExtras();
77 + img = (Bitmap) extras.get("data");
78 + Intent intent = new Intent(MainActivity.this,Main2Activity.class);
79 + intent.putExtra("barcode",img);
80 + startActivityForResult(intent, 2);
81 + }
82 + else if(requestCode == 2 && resultCode == RESULT_OK)
83 + {
84 + Toast.makeText(this,"성공!",Toast.LENGTH_LONG).show();
85 + Item item = (Item)data.getSerializableExtra("item2");
86 + itemList.add(item);
87 +
88 + TableRow row = new TableRow(this);
89 + ImageView photo = new ImageView(this);
90 + photo.setBackgroundColor(0xFF00FF00);
91 + Glide.with(this)
92 + .load(item.image)
93 + .override(200,200)
94 + .into(photo);
95 +
96 + photo.setLayoutParams(new TableRow.LayoutParams(
97 + TableRow.LayoutParams.WRAP_CONTENT,
98 + TableRow.LayoutParams.WRAP_CONTENT));
99 +
100 + row.setLayoutParams(new TableLayout.LayoutParams(
101 + TableLayout.LayoutParams.WRAP_CONTENT,
102 + TableLayout.LayoutParams.WRAP_CONTENT));
103 +
104 + row.addView(photo);
105 +
106 + TableLayout table = (TableLayout)findViewById(R.id.refri);
107 + table.addView(row);
108 +
109 + }
110 + }
111 +
112 +
113 +}
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:viewportHeight="108"
6 + android:viewportWidth="108">
7 + <path
8 + android:fillType="evenOdd"
9 + android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
10 + android:strokeColor="#00000000"
11 + android:strokeWidth="1">
12 + <aapt:attr name="android:fillColor">
13 + <gradient
14 + android:endX="78.5885"
15 + android:endY="90.9159"
16 + android:startX="48.7653"
17 + android:startY="61.0927"
18 + android:type="linear">
19 + <item
20 + android:color="#44000000"
21 + android:offset="0.0" />
22 + <item
23 + android:color="#00000000"
24 + android:offset="1.0" />
25 + </gradient>
26 + </aapt:attr>
27 + </path>
28 + <path
29 + android:fillColor="#FFFFFF"
30 + android:fillType="nonZero"
31 + android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
32 + android:strokeColor="#00000000"
33 + android:strokeWidth="1" />
34 +</vector>
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:viewportHeight="108"
6 + android:viewportWidth="108">
7 + <path
8 + android:fillColor="#26A69A"
9 + android:pathData="M0,0h108v108h-108z" />
10 + <path
11 + android:fillColor="#00000000"
12 + android:pathData="M9,0L9,108"
13 + android:strokeColor="#33FFFFFF"
14 + android:strokeWidth="0.8" />
15 + <path
16 + android:fillColor="#00000000"
17 + android:pathData="M19,0L19,108"
18 + android:strokeColor="#33FFFFFF"
19 + android:strokeWidth="0.8" />
20 + <path
21 + android:fillColor="#00000000"
22 + android:pathData="M29,0L29,108"
23 + android:strokeColor="#33FFFFFF"
24 + android:strokeWidth="0.8" />
25 + <path
26 + android:fillColor="#00000000"
27 + android:pathData="M39,0L39,108"
28 + android:strokeColor="#33FFFFFF"
29 + android:strokeWidth="0.8" />
30 + <path
31 + android:fillColor="#00000000"
32 + android:pathData="M49,0L49,108"
33 + android:strokeColor="#33FFFFFF"
34 + android:strokeWidth="0.8" />
35 + <path
36 + android:fillColor="#00000000"
37 + android:pathData="M59,0L59,108"
38 + android:strokeColor="#33FFFFFF"
39 + android:strokeWidth="0.8" />
40 + <path
41 + android:fillColor="#00000000"
42 + android:pathData="M69,0L69,108"
43 + android:strokeColor="#33FFFFFF"
44 + android:strokeWidth="0.8" />
45 + <path
46 + android:fillColor="#00000000"
47 + android:pathData="M79,0L79,108"
48 + android:strokeColor="#33FFFFFF"
49 + android:strokeWidth="0.8" />
50 + <path
51 + android:fillColor="#00000000"
52 + android:pathData="M89,0L89,108"
53 + android:strokeColor="#33FFFFFF"
54 + android:strokeWidth="0.8" />
55 + <path
56 + android:fillColor="#00000000"
57 + android:pathData="M99,0L99,108"
58 + android:strokeColor="#33FFFFFF"
59 + android:strokeWidth="0.8" />
60 + <path
61 + android:fillColor="#00000000"
62 + android:pathData="M0,9L108,9"
63 + android:strokeColor="#33FFFFFF"
64 + android:strokeWidth="0.8" />
65 + <path
66 + android:fillColor="#00000000"
67 + android:pathData="M0,19L108,19"
68 + android:strokeColor="#33FFFFFF"
69 + android:strokeWidth="0.8" />
70 + <path
71 + android:fillColor="#00000000"
72 + android:pathData="M0,29L108,29"
73 + android:strokeColor="#33FFFFFF"
74 + android:strokeWidth="0.8" />
75 + <path
76 + android:fillColor="#00000000"
77 + android:pathData="M0,39L108,39"
78 + android:strokeColor="#33FFFFFF"
79 + android:strokeWidth="0.8" />
80 + <path
81 + android:fillColor="#00000000"
82 + android:pathData="M0,49L108,49"
83 + android:strokeColor="#33FFFFFF"
84 + android:strokeWidth="0.8" />
85 + <path
86 + android:fillColor="#00000000"
87 + android:pathData="M0,59L108,59"
88 + android:strokeColor="#33FFFFFF"
89 + android:strokeWidth="0.8" />
90 + <path
91 + android:fillColor="#00000000"
92 + android:pathData="M0,69L108,69"
93 + android:strokeColor="#33FFFFFF"
94 + android:strokeWidth="0.8" />
95 + <path
96 + android:fillColor="#00000000"
97 + android:pathData="M0,79L108,79"
98 + android:strokeColor="#33FFFFFF"
99 + android:strokeWidth="0.8" />
100 + <path
101 + android:fillColor="#00000000"
102 + android:pathData="M0,89L108,89"
103 + android:strokeColor="#33FFFFFF"
104 + android:strokeWidth="0.8" />
105 + <path
106 + android:fillColor="#00000000"
107 + android:pathData="M0,99L108,99"
108 + android:strokeColor="#33FFFFFF"
109 + android:strokeWidth="0.8" />
110 + <path
111 + android:fillColor="#00000000"
112 + android:pathData="M19,29L89,29"
113 + android:strokeColor="#33FFFFFF"
114 + android:strokeWidth="0.8" />
115 + <path
116 + android:fillColor="#00000000"
117 + android:pathData="M19,39L89,39"
118 + android:strokeColor="#33FFFFFF"
119 + android:strokeWidth="0.8" />
120 + <path
121 + android:fillColor="#00000000"
122 + android:pathData="M19,49L89,49"
123 + android:strokeColor="#33FFFFFF"
124 + android:strokeWidth="0.8" />
125 + <path
126 + android:fillColor="#00000000"
127 + android:pathData="M19,59L89,59"
128 + android:strokeColor="#33FFFFFF"
129 + android:strokeWidth="0.8" />
130 + <path
131 + android:fillColor="#00000000"
132 + android:pathData="M19,69L89,69"
133 + android:strokeColor="#33FFFFFF"
134 + android:strokeWidth="0.8" />
135 + <path
136 + android:fillColor="#00000000"
137 + android:pathData="M19,79L89,79"
138 + android:strokeColor="#33FFFFFF"
139 + android:strokeWidth="0.8" />
140 + <path
141 + android:fillColor="#00000000"
142 + android:pathData="M29,19L29,89"
143 + android:strokeColor="#33FFFFFF"
144 + android:strokeWidth="0.8" />
145 + <path
146 + android:fillColor="#00000000"
147 + android:pathData="M39,19L39,89"
148 + android:strokeColor="#33FFFFFF"
149 + android:strokeWidth="0.8" />
150 + <path
151 + android:fillColor="#00000000"
152 + android:pathData="M49,19L49,89"
153 + android:strokeColor="#33FFFFFF"
154 + android:strokeWidth="0.8" />
155 + <path
156 + android:fillColor="#00000000"
157 + android:pathData="M59,19L59,89"
158 + android:strokeColor="#33FFFFFF"
159 + android:strokeWidth="0.8" />
160 + <path
161 + android:fillColor="#00000000"
162 + android:pathData="M69,19L69,89"
163 + android:strokeColor="#33FFFFFF"
164 + android:strokeWidth="0.8" />
165 + <path
166 + android:fillColor="#00000000"
167 + android:pathData="M79,19L79,89"
168 + android:strokeColor="#33FFFFFF"
169 + android:strokeWidth="0.8" />
170 +</vector>
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<android.support.constraint.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 + tools:layout_editor_absoluteY="81dp">
9 +
10 + <LinearLayout
11 + android:id="@+id/linearLayout"
12 + android:layout_width="0dp"
13 + android:layout_height="0dp"
14 + android:layout_marginBottom="16dp"
15 + android:layout_marginEnd="24dp"
16 + android:layout_marginLeft="24dp"
17 + android:layout_marginRight="24dp"
18 + android:layout_marginStart="24dp"
19 + android:layout_marginTop="24dp"
20 + android:orientation="vertical"
21 + app:layout_constraintBottom_toTopOf="@+id/textView"
22 + app:layout_constraintEnd_toEndOf="parent"
23 + app:layout_constraintHorizontal_bias="0.0"
24 + app:layout_constraintStart_toStartOf="parent"
25 + app:layout_constraintTop_toTopOf="parent">
26 +
27 + <TableLayout
28 + android:id="@+id/freezer"
29 + android:layout_width="match_parent"
30 + android:layout_height="match_parent"
31 + android:layout_weight="1">
32 +
33 + </TableLayout>
34 +
35 + <TableLayout
36 + android:id="@+id/refri"
37 + android:layout_width="match_parent"
38 + android:layout_height="match_parent"
39 + android:layout_weight="1">
40 +
41 + </TableLayout>
42 + </LinearLayout>
43 +
44 + <Button
45 + android:id="@+id/button2"
46 + android:layout_width="0dp"
47 + android:layout_height="wrap_content"
48 + android:layout_marginBottom="16dp"
49 + android:layout_marginEnd="8dp"
50 + android:layout_marginLeft="8dp"
51 + android:layout_marginRight="8dp"
52 + android:layout_marginStart="8dp"
53 + android:onClick="addItem"
54 + android:text="+"
55 + app:layout_constraintBottom_toBottomOf="parent"
56 + app:layout_constraintEnd_toEndOf="parent"
57 + app:layout_constraintHorizontal_bias="0.0"
58 + app:layout_constraintStart_toStartOf="parent" />
59 +
60 + <TextView
61 + android:id="@+id/textView"
62 + android:layout_width="0dp"
63 + android:layout_height="wrap_content"
64 + android:layout_marginBottom="16dp"
65 + android:layout_marginEnd="8dp"
66 + android:layout_marginLeft="8dp"
67 + android:layout_marginRight="8dp"
68 + android:layout_marginStart="8dp"
69 + android:onClick="showExpdate"
70 + android:text="유통기한 임박 상품"
71 + android:textSize="18sp"
72 + app:layout_constraintBottom_toTopOf="@+id/button2"
73 + app:layout_constraintEnd_toEndOf="parent"
74 + app:layout_constraintHorizontal_bias="0.0"
75 + app:layout_constraintStart_toStartOf="parent" />
76 +
77 +</android.support.constraint.ConstraintLayout>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<android.support.constraint.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=".Main2Activity">
8 +
9 + <LinearLayout
10 + android:layout_width="0dp"
11 + android:layout_height="0dp"
12 + android:layout_marginBottom="24dp"
13 + android:layout_marginEnd="24dp"
14 + android:layout_marginLeft="24dp"
15 + android:layout_marginRight="24dp"
16 + android:layout_marginStart="24dp"
17 + android:layout_marginTop="24dp"
18 + android:orientation="vertical"
19 + app:layout_constraintBottom_toBottomOf="parent"
20 + app:layout_constraintEnd_toEndOf="parent"
21 + app:layout_constraintHorizontal_bias="0.0"
22 + app:layout_constraintStart_toStartOf="parent"
23 + app:layout_constraintTop_toTopOf="parent"
24 + app:layout_constraintVertical_bias="0.0">
25 +
26 + <ImageView
27 + android:id="@+id/imageView"
28 + android:layout_width="match_parent"
29 + android:layout_height="0dp"
30 + android:layout_weight="1"
31 + app:srcCompat="@android:color/background_light" />
32 +
33 + <LinearLayout
34 + android:layout_width="match_parent"
35 + android:layout_height="wrap_content">
36 +
37 + <Button
38 + android:id="@+id/btn"
39 + android:layout_width="match_parent"
40 + android:layout_height="match_parent"
41 + android:layout_weight="1"
42 + android:onClick="selfInput"
43 + android:text="직접입력" />
44 +
45 + <Button
46 + android:id="@+id/button3"
47 + android:layout_width="match_parent"
48 + android:layout_height="match_parent"
49 + android:layout_weight="1"
50 + android:onClick="photoAgain"
51 + android:text="다시 찍기" />
52 +
53 + <Button
54 + android:id="@+id/button4"
55 + android:layout_width="match_parent"
56 + android:layout_height="match_parent"
57 + android:layout_weight="1"
58 + android:onClick="add"
59 + android:text="완료" />
60 + </LinearLayout>
61 +
62 + </LinearLayout>
63 +</android.support.constraint.ConstraintLayout>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<android.support.constraint.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=".Main3Activity">
8 +
9 + <LinearLayout
10 + android:layout_width="match_parent"
11 + android:layout_height="match_parent"
12 + android:layout_marginBottom="24dp"
13 + android:layout_marginEnd="24dp"
14 + android:layout_marginLeft="24dp"
15 + android:layout_marginRight="24dp"
16 + android:layout_marginStart="24dp"
17 + android:layout_marginTop="24dp"
18 + android:orientation="vertical"
19 + app:layout_constraintBottom_toBottomOf="parent"
20 + app:layout_constraintEnd_toEndOf="parent"
21 + app:layout_constraintHorizontal_bias="1.0"
22 + app:layout_constraintStart_toStartOf="parent"
23 + app:layout_constraintTop_toTopOf="parent"
24 + app:layout_constraintVertical_bias="1.0">
25 +
26 + <LinearLayout
27 + android:layout_width="match_parent"
28 + android:layout_height="wrap_content"
29 + android:orientation="horizontal">
30 +
31 + <TextView
32 + android:id="@+id/textView"
33 + android:layout_width="0dp"
34 + android:layout_height="wrap_content"
35 + android:layout_weight="1"
36 + android:text="상품명"
37 + android:textSize="18sp" />
38 +
39 + <TextView
40 + android:id="@+id/name"
41 + android:layout_width="0dp"
42 + android:layout_height="wrap_content"
43 + android:layout_weight="2" />
44 + </LinearLayout>
45 +
46 + <LinearLayout
47 + android:layout_width="match_parent"
48 + android:layout_height="wrap_content"
49 + android:orientation="horizontal">
50 +
51 + <TextView
52 + android:id="@+id/textView5"
53 + android:layout_width="0dp"
54 + android:layout_height="wrap_content"
55 + android:layout_weight="1"
56 + android:text="유통 기한"
57 + android:textSize="18sp" />
58 +
59 + <TextView
60 + android:id="@+id/datepick"
61 + android:layout_width="0dp"
62 + android:layout_height="match_parent"
63 + android:layout_weight="2"
64 + android:onClick="datePick" />
65 +
66 + </LinearLayout>
67 +
68 + <ImageView
69 + android:id="@+id/imageView"
70 + android:layout_width="match_parent"
71 + android:layout_height="wrap_content"
72 + app:srcCompat="@android:color/background_light" />
73 +
74 + <Button
75 + android:id="@+id/button"
76 + android:layout_width="match_parent"
77 + android:layout_height="wrap_content"
78 + android:onClick="addItem"
79 + android:text="상품 추가" />
80 + </LinearLayout>
81 +</android.support.constraint.ConstraintLayout>
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="utf-8"?>
2 +<android.support.constraint.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=".Main4Activity">
8 +
9 + <TextView
10 + android:id="@+id/textView2"
11 + android:layout_width="244dp"
12 + android:layout_height="51dp"
13 + android:layout_marginEnd="72dp"
14 + android:layout_marginLeft="68dp"
15 + android:layout_marginRight="72dp"
16 + android:layout_marginStart="68dp"
17 + android:layout_marginTop="28dp"
18 + android:text="유통기한 임박 상품"
19 + android:textSize="30sp"
20 + app:layout_constraintEnd_toEndOf="parent"
21 + app:layout_constraintStart_toStartOf="parent"
22 + app:layout_constraintTop_toTopOf="parent" />
23 +
24 + <LinearLayout
25 + android:id="@+id/layout"
26 + android:layout_width="289dp"
27 + android:layout_height="398dp"
28 + android:layout_marginLeft="48dp"
29 + android:layout_marginStart="48dp"
30 + android:layout_marginTop="12dp"
31 + android:orientation="vertical"
32 + app:layout_constraintStart_toStartOf="parent"
33 + app:layout_constraintTop_toBottomOf="@+id/textView2">
34 +
35 + </LinearLayout>
36 +</android.support.constraint.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 +<?xml version="1.0" encoding="utf-8"?>
2 +<resources>
3 + <color name="colorPrimary">#3F51B5</color>
4 + <color name="colorPrimaryDark">#303F9F</color>
5 + <color name="colorAccent">#FF4081</color>
6 +</resources>
1 +<resources>
2 + <string name="app_name">Refrigerator</string>
3 +</resources>
1 +<resources>
2 +
3 + <!-- Base application theme. -->
4 + <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
5 + <!-- Customize your theme here. -->
6 + <item name="colorPrimary">@color/colorPrimary</item>
7 + <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
8 + <item name="colorAccent">@color/colorAccent</item>
9 + </style>
10 +
11 +</resources>
1 +package com.example.ksi.refrigerator;
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 +
3 +buildscript {
4 +
5 + repositories {
6 + google()
7 + jcenter()
8 + }
9 + dependencies {
10 + classpath 'com.android.tools.build:gradle:3.1.4'
11 +
12 +
13 + // NOTE: Do not place your application dependencies here; they belong
14 + // in the individual module build.gradle files
15 + }
16 +}
17 +
18 +allprojects {
19 + repositories {
20 + google()
21 + jcenter()
22 + }
23 +}
24 +
25 +task clean(type: Delete) {
26 + delete rootProject.buildDir
27 +}
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=-Xmx1536m
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
No preview for this file type
1 +#Tue Oct 09 15:23:07 KST 2018
2 +distributionBase=GRADLE_USER_HOME
3 +distributionPath=wrapper/dists
4 +zipStoreBase=GRADLE_USER_HOME
5 +zipStorePath=wrapper/dists
6 +distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
1 +#!/usr/bin/env sh
2 +
3 +##############################################################################
4 +##
5 +## Gradle start up script for UN*X
6 +##
7 +##############################################################################
8 +
9 +# Attempt to set APP_HOME
10 +# Resolve links: $0 may be a link
11 +PRG="$0"
12 +# Need this for relative symlinks.
13 +while [ -h "$PRG" ] ; do
14 + ls=`ls -ld "$PRG"`
15 + link=`expr "$ls" : '.*-> \(.*\)$'`
16 + if expr "$link" : '/.*' > /dev/null; then
17 + PRG="$link"
18 + else
19 + PRG=`dirname "$PRG"`"/$link"
20 + fi
21 +done
22 +SAVED="`pwd`"
23 +cd "`dirname \"$PRG\"`/" >/dev/null
24 +APP_HOME="`pwd -P`"
25 +cd "$SAVED" >/dev/null
26 +
27 +APP_NAME="Gradle"
28 +APP_BASE_NAME=`basename "$0"`
29 +
30 +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31 +DEFAULT_JVM_OPTS=""
32 +
33 +# Use the maximum available, or set MAX_FD != -1 to use that value.
34 +MAX_FD="maximum"
35 +
36 +warn () {
37 + echo "$*"
38 +}
39 +
40 +die () {
41 + echo
42 + echo "$*"
43 + echo
44 + exit 1
45 +}
46 +
47 +# OS specific support (must be 'true' or 'false').
48 +cygwin=false
49 +msys=false
50 +darwin=false
51 +nonstop=false
52 +case "`uname`" in
53 + CYGWIN* )
54 + cygwin=true
55 + ;;
56 + Darwin* )
57 + darwin=true
58 + ;;
59 + MINGW* )
60 + msys=true
61 + ;;
62 + NONSTOP* )
63 + nonstop=true
64 + ;;
65 +esac
66 +
67 +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
68 +
69 +# Determine the Java command to use to start the JVM.
70 +if [ -n "$JAVA_HOME" ] ; then
71 + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
72 + # IBM's JDK on AIX uses strange locations for the executables
73 + JAVACMD="$JAVA_HOME/jre/sh/java"
74 + else
75 + JAVACMD="$JAVA_HOME/bin/java"
76 + fi
77 + if [ ! -x "$JAVACMD" ] ; then
78 + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
79 +
80 +Please set the JAVA_HOME variable in your environment to match the
81 +location of your Java installation."
82 + fi
83 +else
84 + JAVACMD="java"
85 + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
86 +
87 +Please set the JAVA_HOME variable in your environment to match the
88 +location of your Java installation."
89 +fi
90 +
91 +# Increase the maximum file descriptors if we can.
92 +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
93 + MAX_FD_LIMIT=`ulimit -H -n`
94 + if [ $? -eq 0 ] ; then
95 + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
96 + MAX_FD="$MAX_FD_LIMIT"
97 + fi
98 + ulimit -n $MAX_FD
99 + if [ $? -ne 0 ] ; then
100 + warn "Could not set maximum file descriptor limit: $MAX_FD"
101 + fi
102 + else
103 + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
104 + fi
105 +fi
106 +
107 +# For Darwin, add options to specify how the application appears in the dock
108 +if $darwin; then
109 + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
110 +fi
111 +
112 +# For Cygwin, switch paths to Windows format before running java
113 +if $cygwin ; then
114 + APP_HOME=`cygpath --path --mixed "$APP_HOME"`
115 + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116 + JAVACMD=`cygpath --unix "$JAVACMD"`
117 +
118 + # We build the pattern for arguments to be converted via cygpath
119 + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
120 + SEP=""
121 + for dir in $ROOTDIRSRAW ; do
122 + ROOTDIRS="$ROOTDIRS$SEP$dir"
123 + SEP="|"
124 + done
125 + OURCYGPATTERN="(^($ROOTDIRS))"
126 + # Add a user-defined pattern to the cygpath arguments
127 + if [ "$GRADLE_CYGPATTERN" != "" ] ; then
128 + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
129 + fi
130 + # Now convert the arguments - kludge to limit ourselves to /bin/sh
131 + i=0
132 + for arg in "$@" ; do
133 + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
134 + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
135 +
136 + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
137 + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
138 + else
139 + eval `echo args$i`="\"$arg\""
140 + fi
141 + i=$((i+1))
142 + done
143 + case $i in
144 + (0) set -- ;;
145 + (1) set -- "$args0" ;;
146 + (2) set -- "$args0" "$args1" ;;
147 + (3) set -- "$args0" "$args1" "$args2" ;;
148 + (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149 + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150 + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151 + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152 + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153 + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154 + esac
155 +fi
156 +
157 +# Escape application args
158 +save () {
159 + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160 + echo " "
161 +}
162 +APP_ARGS=$(save "$@")
163 +
164 +# Collect all arguments for the java command, following the shell quoting and substitution rules
165 +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
166 +
167 +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
168 +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
169 + cd "$(dirname "$0")"
170 +fi
171 +
172 +exec "$JAVACMD" "$@"
1 +@if "%DEBUG%" == "" @echo off
2 +@rem ##########################################################################
3 +@rem
4 +@rem Gradle startup script for Windows
5 +@rem
6 +@rem ##########################################################################
7 +
8 +@rem Set local scope for the variables with windows NT shell
9 +if "%OS%"=="Windows_NT" setlocal
10 +
11 +set DIRNAME=%~dp0
12 +if "%DIRNAME%" == "" set DIRNAME=.
13 +set APP_BASE_NAME=%~n0
14 +set APP_HOME=%DIRNAME%
15 +
16 +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17 +set DEFAULT_JVM_OPTS=
18 +
19 +@rem Find java.exe
20 +if defined JAVA_HOME goto findJavaFromJavaHome
21 +
22 +set JAVA_EXE=java.exe
23 +%JAVA_EXE% -version >NUL 2>&1
24 +if "%ERRORLEVEL%" == "0" goto init
25 +
26 +echo.
27 +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 +echo.
29 +echo Please set the JAVA_HOME variable in your environment to match the
30 +echo location of your Java installation.
31 +
32 +goto fail
33 +
34 +:findJavaFromJavaHome
35 +set JAVA_HOME=%JAVA_HOME:"=%
36 +set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 +
38 +if exist "%JAVA_EXE%" goto init
39 +
40 +echo.
41 +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 +echo.
43 +echo Please set the JAVA_HOME variable in your environment to match the
44 +echo location of your Java installation.
45 +
46 +goto fail
47 +
48 +:init
49 +@rem Get command-line arguments, handling Windows variants
50 +
51 +if not "%OS%" == "Windows_NT" goto win9xME_args
52 +
53 +:win9xME_args
54 +@rem Slurp the command line arguments.
55 +set CMD_LINE_ARGS=
56 +set _SKIP=2
57 +
58 +:win9xME_args_slurp
59 +if "x%~1" == "x" goto execute
60 +
61 +set CMD_LINE_ARGS=%*
62 +
63 +:execute
64 +@rem Setup the command line
65 +
66 +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67 +
68 +@rem Execute Gradle
69 +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70 +
71 +:end
72 +@rem End local scope for the variables with windows NT shell
73 +if "%ERRORLEVEL%"=="0" goto mainEnd
74 +
75 +:fail
76 +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77 +rem the _cmd.exe /c_ return code!
78 +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79 +exit /b 1
80 +
81 +:mainEnd
82 +if "%OS%"=="Windows_NT" endlocal
83 +
84 +:omega
1 +include ':app'