Coder Social home page Coder Social logo

maxr1998 / maxlock Goto Github PK

View Code? Open in Web Editor NEW
196.0 16.0 45.0 5.11 MB

Powerful app locker for Android, with a root and no-root implementation

Home Page: https://maxlock.maxr1998.de

License: GNU General Public License v3.0

Java 50.42% Kotlin 49.58%
android applock application android-application kotlin kotlin-android

maxlock's Introduction

MaxLock (Logo)

This is an Xposed Framework applock module for Android. It requires the Xposed framework from here. Check below for links to the website and XDA thread of this app.

Crowdin

Download:

Get it on Google Play

Links:


Android, Google Play and the Google Play logo are trademarks of Google Inc.

maxlock's People

Contributors

bernito avatar chiehmin avatar dsmnoi avatar intika avatar liveasx avatar maxr1998 avatar mihahn avatar t61p avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

maxlock's Issues

MaxLock implementation preference not available

I'm running MaxLock on Android 4.4.2 (Acer Iconia A1) and on Android 4.4.4 (Motorola Droid MAXX). I am not rooted on either device. I have found out that there is a setting called "MaxLock implementation" that can be used to select a mode that doesn"'t require root/Xposed, but I do not see it on the app's screen. Where is it?

Welcome screen on first start

Show a little tutorial and introduction to MaxLock on first start to make it easier for new users to setup everything

Turn on MasterSwitch after a device reboot

Please add checkbox to always enable locking on device restart.
Use-case: I usually disable lock via widget in safe environment, however if device shuts down(crash, battery, intentional), it remains unlocked after, which is not secure.

Protecting Package installer is not working

Hi again :)

Protecting package installer is not working

let say if we want to uninstall an app, the code is requested, then afterward the uninstall windows dissapear/not displayed.

Thanks

System : Kitkat 4.4.4 - Used simple protection with patern

Activity without layout should not be blocked

Hi :)

First as always thanks for your amazing work.

when we protect an app if an activity without layout is running, it should not ask for the password

example :
protecting gravitybox
create a shortcut with gravitybox to do an automated action with tasker or llama etc...

It could be a nice feature for futur version to allow hidden activity without password for certain app.

its may be not a bug

Thanks

ProtonMail locking issues

The ProtonMail App (1.2.4) won't get passed the initial splash screen when locked, regardless of previous login status.

Device: Sony Z1 Compact (D5503)
Android: 5.1.1
Xposed Framework: 81
MaxLock: 6.2.1

"Device Administrators" screen is not protected after getting into settings

I don't want to protect settings to not draw attention. Yet, I feel a Fake Die screen when trying to disable the app in Device Administrators is very important. An intruder should be thinking that the Device Administrator is broken and force closing, not that I'm locking any apps.

EDIT
Actually, I figured if out by using "activities". But there's a bug/security vuln; reproduce:

