[FREE] 🔒 Auth Extension- Check if Passcode lock is enabled on a device

Hello everyone
Today I am presenting my Auth extension :smile:


Features
This extension can be used to check if a user has enabled passcode lock on his/her device


Use
If you want to integrate authentication using device lock in your app you can easily do it by using this intent as discovered by @ShanmugaNathan2023

But it has a great limitation well detected by @TIMAI2 that

The extension aims to resolve this issue by checking if the user has a passcode lock set up on his/her device
Then you can use the intent to ask for password lock. Issue Resolved :smile:


Blocks
Function

component_method (5)
This procedure is to be called to get the status of Passcode lock in your device

Events

component_event (2)
This event is called when Passcode lock is setup on the device

component_event (3)
This event is called when Passcode lock is not setup on the device

Note: Passcode lock refers to any type of lock- Pin/Pattern/Fingerprint/Face etc.
Tested on emulator running android 10.


Download the latest aix
io.auth.aix (3.4 KB) 20/09/24


Past Releases
Version 1.0 : io.auth.aix (3.4 KB) 18/09/24


Support the project
If you liked the extension then do make a small funding starting from 0.5$ so I can continue to make such extensions for free.


Usage Policy- Important

I Sarthak Gupta authorize that you can use this extension in any of your projects and even publish them on the Play Store as long as you give me credit like this
Extension by Sarthak Gupta and a link to this post
If you don't want to give credit then contribute 4$ on buymeacoffee


Regards
Sarthak Gupta @techxsarthak

4 Likes

Could do with a success event

1 Like

This block returns true or false instantly then you can use your blocks... nice suggestion will surely update in version 2... hope the community can test and give feedback on this extension
Ps please comment your device name and if its working in your device

@TIMAI2 But this extension solves that passcode lock issue, right?

It tests if a lock code is in place. Works in companion on Android 12 and 14.

What I was suggesting is a success return event, so that if the code entered is correct, the user can then proceed into the app, because the user can back out of the authentication dialog.

1 Like

Yes user can back out, but you can use below steps to overcome,

when user skip the authentication we will receive empty ActivityStarter event,
In such cases we can use IF_ELSE block and start the ActivityStarter again and again which will be loop until correct password is entered.

1 Like

I didn't get a response for AfterActivity, one way or another...though does change a label to blank...

1 Like

Yes thats what I thought activity starter can call an event but I don't think that this can be used to detect if password was entered or not
PS I am working to implement it in the extension

Just looked into my project,
@TIMAI2 sorry for wrong steps,

It's not AfterActivity it's ActivityCancelled event.
Below corrected blocks:

ProjectFile:
applock.aia (1.9 KB)

Yep, I get that, but nothing comes back, for me, in "result"

image

1 Like

Yes it returns empty,

It will trigger AfterActivity event only after successful passcode lock,

So we can use isEmpty or equalToBlank like blocks and verify it

Why is not a number shown that increments when someone dowloads the file

Only for URLs it will be shown,
Not for files

1 Like

Changelog
Version 1.1
Hello Everyone,
This update offers ease in implementing the blocks inside your project
As suggested by @TIMAI2 the update adds three blocks instead of just one

Function

component_method (5)
This procedure is to be called to get the status of Passcode lock in your device

Events

component_event (2)
This event is called when Passcode lock is setup on the device

component_event (3)
This event is called when Passcode lock is not setup on the device

Note: Passcode lock refers to any type of lock- Pin/Pattern/Fingerprint/Face etc.

Download link updated above!

Not what I suggested at all.

It should be possible to return a success value to an event (instead of an empty result using activityStarter.

image

(Toasts are used here instead of an event)

1 Like


Spent a while creating this code snippet.
So what it does
When button is clicked it checks if the device has a passcode lock

If passcode is enabled

The app asks for the device credentials. Now the most important question, what happens if the user clicks the back button or the recent apps button. The activity fails and the activity is called again. kind of like a loop. So the user won't be able to login until the password is entered.
When the password is entered correctly the block in the after activity is executed and the label is changed to success. You can change it and execute any other block obviously

If passcode is disabled

If passcode is disabled then the notifier will show an alert that Lock Disabled

@TIMAI2 I didn't implement that in the extension as it was possible to do it via blocks instead
Please post your feedback on this

@TIMAI2 does it work as expected?

I am not finding this. If there is no lock screen set on the device, this also returns a "blank", for me, so it appears that an isKeyguardSecure() test (if not using the BiometricManager) is required.

1 Like

@TIMAI2 thats why I am using the Auth Extension to check if the device has a lock or not... so that this case is also handled

1 Like

Yes for that issue you can use this extension before you call Activity Starter

1 Like