Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package de.qabel.qabelbox.ui

import android.app.Activity
import android.support.test.espresso.Espresso

import org.junit.Test

import de.qabel.qabelbox.R
import de.qabel.qabelbox.ui.helper.UITestHelper

import android.support.test.espresso.Espresso.onView
import android.support.test.espresso.assertion.ViewAssertions.doesNotExist
import android.support.test.espresso.assertion.ViewAssertions.matches
import android.support.test.espresso.matcher.ViewMatchers.isDisplayed
import android.support.test.espresso.matcher.ViewMatchers.withText
import de.qabel.qabelbox.communication.connection.ConnectivityManager
import de.qabel.qabelbox.ui.idling.InjectedIdlingResource

class OfflineUITest : AbstractUITest() {

lateinit private var connectivityManager: MockConnectivityManager
val idlingResource = InjectedIdlingResource()

internal inner class MockConnectivityManager(private val context: Activity):
ConnectivityManager(context) {

override var isConnected = true
set(connected) {
field = connected
context.runOnUiThread {
if (connected) {
listener?.handleConnectionEstablished()
} else {
listener?.handleConnectionLost()
}
}
}
}


@Throws(Throwable::class)
override fun setUp() {
super.setUp()
launchActivity(null)
mActivity.idleCallback = idlingResource
Espresso.registerIdlingResources(idlingResource)

connectivityManager = MockConnectivityManager(mActivity)
mActivity.installConnectivityManager(connectivityManager)
connectivityManager.isConnected = true
}


@Test
@Throws(Throwable::class)
fun testOfflineIndicator() {
onView(withText(R.string.no_connection)).check(doesNotExist())
connectivityManager.isConnected = false
onView(withText(R.string.no_connection)).check(matches(isDisplayed()))
UITestHelper.screenShot(mActivity, "offlineIndicator")
}

@Test
fun testOnline() {
onView(withText(R.string.no_connection)).check(doesNotExist())
}

}
4 changes: 2 additions & 2 deletions qabelbox/src/main/java/de/qabel/qabelbox/base/BaseFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ abstract class BaseFragment(protected val mainFragment: Boolean = false,
this.idle = idle
}

fun busy() = idle?.let { it.busy() }
fun busy() = idle?.busy()

fun idle() = idle?.let { it.idle() }
fun idle() = idle?.idle()

@Suppress("UNCHECKED_CAST")
protected fun <C> getComponent(componentType: Class<C>): C {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,20 @@ package de.qabel.qabelbox.base

import android.os.Bundle
import de.qabel.core.logging.QabelLog
import de.qabel.qabelbox.listeners.IdleCallback
import de.qabel.qabelbox.reporter.CrashReporter
import javax.inject.Inject

open class CrashReportingActivity : BaseActivity(), QabelLog {

@Inject lateinit var crashReporter: CrashReporter

var idleCallback: IdleCallback? = null

fun busy() = idleCallback?.busy()

fun idle() = idleCallback?.idle()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
applicationComponent.inject(this)
Expand Down
8 changes: 5 additions & 3 deletions qabelbox/src/main/java/de/qabel/qabelbox/base/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,7 @@ class MainActivity : CrashReportingActivity(),
private var offlineIndicator: AlertDialog? = null

override fun handleConnectionLost(): Unit {
busy()
runOnUiThread {
if (offlineIndicator == null) {
val builder = AlertDialog.Builder(this@MainActivity)
Expand All @@ -301,17 +302,20 @@ class MainActivity : CrashReportingActivity(),
} else {
offlineIndicator?.show()
}
idle()
}
}

override fun handleConnectionEstablished() {
busy()
runOnUiThread {
offlineIndicator?.let {
if (it.isShowing) {
it.dismiss()
offlineIndicator = null
}
}
idle()
}
}

Expand Down Expand Up @@ -614,9 +618,7 @@ class MainActivity : CrashReportingActivity(),
startActivity(i)
}

override fun getComponent(): ActiveIdentityComponent {
return component
}
override fun getComponent() = component

companion object {

Expand Down