Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
6
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Switch to GitLab Next
Sign in / Register
Toggle navigation
DAVx⁵
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Custom Issue Tracker
Custom Issue Tracker
Labels
Merge Requests
2
Merge Requests
2
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Environments
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
bitfire web engineering
DAVx⁵
Commits
0a06d0ea
Commit
0a06d0ea
authored
Nov 16, 2020
by
Ricki Hirner
🐑
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Account settings: always allow client certificate selection
parent
737af880
Pipeline
#216499813
passed with stage
in 7 minutes and 39 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
22 deletions
+16
-22
app/src/main/java/at/bitfire/davdroid/ui/account/SettingsActivity.kt
...n/java/at/bitfire/davdroid/ui/account/SettingsActivity.kt
+15
-22
app/src/main/res/values/strings.xml
app/src/main/res/values/strings.xml
+1
-0
No files found.
app/src/main/java/at/bitfire/davdroid/ui/account/SettingsActivity.kt
View file @
0a06d0ea
...
...
@@ -212,36 +212,29 @@ class SettingsActivity: AppCompatActivity() {
val
prefPassword
=
findPreference
<
EditTextPreference
>(
"password"
)
!!
val
prefCertAlias
=
findPreference
<
Preference
>(
"certificate_alias"
)
!!
model
.
credentials
.
observe
(
viewLifecycleOwner
,
{
credentials
->
if
(
credentials
.
userName
!=
null
&&
credentials
.
password
!=
null
)
{
prefUserName
.
isVisible
=
true
prefUserName
.
summary
=
credentials
.
userName
prefUserName
.
text
=
credentials
.
userName
prefUserName
.
onPreferenceChangeListener
=
Preference
.
OnPreferenceChangeListener
{
_
,
newUserName
->
model
.
updateCredentials
(
Credentials
(
newUserName
as
String
,
credentials
.
password
,
credentials
.
certificateAlias
))
false
}
prefUserName
.
summary
=
credentials
.
userName
prefUserName
.
text
=
credentials
.
userName
prefUserName
.
onPreferenceChangeListener
=
Preference
.
OnPreferenceChangeListener
{
_
,
newUserName
->
model
.
updateCredentials
(
Credentials
(
newUserName
as
String
,
credentials
.
password
,
credentials
.
certificateAlias
))
false
}
if
(
credentials
.
userName
!=
null
)
{
prefPassword
.
isVisible
=
true
prefPassword
.
onPreferenceChangeListener
=
Preference
.
OnPreferenceChangeListener
{
_
,
newPassword
->
model
.
updateCredentials
(
Credentials
(
credentials
.
userName
,
newPassword
as
String
,
credentials
.
certificateAlias
))
false
}
}
else
{
prefUserName
.
isVisible
=
false
}
else
prefPassword
.
isVisible
=
false
}
if
(
credentials
.
certificateAlias
!=
null
)
{
prefCertAlias
.
isVisible
=
true
prefCertAlias
.
summary
=
credentials
.
certificateAlias
prefCertAlias
.
setOnPreferenceClickListener
{
KeyChain
.
choosePrivateKeyAlias
(
requireActivity
(),
{
newAlias
->
model
.
updateCredentials
(
Credentials
(
credentials
.
userName
,
credentials
.
password
,
newAlias
))
},
null
,
null
,
null
,
-
1
,
credentials
.
certificateAlias
)
true
}
}
else
prefCertAlias
.
isVisible
=
false
prefCertAlias
.
summary
=
credentials
.
certificateAlias
?:
getString
(
R
.
string
.
settings_certificate_alias_empty
)
prefCertAlias
.
setOnPreferenceClickListener
{
KeyChain
.
choosePrivateKeyAlias
(
requireActivity
(),
{
newAlias
->
model
.
updateCredentials
(
Credentials
(
credentials
.
userName
,
credentials
.
password
,
newAlias
))
},
null
,
null
,
null
,
-
1
,
credentials
.
certificateAlias
)
true
}
})
// preference group: CalDAV
...
...
app/src/main/res/values/strings.xml
View file @
0a06d0ea
...
...
@@ -295,6 +295,7 @@
<string
name=
"settings_enter_password"
>
Enter your password:
</string>
<string
name=
"settings_certificate_alias_key"
translatable=
"false"
>
certificate_alias
</string>
<string
name=
"settings_certificate_alias"
>
Client certificate alias
</string>
<string
name=
"settings_certificate_alias_empty"
>
No certificate selected
</string>
<string
name=
"settings_caldav_key"
translatable=
"false"
>
caldav
</string>
<string
name=
"settings_caldav"
>
CalDAV
</string>
<string
name=
"settings_sync_time_range_past_key"
translatable=
"false"
>
time_range_past_days
</string>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment