diff options
4 files changed, 9 insertions, 17 deletions
diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/dashboard/AutoPermissionUsageFragment.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/dashboard/AutoPermissionUsageFragment.kt index 9f39bd785..f2e453447 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/dashboard/AutoPermissionUsageFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/auto/dashboard/AutoPermissionUsageFragment.kt @@ -69,7 +69,7 @@ class AutoPermissionUsageFragment : AutoSettingsFrameFragment() { ?: (arguments?.getLong(Constants.EXTRA_SESSION_ID, Constants.INVALID_SESSION_ID) ?: Constants.INVALID_SESSION_ID) - val factory = PermissionUsageViewModelFactory(requireActivity().application, this, Bundle()) + val factory = PermissionUsageViewModelFactory(requireActivity().application) mViewModel = ViewModelProvider(this, factory)[PermissionUsageViewModel::class.java] mViewModel.permissionUsagesUiLiveData.observe(this, this::updateAllUI) setLoading(true) diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageFragment.java b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageFragment.java index 79db4660e..3fa780145 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageFragment.java +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/handheld/v31/PermissionUsageFragment.java @@ -105,7 +105,7 @@ public class PermissionUsageFragment extends SettingsWithLargeHeader { } PermissionUsageViewModelFactory factory = new PermissionUsageViewModelFactory( - getActivity().getApplication(), this, new Bundle()); + getActivity().getApplication()); mViewModel = new ViewModelProvider(this, factory) .get(PermissionUsageViewModel.class); diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/viewmodel/v31/PermissionUsageViewModel.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/viewmodel/v31/PermissionUsageViewModel.kt index 0df91adcc..e763afc30 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/viewmodel/v31/PermissionUsageViewModel.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/viewmodel/v31/PermissionUsageViewModel.kt @@ -19,16 +19,16 @@ package com.android.permissioncontroller.permission.ui.viewmodel.v31 import android.app.Application import android.content.Context import android.os.Build -import android.os.Bundle import androidx.annotation.RequiresApi import androidx.annotation.VisibleForTesting -import androidx.lifecycle.AbstractSavedStateViewModelFactory import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel +import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.asLiveData +import androidx.lifecycle.createSavedStateHandle import androidx.lifecycle.viewModelScope -import androidx.savedstate.SavedStateRegistryOwner +import androidx.lifecycle.viewmodel.CreationExtras import com.android.permissioncontroller.DeviceUtils import com.android.permissioncontroller.permission.data.repository.v31.PermissionRepository import com.android.permissioncontroller.permission.domain.model.v31.PermissionGroupUsageModel @@ -189,24 +189,16 @@ sealed class PermissionUsagesUiState { /** Factory for [PermissionUsageViewModel]. */ @RequiresApi(Build.VERSION_CODES.S) -class PermissionUsageViewModelFactory( - private val app: Application, - owner: SavedStateRegistryOwner, - defaultArgs: Bundle -) : AbstractSavedStateViewModelFactory(owner, defaultArgs) { +class PermissionUsageViewModelFactory(private val app: Application) : ViewModelProvider.Factory { @Suppress("UNCHECKED_CAST") - override fun <T : ViewModel> create( - key: String, - modelClass: Class<T>, - handle: SavedStateHandle - ): T { + override fun <T : ViewModel> create(modelClass: Class<T>, extras: CreationExtras): T { val permissionRepository = PermissionRepository.getInstance(app) val permissionUsageUseCase = GetPermissionGroupUsageUseCase.create(app) return PermissionUsageViewModel( app, permissionRepository, permissionUsageUseCase, - savedState = handle + savedState = extras.createSavedStateHandle() ) as T } diff --git a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageFragment.kt b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageFragment.kt index 22ab7f77f..d2832bc90 100644 --- a/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageFragment.kt +++ b/PermissionController/src/com/android/permissioncontroller/permission/ui/wear/WearPermissionUsageFragment.kt @@ -44,7 +44,7 @@ class WearPermissionUsageFragment : Fragment() { val sessionId: Long = arguments?.getLong(Constants.EXTRA_SESSION_ID) ?: Constants.INVALID_SESSION_ID - val factory = PermissionUsageViewModelFactory(requireActivity().application, this, Bundle()) + val factory = PermissionUsageViewModelFactory(requireActivity().application) val viewModel = ViewModelProvider(this, factory).get(PermissionUsageViewModel::class.java) return ComposeView(requireContext()).apply { |