compose: commons: Relocate permissions screen to commons package
It now works as a permission rationale screen which we ought to show more when requesting for permissions Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -18,7 +18,7 @@ import androidx.navigation3.ui.rememberSceneSetupNavEntryDecorator
|
|||||||
import com.aurora.store.compose.ui.commons.BlacklistScreen
|
import com.aurora.store.compose.ui.commons.BlacklistScreen
|
||||||
import com.aurora.store.compose.ui.details.AppDetailsScreen
|
import com.aurora.store.compose.ui.details.AppDetailsScreen
|
||||||
import com.aurora.store.compose.ui.dev.DevProfileScreen
|
import com.aurora.store.compose.ui.dev.DevProfileScreen
|
||||||
import com.aurora.store.compose.ui.onboarding.PermissionsScreen
|
import com.aurora.store.compose.ui.commons.PermissionsScreen
|
||||||
import com.aurora.store.compose.ui.search.SearchScreen
|
import com.aurora.store.compose.ui.search.SearchScreen
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.aurora.store.compose.ui.onboarding
|
package com.aurora.store.compose.ui.commons
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
@@ -47,7 +47,7 @@ import com.aurora.store.data.model.Permission
|
|||||||
import com.aurora.store.data.model.PermissionType
|
import com.aurora.store.data.model.PermissionType
|
||||||
import com.aurora.store.data.providers.PermissionProvider.Companion.isGranted
|
import com.aurora.store.data.providers.PermissionProvider.Companion.isGranted
|
||||||
import com.aurora.store.util.PackageUtil
|
import com.aurora.store.util.PackageUtil
|
||||||
import com.aurora.store.viewmodel.onboarding.PermissionsViewModel
|
import com.aurora.store.viewmodel.commons.PermissionsViewModel
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
|
|
||||||
private const val TAG = "PermissionsScreen"
|
private const val TAG = "PermissionsScreen"
|
||||||
@@ -78,7 +78,7 @@ import com.aurora.store.compose.ui.details.components.Tags
|
|||||||
import com.aurora.store.compose.ui.details.components.Testing
|
import com.aurora.store.compose.ui.details.components.Testing
|
||||||
import com.aurora.store.compose.ui.details.navigation.ExtraScreen
|
import com.aurora.store.compose.ui.details.navigation.ExtraScreen
|
||||||
import com.aurora.store.compose.ui.dev.DevProfileScreen
|
import com.aurora.store.compose.ui.dev.DevProfileScreen
|
||||||
import com.aurora.store.compose.ui.onboarding.PermissionsScreen
|
import com.aurora.store.compose.ui.commons.PermissionsScreen
|
||||||
import com.aurora.store.data.installer.AppInstaller
|
import com.aurora.store.data.installer.AppInstaller
|
||||||
import com.aurora.store.data.model.AppState
|
import com.aurora.store.data.model.AppState
|
||||||
import com.aurora.store.data.model.PermissionType
|
import com.aurora.store.data.model.PermissionType
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.aurora.store.viewmodel.onboarding
|
package com.aurora.store.viewmodel.commons
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
@@ -14,7 +14,7 @@ import com.aurora.extensions.isTAndAbove
|
|||||||
import com.aurora.store.R
|
import com.aurora.store.R
|
||||||
import com.aurora.store.data.model.Permission
|
import com.aurora.store.data.model.Permission
|
||||||
import com.aurora.store.data.model.PermissionType
|
import com.aurora.store.data.model.PermissionType
|
||||||
import com.aurora.store.data.providers.PermissionProvider.Companion.isGranted
|
import com.aurora.store.data.providers.PermissionProvider
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
@@ -40,14 +40,20 @@ class PermissionsViewModel @Inject constructor(
|
|||||||
context.getString(R.string.onboarding_permission_installer_legacy_desc)
|
context.getString(R.string.onboarding_permission_installer_legacy_desc)
|
||||||
},
|
},
|
||||||
optional = false,
|
optional = false,
|
||||||
isGranted = isGranted(context, PermissionType.INSTALL_UNKNOWN_APPS)
|
isGranted = PermissionProvider.Companion.isGranted(
|
||||||
|
context,
|
||||||
|
PermissionType.INSTALL_UNKNOWN_APPS
|
||||||
|
)
|
||||||
),
|
),
|
||||||
Permission(
|
Permission(
|
||||||
type = PermissionType.DOZE_WHITELIST,
|
type = PermissionType.DOZE_WHITELIST,
|
||||||
title = context.getString(R.string.onboarding_permission_doze),
|
title = context.getString(R.string.onboarding_permission_doze),
|
||||||
subtitle = context.getString(R.string.onboarding_permission_doze_desc),
|
subtitle = context.getString(R.string.onboarding_permission_doze_desc),
|
||||||
optional = true,
|
optional = true,
|
||||||
isGranted = isGranted(context, PermissionType.DOZE_WHITELIST)
|
isGranted = PermissionProvider.Companion.isGranted(
|
||||||
|
context,
|
||||||
|
PermissionType.DOZE_WHITELIST
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -58,7 +64,10 @@ class PermissionsViewModel @Inject constructor(
|
|||||||
title = context.getString(R.string.onboarding_permission_esm),
|
title = context.getString(R.string.onboarding_permission_esm),
|
||||||
subtitle = context.getString(R.string.onboarding_permission_esa_desc),
|
subtitle = context.getString(R.string.onboarding_permission_esa_desc),
|
||||||
optional = false,
|
optional = false,
|
||||||
isGranted = isGranted(context, PermissionType.STORAGE_MANAGER)
|
isGranted = PermissionProvider.Companion.isGranted(
|
||||||
|
context,
|
||||||
|
PermissionType.STORAGE_MANAGER
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
@@ -68,7 +77,10 @@ class PermissionsViewModel @Inject constructor(
|
|||||||
title = context.getString(R.string.onboarding_permission_esa),
|
title = context.getString(R.string.onboarding_permission_esa),
|
||||||
subtitle = context.getString(R.string.onboarding_permission_esa_desc),
|
subtitle = context.getString(R.string.onboarding_permission_esa_desc),
|
||||||
optional = false,
|
optional = false,
|
||||||
isGranted = isGranted(context, PermissionType.EXTERNAL_STORAGE)
|
isGranted = PermissionProvider.Companion.isGranted(
|
||||||
|
context,
|
||||||
|
PermissionType.EXTERNAL_STORAGE
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -80,7 +92,10 @@ class PermissionsViewModel @Inject constructor(
|
|||||||
title = context.getString(R.string.onboarding_permission_notifications),
|
title = context.getString(R.string.onboarding_permission_notifications),
|
||||||
subtitle = context.getString(R.string.onboarding_permission_notifications_desc),
|
subtitle = context.getString(R.string.onboarding_permission_notifications_desc),
|
||||||
optional = true,
|
optional = true,
|
||||||
isGranted = isGranted(context, PermissionType.POST_NOTIFICATIONS)
|
isGranted = PermissionProvider.Companion.isGranted(
|
||||||
|
context,
|
||||||
|
PermissionType.POST_NOTIFICATIONS
|
||||||
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -92,7 +107,10 @@ class PermissionsViewModel @Inject constructor(
|
|||||||
title = context.getString(R.string.app_links_title),
|
title = context.getString(R.string.app_links_title),
|
||||||
subtitle = context.getString(R.string.app_links_desc),
|
subtitle = context.getString(R.string.app_links_desc),
|
||||||
optional = true,
|
optional = true,
|
||||||
isGranted = isGranted(context, PermissionType.APP_LINKS)
|
isGranted = PermissionProvider.Companion.isGranted(
|
||||||
|
context,
|
||||||
|
PermissionType.APP_LINKS
|
||||||
|
)
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -102,7 +120,11 @@ class PermissionsViewModel @Inject constructor(
|
|||||||
|
|
||||||
fun refreshPermissionsList() {
|
fun refreshPermissionsList() {
|
||||||
_permissions.value = _permissions.value.map { permission ->
|
_permissions.value = _permissions.value.map { permission ->
|
||||||
permission.copy(isGranted = isGranted(context, permission.type))
|
permission.copy(isGranted = PermissionProvider.Companion.isGranted(
|
||||||
|
context,
|
||||||
|
permission.type
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user