When you protect Device Admin activities (there are three to check), go to device admin settings, try to disable MaxLock from being an Admin, you'll be presented with MaxLock Fake Die, just click OK (not the secret "report") and it's disabled... Not Admin anymore.
Now install some uninstaller from the market (since the package installer is locked and we can't use it) and you'll be able to uninstall MaxLock.

To mitigate, add option to install MaxLock as a system app. I'll be trying this using Titanium Backup.

Of course, to mitigate, fix the bug first :D

Then add that system app method if you want.

EDIT
Changing to system app still isn't gonna work. It'll not allow anyone to "uninstall" the app, but still be able to "disable" it. Which really is the same thing... Just not removing the apk from phone. So this won't work.

I'll be using a combination of locking apps until this is fixed. One to lock the Device Admin irreversibly, and MaxLock to lock every other app. Hopefully this will reduce the impact on battery of the other proprietary locking app.

Thank you very much for your efforts.

EDIT
Added "on battery" for clarity in "reduce the impact on battery".

INFO
Phone: Nexus 5
Android: 4.4.4

Kik and Viber locking issues

I tried locking kik messenger. but it opens fine, without even needing a password. Leave the kik UI running in the foreground, lock the screen and unlock, it asks password for kik. Otherwise, it doesn't even ask.

And with Viber. It asks password 3 times. Don't know why.

AOSP Browser 6.0.1 locking issues

Screen would go black after enter knock code, but it seemed that the webpage was still opened, because I could enter texts to the search panel.
I have secrched for Logcat, but I could't found anything related.

Incompitabilities with some apps - looping lockscreen, freezes, etc.

Description
There are multiple issues with the current lockscreen lifecycle which could trigger for some more or less special, but often widely used apps - regardless if using the Xposed app locker or the unreleased "no Xposed" option.

This can involve looping lockscreen ➰, crashing/freezing of the locked app 💀, the locked app being minimized after the first launch/unlock 🙈, the lockscreen appearing when navigating in-app 😳, the lockscreen not appearing at all 🏃‍♂️

Affected apps (some of them, from issues and own tests)

  • AOSP Browser 💀
  • Google Photos 🙈
  • Hangouts 🙈 ➰
  • WhatsApp 😳, also call screen locked even though it shouldn't
  • Google Keep 💀
  • Xposed Installer ➰
  • ProtonMail 💀 (fix: unlock splash activity by default)
  • Kik 🏃‍♂️
  • Viber ➰
  • Wire 🙈

Launch default browser for MaxLock Website when the device is pre-KitKat

The current version of MaxLock will open the MaxLock website right within the app itself with the help of webview.
However due to the obviously old version of the webview, devices with Android version prior to KitKat will face compatibility problems. webview of the old Android versions was built for the web features at the time, since web technologies matures overtime and new features are introduced, versions that are stuck in time won't able to process and display the new things properly.

To overcome this limitation, I suggest for the MaxLock app to summon a browser to access the MaxLock website if the user is using Android prior to KitKat.

Lollipop and newer versions won't suffer from this problem, as webview itself is now a separate module, updatable from the Play Store. In the future, KitKat's webview will also fall into the same demise.

[5.2] Stuck at Boot

Device: Sony Xperia Z1 Compact
Android: Lollipop 5.0.2/(.270)

With 5.2 installed, device doesn't boot. Having look at dalvik-cache folder, I see the process being halt at maxlock's dex file. Clearing it doesn't help either.

App crashes on nougat (but issue may not be related to nougat)

When trying to launch the app:

AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{de.Maxr1998.xposed.maxlock/de.Maxr1998.xposed.maxlock.ui.SettingsActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.preference.TwoStatePreference.isChecked()' on a null object reference

WhatsApp call locking issues

(screen is off, WhatsApp is locked) when I receive call, it doesn't show the dialer.. it asks pin to unlock the Maxlock.. fix the issue soon..

Xposed Installer locking issues

This one is a bit hard to explain without a lot of text. But here goes... When using MaxLock on my tablet and having both the Xposed Installer app and Settings locked, I get password prompt loops when I try to install any module via the Xposed Installer. This does not happen on my phone and the outcome seems to be somewhat random.

Devices: Sony Z2 Tablet (SGP511) & Sony Z1 Compact (D5503)
Android: 5.1.1
Xposed Framework: 81
MaxLock version: 6.2.1
Locking type: Pattern

Case 1:

  1. Launches Xposed Installer app enters code for Xposed Installer
  2. Navigates to the Xposed download menu and picks a mod
  3. Swipes right and clicks on Download enters code for Package installer
  4. enters code for Package installer
  5. enters code for Package installer
  6. enters code for Xposed Installer
  7. Is now back out to the Xposed download menu, no installation initialized
  8. Clicks on INSTALL (in Xposed) enters code for Package installer
  9. enters code for Xposed Installer
  10. Is now back out to Xposed download menu, no installation initialized
    Now just loops steps 8-10.

Case 2:

  1. Launches Xposed Installer app enters code for Xposed Installer
  2. Navigates to the Xposed download menu and picks a mod
  3. Swipes right and clicks on Download enters code for Package installer
  4. Another Package installer prompt, but this time presses the back button
  5. enters code for Xposed Installer
  6. Is now back out to Xposed download menu, no installation initialized

Case 3:

  1. Launches Xposed Installer app enters code for Xposed Installer
  2. Navigates to the Xposed download menu and picks a mod
  3. Swipes right and clicks on Download enters code for Package installer
  4. enters code for Xposed Installer
  5. Is now back out to Xposed download menu, no installation initialized

Case 4:

  1. Launches Xposed Installer app enters code for Xposed Installer
  2. Navigates to the Xposed download menu and picks a mod
  3. Swipes right and clicks on Download enters code for Package installer
  4. enters code for Package installer
  5. enters code for Package installer
  6. Is shown the Android installation prompt with app permissions (Cancel - Install)
  7. Clicks on Install (not in Xposed)
  8. enters code for Package installer (mod getting installed in the background)
  9. enters code for Xposed Installer
  10. Is shown Xposed Download menu, no prompt for a (un)successful installation of mod

Case 5: (mod already downloaded)

  1. Launches Xposed Installer app enters code for Xposed Installer
  2. Navigates to the Xposed download menu and picks the previously downloaded mod
  3. Clicks on INSTALL enters code for Package installer
  4. enters code for Package installer
  5. Is shown the Android installation prompt with app permissions (Cancel - Install)
  6. Clicks on Install
  7. enters code for Package installer
  8. enters code for Package installer
  9. enters code for Package installer
  10. enters code for Xposed Installer
  11. Is now back out to Xposed download menu, the mod got installed but yet again doesn't show the default "app (un)successfully installed" window.

And so on... Any ideas?

Issue with Homebutton and MaxLock 7.0

android 7.1
Maxlock 7
my device has a physical home button, which is also the fingerprint reader.

after unlocking an app with Maxlock (via fringerprint) sometimes "home button press" is sent also and i end up on the home screen instead of the app.

Maxlock 6.x does not do this

Max Unlock Attempt Preference

I think that being able to change the amount of attempts would be quite useful; for one thing, every onve in a while my fingerprint scanner decides that it really doesn't like me and rejects it five times, and I decided that I wanted to take pictures of everyone who tried to get in every couple of attempts using Tasker. However, this only works once because of this limit. Could you add an option to increase this currently hard-coded limitation?

Support Live Wallpapers in Lockscreen

This is a very minor thing, but I would like it if I could use the live backgrounds installed on my devices as the background here (aka have a separate wallpaper setting for MaxLock). I understand if this is too hard or not within your scope of interest, just a thought. :)

Randomly activates lock

Sometimes MaxLock just randomly locks my apps. I open the "recent Tabs" Screen, reopen the app and it is unlocked. Also, everytime i open the "recent Tabs", an error occurs: Field not found. It causes weird behaviour (wallpaper is now the "recent Tabs" thumbnail)

Android 5.1
Error Log: https://pastebin.com/dtQHk7j2

Add a redesign to "fake die" lock with ONE button

Hello,

I suggest adding more options to the Fake Die screen:

  • One button that says "OK" instead of "OK" and "Report"; user customize how many times he consecutively clicks it to bypass this screen to the lock. If he clicks once, or clicks wrong clicks count, the app just disappears like it just closed.
  • One button with an invisible area outside of the prompt that the user clicks multiple times with a vibration feedback.
  • Two buttons with multiple click options (or even better, a combination of multiple clicks. Like " report" "report" "OK" "report" then I'm in.)

Screen pinning can circumvent MaxLock

WHEN THE OPTION OF SETTING SCREEN IS ACTIVATED, A PROTECTED APPLICATION CREATES A BY PASS AND HAS ACCESS IN ANY APPLICATION

versión maxlock:
6.4.1

Uninstall locked apps

Is it possible to only protect locked apps from being uninstalled?
So my son can install games and also uninstall them when not wanted, but letting my (locked) apps be safe.
Now i have disabled the 2 install activities from packet installer, so he can install games, but he can't remove anymore (as uninstall is still locked so my apps stay safe).

Add rhythm pattern unlock method

User plays a rhythm on screen, the app measures the times between taps and then unlocks screen. Great for all drummers out there! :D

Integration with moneytoo's "No Lock Home" mod

This is a long shot but is there any way to somehow integrate MaxLock with moneytoo's No Lock Home mod?

It would be so neat to have ML disable in the same way NLH does. I don't see the mod in the repository, but perhaps you two could figure something out? If you both like the idea as well that is =)

Or perhaps it's something you can implement yourself directly into ML?

Implement Tasker Events

Basically, this should fire of a Tasker event if you successfully unlocked an app or failed at an attempt.

Force close app when opened for the first time!!

Hi Maxr1998!

First of all thank you for making such a useful app. I also appreciate you responding regularly on your xda post comments.

Here's the problem. I updated my One Plus 3 to Resurrection Remix Oreo and installed the maxlock activated and rebooted the phone but as soon as i open it, the screen stops for few seconds and then it force closes without even showing the UI. I am atttaching the LOGCAT.txt file along with the screenshot of error. I started having this issue with nougat as well...thats why i updated to oreo in the first place.

Device Specifications
One Plus 3
Resurrection Remix Oreo v6.0.0-20180220-oneplus3-official
Android version 8.1.0
screenshot_holo_launcher_20180226-234216
screenshot_settings_20180227-002009
2018-02-26-23-45-29.txt

ForceClose while opening locked apps or open itself

Huawei Honor 5x
Latest nightly of Lineage OS 14.1
Xposed Framework 89
MaxLock v7.0.1

Sometimes I get FC on opening locked apps:

03-29 10:21:38.552 1403-1403/? I/SlideTouchEvent: vel=0.0, MinimumFlingVelocity=150
03-29 10:21:38.789 1060-1069/? I/art: Background partial concurrent mark sweep GC freed 48693(2MB) AllocSpace objects, 2(40KB) LOS objects, 33% free, 18MB/27MB, paused 2.911ms total 183.592ms
    
    --------- beginning of system
03-29 10:21:40.415 1060-2104/? I/ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.dv.adm.pay/.Main (has extras)} from uid 10027 on display 0
03-29 10:21:40.442 1060-1316/? W/BroadcastQueue: Permission Denial: broadcasting Intent { act=com.android.launcher3.action.LAUNCH flg=0x10 (has extras) } from com.cyanogenmod.trebuchet (pid=5550, uid=10027) requires com.google.android.launcher.permission.RECEIVE_LAUNCH_BROADCASTS due to receiver com.google.android.gms/.icing.proxy.ApplicationLauncherReceiver
    Permission Denial: receiving Intent { act=com.android.launcher3.action.LAUNCH flg=0x10 (has extras) } to com.google.android.gms/.chimera.GmsIntentOperationService$GmsExternalReceiver requires com.android.launcher3.permission.RECEIVE_LAUNCH_BROADCASTS due to sender com.cyanogenmod.trebuchet (uid 10027)
03-29 10:21:40.500 4527-4527/? I/AppCompatViewInflater: app:theme is now deprecated. Please move to using android:theme instead.
03-29 10:21:40.510 4527-4527/? I/AppCompatViewInflater: app:theme is now deprecated. Please move to using android:theme instead.
03-29 10:21:40.514 4527-4527/? I/AppCompatViewInflater: app:theme is now deprecated. Please move to using android:theme instead.
03-29 10:21:41.003 1060-2102/? I/ActivityManager: START u0 {flg=0x30000 cmp=de.Maxr1998.xposed.maxlock/.ui.LockActivity (has extras)} from uid 10094 on display 0
03-29 10:21:41.252 5395-5395/? I/AppCompatDelegate: Failed to instantiate custom view inflater android.support.v7.app.AppCompatViewInflater. Falling back to default.
    java.lang.ClassNotFoundException: android.support.v7.app.AppCompatViewInflater
        at java.lang.Class.classForName(Native Method)
        at java.lang.Class.forName(Class.java:400)
        at java.lang.Class.forName(Class.java:326)
        at android.support.v7.app.j.b(Unknown Source)
        at android.support.v7.app.j.onCreateView(Unknown Source)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
        at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
        at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360)
        at android.view.LayoutInflater.inflate(<Xposed>)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
        at de.Maxr1998.xposed.maxlock.ui.a.c.<init>(Unknown Source)
        at de.Maxr1998.xposed.maxlock.ui.LockActivity.a(Unknown Source)
        at de.Maxr1998.xposed.maxlock.ui.LockActivity.onCreate(Unknown Source)
        at android.app.Activity.performCreate(Activity.java:6684)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2637)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2751)
        at android.app.ActivityThread.-wrap12(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6186)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
        at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.app.AppCompatViewInflater" on path: DexPathList[[zip file "/data/app/de.Maxr1998.xposed.maxlock-1/base.apk"],nativeLibraryDirectories=[/data/app/de.Maxr1998.xposed.maxlock-1/lib/arm64, /system/lib64, /vendor/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at java.lang.Class.classForName(Native Method) 
        at java.lang.Class.forName(Class.java:400) 
        at java.lang.Class.forName(Class.java:326) 
        at android.support.v7.app.j.b(Unknown Source) 
        at android.support.v7.app.j.onCreateView(Unknown Source) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:769) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:858) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
        at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method) 
        at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:360) 
        at android.view.LayoutInflater.inflate(<Xposed>) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
        at de.Maxr1998.xposed.maxlock.ui.a.c.<init>(Unknown Source) 
        at de.Maxr1998.xposed.maxlock.ui.LockActivity.a(Unknown Source) 
        at de.Maxr1998.xposed.maxlock.ui.LockActivity.onCreate(Unknown Source) 
        at android.app.Activity.performCreate(Activity.java:6684) 
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2637) 
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2751) 
        at android.app.ActivityThread.-wrap12(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1496) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6186) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) 
        at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107) 

