Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
54930024
Commit
54930024
authored
Nov 12, 2019
by
Viktor De Pasquale
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added biometric dialog instead of fingerprint one
parent
c5f2f634
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
67 additions
and
4 deletions
+67
-4
build.gradle
app/build.gradle
+1
-0
BiometricDialog.kt
...m/topjohnwu/magisk/model/events/dialog/BiometricDialog.kt
+54
-0
FingerprintDialog.kt
...topjohnwu/magisk/model/events/dialog/FingerprintDialog.kt
+9
-1
SuperuserViewModel.kt
...topjohnwu/magisk/redesign/superuser/SuperuserViewModel.kt
+3
-3
No files found.
app/build.gradle
View file @
54930024
...
@@ -130,6 +130,7 @@ dependencies {
...
@@ -130,6 +130,7 @@ dependencies {
implementation
'androidx.transition:transition:1.2.0'
implementation
'androidx.transition:transition:1.2.0'
implementation
'androidx.multidex:multidex:2.0.1'
implementation
'androidx.multidex:multidex:2.0.1'
implementation
'androidx.core:core-ktx:1.1.0'
implementation
'androidx.core:core-ktx:1.1.0'
implementation
'androidx.biometric:biometric:1.0.0'
implementation
'com.google.android.material:material:1.1.0-beta01'
implementation
'com.google.android.material:material:1.1.0-beta01'
implementation
'com.karumi:dexter:6.0.0'
implementation
'com.karumi:dexter:6.0.0'
}
}
app/src/main/java/com/topjohnwu/magisk/model/events/dialog/BiometricDialog.kt
0 → 100644
View file @
54930024
package
com.topjohnwu.magisk.model.events.dialog
import
android.os.Handler
import
androidx.appcompat.app.AppCompatActivity
import
androidx.biometric.BiometricPrompt
import
com.topjohnwu.magisk.model.events.ActivityExecutor
import
com.topjohnwu.magisk.model.events.ViewEvent
class
BiometricDialog
(
builder
:
Builder
.()
->
Unit
)
:
ViewEvent
(),
ActivityExecutor
{
private
var
listenerOnFailure
:
GenericDialogListener
=
{}
private
var
listenerOnSuccess
:
GenericDialogListener
=
{}
init
{
builder
(
Builder
())
}
override
fun
invoke
(
activity
:
AppCompatActivity
)
{
val
handler
=
Handler
()
val
prompt
=
BiometricPrompt
.
PromptInfo
.
Builder
()
.
setNegativeButtonText
(
activity
.
getString
(
android
.
R
.
string
.
cancel
))
.
build
()
val
callback
=
object
:
BiometricPrompt
.
AuthenticationCallback
()
{
override
fun
onAuthenticationError
(
errorCode
:
Int
,
errString
:
CharSequence
)
{
listenerOnFailure
()
}
override
fun
onAuthenticationSucceeded
(
result
:
BiometricPrompt
.
AuthenticationResult
)
{
listenerOnSuccess
()
}
override
fun
onAuthenticationFailed
()
{
listenerOnFailure
()
}
}
BiometricPrompt
(
activity
,
{
handler
.
post
(
it
)
},
callback
)
.
authenticate
(
prompt
/*launch with no crypto for now*/
)
}
inner
class
Builder
internal
constructor
()
{
fun
onFailure
(
listener
:
GenericDialogListener
)
{
listenerOnFailure
=
listener
}
fun
onSuccess
(
listener
:
GenericDialogListener
)
{
listenerOnSuccess
=
listener
}
}
}
\ No newline at end of file
app/src/main/java/com/topjohnwu/magisk/model/events/dialog/FingerprintDialog.kt
View file @
54930024
...
@@ -6,7 +6,15 @@ import com.topjohnwu.magisk.R
...
@@ -6,7 +6,15 @@ import com.topjohnwu.magisk.R
import
com.topjohnwu.magisk.utils.FingerprintHelper
import
com.topjohnwu.magisk.utils.FingerprintHelper
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.magisk.utils.Utils
import
com.topjohnwu.magisk.view.MagiskDialog
import
com.topjohnwu.magisk.view.MagiskDialog
import
timber.log.Timber
@Deprecated
(
"Use Biometrics instead"
,
ReplaceWith
(
"BiometricDialog"
,
imports
=
[
"com.topjohnwu.magisk.model.events.dialog.BiometricDialog"
]
)
)
class
FingerprintDialog
(
class
FingerprintDialog
(
builder
:
Builder
.()
->
Unit
builder
:
Builder
.()
->
Unit
)
:
DialogEvent
()
{
)
:
DialogEvent
()
{
...
@@ -15,7 +23,7 @@ class FingerprintDialog(
...
@@ -15,7 +23,7 @@ class FingerprintDialog(
private
var
helper
:
Helper
?
=
null
private
var
helper
:
Helper
?
=
null
get
()
{
get
()
{
if
(
field
==
null
)
{
if
(
field
==
null
)
{
runCatching
{
field
=
Helper
()
}
runCatching
{
field
=
Helper
()
}
.
onFailure
{
Timber
.
e
(
it
)
}
}
}
return
field
return
field
}
}
...
...
app/src/main/java/com/topjohnwu/magisk/redesign/superuser/SuperuserViewModel.kt
View file @
54930024
...
@@ -13,7 +13,7 @@ import com.topjohnwu.magisk.model.entity.MagiskPolicy
...
@@ -13,7 +13,7 @@ import com.topjohnwu.magisk.model.entity.MagiskPolicy
import
com.topjohnwu.magisk.model.entity.recycler.PolicyItem
import
com.topjohnwu.magisk.model.entity.recycler.PolicyItem
import
com.topjohnwu.magisk.model.events.PolicyUpdateEvent
import
com.topjohnwu.magisk.model.events.PolicyUpdateEvent
import
com.topjohnwu.magisk.model.events.SnackbarEvent
import
com.topjohnwu.magisk.model.events.SnackbarEvent
import
com.topjohnwu.magisk.model.events.dialog.
Fingerprint
Dialog
import
com.topjohnwu.magisk.model.events.dialog.
Biometric
Dialog
import
com.topjohnwu.magisk.model.events.dialog.SuperuserRevokeDialog
import
com.topjohnwu.magisk.model.events.dialog.SuperuserRevokeDialog
import
com.topjohnwu.magisk.model.navigation.Navigation
import
com.topjohnwu.magisk.model.navigation.Navigation
import
com.topjohnwu.magisk.redesign.compat.CompatViewModel
import
com.topjohnwu.magisk.redesign.compat.CompatViewModel
...
@@ -72,7 +72,7 @@ class SuperuserViewModel(
...
@@ -72,7 +72,7 @@ class SuperuserViewModel(
.
add
()
.
add
()
if
(
FingerprintHelper
.
useFingerprint
())
{
if
(
FingerprintHelper
.
useFingerprint
())
{
Fingerprint
Dialog
{
Biometric
Dialog
{
onSuccess
{
updateState
()
}
onSuccess
{
updateState
()
}
}.
publish
()
}.
publish
()
}
else
{
}
else
{
...
@@ -116,7 +116,7 @@ class SuperuserViewModel(
...
@@ -116,7 +116,7 @@ class SuperuserViewModel(
}
}
if
(
FingerprintHelper
.
useFingerprint
())
{
if
(
FingerprintHelper
.
useFingerprint
())
{
Fingerprint
Dialog
{
Biometric
Dialog
{
onSuccess
{
updateState
()
}
onSuccess
{
updateState
()
}
onFailure
{
item
.
isEnabled
.
toggle
()
}
onFailure
{
item
.
isEnabled
.
toggle
()
}
}.
publish
()
}.
publish
()
...
...
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