Skip to content

Commit 50f4473

Browse files
committed
#1875 auto start system bridge within 5 minutes of booting
1 parent 90135b1 commit 50f4473

File tree

2 files changed

+21
-6
lines changed

2 files changed

+21
-6
lines changed

base/src/main/java/io/github/sds100/keymapper/base/promode/SystemBridgeAutoStarter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ class SystemBridgeAutoStarter @Inject constructor(
155155
// The Key Mapper process may not necessarily be started on boot due to the
156156
// on boot receiver so assume if it is started within a minute of boot that
157157
// it should be auto started.
158-
val isBoot = clock.elapsedRealtime() < 60000
158+
val isBoot = clock.elapsedRealtime() <= 300_000
159159

160160
Timber.i(
161161
"SystemBridgeAutoStarter init: isBoot=$isBoot",

base/src/test/java/io/github/sds100/keymapper/base/promode/SystemBridgeAutoStarterTest.kt

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,21 @@ class SystemBridgeAutoStarterTest {
144144
verify(mockSetupController).autoStartWithAdb()
145145
}
146146

147+
@Test
148+
fun `auto start 5 minutes after booting`() = runTest(testDispatcher) {
149+
whenever(mockClock.elapsedRealtime()).thenReturn(300_000L)
150+
fakePreferences.set(Keys.isProModeAutoStartBootEnabled, true)
151+
fakePreferences.set(Keys.isCleanShutdown, true)
152+
whenever(mockSetupController.isAdbPaired()).thenReturn(true)
153+
isWifiConnectedFlow.value = true
154+
writeSecureSettingsGrantedFlow.value = true
155+
156+
systemBridgeAutoStarter.init()
157+
advanceUntilIdle()
158+
159+
verify(mockSetupController).autoStartWithAdb()
160+
}
161+
147162
@Test
148163
fun `do not auto start with ADB if WRITE_SECURE_SETTINGS is denied`() =
149164
runTest(testDispatcher) {
@@ -237,7 +252,7 @@ class SystemBridgeAutoStarterTest {
237252

238253
@Test
239254
fun `auto start with root when type is ROOT`() = runTest(testDispatcher) {
240-
whenever(mockClock.elapsedRealtime()).thenReturn(70000L)
255+
whenever(mockClock.elapsedRealtime()).thenReturn(1_000_000L)
241256
isRootGrantedFlow.value = true
242257
fakePreferences.set(Keys.isSystemBridgeEmergencyKilled, false)
243258

@@ -249,7 +264,7 @@ class SystemBridgeAutoStarterTest {
249264

250265
@Test
251266
fun `do not auto start when already connected`() = runTest(testDispatcher) {
252-
whenever(mockClock.elapsedRealtime()).thenReturn(70000L)
267+
whenever(mockClock.elapsedRealtime()).thenReturn(1_000_000L)
253268
isRootGrantedFlow.value = true
254269
connectionStateFlow.value = SystemBridgeConnectionState.Connected(time = 1000)
255270

@@ -263,7 +278,7 @@ class SystemBridgeAutoStarterTest {
263278

264279
@Test
265280
fun `do not auto start when emergency killed`() = runTest(testDispatcher) {
266-
whenever(mockClock.elapsedRealtime()).thenReturn(70000L)
281+
whenever(mockClock.elapsedRealtime()).thenReturn(1_000_000L)
267282
isRootGrantedFlow.value = true
268283
fakePreferences.set(Keys.isSystemBridgeEmergencyKilled, true)
269284

@@ -277,7 +292,7 @@ class SystemBridgeAutoStarterTest {
277292

278293
@Test
279294
fun `auto start when disconnected unexpectedly`() = runTest(testDispatcher) {
280-
whenever(mockClock.elapsedRealtime()).thenReturn(70000L)
295+
whenever(mockClock.elapsedRealtime()).thenReturn(1_000_000L)
281296
val disconnectedState = SystemBridgeConnectionState.Disconnected(
282297
time = 1000,
283298
isExpected = false,
@@ -294,7 +309,7 @@ class SystemBridgeAutoStarterTest {
294309

295310
@Test
296311
fun `auto start with root when rooted`() = runTest(testDispatcher) {
297-
whenever(mockClock.elapsedRealtime()).thenReturn(70000L)
312+
whenever(mockClock.elapsedRealtime()).thenReturn(1_000_000L)
298313
isRootGrantedFlow.value = true
299314

300315
systemBridgeAutoStarter.init()

0 commit comments

Comments
 (0)