FoxiGram/TMessagesProj/jni/rlottie/src/vector/velapsedtimer.cpp
instant992 8e79f2ee9c FoxiGram: Telegram client with built-in Xray VLESS proxy
Based on Nekogram. Key additions:
- Rebrand to FoxiGram (app name, APK name, applicationId com.foxigram.app)
- Embedded Xray (VLESS+Reality) proxy client via JNI libxray.so
- Bundled hidden one-tap proxies (LTE + WiFi), read-only in UI
- Auto-restore proxy on restart, rebind to active network (LTE/WiFi)
- Server credentials externalized to git-ignored XrayServers.java (+ template)
- libxray Go source included; compiled .so, keystore, google-services.json ignored
2026-06-08 16:41:07 +04:00

47 lines
1.4 KiB
C++
Executable file

/*
* Copyright (c) 2018 Samsung Electronics Co., Ltd. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "velapsedtimer.h"
void VElapsedTimer::start()
{
clock = std::chrono::high_resolution_clock::now();
m_valid = true;
}
double VElapsedTimer::restart()
{
double elapsedTime = elapsed();
start();
return elapsedTime;
}
double VElapsedTimer::elapsed() const
{
if (!isValid()) return 0;
return std::chrono::duration<double, std::milli>(
std::chrono::high_resolution_clock::now() - clock)
.count();
}
bool VElapsedTimer::hasExpired(double time)
{
double elapsedTime = elapsed();
if (elapsedTime > time) return true;
return false;
}