Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F84223935
MonitoringActivity.java
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Sat, Sep 21, 11:34
Size
5 KB
Mime Type
text/x-java
Expires
Mon, Sep 23, 11:34 (2 d)
Engine
blob
Format
Raw Data
Handle
20937872
Attached To
R9555 Android app for multimodal data acquisition from wearables
MonitoringActivity.java
View Options
package
ch.epfl.esl.elevatedmonitor
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.support.annotation.NonNull
;
import
android.support.design.widget.FloatingActionButton
;
import
android.support.design.widget.NavigationView
;
import
android.support.v4.view.GravityCompat
;
import
android.support.v4.widget.DrawerLayout
;
import
android.support.v7.app.ActionBarDrawerToggle
;
import
android.support.v7.app.AppCompatActivity
;
import
android.support.v7.widget.Toolbar
;
import
android.view.Menu
;
import
android.view.MenuItem
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.BaseAdapter
;
import
android.widget.Button
;
import
android.widget.ListView
;
import
android.widget.TextView
;
import
com.jjoe64.graphview.GraphView
;
import
com.jjoe64.graphview.Viewport
;
import
com.jjoe64.graphview.series.DataPoint
;
import
com.jjoe64.graphview.series.LineGraphSeries
;
import
java.util.ArrayList
;
public
class
MonitoringActivity
extends
AppCompatActivity
implements
NavigationView
.
OnNavigationItemSelectedListener
{
private
static
ArrayList
<
Monitor
>
listMonitor
=
new
ArrayList
<>();
private
static
MonitorAdapter
monitorAdapter
;
private
NavigationView
navigationView
;
private
void
showAddMonitor
()
{
// Create and show the dialog.
AddMonitorFragment
addMonitorFragment
=
AddMonitorFragment
.
newInstance
();
addMonitorFragment
.
show
(
getSupportFragmentManager
(),
"addMonitorDialog"
);
}
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_monitoring
);
Toolbar
toolbar
=
findViewById
(
R
.
id
.
toolbar
);
setSupportActionBar
(
toolbar
);
FloatingActionButton
fab
=
findViewById
(
R
.
id
.
fab
);
fab
.
setOnClickListener
(
view
->
showAddMonitor
());
DrawerLayout
drawer
=
findViewById
(
R
.
id
.
drawer_layout
);
ActionBarDrawerToggle
toggle
=
new
ActionBarDrawerToggle
(
this
,
drawer
,
toolbar
,
R
.
string
.
navigation_drawer_open
,
R
.
string
.
navigation_drawer_close
);
drawer
.
addDrawerListener
(
toggle
);
toggle
.
syncState
();
navigationView
=
findViewById
(
R
.
id
.
nav_view
);
navigationView
.
setNavigationItemSelectedListener
(
this
);
//----------------------------------------------------------------------------------------//
//--- List view
//----------------------------------------------------------------------------------------//
monitorAdapter
=
new
MonitorAdapter
();
ListView
monitorListView
=
findViewById
(
R
.
id
.
list_view_monitor
);
monitorListView
.
setAdapter
(
monitorAdapter
);
}
@Override
public
void
onBackPressed
()
{
DrawerLayout
drawer
=
findViewById
(
R
.
id
.
drawer_layout
);
if
(
drawer
.
isDrawerOpen
(
GravityCompat
.
START
))
{
drawer
.
closeDrawer
(
GravityCompat
.
START
);
}
else
{
super
.
onBackPressed
();
}
}
@Override
public
boolean
onCreateOptionsMenu
(
Menu
menu
)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater
().
inflate
(
R
.
menu
.
monitoring
,
menu
);
return
true
;
}
@Override
protected
void
onResume
()
{
super
.
onResume
();
navigationView
.
setCheckedItem
(
R
.
id
.
nav_monitoring
);
}
@Override
public
boolean
onNavigationItemSelected
(
@NonNull
MenuItem
item
)
{
// Handle navigation view item clicks here.
int
id
=
item
.
getItemId
();
if
(
id
==
R
.
id
.
nav_settings
)
{
Intent
settingActivity
=
new
Intent
(
this
,
SettingsActivity
.
class
);
startActivity
(
settingActivity
);
}
else
if
(
id
==
R
.
id
.
auto_connect
)
{
Intent
mainActivity
=
new
Intent
(
this
,
MainActivity
.
class
);
startActivity
(
mainActivity
);
}
DrawerLayout
drawer
=
findViewById
(
R
.
id
.
drawer_layout
);
drawer
.
closeDrawer
(
GravityCompat
.
START
);
return
true
;
}
public
static
void
notifyAdapterDataSetChanged
()
{
monitorAdapter
.
notifyDataSetChanged
();
}
public
static
void
addMonitor
(
Monitor
monitor
)
{
listMonitor
.
add
(
monitor
);
}
class
MonitorAdapter
extends
BaseAdapter
{
@Override
public
int
getCount
()
{
return
listMonitor
.
size
();
}
@Override
public
Object
getItem
(
int
position
)
{
return
listMonitor
.
get
(
position
);
}
@Override
public
long
getItemId
(
int
position
)
{
return
0
;
}
@Override
public
View
getView
(
final
int
position
,
View
convertView
,
ViewGroup
parent
)
{
View
view
=
getLayoutInflater
().
inflate
(
R
.
layout
.
list_monitor
,
null
);
TextView
textViewMonitorSensor
=
view
.
findViewById
(
R
.
id
.
textViewSessionName
);
TextView
textViewMonitorDevice
=
view
.
findViewById
(
R
.
id
.
textViewMonitorDevice
);
GraphView
graph
=
view
.
findViewById
(
R
.
id
.
graphMonitor
);
Button
buttonDeleteGraph
=
view
.
findViewById
(
R
.
id
.
buttonDeleteGraph
);
//--- Viewport
Viewport
vp
=
graph
.
getViewport
();
vp
.
setXAxisBoundsManual
(
true
);
vp
.
setMinX
(
0
);
vp
.
setMaxX
(
10
);
Monitor
monitor
=
listMonitor
.
get
(
position
);
textViewMonitorSensor
.
setText
(
monitor
.
getMonitoredSensor
().
getName
());
textViewMonitorDevice
.
setText
(
monitor
.
getMonitoredDevice
().
getName
());
for
(
LineGraphSeries
<
DataPoint
>
serie
:
monitor
.
getSeries
())
{
graph
.
addSeries
(
serie
);
}
buttonDeleteGraph
.
setOnClickListener
(
v
->
{
System
.
out
.
print
(
"Click to delete"
);
listMonitor
.
remove
(
position
);
monitorAdapter
.
notifyDataSetChanged
();
});
return
view
;
}
}
}
Event Timeline
Log In to Comment