generated from marchdev-tk/flutter_package_template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
16 changed files
with
277 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
export 'collectors/collector.dart'; | ||
export 'collectors/implementations/battery_level.collector.dart'; | ||
export 'collectors/implementations/battery_temperature.collector.dart'; | ||
export 'collectors/implementations/cpu_frequency.collector.dart'; | ||
export 'collectors/implementations/cpu_temperature.collector.dart'; | ||
export 'collectors/implementations/traffic_consumption.collector.dart'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import '../models/extremums.dart'; | ||
|
||
abstract class AnalysisCollector<T> { | ||
const AnalysisCollector._(); | ||
|
||
void collect(T data); | ||
|
||
Extremum<T> getExtremum(); | ||
} |
17 changes: 17 additions & 0 deletions
17
lib/src/collectors/implementations/battery_level.collector.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import '../../models.dart'; | ||
import '../collector.dart'; | ||
|
||
class AnalysisBatteryLevelCollector implements AnalysisCollector<double> { | ||
const AnalysisBatteryLevelCollector(); | ||
|
||
@override | ||
void collect(double data) { | ||
// TODO | ||
} | ||
|
||
@override | ||
Extremum<double> getExtremum() { | ||
// TODO: implement getExtremum | ||
throw UnimplementedError(); | ||
} | ||
} |
17 changes: 17 additions & 0 deletions
17
lib/src/collectors/implementations/battery_temperature.collector.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import '../../models.dart'; | ||
import '../collector.dart'; | ||
|
||
class AnalysisBatteryTemperatureCollector implements AnalysisCollector<double> { | ||
const AnalysisBatteryTemperatureCollector(); | ||
|
||
@override | ||
void collect(double data) { | ||
// TODO | ||
} | ||
|
||
@override | ||
Extremum<double> getExtremum() { | ||
// TODO: implement getExtremum | ||
throw UnimplementedError(); | ||
} | ||
} |
18 changes: 18 additions & 0 deletions
18
lib/src/collectors/implementations/cpu_frequency.collector.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import '../../models.dart'; | ||
import '../collector.dart'; | ||
|
||
class AnalysisCpuFrequencyCollector | ||
implements AnalysisCollector<CpuFrequencies> { | ||
const AnalysisCpuFrequencyCollector(); | ||
|
||
@override | ||
void collect(CpuFrequencies data) { | ||
// TODO | ||
} | ||
|
||
@override | ||
Extremum<CpuFrequencies> getExtremum() { | ||
// TODO: implement getExtremum | ||
throw UnimplementedError(); | ||
} | ||
} |
17 changes: 17 additions & 0 deletions
17
lib/src/collectors/implementations/cpu_temperature.collector.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import '../../models.dart'; | ||
import '../collector.dart'; | ||
|
||
class AnalysisCpuTemperatureCollector implements AnalysisCollector<double> { | ||
const AnalysisCpuTemperatureCollector(); | ||
|
||
@override | ||
void collect(double data) { | ||
// TODO | ||
} | ||
|
||
@override | ||
Extremum<double> getExtremum() { | ||
// TODO: implement getExtremum | ||
throw UnimplementedError(); | ||
} | ||
} |
17 changes: 17 additions & 0 deletions
17
lib/src/collectors/implementations/traffic_consumption.collector.dart
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
import '../../models.dart'; | ||
import '../collector.dart'; | ||
|
||
class AnalysisTrafficConsumptionCollector implements AnalysisCollector<int> { | ||
const AnalysisTrafficConsumptionCollector(); | ||
|
||
@override | ||
void collect(int data) { | ||
// TODO | ||
} | ||
|
||
@override | ||
Extremum<int> getExtremum() { | ||
// TODO: implement getExtremum | ||
throw UnimplementedError(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
export 'models/cpu_frequencies.dart'; | ||
export 'models/data.dart'; | ||
export 'models/extremums.dart'; | ||
export 'models/info.dart'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
class CpuFrequencies { | ||
const CpuFrequencies(this.frequencies); | ||
|
||
static const empty = CpuFrequencies([]); | ||
|
||
final List<double> frequencies; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
import 'cpu_frequencies.dart'; | ||
|
||
abstract class AnalysisDataInterface { | ||
const AnalysisDataInterface._(); | ||
|
||
Duration get testDuration; | ||
|
||
Map<DateTime, double> get batteryTemperature; | ||
Map<DateTime, double> get batteryLevel; | ||
|
||
Map<DateTime, double> get cpuTemperature; | ||
Map<DateTime, CpuFrequencies> get cpuFrequencies; | ||
|
||
Map<DateTime, int> get trafficConsumption; | ||
} | ||
|
||
class AnalysisData implements AnalysisDataInterface { | ||
const AnalysisData({ | ||
required this.testDuration, | ||
required this.batteryTemperature, | ||
required this.batteryLevel, | ||
required this.cpuTemperature, | ||
required this.cpuFrequencies, | ||
required this.trafficConsumption, | ||
}); | ||
|
||
static const empty = AnalysisData( | ||
testDuration: Duration.zero, | ||
batteryTemperature: {}, | ||
batteryLevel: {}, | ||
cpuTemperature: {}, | ||
cpuFrequencies: {}, | ||
trafficConsumption: {}, | ||
); | ||
|
||
@override | ||
final Duration testDuration; | ||
|
||
@override | ||
final Map<DateTime, double> batteryTemperature; | ||
@override | ||
final Map<DateTime, double> batteryLevel; | ||
|
||
@override | ||
final Map<DateTime, double> cpuTemperature; | ||
@override | ||
final Map<DateTime, CpuFrequencies> cpuFrequencies; | ||
|
||
@override | ||
final Map<DateTime, int> trafficConsumption; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
import 'cpu_frequencies.dart'; | ||
|
||
class Extremum<T> { | ||
const Extremum(this.min, this.max); | ||
|
||
final T min; | ||
final T max; | ||
} | ||
|
||
abstract class AnalysisExtremumsInterface { | ||
const AnalysisExtremumsInterface._(); | ||
|
||
Extremum<double> get batteryTemperature; | ||
Extremum<double> get batteryLevel; | ||
|
||
Extremum<double> get cpuTemperature; | ||
Extremum<CpuFrequencies> get cpuFrequencies; | ||
} | ||
|
||
class AnalysisExtremums implements AnalysisExtremumsInterface { | ||
const AnalysisExtremums({ | ||
required this.batteryTemperature, | ||
required this.batteryLevel, | ||
required this.cpuTemperature, | ||
required this.cpuFrequencies, | ||
}); | ||
|
||
@override | ||
final Extremum<double> batteryTemperature; | ||
@override | ||
final Extremum<double> batteryLevel; | ||
|
||
@override | ||
final Extremum<double> cpuTemperature; | ||
@override | ||
final Extremum<CpuFrequencies> cpuFrequencies; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
import 'data.dart'; | ||
import 'extremums.dart'; | ||
|
||
class AnalysisInfo { | ||
factory AnalysisInfo({ | ||
required AnalysisData data, | ||
required AnalysisExtremums extremums, | ||
}) { | ||
return AnalysisInfo._( | ||
id: '', // TODO generate random id | ||
data: data, | ||
extremums: extremums, | ||
); | ||
} | ||
|
||
const AnalysisInfo._({ | ||
required this.id, | ||
required this.data, | ||
required this.extremums, | ||
}); | ||
|
||
final String id; | ||
final AnalysisData data; | ||
final AnalysisExtremums extremums; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
import 'models.dart'; | ||
|
||
class AnalysisService { | ||
factory AnalysisService() => _instance; | ||
const AnalysisService._(); | ||
static const _instance = AnalysisService._(); | ||
|
||
void start() { | ||
// TODO | ||
} | ||
|
||
void stop() { | ||
// TODO | ||
} | ||
|
||
AnalysisExtremums getExtremums() { | ||
// TODO: implement getExtremums | ||
throw UnimplementedError(); | ||
} | ||
} | ||
|
||
// • Collector | ||
// ○ Battery consumption % (every 30 sec) | ||
// ○ RAM consumption (every 30 sec) | ||
// ○ Network traffic consumption (per request) | ||
// | ||
// • Method to form ResultInfo (test duration, collectors results, RAM min max avg values) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
export 'storages/storage.dart'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import 'dart:async'; | ||
|
||
import '../models.dart'; | ||
|
||
abstract class AnalysisStorage { | ||
FutureOr<AnalysisInfo> readAll(); | ||
FutureOr<AnalysisInfo> read(String id); | ||
|
||
FutureOr<void> create(AnalysisInfo info); | ||
|
||
FutureOr<void> clear(String id); | ||
FutureOr<void> clearAll(); | ||
} | ||
|
||
// • AnalysisStorage abstract model, ready to extend | ||
// ○ File | ||
// ○ Memory | ||
// ○ Preferences | ||
// • Methods to Clear One/Clear All analysis results |