diff --git a/application/vlc-android/src/org/videolan/vlc/gui/MainActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/MainActivity.kt index e678a1ce2..c6762aef8 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/MainActivity.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/MainActivity.kt @@ -160,6 +160,7 @@ class MainActivity : ContentActivity(), }?.show() settings.putSingle(PERMISSION_NEXT_ASK, System.currentTimeMillis() + TimeUnit.DAYS.toMillis(2)) } + updateIncognitoModeIcon() configurationChanged(getScreenWidth()) } diff --git a/application/vlc-android/src/org/videolan/vlc/gui/SecondaryActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/SecondaryActivity.kt index 35277ccea..b67fdbba4 100644 --- a/application/vlc-android/src/org/videolan/vlc/gui/SecondaryActivity.kt +++ b/application/vlc-android/src/org/videolan/vlc/gui/SecondaryActivity.kt @@ -29,10 +29,13 @@ import android.view.Menu import android.view.MenuItem import android.view.View import androidx.coordinatorlayout.widget.CoordinatorLayout +import androidx.core.content.ContextCompat import androidx.core.os.bundleOf import androidx.core.view.WindowInsetsControllerCompat import androidx.fragment.app.Fragment +import androidx.lifecycle.lifecycleScope import com.google.android.material.appbar.AppBarLayout +import kotlinx.coroutines.launch import org.videolan.libvlc.Dialog import org.videolan.medialibrary.interfaces.Medialibrary import org.videolan.medialibrary.interfaces.media.MediaWrapper @@ -42,8 +45,12 @@ import org.videolan.resources.KEY_FOLDER import org.videolan.resources.KEY_GROUP import org.videolan.resources.util.applyOverscanMargin import org.videolan.resources.util.parcelable +import org.videolan.tools.KEY_INCOGNITO import org.videolan.tools.RESULT_RESCAN import org.videolan.tools.RESULT_RESTART +import org.videolan.tools.Settings +import org.videolan.tools.putSingle +import org.videolan.vlc.BuildConfig import org.videolan.vlc.R import org.videolan.vlc.gui.audio.AudioAlbumsSongsFragment import org.videolan.vlc.gui.audio.AudioBrowserFragment @@ -52,6 +59,7 @@ import org.videolan.vlc.gui.browser.KEY_MEDIA import org.videolan.vlc.gui.browser.MLStorageBrowserFragment import org.videolan.vlc.gui.browser.NetworkBrowserFragment import org.videolan.vlc.gui.helpers.UiTools +import org.videolan.vlc.gui.helpers.UiTools.showPinIfNeeded import org.videolan.vlc.gui.network.MRLPanelFragment import org.videolan.vlc.gui.video.VideoGridFragment import org.videolan.vlc.reloadLibrary @@ -141,6 +149,7 @@ class SecondaryActivity : ContentActivity(), IDialogManager { override fun onPrepareOptionsMenu(menu: Menu?): Boolean { menu?.findItem(R.id.ml_menu_refresh)?.isVisible = Permissions.canReadStorage(this) + menu?.findItem(R.id.incognito_mode)?.isChecked = Settings.getInstance(this).getBoolean(KEY_INCOGNITO, false) return super.onPrepareOptionsMenu(menu) } @@ -154,6 +163,14 @@ class SecondaryActivity : ContentActivity(), IDialogManager { } return true } + R.id.incognito_mode -> { + lifecycleScope.launch { + if (showPinIfNeeded()) return@launch + Settings.getInstance (this@SecondaryActivity).putSingle(KEY_INCOGNITO, !Settings.getInstance(this@SecondaryActivity).getBoolean(KEY_INCOGNITO, false)) + item.isChecked = !item.isChecked + } + return true + } } return super.onOptionsItemSelected(item) }