Also while opening MaxLock:

03-29 10:29:12.831 6128-6128/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: de.Maxr1998.xposed.maxlock, PID: 6128
    java.lang.RuntimeException: Unable to destroy activity {de.Maxr1998.xposed.maxlock/de.Maxr1998.xposed.maxlock.Main}: java.lang.IllegalArgumentException: Service not registered: de.Maxr1998.xposed.maxlock.ui.SettingsActivity$1@a548aeb
        at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4240)
        at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4258)
        at android.app.ActivityThread.-wrap6(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6186)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
        at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107)
     Caused by: java.lang.IllegalArgumentException: Service not registered: de.Maxr1998.xposed.maxlock.ui.SettingsActivity$1@a548aeb
        at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1289)
        at android.app.ContextImpl.unbindService(ContextImpl.java:1483)
        at android.content.ContextWrapper.unbindService(ContextWrapper.java:648)
        at de.Maxr1998.xposed.maxlock.ui.SettingsActivity.onDestroy(Unknown Source)
        at android.app.Activity.performDestroy(Activity.java:6886)
        at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1154)
        at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4227)
        at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4258) 
        at android.app.ActivityThread.-wrap6(ActivityThread.java) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1557) 
        at android.os.Handler.dispatchMessage(Handler.java:102) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6186) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) 
        at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:107) 

Support Nougat Xposed

Already nearly finished, but the current Xposed implementation is still too unstable (libc crashes atm). Waiting for stable Xposed from rovo.

White background, white dots

Bug 1: When launching MaxLock it sometimes fails to fetch the wallpaper and instead shows a white background. This happens very rarely (on multiple devices) and all you have to do is clear it from the "recent apps" menu and run it again.

Bug 2: If you are using a "live background" and not previously used a static one when launching MaxLock, it will also show a white background. This can't be "fixed" with restarting the app. You'll have to set a static wallpaper and launch MaxLock, making sure the app fetches the image in both portrait and landscape mode (tablet). You are then able to switch back to the live background. MaxLock will now use the previously retrieved static images instead of a white background.

Suggestion: If MaxLock fails to retrieve the wallpaper or the device is using a "live background" on first run, use another colour besides white for the background or the dots. If both the dots and the background are white it makes it very difficult to enter the correct pattern.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.