-
Notifications
You must be signed in to change notification settings - Fork 858
[PM-19108] Add privileged app management screen #4862
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: innovation-sprint/privileged-apps/trust-dialog
Are you sure you want to change the base?
[PM-19108] Add privileged app management screen #4862
Conversation
Codecov ReportAll modified and coverable lines are covered by tests โ
Additional details and impacted files@@ Coverage Diff @@
## innovation-sprint/privileged-apps/trust-dialog #4862 +/- ##
==================================================================================
- Coverage 83.62% 83.05% -0.57%
==================================================================================
Files 623 628 +5
Lines 48491 48904 +413
Branches 6722 6758 +36
==================================================================================
+ Hits 40551 40619 +68
- Misses 5668 6011 +343
- Partials 2272 2274 +2 โ View full report in Codecov by Sentry. ๐ New features to boost your workflow:
|
Great job, no security vulnerabilities found in this Pull Request |
e26c43a
to
15ae542
Compare
} | ||
|
||
item { | ||
Spacer(modifier = Modifier.height(88.dp)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We usually reserve the 88.dp
for screens that have a FAB and 16.dp
for the rest of them
} | ||
|
||
@Composable | ||
private fun LazyItemScope.PrivilegedAppHeaderItem( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A LazyItemScope
should not be composable?
if (canDelete) { | ||
BitwardenStandardIconButton( | ||
vectorIconRes = R.drawable.ic_send_pending_delete, | ||
contentDescription = "", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should have a contentDescription
cardStyle: CardStyle, | ||
modifier: Modifier = Modifier, | ||
) { | ||
Row( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should already have standard components for this sort of thing already
|
||
@Preview | ||
@Composable | ||
private fun PrivilegedAppsListScreenPreview() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we call this function PrivilegedAppsListScreen_preview
Spacer(modifier = Modifier.height(8.dp)) | ||
} | ||
itemsIndexed( | ||
key = { _, item -> "communityTrust_${item.packageName}_${item.signature}" }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๐
cardStyle = state.communityTrustedApps | ||
.toListItemCardStyle(index = index), | ||
modifier = Modifier | ||
.padding(horizontal = 16.dp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use the standardHorizontalMargin()
function here
modifier = Modifier | ||
.padding(horizontal = 16.dp) | ||
.fillMaxWidth() | ||
.animateItem(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๐
data class Fido2TrustState( | ||
val googleTrustedApps: ImmutableList<PrivilegedAppListItem>, | ||
val communityTrustedApps: ImmutableList<PrivilegedAppListItem>, | ||
val userTrustedApps: ImmutableList<PrivilegedAppListItem>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love that we can put ImmutableList
s directly into parcelable classes now ๐จโ๐ณ
} | ||
|
||
override suspend fun getCommunityTrustedPrivilegedAppsOrNull(): PrivilegedAppAllowListJson? { | ||
return withContext(ioScope.coroutineContext) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this specifically for the json .decodeFromStringOrNull
part?
465c5ce
to
9beb3ec
Compare
Allow users to manage trusted privileged applications and view privileged applications that are trusted by external sources.
โฆps list - Added a new vector graphic file `ic_delete.xml` for the delete icon. - Updated the delete button icon in the `PrivilegedAppsListScreen` from `ic_send_pending_delete` to `ic_delete`.
- Removed unused string resources: `trusted_by_google_x`, `trusted_by_you_x`, and `trusted_by_the_community_c`.
208e972
to
3c1ef13
Compare
๐๏ธ Tracking
PM-19108
๐ Objective
Allow users to manage trusted privileged applications and view
privileged applications that are trusted by external sources.
๐ธ Screenshots
Screen_recording_20250313_161906.mp4
โฐ Reminders before review
๐ฆฎ Reviewer guidelines
:+1:
) or similar for great changes:memo:
) or โน๏ธ (:information_source:
) for notes or general info:question:
) for questions:thinking:
) or ๐ญ (:thought_balloon:
) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion:art:
) for suggestions / improvements:x:
) or:warning:
) for more significant problems or concerns needing attention:seedling:
) or โป๏ธ (:recycle:
) for future improvements or indications of technical debt:pick:
) for minor or nitpick changes