Toggle navigation
Toggle navigation
This project
Loading...
Sign in
cse437_e
/
smartdoorlock-frontend
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
sunnnl
2020-11-12 20:32:00 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
0a5e25ba11df047a84ac5f0b24e98aa6a2f5eb8e
0a5e25ba
1 parent
d4d12131
기기 관리 퍼블리싱
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
616 additions
and
5 deletions
app/src/main/java/com/sunnni/smartdoorlock/data/Device.java
app/src/main/java/com/sunnni/smartdoorlock/ui/DeviceManagerActivity.java
app/src/main/java/com/sunnni/smartdoorlock/ui/DeviceRecyclerViewAdapter.java
app/src/main/java/com/sunnni/smartdoorlock/ui/RemoteControlRecordActivity.java
app/src/main/java/com/sunnni/smartdoorlock/ui/VideoCheckActivity.java
app/src/main/res/drawable/bg_shadow_bottom_dark.xml
app/src/main/res/drawable/bg_white_stroke.xml
app/src/main/res/drawable/round_add_circle_outline_24.xml
app/src/main/res/drawable/round_delete_24.xml
app/src/main/res/drawable/round_format_list_bulleted_24.xml
app/src/main/res/drawable/round_today_24.xml
app/src/main/res/layout/activity_device_manager.xml
app/src/main/res/layout/activity_remote_control_record.xml
app/src/main/res/layout/activity_video_check.xml
app/src/main/res/layout/rv_item_device.xml
app/src/main/res/values/strings.xml
app/src/main/java/com/sunnni/smartdoorlock/data/Device.java
0 → 100644
View file @
0a5e25b
package
com
.
sunnni
.
smartdoorlock
.
data
;
public
class
Device
{
public
String
deviceNumber
;
public
String
registerDate
;
public
Device
(
String
number
,
String
date
){
this
.
deviceNumber
=
number
;
this
.
registerDate
=
date
;
}
}
app/src/main/java/com/sunnni/smartdoorlock/ui/DeviceManagerActivity.java
View file @
0a5e25b
package
com
.
sunnni
.
smartdoorlock
.
ui
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.cardview.widget.CardView
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
android.content.DialogInterface
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.widget.ScrollView
;
import
android.widget.Toast
;
import
com.sunnni.smartdoorlock.R
;
import
com.sunnni.smartdoorlock.data.Device
;
import
java.util.ArrayList
;
import
java.util.Objects
;
public
class
DeviceManagerActivity
extends
AppCompatActivity
{
ArrayList
<
Device
>
mList
=
new
ArrayList
<
Device
>();
RecyclerView
mRecyclerView
;
DeviceRecyclerViewAdapter
mAdapter
;
AlertDialog
alertDialog
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_device_manager
);
Toolbar
mToolbar
=
findViewById
(
R
.
id
.
toolbar_device_manager
);
setToolbar
(
mToolbar
);
setRecyclerView
();
setDeviceList
();
init
();
}
private
void
setToolbar
(
Toolbar
toolbar
){
setSupportActionBar
(
toolbar
);
Objects
.
requireNonNull
(
getSupportActionBar
()).
setDisplayShowCustomEnabled
(
true
);
getSupportActionBar
().
setDisplayShowTitleEnabled
(
false
);
getSupportActionBar
().
setDisplayHomeAsUpEnabled
(
true
);
getSupportActionBar
().
setHomeAsUpIndicator
(
R
.
drawable
.
round_chevron_left_white_24
);
toolbar
.
setNavigationOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
finish
();
}
});
}
private
void
init
(){
CardView
cardView
=
findViewById
(
R
.
id
.
card_add_device
);
cardView
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
remoteControlDialog
();
}
});
NestedScrollView
nestedScrollView
=
findViewById
(
R
.
id
.
scroll_device
);
nestedScrollView
.
getParent
().
requestChildFocus
(
nestedScrollView
,
nestedScrollView
);
}
private
void
setRecyclerView
(){
mRecyclerView
=
findViewById
(
R
.
id
.
rv_device_list
);
LinearLayoutManager
manager
=
new
LinearLayoutManager
(
this
);
mAdapter
=
new
DeviceRecyclerViewAdapter
(
mList
);
mRecyclerView
.
setLayoutManager
(
manager
);
mRecyclerView
.
setAdapter
(
mAdapter
);
}
// 기기 목록 dummy data -> api 생성되면 수정
private
void
setDeviceList
(){
Device
temp
;
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mList
.
add
(
temp
=
new
Device
(
"0047617826460"
,
"2020.10.08 17:21:30"
));
mAdapter
.
notifyDataSetChanged
();
}
private
void
remoteControlDialog
()
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
this
,
R
.
style
.
AlertDialogTheme
);
builder
.
setTitle
(
getString
(
R
.
string
.
device_manager_add_device
))
.
setMessage
(
getString
(
R
.
string
.
device_alert_message
));
builder
.
setPositiveButton
(
"추가"
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
Toast
.
makeText
(
DeviceManagerActivity
.
this
,
"도어락에 기기를 태그해주세요."
,
Toast
.
LENGTH_LONG
).
show
();
}
});
builder
.
setNegativeButton
(
"취소"
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
}
});
alertDialog
=
builder
.
create
();
alertDialog
.
show
();
}
}
...
...
app/src/main/java/com/sunnni/smartdoorlock/ui/DeviceRecyclerViewAdapter.java
0 → 100644
View file @
0a5e25b
package
com
.
sunnni
.
smartdoorlock
.
ui
;
import
android.content.DialogInterface
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.app.AlertDialog
;
import
androidx.core.content.res.ResourcesCompat
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.sunnni.smartdoorlock.R
;
import
com.sunnni.smartdoorlock.data.Device
;
import
java.util.ArrayList
;
public
class
DeviceRecyclerViewAdapter
extends
RecyclerView
.
Adapter
<
DeviceRecyclerViewAdapter
.
DeviceViewHolder
>
{
ArrayList
<
Device
>
mList
;
static
class
DeviceViewHolder
extends
RecyclerView
.
ViewHolder
{
TextView
mTvDeviceNum
,
mTvRegisterDate
;
ImageView
mTrashcan
;
DeviceViewHolder
(
View
v
)
{
super
(
v
);
this
.
mTvDeviceNum
=
v
.
findViewById
(
R
.
id
.
tv_device_number
);
this
.
mTvRegisterDate
=
v
.
findViewById
(
R
.
id
.
tv_device_register_date
);
this
.
mTrashcan
=
v
.
findViewById
(
R
.
id
.
img_trashcan
);
}
void
bind
(
Device
device
)
{
mTvDeviceNum
.
setText
(
device
.
deviceNumber
);
mTvRegisterDate
.
setText
(
device
.
registerDate
);
mTrashcan
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
itemView
.
getContext
(),
R
.
style
.
AlertDialogTheme
);
builder
.
setTitle
(
"확인"
)
.
setMessage
(
R
.
string
.
alert_message_delete
);
builder
.
setPositiveButton
(
"삭제"
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
Toast
.
makeText
(
itemView
.
getContext
(),
"삭제되었습니다."
,
Toast
.
LENGTH_SHORT
).
show
();
}
});
builder
.
setNegativeButton
(
"취소"
,
new
DialogInterface
.
OnClickListener
()
{
@Override
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
}
});
AlertDialog
alertDialog
=
builder
.
create
();
alertDialog
.
show
();
}
});
}
}
public
DeviceRecyclerViewAdapter
(
ArrayList
<
Device
>
list
)
{
this
.
mList
=
list
;
}
@NonNull
@Override
public
DeviceViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
View
view
=
LayoutInflater
.
from
(
parent
.
getContext
()).
inflate
(
R
.
layout
.
rv_item_device
,
parent
,
false
);
return
new
DeviceViewHolder
(
view
);
}
@Override
public
void
onBindViewHolder
(
@NonNull
DeviceViewHolder
holder
,
int
position
)
{
holder
.
bind
(
mList
.
get
(
position
));
}
@Override
public
int
getItemCount
()
{
return
mList
.
size
();
}
public
void
addDevice
(
Device
device
)
{
mList
.
add
(
device
);
}
}
app/src/main/java/com/sunnni/smartdoorlock/ui/RemoteControlRecordActivity.java
View file @
0a5e25b
...
...
@@ -2,9 +2,11 @@ package com.sunnni.smartdoorlock.ui;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.cardview.widget.CardView
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.widget.Toast
;
import
com.sunnni.smartdoorlock.R
;
...
...
app/src/main/java/com/sunnni/smartdoorlock/ui/VideoCheckActivity.java
View file @
0a5e25b
package
com
.
sunnni
.
smartdoorlock
.
ui
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.widget.Toolbar
;
import
android.os.Bundle
;
import
android.view.View
;
import
com.sunnni.smartdoorlock.R
;
import
java.util.Objects
;
public
class
VideoCheckActivity
extends
AppCompatActivity
{
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_video_check
);
Toolbar
mToolbar
=
findViewById
(
R
.
id
.
toolbar_video_check
);
setToolbar
(
mToolbar
);
}
private
void
setToolbar
(
Toolbar
toolbar
){
setSupportActionBar
(
toolbar
);
Objects
.
requireNonNull
(
getSupportActionBar
()).
setDisplayShowCustomEnabled
(
true
);
getSupportActionBar
().
setDisplayShowTitleEnabled
(
false
);
getSupportActionBar
().
setDisplayHomeAsUpEnabled
(
true
);
getSupportActionBar
().
setHomeAsUpIndicator
(
R
.
drawable
.
round_chevron_left_white_24
);
toolbar
.
setNavigationOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
finish
();
}
});
}
}
...
...
app/src/main/res/drawable/bg_shadow_bottom_dark.xml
0 → 100644
View file @
0a5e25b
<?xml version="1.0" encoding="utf-8"?>
<layer-list
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<!-- Drop Shadow Stack -->
<item>
<shape>
<padding
android:bottom=
"2.5dp"
/>
<solid
android:color=
"#09CCCCCC"
/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom=
"2.5dp"
/>
<solid
android:color=
"#0DCCCCCC"
/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom=
"2.5dp"
/>
<solid
android:color=
"#12CCCCCC"
/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom=
"2.5dp"
/>
<solid
android:color=
"#15CCCCCC"
/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom=
"2.5dp"
/>
<solid
android:color=
"#1ACCCCCC"
/>
</shape>
</item>
<item>
<shape>
<padding
android:bottom=
"2.5dp"
/>
<solid
android:color=
"#1AC1C1C1"
/>
</shape>
</item>
<!-- Background -->
<item>
<shape>
<solid
android:color=
"@color/colorPrimary"
/>
</shape>
</item>
</layer-list>
\ No newline at end of file
app/src/main/res/drawable/bg_white_stroke.xml
0 → 100644
View file @
0a5e25b
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<solid
android:color=
"@color/colorAccent"
/>
<corners
android:radius=
"10dp"
/>
<stroke
android:width=
"1dp"
android:color=
"@color/colorLine"
android:dashWidth=
"5dp"
android:dashGap=
"5dp"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/round_add_circle_outline_24.xml
0 → 100644
View file @
0a5e25b
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"24dp"
android:height=
"24dp"
android:viewportWidth=
"24"
android:viewportHeight=
"24"
android:tint=
"@color/colorPrimary"
>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M12,7c-0.55,0 -1,0.45 -1,1v3L8,11c-0.55,0 -1,0.45 -1,1s0.45,1 1,1h3v3c0,0.55 0.45,1 1,1s1,-0.45 1,-1v-3h3c0.55,0 1,-0.45 1,-1s-0.45,-1 -1,-1h-3L13,8c0,-0.55 -0.45,-1 -1,-1zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z"
/>
</vector>
app/src/main/res/drawable/round_delete_24.xml
0 → 100644
View file @
0a5e25b
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"24dp"
android:height=
"24dp"
android:viewportWidth=
"24"
android:viewportHeight=
"24"
android:tint=
"#ff5252"
>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V9c0,-1.1 -0.9,-2 -2,-2H8c-1.1,0 -2,0.9 -2,2v10zM18,4h-2.5l-0.71,-0.71c-0.18,-0.18 -0.44,-0.29 -0.7,-0.29H9.91c-0.26,0 -0.52,0.11 -0.7,0.29L8.5,4H6c-0.55,0 -1,0.45 -1,1s0.45,1 1,1h12c0.55,0 1,-0.45 1,-1s-0.45,-1 -1,-1z"
/>
</vector>
app/src/main/res/drawable/round_format_list_bulleted_24.xml
0 → 100644
View file @
0a5e25b
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"24dp"
android:height=
"24dp"
android:viewportWidth=
"24"
android:viewportHeight=
"24"
android:tint=
"#111111"
>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M4,10.5c-0.83,0 -1.5,0.67 -1.5,1.5s0.67,1.5 1.5,1.5 1.5,-0.67 1.5,-1.5 -0.67,-1.5 -1.5,-1.5zM4,4.5c-0.83,0 -1.5,0.67 -1.5,1.5S3.17,7.5 4,7.5 5.5,6.83 5.5,6 4.83,4.5 4,4.5zM4,16.5c-0.83,0 -1.5,0.68 -1.5,1.5s0.68,1.5 1.5,1.5 1.5,-0.68 1.5,-1.5 -0.67,-1.5 -1.5,-1.5zM8,19h12c0.55,0 1,-0.45 1,-1s-0.45,-1 -1,-1L8,17c-0.55,0 -1,0.45 -1,1s0.45,1 1,1zM8,13h12c0.55,0 1,-0.45 1,-1s-0.45,-1 -1,-1L8,11c-0.55,0 -1,0.45 -1,1s0.45,1 1,1zM7,6c0,0.55 0.45,1 1,1h12c0.55,0 1,-0.45 1,-1s-0.45,-1 -1,-1L8,5c-0.55,0 -1,0.45 -1,1z"
/>
</vector>
app/src/main/res/drawable/round_today_24.xml
0 → 100644
View file @
0a5e25b
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"24dp"
android:height=
"24dp"
android:viewportWidth=
"24"
android:viewportHeight=
"24"
android:tint=
"#90a4ae"
>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M19,3h-1L18,2c0,-0.55 -0.45,-1 -1,-1s-1,0.45 -1,1v1L8,3L8,2c0,-0.55 -0.45,-1 -1,-1s-1,0.45 -1,1v1L5,3c-1.11,0 -1.99,0.9 -1.99,2L3,19c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM18,19L6,19c-0.55,0 -1,-0.45 -1,-1L5,8h14v10c0,0.55 -0.45,1 -1,1zM8,10h3c0.55,0 1,0.45 1,1v3c0,0.55 -0.45,1 -1,1L8,15c-0.55,0 -1,-0.45 -1,-1v-3c0,-0.55 0.45,-1 1,-1z"
/>
</vector>
app/src/main/res/layout/activity_device_manager.xml
View file @
0a5e25b
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<androidx.core.widget.NestedScrollView
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:id=
"@+id/scroll_device"
>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".ui.DeviceManagerActivity"
>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<androidx.appcompat.widget.Toolbar
android:id=
"@+id/toolbar_device_manager"
android:layout_width=
"0dp"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/colorBackground"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:fontFamily=
"@font/g_market_sans_ttf_medium"
android:text=
"@string/menu_device_manager"
android:textColor=
"@color/colorMainText"
android:textSize=
"15sp"
/>
</androidx.appcompat.widget.Toolbar>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/cl_add_device_background"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:background=
"@drawable/bg_shadow_bottom_dark"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintDimensionRatio=
"6:1"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/toolbar_device_manager"
/>
<androidx.cardview.widget.CardView
android:id=
"@+id/card_add_device"
android:layout_width=
"0dp"
android:layout_height=
"0dp"
android:orientation=
"horizontal"
app:cardCornerRadius=
"10dp"
app:layout_constraintDimensionRatio=
"5:2"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"@+id/cl_add_device_background"
app:layout_constraintWidth_default=
"percent"
app:layout_constraintWidth_percent=
"0.6"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_margin=
"10dp"
android:background=
"@drawable/bg_white_stroke"
>
<ImageView
android:id=
"@+id/img_plus"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"3dp"
android:src=
"@drawable/round_add_circle_outline_24"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@+id/tv_add_device"
app:layout_constraintHorizontal_chainStyle=
"packed"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<TextView
android:id=
"@+id/tv_add_device"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"3dp"
android:fontFamily=
"@font/g_market_sans_ttf_medium"
android:text=
"@string/device_manager_add_device"
android:textColor=
"@color/colorPrimary"
android:textSize=
"17sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_chainStyle=
"packed"
app:layout_constraintStart_toEndOf=
"@+id/img_plus"
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
<androidx.constraintlayout.widget.Guideline
android:id=
"@+id/gl_start"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintGuide_percent=
"0.05"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<androidx.constraintlayout.widget.Guideline
android:id=
"@+id/gl_end"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintGuide_percent=
"0.95"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<ImageView
android:id=
"@+id/img_icon_list"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"20dp"
android:src=
"@drawable/round_format_list_bulleted_24"
app:layout_constraintStart_toStartOf=
"@id/gl_start"
app:layout_constraintTop_toBottomOf=
"@+id/card_add_device"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"3dp"
android:layout_marginTop=
"2dp"
android:fontFamily=
"@font/g_market_sans_ttf_medium"
android:text=
"@string/device_manager_device_list"
android:textColor=
"#111111"
android:textSize=
"17sp"
app:layout_constraintBottom_toBottomOf=
"@id/img_icon_list"
app:layout_constraintStart_toEndOf=
"@id/img_icon_list"
app:layout_constraintTop_toTopOf=
"@+id/img_icon_list"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_device_list"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"@id/gl_end"
app:layout_constraintStart_toStartOf=
"@id/gl_start"
app:layout_constraintTop_toBottomOf=
"@+id/img_icon_list"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
\ No newline at end of file
...
...
app/src/main/res/layout/activity_remote_control_record.xml
View file @
0a5e25b
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<androidx.core.widget.NestedScrollView
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/scroll_remote_record"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
...
...
@@ -11,9 +16,9 @@
android:layout_width=
"0dp"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/colorBackground"
android:elevation=
"7dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
android:elevation=
"7dp"
app:layout_constraintTop_toTopOf=
"parent"
>
<TextView
...
...
@@ -26,4 +31,47 @@
</androidx.appcompat.widget.Toolbar>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<androidx.constraintlayout.widget.Guideline
android:id=
"@+id/gl_start"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintGuide_percent=
"0.05"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<androidx.constraintlayout.widget.Guideline
android:id=
"@+id/gl_end"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintGuide_percent=
"0.95"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<ImageView
android:id=
"@+id/img_icon_list"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"20dp"
android:src=
"@drawable/round_format_list_bulleted_24"
app:layout_constraintStart_toStartOf=
"@id/gl_start"
app:layout_constraintTop_toBottomOf=
"@+id/toolbar_remote_control_record"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"3dp"
android:layout_marginTop=
"2dp"
android:fontFamily=
"@font/g_market_sans_ttf_medium"
android:text=
"@string/menu_remote_control_record"
android:textColor=
"#111111"
android:textSize=
"17sp"
app:layout_constraintBottom_toBottomOf=
"@id/img_icon_list"
app:layout_constraintStart_toEndOf=
"@id/img_icon_list"
app:layout_constraintTop_toTopOf=
"@+id/img_icon_list"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>
\ No newline at end of file
...
...
app/src/main/res/layout/activity_video_check.xml
View file @
0a5e25b
...
...
@@ -6,4 +6,24 @@
android:layout_height=
"match_parent"
tools:context=
".ui.VideoCheckActivity"
>
<androidx.appcompat.widget.Toolbar
android:id=
"@+id/toolbar_video_check"
android:layout_width=
"0dp"
android:layout_height=
"?attr/actionBarSize"
android:background=
"@color/colorBackground"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
android:elevation=
"7dp"
app:layout_constraintTop_toTopOf=
"parent"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:fontFamily=
"@font/g_market_sans_ttf_medium"
android:text=
"@string/menu_video_check"
android:textColor=
"@color/colorMainText"
android:textSize=
"15sp"
/>
</androidx.appcompat.widget.Toolbar>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...
...
app/src/main/res/layout/rv_item_device.xml
0 → 100644
View file @
0a5e25b
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"10dp"
app:cardCornerRadius=
"1dp"
>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<TextView
android:id=
"@+id/tv_device_number"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"10dp"
android:layout_marginBottom=
"5dp"
android:fontFamily=
"@font/g_market_sans_ttf_medium"
android:text=
"@string/sample_device_number"
android:textColor=
"#212121"
android:textSize=
"14sp"
app:layout_constraintBottom_toTopOf=
"@+id/img_icon_calender"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintVertical_chainStyle=
"packed"
/>
<ImageView
android:id=
"@+id/img_icon_calender"
android:layout_width=
"15dp"
android:layout_height=
"15dp"
android:src=
"@drawable/round_today_24"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"@+id/tv_device_number"
app:layout_constraintTop_toBottomOf=
"@id/tv_device_number"
app:layout_constraintVertical_chainStyle=
"packed"
/>
<TextView
android:id=
"@+id/tv_device_register_date"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginStart=
"5dp"
android:layout_marginBottom=
"1dp"
android:fontFamily=
"@font/g_market_sans_ttf_medium"
android:text=
"@string/sample_date"
android:textColor=
"#90a4ae"
android:textSize=
"12sp"
app:layout_constraintBottom_toBottomOf=
"@id/img_icon_calender"
app:layout_constraintStart_toEndOf=
"@id/img_icon_calender"
app:layout_constraintTop_toTopOf=
"@id/img_icon_calender"
/>
<ImageView
android:id=
"@+id/img_trashcan"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginVertical=
"20dp"
android:layout_marginEnd=
"15dp"
android:src=
"@drawable/round_delete_24"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
\ No newline at end of file
app/src/main/res/values/strings.xml
View file @
0a5e25b
...
...
@@ -16,4 +16,12 @@
<string
name=
"tag_status_on_detail"
>
초 후 꺼짐
</string>
<string
name=
"alert_message"
>
버튼을 클릭하시면 원격으로 도어락을 열 수 있습니다.\n\n정말 도어락을 여시겠습니까?\n\n
</string>
<string
name=
"device_manager_add_device"
>
기기 추가
</string>
<string
name=
"device_manager_device_list"
>
기기 목록
</string>
<string
name=
"sample_device_number"
>
0047617826460
</string>
<string
name=
"sample_date"
>
2020.10.08 17:21:30
</string>
<string
name=
"device_alert_message"
>
버튼을 누르신 후 기기를 도어락에 태그하시면 추가됩니다.\n\n
</string>
<string
name=
"alert_message_delete"
>
정말 삭제하시겠습니까?\n\n
</string>
</resources>
...
...
Please
register
or
login
to post a comment