Showing
36 changed files
with
329 additions
and
28 deletions
... | @@ -12,19 +12,19 @@ | ... | @@ -12,19 +12,19 @@ |
12 | android:roundIcon="@mipmap/ic_launcher_round" | 12 | android:roundIcon="@mipmap/ic_launcher_round" |
13 | android:supportsRtl="true" | 13 | android:supportsRtl="true" |
14 | android:theme="@style/AppTheme"> | 14 | android:theme="@style/AppTheme"> |
15 | - <activity android:name=".ui.SplashActivity" | 15 | + <activity android:name=".ui.VideoCheckActivity"></activity> |
16 | - android:screenOrientation="fullSensor" | 16 | + <activity android:name=".ui.DeviceManagerActivity" /> |
17 | - android:noHistory="true"> | 17 | + <activity android:name=".ui.RemoteControlRecordActivity" /> |
18 | - | 18 | + <activity |
19 | - </activity> | 19 | + android:name=".ui.SplashActivity" |
20 | - <activity android:name=".ui.MainActivity" > | 20 | + android:noHistory="true" |
21 | - | 21 | + android:screenOrientation="fullSensor" /> |
22 | + <activity android:name=".ui.MainActivity"> | ||
22 | <intent-filter> | 23 | <intent-filter> |
23 | <action android:name="android.intent.action.MAIN" /> | 24 | <action android:name="android.intent.action.MAIN" /> |
24 | 25 | ||
25 | <category android:name="android.intent.category.LAUNCHER" /> | 26 | <category android:name="android.intent.category.LAUNCHER" /> |
26 | </intent-filter> | 27 | </intent-filter> |
27 | - | ||
28 | </activity> | 28 | </activity> |
29 | </application> | 29 | </application> |
30 | 30 | ... | ... |
1 | +package com.sunnni.smartdoorlock.ui; | ||
2 | + | ||
3 | +import androidx.appcompat.app.AppCompatActivity; | ||
4 | + | ||
5 | +import android.os.Bundle; | ||
6 | + | ||
7 | +import com.sunnni.smartdoorlock.R; | ||
8 | + | ||
9 | +public class DeviceManagerActivity extends AppCompatActivity { | ||
10 | + | ||
11 | + @Override | ||
12 | + protected void onCreate(Bundle savedInstanceState) { | ||
13 | + super.onCreate(savedInstanceState); | ||
14 | + setContentView(R.layout.activity_device_manager); | ||
15 | + } | ||
16 | +} |
... | @@ -2,32 +2,163 @@ package com.sunnni.smartdoorlock.ui; | ... | @@ -2,32 +2,163 @@ package com.sunnni.smartdoorlock.ui; |
2 | 2 | ||
3 | import androidx.appcompat.app.AppCompatActivity; | 3 | import androidx.appcompat.app.AppCompatActivity; |
4 | import androidx.appcompat.widget.Toolbar; | 4 | import androidx.appcompat.widget.Toolbar; |
5 | +import androidx.constraintlayout.widget.ConstraintLayout; | ||
5 | 6 | ||
7 | +import android.annotation.SuppressLint; | ||
8 | +import android.content.Intent; | ||
6 | import android.os.Bundle; | 9 | import android.os.Bundle; |
10 | +import android.os.CountDownTimer; | ||
11 | +import android.view.View; | ||
12 | +import android.widget.Button; | ||
13 | +import android.widget.ImageView; | ||
14 | +import android.widget.TextView; | ||
7 | 15 | ||
8 | import com.sunnni.smartdoorlock.R; | 16 | import com.sunnni.smartdoorlock.R; |
9 | 17 | ||
18 | +import org.w3c.dom.Text; | ||
19 | + | ||
10 | import java.util.Objects; | 20 | import java.util.Objects; |
21 | +import java.util.Timer; | ||
22 | +import java.util.TimerTask; | ||
23 | + | ||
24 | +// TODO: 타이머 구현 | ||
25 | +// TODO: drawer layout 구현 | ||
11 | 26 | ||
12 | public class MainActivity extends AppCompatActivity { | 27 | public class MainActivity extends AppCompatActivity { |
13 | 28 | ||
14 | - private Toolbar mToolbar; | 29 | + private Button mBtnTagControl; |
30 | + private ImageView mBtnTagControlBackground; | ||
31 | + private TextView mTvTagButtonStatus, mTvTagButtonStatusDetail; | ||
32 | + | ||
33 | + TagTimer timer; | ||
15 | 34 | ||
16 | @Override | 35 | @Override |
17 | protected void onCreate(Bundle savedInstanceState) { | 36 | protected void onCreate(Bundle savedInstanceState) { |
18 | super.onCreate(savedInstanceState); | 37 | super.onCreate(savedInstanceState); |
19 | setContentView(R.layout.activity_main); | 38 | setContentView(R.layout.activity_main); |
20 | 39 | ||
21 | - setToolbar(); | 40 | + Toolbar mToolbar = findViewById(R.id.toolbar_main); |
41 | + setToolbar(mToolbar); | ||
42 | + | ||
43 | + init(); | ||
44 | + timer = new TagTimer(5 * 1000, 1000, 5); | ||
22 | } | 45 | } |
23 | 46 | ||
24 | // 툴바 설정 | 47 | // 툴바 설정 |
25 | - private void setToolbar(){ | 48 | + private void setToolbar(Toolbar toolbar) { |
26 | - mToolbar = findViewById(R.id.toolbar_main); | 49 | + setSupportActionBar(toolbar); |
27 | - setSupportActionBar(mToolbar); | ||
28 | Objects.requireNonNull(getSupportActionBar()).setDisplayShowCustomEnabled(true); | 50 | Objects.requireNonNull(getSupportActionBar()).setDisplayShowCustomEnabled(true); |
29 | getSupportActionBar().setDisplayShowTitleEnabled(false); | 51 | getSupportActionBar().setDisplayShowTitleEnabled(false); |
30 | getSupportActionBar().setDisplayHomeAsUpEnabled(true); | 52 | getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
31 | getSupportActionBar().setHomeAsUpIndicator(R.drawable.baseline_menu_white_24); | 53 | getSupportActionBar().setHomeAsUpIndicator(R.drawable.baseline_menu_white_24); |
32 | } | 54 | } |
55 | + | ||
56 | + private void init() { | ||
57 | + mBtnTagControl = findViewById(R.id.btn_tag_control); | ||
58 | + mBtnTagControlBackground = findViewById(R.id.btn_tag_control_back); | ||
59 | + | ||
60 | + mTvTagButtonStatus = findViewById(R.id.tv_tag_status); | ||
61 | + mTvTagButtonStatusDetail = findViewById(R.id.tv_tag_status_detail); | ||
62 | + | ||
63 | + mBtnTagControl.setOnClickListener(new View.OnClickListener() { | ||
64 | + @Override | ||
65 | + public void onClick(View v) { | ||
66 | + tagControlManage(); | ||
67 | + } | ||
68 | + }); | ||
69 | + | ||
70 | + ConstraintLayout mClRemoteControl = findViewById(R.id.container_remote_button); | ||
71 | + ConstraintLayout mClRemoteRecord = findViewById(R.id.container_record_button); | ||
72 | + ConstraintLayout mClDeviceManager = findViewById(R.id.container_device_button); | ||
73 | + ConstraintLayout mClVideoRecord = findViewById(R.id.container_video_button); | ||
74 | + | ||
75 | + mClRemoteControl.setOnClickListener(new View.OnClickListener() { | ||
76 | + @Override | ||
77 | + public void onClick(View v) { | ||
78 | + // 원격 잠금해제 팝업 | ||
79 | + } | ||
80 | + }); | ||
81 | + | ||
82 | + // 원격 잠금해제 기록 화면으로 이동 | ||
83 | + mClRemoteRecord.setOnClickListener(new View.OnClickListener() { | ||
84 | + @Override | ||
85 | + public void onClick(View v) { | ||
86 | + Intent intent = new Intent(MainActivity.this, RemoteControlRecordActivity.class); | ||
87 | + startActivity(intent); | ||
88 | + } | ||
89 | + }); | ||
90 | + | ||
91 | + // 기기 관리 화면으로 이동 | ||
92 | + mClDeviceManager.setOnClickListener(new View.OnClickListener() { | ||
93 | + @Override | ||
94 | + public void onClick(View v) { | ||
95 | + Intent intent = new Intent(MainActivity.this, DeviceManagerActivity.class); | ||
96 | + startActivity(intent); | ||
97 | + } | ||
98 | + }); | ||
99 | + | ||
100 | + // 비디오 확인 화면으로 이동 | ||
101 | + mClVideoRecord.setOnClickListener(new View.OnClickListener() { | ||
102 | + @Override | ||
103 | + public void onClick(View v) { | ||
104 | + Intent intent = new Intent(MainActivity.this, VideoCheckActivity.class); | ||
105 | + startActivity(intent); | ||
106 | + } | ||
107 | + }); | ||
108 | + } | ||
109 | + | ||
110 | + // 도어락 태그 버튼 상태에 따라 뷰 변경 | ||
111 | + @SuppressLint("SetTextI18n") | ||
112 | + private void tagControlManage() { | ||
113 | + if (mBtnTagControl.isSelected()) { | ||
114 | + // 타이머 종료 | ||
115 | + timer.cancel(); | ||
116 | + timer.reset(); | ||
117 | + mBtnTagControl.setText(R.string.button_on); | ||
118 | + mTvTagButtonStatus.setText(R.string.tag_status_off); | ||
119 | + mTvTagButtonStatusDetail.setText(R.string.tag_status_off_detail); | ||
120 | + } else { | ||
121 | + // 타이머 시작 | ||
122 | + timer.start(); | ||
123 | + mBtnTagControl.setText(R.string.button_off); | ||
124 | + mTvTagButtonStatus.setText(R.string.tag_status_on); | ||
125 | + mTvTagButtonStatusDetail.setText(R.string.tag_status_on_detail); | ||
126 | + } | ||
127 | + mBtnTagControl.setSelected(!mBtnTagControl.isSelected()); | ||
128 | + mBtnTagControlBackground.setSelected(mBtnTagControl.isSelected()); | ||
129 | + } | ||
130 | + | ||
131 | + class TagTimer extends CountDownTimer { | ||
132 | + | ||
133 | + int count; | ||
134 | + | ||
135 | + public TagTimer(long millisInFuture, long countDownInterval, int count) { | ||
136 | + super(millisInFuture, countDownInterval); | ||
137 | + this.count = count; | ||
138 | + } | ||
139 | + | ||
140 | + @SuppressLint("SetTextI18n") | ||
141 | + @Override | ||
142 | + public void onTick(long millisUntilFinished) { | ||
143 | + mTvTagButtonStatusDetail.setText(count + getString(R.string.tag_status_on_detail)); | ||
144 | + count--; | ||
145 | + } | ||
146 | + | ||
147 | + @Override | ||
148 | + public void onFinish() { | ||
149 | + count = 5; | ||
150 | + | ||
151 | + mBtnTagControl.setText(getString(R.string.button_on)); | ||
152 | + | ||
153 | + mTvTagButtonStatus.setText(getString(R.string.tag_status_off)); | ||
154 | + mTvTagButtonStatusDetail.setText(getString(R.string.tag_status_off_detail)); | ||
155 | + | ||
156 | + mBtnTagControl.setSelected(!mBtnTagControl.isSelected()); | ||
157 | + mBtnTagControlBackground.setSelected(mBtnTagControl.isSelected()); | ||
158 | + } | ||
159 | + | ||
160 | + public void reset() { | ||
161 | + count = 5; | ||
162 | + } | ||
163 | + } | ||
33 | } | 164 | } |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | +package com.sunnni.smartdoorlock.ui; | ||
2 | + | ||
3 | +import androidx.appcompat.app.AppCompatActivity; | ||
4 | +import androidx.appcompat.widget.Toolbar; | ||
5 | + | ||
6 | +import android.os.Bundle; | ||
7 | +import android.view.View; | ||
8 | + | ||
9 | +import com.sunnni.smartdoorlock.R; | ||
10 | + | ||
11 | +import java.util.Objects; | ||
12 | + | ||
13 | +public class RemoteControlRecordActivity extends AppCompatActivity { | ||
14 | + | ||
15 | + @Override | ||
16 | + protected void onCreate(Bundle savedInstanceState) { | ||
17 | + super.onCreate(savedInstanceState); | ||
18 | + setContentView(R.layout.activity_remote_control_record); | ||
19 | + | ||
20 | + Toolbar mToolbar = findViewById(R.id.toolbar_remote_control_record); | ||
21 | + setToolbar(mToolbar); | ||
22 | + } | ||
23 | + | ||
24 | + private void setToolbar(Toolbar toolbar){ | ||
25 | + setSupportActionBar(toolbar); | ||
26 | + Objects.requireNonNull(getSupportActionBar()).setDisplayShowCustomEnabled(true); | ||
27 | + getSupportActionBar().setDisplayShowTitleEnabled(false); | ||
28 | + getSupportActionBar().setDisplayHomeAsUpEnabled(true); | ||
29 | + getSupportActionBar().setHomeAsUpIndicator(R.drawable.round_chevron_left_white_24); | ||
30 | + | ||
31 | + toolbar.setNavigationOnClickListener(new View.OnClickListener() { | ||
32 | + @Override | ||
33 | + public void onClick(View v) { | ||
34 | + finish(); | ||
35 | + } | ||
36 | + }); | ||
37 | + } | ||
38 | +} |
1 | +package com.sunnni.smartdoorlock.ui; | ||
2 | + | ||
3 | +import androidx.appcompat.app.AppCompatActivity; | ||
4 | + | ||
5 | +import android.os.Bundle; | ||
6 | + | ||
7 | +import com.sunnni.smartdoorlock.R; | ||
8 | + | ||
9 | +public class VideoCheckActivity extends AppCompatActivity { | ||
10 | + | ||
11 | + @Override | ||
12 | + protected void onCreate(Bundle savedInstanceState) { | ||
13 | + super.onCreate(savedInstanceState); | ||
14 | + setContentView(R.layout.activity_video_check); | ||
15 | + } | ||
16 | +} |
147 Bytes
151 Bytes
196 Bytes
239 Bytes
108 Bytes
132 Bytes
151 Bytes
201 Bytes
151 Bytes
201 Bytes
239 Bytes
304 Bytes
196 Bytes
239 Bytes
317 Bytes
433 Bytes
239 Bytes
304 Bytes
433 Bytes
538 Bytes
... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
2 | <shape xmlns:android="http://schemas.android.com/apk/res/android" | 2 | <shape xmlns:android="http://schemas.android.com/apk/res/android" |
3 | android:shape="rectangle"> | 3 | android:shape="rectangle"> |
4 | 4 | ||
5 | - <solid android:color="#F26612" /> | 5 | + <solid android:color="#F2661e" /> |
6 | <corners android:radius="100dp" /> | 6 | <corners android:radius="100dp" /> |
7 | 7 | ||
8 | </shape> | 8 | </shape> |
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | +<vector xmlns:android="http://schemas.android.com/apk/res/android" | ||
2 | + android:width="24dp" | ||
3 | + android:height="24dp" | ||
4 | + android:viewportWidth="24" | ||
5 | + android:viewportHeight="24" | ||
6 | + android:tint="?attr/colorControlNormal"> | ||
7 | + <path | ||
8 | + android:fillColor="@android:color/white" | ||
9 | + android:pathData="M14.71,6.71c-0.39,-0.39 -1.02,-0.39 -1.41,0L8.71,11.3c-0.39,0.39 -0.39,1.02 0,1.41l4.59,4.59c0.39,0.39 1.02,0.39 1.41,0 0.39,-0.39 0.39,-1.02 0,-1.41L10.83,12l3.88,-3.88c0.39,-0.39 0.38,-1.03 0,-1.41z"/> | ||
10 | +</vector> |
1 | +<vector xmlns:android="http://schemas.android.com/apk/res/android" | ||
2 | + android:width="24dp" | ||
3 | + android:height="24dp" | ||
4 | + android:viewportWidth="24" | ||
5 | + android:viewportHeight="24" | ||
6 | + android:tint="#F2661e" | ||
7 | + android:alpha="0.5"> | ||
8 | + <path | ||
9 | + android:fillColor="@android:color/white" | ||
10 | + android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2z"/> | ||
11 | +</vector> |
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> | ||
3 | + | ||
4 | + <item android:state_selected="true" android:drawable="@drawable/bg_btn_off" /> | ||
5 | + <item android:state_selected="false" android:drawable="@drawable/bg_btn_on" /> | ||
6 | + | ||
7 | +</selector> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | +<?xml version="1.0" encoding="utf-8"?> | ||
2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android"> | ||
3 | + | ||
4 | + <item | ||
5 | + android:state_selected="false" | ||
6 | + android:drawable="@drawable/round_lens_24" /> | ||
7 | + | ||
8 | + <item | ||
9 | + android:state_selected="true" | ||
10 | + android:drawable="@drawable/round_lens_active_24"/> | ||
11 | + | ||
12 | +</selector> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
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=".ui.DeviceManagerActivity"> | ||
8 | + | ||
9 | +</androidx.constraintlayout.widget.ConstraintLayout> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
... | @@ -40,7 +40,7 @@ | ... | @@ -40,7 +40,7 @@ |
40 | android:id="@+id/btn_tag_control_back" | 40 | android:id="@+id/btn_tag_control_back" |
41 | android:layout_width="0dp" | 41 | android:layout_width="0dp" |
42 | android:layout_height="0dp" | 42 | android:layout_height="0dp" |
43 | - android:src="@drawable/round_lens_24" | 43 | + android:src="@drawable/selector_btn_tag_back" |
44 | app:layout_constraintDimensionRatio="1:1" | 44 | app:layout_constraintDimensionRatio="1:1" |
45 | app:layout_constraintEnd_toEndOf="parent" | 45 | app:layout_constraintEnd_toEndOf="parent" |
46 | app:layout_constraintStart_toStartOf="parent" | 46 | app:layout_constraintStart_toStartOf="parent" |
... | @@ -66,8 +66,8 @@ | ... | @@ -66,8 +66,8 @@ |
66 | style="?android:attr/borderlessButtonStyle" | 66 | style="?android:attr/borderlessButtonStyle" |
67 | android:layout_width="0dp" | 67 | android:layout_width="0dp" |
68 | android:layout_height="0dp" | 68 | android:layout_height="0dp" |
69 | - android:background="@drawable/bg_btn_on" | 69 | + android:background="@drawable/selector_btn_tag" |
70 | - android:text="ON" | 70 | + android:text="@string/button_on" |
71 | android:textColor="@color/colorMainText" | 71 | android:textColor="@color/colorMainText" |
72 | android:textSize="28sp" | 72 | android:textSize="28sp" |
73 | app:layout_constraintBottom_toBottomOf="@+id/btn_tag_control_back" | 73 | app:layout_constraintBottom_toBottomOf="@+id/btn_tag_control_back" |
... | @@ -79,12 +79,12 @@ | ... | @@ -79,12 +79,12 @@ |
79 | app:layout_constraintWidth_percent="0.3" /> | 79 | app:layout_constraintWidth_percent="0.3" /> |
80 | 80 | ||
81 | <TextView | 81 | <TextView |
82 | - android:id="@+id/tv_status" | 82 | + android:id="@+id/tv_tag_status" |
83 | android:layout_width="wrap_content" | 83 | android:layout_width="wrap_content" |
84 | android:layout_height="wrap_content" | 84 | android:layout_height="wrap_content" |
85 | android:layout_marginTop="7dp" | 85 | android:layout_marginTop="7dp" |
86 | android:fontFamily="@font/g_market_sans_ttf_medium" | 86 | android:fontFamily="@font/g_market_sans_ttf_medium" |
87 | - android:text="도어락 태그 꺼짐" | 87 | + android:text="@string/tag_status_off" |
88 | android:textColor="@color/colorMainText" | 88 | android:textColor="@color/colorMainText" |
89 | android:textSize="17sp" | 89 | android:textSize="17sp" |
90 | app:layout_constraintEnd_toEndOf="parent" | 90 | app:layout_constraintEnd_toEndOf="parent" |
... | @@ -92,17 +92,17 @@ | ... | @@ -92,17 +92,17 @@ |
92 | app:layout_constraintTop_toBottomOf="@+id/btn_tag_control_back" /> | 92 | app:layout_constraintTop_toBottomOf="@+id/btn_tag_control_back" /> |
93 | 93 | ||
94 | <TextView | 94 | <TextView |
95 | - android:id="@+id/tv_status_detail" | 95 | + android:id="@+id/tv_tag_status_detail" |
96 | android:layout_width="wrap_content" | 96 | android:layout_width="wrap_content" |
97 | android:layout_height="wrap_content" | 97 | android:layout_height="wrap_content" |
98 | android:layout_marginTop="7dp" | 98 | android:layout_marginTop="7dp" |
99 | android:fontFamily="@font/g_market_sans_ttf_light" | 99 | android:fontFamily="@font/g_market_sans_ttf_light" |
100 | - android:text="버튼을 누른 후 스캔해주세요" | 100 | + android:text="@string/tag_status_off_detail" |
101 | android:textColor="@color/colorMainText" | 101 | android:textColor="@color/colorMainText" |
102 | android:textSize="15sp" | 102 | android:textSize="15sp" |
103 | app:layout_constraintEnd_toEndOf="parent" | 103 | app:layout_constraintEnd_toEndOf="parent" |
104 | app:layout_constraintStart_toStartOf="parent" | 104 | app:layout_constraintStart_toStartOf="parent" |
105 | - app:layout_constraintTop_toBottomOf="@+id/tv_status" /> | 105 | + app:layout_constraintTop_toBottomOf="@+id/tv_tag_status" /> |
106 | 106 | ||
107 | </androidx.constraintlayout.widget.ConstraintLayout> | 107 | </androidx.constraintlayout.widget.ConstraintLayout> |
108 | 108 | ||
... | @@ -173,7 +173,7 @@ | ... | @@ -173,7 +173,7 @@ |
173 | android:layout_height="wrap_content" | 173 | android:layout_height="wrap_content" |
174 | android:layout_marginTop="10dp" | 174 | android:layout_marginTop="10dp" |
175 | android:fontFamily="@font/g_market_sans_ttf_medium" | 175 | android:fontFamily="@font/g_market_sans_ttf_medium" |
176 | - android:text="원격 잠금해제" | 176 | + android:text="@string/menu_remote_control" |
177 | android:textColor="@color/colorBackground" | 177 | android:textColor="@color/colorBackground" |
178 | android:textSize="15sp" | 178 | android:textSize="15sp" |
179 | app:layout_constraintEnd_toEndOf="parent" | 179 | app:layout_constraintEnd_toEndOf="parent" |
... | @@ -216,7 +216,7 @@ | ... | @@ -216,7 +216,7 @@ |
216 | android:layout_height="wrap_content" | 216 | android:layout_height="wrap_content" |
217 | android:layout_marginTop="10dp" | 217 | android:layout_marginTop="10dp" |
218 | android:fontFamily="@font/g_market_sans_ttf_medium" | 218 | android:fontFamily="@font/g_market_sans_ttf_medium" |
219 | - android:text="원격 잠금해제 기록" | 219 | + android:text="@string/menu_remote_control_record" |
220 | android:textColor="@color/colorBackground" | 220 | android:textColor="@color/colorBackground" |
221 | android:textSize="15sp" | 221 | android:textSize="15sp" |
222 | app:layout_constraintEnd_toEndOf="parent" | 222 | app:layout_constraintEnd_toEndOf="parent" |
... | @@ -259,7 +259,7 @@ | ... | @@ -259,7 +259,7 @@ |
259 | android:layout_height="wrap_content" | 259 | android:layout_height="wrap_content" |
260 | android:layout_marginTop="10dp" | 260 | android:layout_marginTop="10dp" |
261 | android:fontFamily="@font/g_market_sans_ttf_medium" | 261 | android:fontFamily="@font/g_market_sans_ttf_medium" |
262 | - android:text="기기 관리" | 262 | + android:text="@string/menu_device_manager" |
263 | android:textColor="@color/colorBackground" | 263 | android:textColor="@color/colorBackground" |
264 | android:textSize="15sp" | 264 | android:textSize="15sp" |
265 | app:layout_constraintEnd_toEndOf="parent" | 265 | app:layout_constraintEnd_toEndOf="parent" |
... | @@ -302,7 +302,7 @@ | ... | @@ -302,7 +302,7 @@ |
302 | android:layout_height="wrap_content" | 302 | android:layout_height="wrap_content" |
303 | android:layout_marginTop="10dp" | 303 | android:layout_marginTop="10dp" |
304 | android:fontFamily="@font/g_market_sans_ttf_medium" | 304 | android:fontFamily="@font/g_market_sans_ttf_medium" |
305 | - android:text="비디오 확인" | 305 | + android:text="@string/menu_video_check" |
306 | android:textColor="@color/colorBackground" | 306 | android:textColor="@color/colorBackground" |
307 | android:textSize="15sp" | 307 | android:textSize="15sp" |
308 | app:layout_constraintEnd_toEndOf="parent" | 308 | app:layout_constraintEnd_toEndOf="parent" | ... | ... |
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=".ui.RemoteControlRecordActivity"> | ||
8 | + | ||
9 | + <androidx.appcompat.widget.Toolbar | ||
10 | + android:id="@+id/toolbar_remote_control_record" | ||
11 | + android:layout_width="0dp" | ||
12 | + android:layout_height="?attr/actionBarSize" | ||
13 | + android:background="@color/colorBackground" | ||
14 | + app:layout_constraintEnd_toEndOf="parent" | ||
15 | + app:layout_constraintStart_toStartOf="parent" | ||
16 | + android:elevation="7dp" | ||
17 | + app:layout_constraintTop_toTopOf="parent"> | ||
18 | + | ||
19 | + <TextView | ||
20 | + android:layout_width="wrap_content" | ||
21 | + android:layout_height="wrap_content" | ||
22 | + android:fontFamily="@font/g_market_sans_ttf_medium" | ||
23 | + android:text="@string/menu_remote_control_record" | ||
24 | + android:textColor="@color/colorMainText" | ||
25 | + android:textSize="15sp" /> | ||
26 | + | ||
27 | + </androidx.appcompat.widget.Toolbar> | ||
28 | + | ||
29 | +</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 | +<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=".ui.VideoCheckActivity"> | ||
8 | + | ||
9 | +</androidx.constraintlayout.widget.ConstraintLayout> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <resources> | 2 | <resources> |
3 | - <color name="colorPrimary">#6200EE</color> | 3 | + <color name="colorPrimary">#090938</color> |
4 | - <color name="colorPrimaryDark">#3700B3</color> | 4 | + <color name="colorPrimaryDark">#090938</color> |
5 | <color name="colorAccent">#ffffff</color> | 5 | <color name="colorAccent">#ffffff</color> |
6 | 6 | ||
7 | <color name="colorBackground">#090938</color> | 7 | <color name="colorBackground">#090938</color> | ... | ... |
1 | <resources> | 1 | <resources> |
2 | <string name="app_name">SmartDoorLock</string> | 2 | <string name="app_name">SmartDoorLock</string> |
3 | <string name="app_name_korean">게이트웨이</string> | 3 | <string name="app_name_korean">게이트웨이</string> |
4 | + | ||
5 | + <string name="menu_remote_control">원격 잠금해제</string> | ||
6 | + <string name="menu_remote_control_record">원격 잠금해제 기록</string> | ||
7 | + <string name="menu_device_manager">기기 관리</string> | ||
8 | + <string name="menu_video_check">비디오 확인</string> | ||
9 | + | ||
10 | + <string name="button_on">ON</string> | ||
11 | + <string name="button_off">OFF</string> | ||
12 | + | ||
13 | + <string name="tag_status_off">도어락 태그 꺼짐</string> | ||
14 | + <string name="tag_status_off_detail">버튼을 누른 후 스캔해주세요</string> | ||
15 | + <string name="tag_status_on">도어락 태그 켜짐</string> | ||
16 | + <string name="tag_status_on_detail">초 후 꺼짐</string> | ||
4 | </resources> | 17 | </resources> | ... | ... |
-
Please register or login to post a comment