Skip to content

Commit 45533ba

Browse files
committed
Buffer value of Telegram.isLoggedIn() in Monitor
This is implemented in Telegram by executing a script, which takes some time. So, keeping isLoggedIn in Monitor allows for faster execution of the isLoggedIn() method.
1 parent 7e06b99 commit 45533ba

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/main/java/ai/quantumsense/tgmonitor/monitor/MonitorImpl.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public class MonitorImpl implements Monitor {
66

77
private Telegram tg;
88
private String phoneNumber = null;
9+
private Boolean isLoggedIn = null;
910

1011
public MonitorImpl(Telegram tg, ServiceLocator<Monitor> monitorLocator) {
1112
this.tg = tg;
@@ -18,6 +19,7 @@ public void login(String phoneNumber) {
1819
throw new RuntimeException("Attempting to log in, but already logged in");
1920
tg.login(phoneNumber);
2021
this.phoneNumber = phoneNumber;
22+
isLoggedIn = true;
2123
}
2224

2325
@Override
@@ -26,11 +28,14 @@ public void logout() {
2628
throw new RuntimeException("Attempting to log out, but already logged out");
2729
tg.logout();
2830
phoneNumber = null;
31+
isLoggedIn = false;
2932
}
3033

3134
@Override
3235
public boolean isLoggedIn() {
33-
return tg.isLoggedIn();
36+
if (isLoggedIn == null)
37+
isLoggedIn = tg.isLoggedIn();
38+
return isLoggedIn;
3439
}
3540

3641
@Override

0 commit comments

Comments
 (0)