#320 finish BrowseFilesActivity when the phone gets locked
After unlocking the phone screen, the vault content isn't visible for a second before the app switches to the vault list any longer
This commit is contained in:
parent
a52502f510
commit
c4496ca148
@ -130,7 +130,6 @@ abstract class Presenter<V : View> protected constructor(private val exceptionMa
|
||||
|
||||
open fun resumed() {}
|
||||
|
||||
|
||||
fun destroy() {
|
||||
logLifecycle("destroy")
|
||||
unsubscribeAll()
|
||||
|
@ -8,6 +8,7 @@ import android.content.IntentFilter;
|
||||
import android.os.IBinder;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import org.cryptomator.data.cloud.crypto.Cryptors;
|
||||
import org.cryptomator.presentation.util.FileUtil;
|
||||
@ -23,6 +24,7 @@ import timber.log.Timber;
|
||||
|
||||
public class CryptorsService extends Service {
|
||||
|
||||
public static final String SCREEN_AND_VAULT_LOCKED = "CRYPTOMATOR_SCREEN_AND_VAULT_LOCKED";
|
||||
private static final String ACTION_LOCK_ALL = "CRYPTOMATOR_LOCK_ALL";
|
||||
private final Cryptors.Default cryptors = new Cryptors.Default();
|
||||
private final AutolockTimeout autolockTimeout = new AutolockTimeout();
|
||||
@ -211,6 +213,9 @@ public class CryptorsService extends Service {
|
||||
destroyCryptorsAndHideNotification();
|
||||
|
||||
stopCryptorsService();
|
||||
|
||||
// notify BrowseFilesActivity to finish because of #320
|
||||
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(SCREEN_AND_VAULT_LOCKED));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,11 +1,15 @@
|
||||
package org.cryptomator.presentation.ui.activity
|
||||
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.view.Menu
|
||||
import android.view.View
|
||||
import androidx.appcompat.widget.SearchView
|
||||
import androidx.fragment.app.DialogFragment
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager
|
||||
import org.cryptomator.domain.CloudNode
|
||||
import org.cryptomator.generator.Activity
|
||||
import org.cryptomator.generator.InjectIntent
|
||||
@ -28,6 +32,7 @@ import org.cryptomator.presentation.model.comparator.CloudNodeModelSizeBiggestFi
|
||||
import org.cryptomator.presentation.model.comparator.CloudNodeModelSizeSmallestFirstComparator
|
||||
import org.cryptomator.presentation.presenter.BrowseFilesPresenter
|
||||
import org.cryptomator.presentation.presenter.BrowseFilesPresenter.Companion.OPEN_FILE_FINISHED
|
||||
import org.cryptomator.presentation.service.CryptorsService
|
||||
import org.cryptomator.presentation.ui.activity.view.BrowseFilesView
|
||||
import org.cryptomator.presentation.ui.bottomsheet.FileSettingsBottomSheet
|
||||
import org.cryptomator.presentation.ui.bottomsheet.FolderSettingsBottomSheet
|
||||
@ -73,6 +78,8 @@ class BrowseFilesActivity : BaseActivity(), //
|
||||
|
||||
private var navigationMode: ChooseCloudNodeSettings.NavigationMode? = null
|
||||
|
||||
private var finishActivityDueToScreenLockEventReceiver: BroadcastReceiver? = null
|
||||
|
||||
override fun setupView() {
|
||||
setupToolbar()
|
||||
setupNavigationMode()
|
||||
@ -102,6 +109,28 @@ class BrowseFilesActivity : BaseActivity(), //
|
||||
browseFilesIntent.chooseCloudNodeSettings()
|
||||
)
|
||||
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
|
||||
finishActivityDueToScreenLockEventReceiver?.let {
|
||||
LocalBroadcastManager.getInstance(this).unregisterReceiver(it)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
|
||||
finishActivityDueToScreenLockEventReceiver = object : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
finish()
|
||||
}
|
||||
}
|
||||
|
||||
finishActivityDueToScreenLockEventReceiver?.let {
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(it, IntentFilter(CryptorsService.SCREEN_AND_VAULT_LOCKED))
|
||||
}
|
||||
}
|
||||
|
||||
override fun onBackPressed() {
|
||||
browseFilesPresenter.onBackPressed()
|
||||
when {
|
||||
|
Loading…
x
Reference in New Issue
Block a user