Commit c0f97a17 authored by Indika NK's avatar Indika NK

Adding latest changes of Iguider_phase_02

parent 15008cc1
import 'package:covidefender/pages/heart_rate/heart_rate_screen.dart'; import 'package:covidefender/pages/heart_rate/heart_rate_screen.dart';
import 'package:covidefender/pages/mask_detect/invoker.dart'; import 'package:covidefender/pages/mask_detect/invoker.dart';
import 'package:covidefender/pages/self_carer/sc_main_screen.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class I_guider extends StatelessWidget { class I_guider extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final mesure = MediaQuery.of(context);
return Scaffold( return Scaffold(
backgroundColor: Colors.grey[200], backgroundColor: Colors.white,
appBar: AppBar( appBar: AppBar(
centerTitle: true,
title: Text('I-Guider'), title: Text('I-Guider'),
// elevation: 0, // elevation: 0,
), ),
body: Column( body: SingleChildScrollView(
child: Column(
children: [ children: [
Row( Row(
children: [ children: [
Expanded( Expanded(
child: Container( child: Container(
height: mesure.size.height/3,
decoration: BoxDecoration( decoration: BoxDecoration(
image: DecorationImage( image: DecorationImage(
image: AssetImage('lib/assets/images/hero.gif'), image: AssetImage('lib/assets/images/hero.gif'),
fit: BoxFit.cover)), fit: BoxFit.cover)),
height: 300,
), ),
), ),
], ],
...@@ -39,14 +44,24 @@ class I_guider extends StatelessWidget { ...@@ -39,14 +44,24 @@ class I_guider extends StatelessWidget {
child: Padding( child: Padding(
padding: const EdgeInsets.fromLTRB(8, 0, 8, 0), padding: const EdgeInsets.fromLTRB(8, 0, 8, 0),
child: ButtonTheme( child: ButtonTheme(
splashColor: Colors.blue,
minWidth: 100.0, minWidth: 100.0,
height: 150.0, height: 150.0,
child: RaisedButton.icon( child: RaisedButton.icon(
icon: Icon( icon: Column(
children: [
Icon(
Icons.bluetooth_audio_rounded, Icons.bluetooth_audio_rounded,
size: 40, size: 40,
color: Colors.white, color: Colors.white,
), ),
SizedBox(height: 20),
Text("BT Distancer",style:TextStyle(
fontWeight: FontWeight.bold,
color: Colors.white
) ,)
],
),
label: Text('', label: Text('',
style: TextStyle(fontWeight: FontWeight.bold)), style: TextStyle(fontWeight: FontWeight.bold)),
onPressed: () {}, onPressed: () {},
...@@ -65,11 +80,21 @@ class I_guider extends StatelessWidget { ...@@ -65,11 +80,21 @@ class I_guider extends StatelessWidget {
height: 150.0, height: 150.0,
child: RaisedButton.icon( child: RaisedButton.icon(
color: Colors.greenAccent, color: Colors.greenAccent,
icon: Icon( icon: Column(
children: [
Icon(
Icons.face_unlock_sharp, Icons.face_unlock_sharp,
size: 60, size: 60,
color: Colors.white, color: Colors.white,
), ),
SizedBox(height: 20),
Text("Mask Detector",style:TextStyle(
fontWeight: FontWeight.bold,
color: Colors.white
) ,)
],
),
label: Text( label: Text(
'', '',
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.bold),
...@@ -101,11 +126,20 @@ class I_guider extends StatelessWidget { ...@@ -101,11 +126,20 @@ class I_guider extends StatelessWidget {
minWidth: 100.0, minWidth: 100.0,
height: 150.0, height: 150.0,
child: RaisedButton.icon( child: RaisedButton.icon(
icon: Icon( icon: Column(
children: [
Icon(
Icons.view_stream_outlined, Icons.view_stream_outlined,
size: 40, size: 40,
color: Colors.white, color: Colors.white,
), ),
SizedBox(height: 20),
Text("Heart Monitor",style:TextStyle(
fontWeight: FontWeight.bold,
color: Colors.white
) ,)
],
),
label: Text('', label: Text('',
style: TextStyle(fontWeight: FontWeight.bold)), style: TextStyle(fontWeight: FontWeight.bold)),
onPressed: () { onPressed: () {
...@@ -127,16 +161,27 @@ class I_guider extends StatelessWidget { ...@@ -127,16 +161,27 @@ class I_guider extends StatelessWidget {
height: 150.0, height: 150.0,
child: RaisedButton.icon( child: RaisedButton.icon(
color: Colors.purple[200], color: Colors.purple[200],
icon: Icon( icon: Column(
children: [
Icon(
Icons.online_prediction_sharp, Icons.online_prediction_sharp,
size: 60, size: 60,
color: Colors.white, color: Colors.white,
), ),
SizedBox(height: 20),
Text("Self-Carer",style:TextStyle(
fontWeight: FontWeight.bold,
color: Colors.white
) ,)
],
),
label: Text( label: Text(
'', '',
style: TextStyle(fontWeight: FontWeight.bold), style: TextStyle(fontWeight: FontWeight.bold),
), ),
onPressed: () {}, onPressed: () {
Navigator.push(context, MaterialPageRoute(builder: (context)=> SC_main()));
},
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10)), borderRadius: BorderRadius.circular(10)),
), ),
...@@ -147,6 +192,7 @@ class I_guider extends StatelessWidget { ...@@ -147,6 +192,7 @@ class I_guider extends StatelessWidget {
), ),
], ],
), ),
),
); );
} }
} }
...@@ -9,7 +9,9 @@ class HeartRateScreen extends StatelessWidget { ...@@ -9,7 +9,9 @@ class HeartRateScreen extends StatelessWidget {
appBar: AppBar( appBar: AppBar(
title: Text('Heart Rate Detector'), title: Text('Heart Rate Detector'),
), ),
body: Column( body: Container(
color: Colors.white,
child: Column(
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
...@@ -19,14 +21,29 @@ class HeartRateScreen extends StatelessWidget { ...@@ -19,14 +21,29 @@ class HeartRateScreen extends StatelessWidget {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
ElevatedButton( Padding(
padding: const EdgeInsets.fromLTRB(8,70,8,8),
child: SizedBox(
height: 70,
width: 350,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.red[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: () => Navigator.push(context, MaterialPageRoute(builder: (context) => HomePage(),)), onPressed: () => Navigator.push(context, MaterialPageRoute(builder: (context) => HomePage(),)),
child: Text('Measure Heart Rate'), child: Text('Measure Heart Rate'),
), ),
),
),
], ],
), ),
], ],
), ),
),
); );
} }
} }
...@@ -11,7 +11,9 @@ class invoker extends StatelessWidget { ...@@ -11,7 +11,9 @@ class invoker extends StatelessWidget {
appBar: AppBar( appBar: AppBar(
title: Text('Face Mask Detector'), title: Text('Face Mask Detector'),
), ),
body: Column( body: Container(
color: Colors.white,
child: Column(
children: [ children: [
Padding( Padding(
padding: const EdgeInsets.all(8.0), padding: const EdgeInsets.all(8.0),
...@@ -21,14 +23,29 @@ class invoker extends StatelessWidget { ...@@ -21,14 +23,29 @@ class invoker extends StatelessWidget {
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
ElevatedButton( Padding(
padding: const EdgeInsets.fromLTRB(8,70,8,8),
child: SizedBox(
height: 70,
width: 350,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.blue[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: () => invokeCamera(), onPressed: () => invokeCamera(),
child: Text('Detect Mask'), child: Text('Detect Mask'),
), ),
),
),
], ],
), ),
], ],
), ),
),
); );
} }
......
import 'package:covidefender/pages/self_carer/model/MessageSender.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
class SC_medicalResult extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Results'),
),
body: SingleChildScrollView(
child: Container(
color: Colors.white,
child: Column(
children: [
Center(
child: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height / 2.5,
child: Image.asset('lib/assets/images/lab.gif')),
),
SizedBox(
height: 10,
),
Padding(
padding: const EdgeInsets.all(16.0),
child: Text("Request Medical Officer Support",
style: GoogleFonts.lato(
color: Colors.green,
fontSize: 24,
fontWeight: FontWeight.bold,
letterSpacing: 2)),
),
SizedBox(
height: 10,
),
Padding(
padding: const EdgeInsets.fromLTRB(20,50,50,10),
child: Text(
"I agree To send My Details and location to Medical Officer ",
style: GoogleFonts.adamina(color: Colors.blue,fontSize: 16,fontStyle: FontStyle.italic,wordSpacing: 2),
),
),
SizedBox(
height: 60,
),
SizedBox(
height: 70,
width: 350,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.red[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: () {
MessageSender m = new MessageSender();
m.SENDSMS();
},
child: Text('SEND SMS',style: GoogleFonts.lato(
fontWeight: FontWeight.bold,
fontSize: 16
),)),
)
],
),
),
),
);
}
}
import 'package:covidefender/pages/self_carer/SC_medicalSupport.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
class SC_resultScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Results'),
),
body: SingleChildScrollView(
child: Container(
color: Colors.white,
child: Column(
children: [
Center(
child: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height / 2.5,
child: Image.asset('lib/assets/images/lab.gif')),
),
SizedBox(
height: 10,
),
Text("Analysis Results",
style: GoogleFonts.lato(
color: Colors.blue,
fontSize: 24,
fontWeight: FontWeight.bold,
letterSpacing: 2)),
SizedBox(
height: 10,
),
Padding(
padding: const EdgeInsets.fromLTRB(20,50,50,10),
child: Text(
"Seem's you are having Symptoms Related to Covid19.\n"
"Let's Get Medical Assistance ! \n"
"Click Below Button To Get a Health Officer",
style: GoogleFonts.adamina(color: Colors.red ,fontSize: 16,fontStyle: FontStyle.italic,wordSpacing: 2),
),
),
SizedBox(
height: 60,
),
SizedBox(
height: 70,
width: 350,
child: ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Colors.red[300],
elevation: 15,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12)
)
),
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(builder: (context)=>SC_medicalResult()));
},
child: Text('Medical Support',style: GoogleFonts.lato(
fontWeight: FontWeight.bold,
fontSize: 16
),)),
)
],
),
),
),
);
}
}
import 'dart:collection';
import 'package:flutter_sms/flutter_sms.dart';
class MessageSender {
List<String> recipients= ["+94776957629"];
Map<String,String> myDetails = {
"Name" : "Indika Nuwan",
"Address" : "02 nd post ,Mawanella",
"HomePhone" : "03522444555",
"message" : "This Patient Need Imediate assistance"
};
// MessageSender(this.recipients, this.message);
void SENDSMS () async{
print(myDetails.toString());
String result = await sendSMS(message: myDetails.toString(), recipients: recipients).catchError((onError)=>print(onError));
print("result");
}
void SetData(){
}
}
import 'dart:ui';
class Symptoms {
String symptomname;
bool value;
List<Color> gradientColors;
Symptoms(this.symptomname, this.value,{this.gradientColors});
@override
String toString() {
return 'Symptoms{symptomname: $symptomname, value: $value}';
}
}
\ No newline at end of file
import 'package:flutter/material.dart';
class CustomColors {
static Color primaryTextColor = Colors.white;
static Color dividerColor = Colors.white54;
static Color pageBackgroundColor = Color(0xFF2D2F41);
static Color menuBackgroundColor = Color(0xFF242634);
static Color clockBG = Color(0xFF444974);
static Color clockOutline = Color(0xFFEAECFF);
static Color secHandColor = Colors.orange[300];
static Color minHandStatColor = Color(0xFF748EF6);
static Color minHandEndColor = Color(0xFF77DDFF);
static Color hourHandStatColor = Color(0xFFC279FB);
static Color hourHandEndColor = Color(0xFFEA74AB);
}
class GradientColors {
final List<Color> colors;
GradientColors(this.colors);
static List<Color> sky = [Color(0xFF6448FE), Color(0xFF5FC6FF)];
static List<Color> sunset = [Color(0xFFFE6197), Color(0xFFFFB463)];
static List<Color> sea = [Color(0xFF61A3FE), Color(0xFF63FFD5)];
static List<Color> mango = [Color(0xFFFFA738), Color(0xFFFFE130)];
static List<Color> fire = [Color(0xFFFF5DCD), Color(0xFFFF8484)];
}
class GradientTemplate {
static List<GradientColors> gradientTemplate = [
GradientColors(GradientColors.sky),
GradientColors(GradientColors.sunset),
GradientColors(GradientColors.sea),
GradientColors(GradientColors.mango),
GradientColors(GradientColors.fire),
];
}
import 'dart:collection';
import 'package:covidefender/pages/self_carer/SC_result_screen.dart';
import 'package:covidefender/pages/self_carer/model/colors.dart';
import 'package:flutter/material.dart';
import 'package:quiver/collection.dart';
import 'model/Symptoms.dart';
class SC_main extends StatefulWidget {
@override
SC_mainState createState() => SC_mainState();
}
class SC_mainState extends State<SC_main> {
bool isPositiveMatch = false;
// String symptom = "i am a symptom";
// HashMap symptomMap = new HashMap<int,String>();
Map<String, bool> symptomList = HashMap();
Map<String, bool> values = {
'Fever With Chills': false,
'Cough and Sneezing': false,
'Difficulty in Breathing': false,
'Sore throat / Blush lips': false,
'Mustle Pain or Ache': false,
};
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Self-Carer"),
),
body: Container(
child: SingleChildScrollView(
child: Column(
children: [
Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height /2.5,
child: Image.asset(
'lib/assets/images/hospital.gif',
)),
SizedBox(
height: 350,
child: new ListView(
children: values.keys.map((String key) {
return Container(
margin: EdgeInsets.only(bottom: 20,left: 10,right: 10),
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.blue.withOpacity(0.4) ,blurRadius: 8, offset: Offset(4,4),spreadRadius: 4
)
],
gradient: LinearGradient(
colors: [Colors.blue[600], Colors.white],
begin: Alignment.centerLeft,
end: Alignment.centerRight,
),
borderRadius: BorderRadius.all(Radius.circular(24)),
),
child: SizedBox(
height: 90,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: new CheckboxListTile(
title: new Text(key,style:TextStyle(
color: Colors.white,
fontFamily: 'avenir',
),),
value: values[key],
onChanged: (bool value) {
setState(() {
values[key] = value;
symptomList.clear();
values.forEach((key, value) {
print('${key}: ${value}');
if (value) {
symptomList.putIfAbsent(key, () => value);
print(
'Selected Items::' + symptomList.toString());
}
});
});
print(key);
},
),
),
),
);
}).toList(),
),
),
],
),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () => {
if (symptomList.isEmpty)
{print("Please select your Symptoms")}
else
{
if(symptomList.containsKey('Fever With Chills')
&& symptomList.containsKey('Cough and Sneezing')
&& symptomList.containsKey('Difficulty in Breathing')
&& symptomList.containsKey('Sore throat / Blush lips')
&& symptomList.containsKey('Mustle Pain or Ache')){
print("Positive Match Found Immediate Treatements needed !"),
Navigator.push(context,
MaterialPageRoute(builder: (context) => SC_resultScreen()))
}
}
},
child: Icon(
// Icons.next_plan_outlined
Icons.double_arrow_rounded)),
);
}
}
...@@ -33,6 +33,8 @@ dependencies: ...@@ -33,6 +33,8 @@ dependencies:
wakelock: ^0.1.4+1 wakelock: ^0.1.4+1
charts_flutter: ^0.9.0 charts_flutter: ^0.9.0
flutter_spinkit: "^4.1.2" flutter_spinkit: "^4.1.2"
google_fonts: ^1.1.2
flutter_sms: ^2.1.1
...@@ -121,6 +123,7 @@ flutter: ...@@ -121,6 +123,7 @@ flutter:
- lib/assets/labels.txt - lib/assets/labels.txt
- assets/ - assets/
- lib/assets/images/wear.gif - lib/assets/images/wear.gif
- lib/assets/images/hospital.gif
# To add assets to your application, add an assets section, like this: # To add assets to your application, add an assets section, like this:
# assets: # assets:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment