Skip to content
This repository has been archived by the owner on Sep 28, 2022. It is now read-only.

Commit

Permalink
Google Services + небольшое изменение интерфейса
Browse files Browse the repository at this point in the history
  • Loading branch information
Sacmi committed Nov 15, 2021
1 parent f0f5421 commit c47efb4
Show file tree
Hide file tree
Showing 7 changed files with 113 additions and 108 deletions.
5 changes: 4 additions & 1 deletion android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ if (flutterVersionName == null) {
}

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

Expand All @@ -44,10 +45,11 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "ru.sacmi.temperature_viewer"
minSdkVersion 16
minSdkVersion 19
targetSdkVersion 30
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
multiDexEnabled true
}

buildTypes {
Expand All @@ -65,4 +67,5 @@ flutter {

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:multidex:1.0.3'
}
1 change: 1 addition & 0 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.8'
}
}

Expand Down
2 changes: 1 addition & 1 deletion lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ void main() async {
initializeDateFormatting('ru_RU', null);

final cloudMessaging = CloudMessaging();
await cloudMessaging.initialize();
cloudMessaging.initialize();

runApp(MyApp());
}
Expand Down
2 changes: 1 addition & 1 deletion lib/presentation/route/app_route.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import 'package:temperature_viewer/logic/cubit/sensor_detail/sensor_detail_cubit
import 'package:temperature_viewer/logic/cubit/sensors_list/sensor_list_cubit.dart';
import 'package:temperature_viewer/logic/cubit/settings/settings_cubit.dart';
import 'package:temperature_viewer/presentation/view/sensor_data_view.dart';
import 'package:temperature_viewer/presentation/view/sensor_detail.dart';
import 'package:temperature_viewer/presentation/view/sensor_detail_view.dart';
import 'package:temperature_viewer/presentation/view/sensor_list_view.dart';
import 'package:temperature_viewer/presentation/view/settings_view.dart';

Expand Down
97 changes: 0 additions & 97 deletions lib/presentation/view/sensor_detail.dart

This file was deleted.

93 changes: 93 additions & 0 deletions lib/presentation/view/sensor_detail_view.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
// ignore_for_file: unused_import

import 'dart:developer';

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:temperature_viewer/logic/cubit/sensor_detail/sensor_detail_cubit.dart';

class SensorDetailView extends StatelessWidget {
final int sensorId;

final maxTempController = TextEditingController();
final minTempController = TextEditingController();
final sendDelayController = TextEditingController();
final updateDelayController = TextEditingController();
final labelController = TextEditingController();

SensorDetailView({required this.sensorId, Key? key}) : super(key: key);

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Настройка датчика'),
),
body: BlocBuilder<SensorDetailCubit, SensorDetailState>(
builder: (context, state) {
if (state is SensorDetailLoading) {
if (state is SensorDetailInitialLoading) {
BlocProvider.of<SensorDetailCubit>(context)
.getSensorDetail(sensorId: sensorId);
}

return const Center(
child: CircularProgressIndicator(),
);
} else if (state is SensorDetailFailure) {
return const Center(
child: Text('Не удалось получить данные'),
);
} else if (state is SensorDetailLoaded) {
labelController.text = state.sensorDetail.label;
minTempController.text = state.sensorDetail.minTemp.toString();
maxTempController.text = state.sensorDetail.maxTemp.toString();
sendDelayController.text = state.sensorDetail.sendDelay.toString();
updateDelayController.text =
state.sensorDetail.updateDelay.toString();

return ListView(
children: [
TextField(
controller: labelController,
decoration:
const InputDecoration(labelText: 'Название датчика')),
TextField(
controller: minTempController,
decoration: const InputDecoration(
labelText: 'Минимальная температура')),
TextField(
controller: maxTempController,
decoration: const InputDecoration(
labelText: 'Максимальная температура')),
TextField(
controller: sendDelayController,
decoration: const InputDecoration(
labelText: 'Интервал отправки показаний')),
TextField(
controller: updateDelayController,
decoration: const InputDecoration(
labelText: 'Интервал проверки настроек')),
ListTile(
title: const Text('Сохранить'),
leading: const Icon(Icons.save),
onTap: () {
context.read<SensorDetailCubit>().updateSensorDetail(
sensorId: sensorId,
label: labelController.text,
minTemp: double.parse(minTempController.text),
maxTemp: double.parse(maxTempController.text),
sendDelay: int.parse(sendDelayController.text),
updateDelay: int.parse(updateDelayController.text));
},
)
],
);
} else {
return const Text('???');
}
},
),
);
}
}
21 changes: 13 additions & 8 deletions lib/presentation/view/settings_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,20 @@ class SettingsView extends StatelessWidget {
),
body: ListView(
children: [
TextField(
controller: textController,
decoration: const InputDecoration(labelText: 'Хост'),
Padding(
padding: const EdgeInsets.all(8.0),
child: TextField(
controller: textController,
decoration: const InputDecoration(labelText: 'Хост'),
),
),
ListTile(
title: const Text('Сохранить'),
leading: const Icon(Icons.save),
onTap: () {
settingsCubit.setUrl(textController.text);
},
),
ElevatedButton(
onPressed: () {
settingsCubit.setUrl(textController.text);
},
child: const Text('Save'))
],
),
);
Expand Down

0 comments on commit c47efb4

Please sign in to comment.