import kivy from kivy.app import App from kivy.uix.screenmanager import ScreenManager, Screen import os import json from kivy.clock import Clock from kivy.properties import StringProperty, ListProperty from py_scripts.utils import ( generate_key, load_key, encrypt_data, decrypt_data, check_server_settings, save_server_settings, test_connection, get_devices_from_server, save_route_to_file, fetch_positions_for_selected_day ) from datetime import date from kivy.uix.popup import Popup from kivy.uix.gridlayout import GridLayout from kivy.uix.button import Button from kivy.uix.label import Label from kivy.uix.boxlayout import BoxLayout from threading import Thread from kivy.clock import mainthread from kivy.uix.image import Image from kivy.uix.behaviors import ButtonBehavior from kivy.uix.progressbar import ProgressBar import webbrowser from selenium import webdriver from selenium.webdriver.chrome.options import Options from PIL import Image import time from screens.home_screen import HomeScreen from screens.login_screen import LoginScreen from screens.get_trip_from_server import GetTripFromServer from screens.create_animation_screen import CreateAnimationScreen from screens.settings_screen import SettingsScreen from screens.settings_screen import RegisterScreen from screens.pause_edit_screen_improved import PauseEditScreen from config import RESOURCES_FOLDER kivy.require("2.0.0") from kivy.core.window import Window Window.size = (360, 780) class TraccarApp(App): def build(self): if not os.path.exists(RESOURCES_FOLDER): os.makedirs(RESOURCES_FOLDER) generate_key() sm = ScreenManager() sm.add_widget(LoginScreen(name="login")) sm.add_widget(HomeScreen(name="home")) sm.add_widget(GetTripFromServer(name="get_trip_from_server")) sm.add_widget(SettingsScreen(name="settings")) sm.add_widget(RegisterScreen(name="register")) sm.add_widget(CreateAnimationScreen(name="create_animation")) sm.add_widget(PauseEditScreen(name="pause_edit")) print("Screens added to ScreenManager:", [screen.name for screen in sm.screens]) return sm if __name__ == "__main__": TraccarApp().run()