@@ -107,6 +107,7 @@ import androidx.lifecycle.LiveData
107107import androidx.lifecycle.viewmodel.compose.viewModel
108108import com.salesforce.androidsdk.R.string.sf__back_button_content_description
109109import com.salesforce.androidsdk.R.string.sf__clear_cookies
110+ import com.salesforce.androidsdk.R.string.sf__clear_cache
110111import com.salesforce.androidsdk.R.string.sf__launch_idp
111112import com.salesforce.androidsdk.R.string.sf__loading_indicator
112113import com.salesforce.androidsdk.R.string.sf__more_options
@@ -149,6 +150,7 @@ fun LoginView() {
149150 titleTextColor = viewModel.titleTextColor ? : viewModel.dynamicHeaderTextColor.value,
150151 showServerPicker = viewModel.showServerPicker,
151152 clearCookies = { viewModel.clearCookies() },
153+ clearWebViewCache = { viewModel.clearWebViewCache(activity.webView) },
152154 reloadWebView = { viewModel.reloadWebView() },
153155 shouldShowBackButton = viewModel.shouldShowBackButton,
154156 finish = { activity.handleBackBehavior() },
@@ -246,6 +248,7 @@ internal fun DefaultTopAppBar(
246248 titleTextColor : Color ,
247249 showServerPicker : MutableState <Boolean >,
248250 clearCookies : () -> Unit ,
251+ clearWebViewCache : () -> Unit ,
249252 reloadWebView : () -> Unit ,
250253 shouldShowBackButton : Boolean ,
251254 finish : () -> Unit ,
@@ -295,6 +298,11 @@ internal fun DefaultTopAppBar(
295298 reloadWebView()
296299 showMenu = false
297300 }
301+ MenuItem (stringResource(sf__clear_cache)) {
302+ clearWebViewCache()
303+ reloadWebView()
304+ showMenu = false
305+ }
298306 MenuItem (stringResource(sf__reload)) {
299307 reloadWebView()
300308 showMenu = false
@@ -474,6 +482,7 @@ private fun AppBarPreview() {
474482 titleTextColor = Color .Black ,
475483 showServerPicker = remember { mutableStateOf(false ) },
476484 clearCookies = { },
485+ clearWebViewCache = { },
477486 reloadWebView = { },
478487 shouldShowBackButton = false ,
479488 finish = { },
@@ -493,6 +502,7 @@ private fun AppBarLoadingPreview() {
493502 titleTextColor = Color .Black ,
494503 showServerPicker = remember { mutableStateOf(false ) },
495504 clearCookies = { },
505+ clearWebViewCache = { },
496506 reloadWebView = { },
497507 shouldShowBackButton = false ,
498508 finish = { },
@@ -512,6 +522,7 @@ private fun AppBarBackButtonPreview() {
512522 titleTextColor = Color .Black ,
513523 showServerPicker = remember { mutableStateOf(false ) },
514524 clearCookies = { },
525+ clearWebViewCache = { },
515526 reloadWebView = { },
516527 shouldShowBackButton = true ,
517528 finish = { },
@@ -531,6 +542,7 @@ private fun AppBarDarkPreview() {
531542 titleTextColor = Color .White ,
532543 showServerPicker = remember { mutableStateOf(false ) },
533544 clearCookies = { },
545+ clearWebViewCache = { },
534546 reloadWebView = { },
535547 shouldShowBackButton = true ,
536548 finish = { },
@@ -550,6 +562,7 @@ private fun BlueAppBarPreview() {
550562 titleTextColor = Color .White ,
551563 showServerPicker = remember { mutableStateOf(false ) },
552564 clearCookies = { },
565+ clearWebViewCache = { },
553566 reloadWebView = { },
554567 shouldShowBackButton = true ,
555568 finish = { },
@@ -569,6 +582,7 @@ private fun BlueAppBarLoadingPreview() {
569582 titleTextColor = Color .White ,
570583 showServerPicker = remember { mutableStateOf(false ) },
571584 clearCookies = { },
585+ clearWebViewCache = { },
572586 reloadWebView = { },
573587 shouldShowBackButton = true ,
574588 finish = { },
@@ -587,6 +601,7 @@ private fun CustomTextAppBarPreview() {
587601 titleTextColor = Color .White ,
588602 showServerPicker = remember { mutableStateOf(false ) },
589603 clearCookies = { },
604+ clearWebViewCache = { },
590605 reloadWebView = { },
591606 shouldShowBackButton = false ,
592607 finish = { },
@@ -605,6 +620,7 @@ private fun CustomTextAppBarLoadingPreview() {
605620 titleTextColor = Color .White ,
606621 showServerPicker = remember { mutableStateOf(false ) },
607622 clearCookies = { },
623+ clearWebViewCache = { },
608624 reloadWebView = { },
609625 shouldShowBackButton = false ,
610626 finish = { },
@@ -623,6 +639,7 @@ private fun LongCustomTextAppBarPreview() {
623639 titleTextColor = Color .Black ,
624640 showServerPicker = remember { mutableStateOf(false ) },
625641 clearCookies = { },
642+ clearWebViewCache = { },
626643 reloadWebView = { },
627644 shouldShowBackButton = true ,
628645 finish = { },
0 commit comments