Code Monkey home page Code Monkey logo

lens-launcher's Introduction

Hi there 👋

I'm a Principal Software Engineer and UX/UI Designer.

My areas of focus are Android, Jetpack Compose, Design Systems and Kotlin Multiplatform.

I'm based in Cape Town, South Africa 🇿🇦

You can find me on:

lens-launcher's People

Contributors

asimaruk avatar crearo avatar dfrankland avatar nrout-godaddy avatar premnirmal avatar ricknout 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  avatar  avatar  avatar  avatar

lens-launcher's Issues

Apps uninstalled from system settings aren't removed from icons

Very interesting design concept. Not sure if you're actively maintaining this, wanted to point out a few things.

When an app is uninstalled from system settings, it doesn't get removed from the icons. It seems there isn't a way to remove the icon except hiding it in the launcher settings. The app was installed before the launcher was installed and enabled. The app entry in the apps list of the launcher settings isn't removable either - it can only be hidden.

To reproduce:
Android 9

  • Install Lens, set as default home launcher. (new install)
  • Settings -> uninstall an app that was already installed.

License?

Hello, could you please state the open source license type for this project?

Most popular ones are: (in the order of freedom - from most free to less free): the MIT license, the Apache V2 license, BSD license, GPL V3 license and so on...

[enhancement] search

sometimes I can't find the app i am lookign for, a search icon would be helpful.

It could be part of the grid of app icons, a search icon that looks like an app icon ...

but it lets you search through you installed apps

Change .gitignore file

I've been trying to merge new changes but the .idea/ (and some other auto generated files) are killing it for me! The following .gitignore would remove the unneeded files which are currently being tracked by git.

Replace the current .gitignore with this.
https://gist.github.com/vtanathip/9414323

As far as I know, you might need to remove the currently unneeded tracked files once from your repo and from then onwards git won't track them.

Launcher hangs on loading spinner and doesn't load when phone booted up

Android 9 device with boot encryption enabled

  • Installed lens launcher.
  • Lens launcher set as default home launcher
  • Shut down phone, powered off for several hours.
  • Powered on and entered boot encryption passphrase and unlock

The launcher was stuck on the spinner for at least a minute and never loaded the app lens.
Workaround was to open the top drawer of functions, access the settings, and change the default home launcher back to Quickstep.

This is a nonstarter for using the launcher as the default.

[enhancement] - add widgets

It would be nice to have the ability to add widgets to the launcher as well (on another page, using a ViewPager)

Fatal error: android.database.sqlite.SQLiteException: no such table: APP_PERSISTENT

On app start.

Android Studio 3.3
Build #AI-182.5107.16.33.5199772, built on December 25, 2018
JRE: 1.8.0_152-release-1248-b01 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.14.2

2019-01-30 18:13:39.978 5901-5901/nickrout.lenslauncher E/RecyclerView: No adapter attached; skipping layout
2019-01-30 18:13:40.008 5901-5924/nickrout.lenslauncher E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008cdf
2019-01-30 18:13:40.010 5901-5924/nickrout.lenslauncher E/eglCodecCommon: glUtilsParamSize: unknow param 0x00008824
2019-01-30 18:13:42.497 5901-5901/nickrout.lenslauncher E/SQLiteLog: (1) no such table: APP_PERSISTENT
2019-01-30 18:13:42.560 5901-5901/nickrout.lenslauncher E/AndroidRuntime: FATAL EXCEPTION: main
    Process: nickrout.lenslauncher, PID: 5901
    android.database.sqlite.SQLiteException: no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1
        at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
        at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
        at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
        at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
        at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
        at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
        at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
        at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1318)
        at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1165)
        at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1036)
        at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1242)
        at com.orm.SugarRecord.find(SugarRecord.java:201)
        at com.orm.query.Select.first(Select.java:154)
        at nickrout.lenslauncher.model.AppPersistent.getAppVisibility(AppPersistent.java:129)
        at nickrout.lenslauncher.adapter.AppRecyclerAdapter$AppViewHolder.setAppElement(AppRecyclerAdapter.java:108)
        at nickrout.lenslauncher.adapter.AppRecyclerAdapter.onBindViewHolder(AppRecyclerAdapter.java:74)
        at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6356)
        at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6389)
        at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5335)
        at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5598)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5440)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5436)
        at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2224)
        at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556)
        at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1511)
        at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:595)
        at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
        at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3583)
        at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3312)
        at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3844)
        at android.view.View.layout(View.java:17637)
        at android.view.ViewGroup.layout(ViewGroup.java:5575)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:17637)
        at android.view.ViewGroup.layout(ViewGroup.java:5575)
        at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1795)
        at android.view.View.layout(View.java:17637)
        at android.view.ViewGroup.layout(ViewGroup.java:5575)
        at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
        at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
        at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1391)
        at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:870)
        at android.view.View.layout(View.java:17637)
        at android.view.ViewGroup.layout(ViewGroup.java:5575)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:17637)
2019-01-30 18:13:42.577 5901-5901/nickrout.lenslauncher E/AndroidRuntime:     at android.view.ViewGroup.layout(ViewGroup.java:5575)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
        at android.view.View.layout(View.java:17637)
        at android.view.ViewGroup.layout(ViewGroup.java:5575)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at android.view.View.layout(View.java:17637)
        at android.view.ViewGroup.layout(ViewGroup.java:5575)
        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
        at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
        at android.view.View.layout(View.java:17637)
        at android.view.ViewGroup.layout(ViewGroup.java:5575)
        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
        at com.android.internal.policy.DecorView.onLayout(DecorView.java:726)
        at android.view.View.layout(View.java:17637)
        at android.view.ViewGroup.layout(ViewGroup.java:5575)
        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2346)
        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2068)
        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1254)
        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6337)
        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:874)
        at android.view.Choreographer.doCallbacks(Choreographer.java:686)
        at android.view.Choreographer.doFrame(Choreographer.java:621)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:860)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6119)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

F-Droid

Hello,

Would you be interested in publishing this app on F-Droid?

Option to re-enable click animation on single touch

To me and a couple users on Google Play, it feels weird having no animation on a single click. In fact, after the update I switched back to my default launcher and assumed it was a regression. While, perhaps I'm the exception, it'd be nice to have an option to turn that back on.

Thanks!

Possible cause of Hang-Bugs Found

Dear Developers,

I am implementing a hang-bug detection tool and I am analyzing lens-launcher with it (commit number e41e6c6). I found that the main thread of lens-launcher frequently calls:

com.orm.SugarRecord.save(SugarRecord.java:416)

In particular, the above API is called as consequence of the following call:

nickrout.lenslauncher.model.AppPersistent.incrementAppCount(AppPersistent.java:108) -> com.orm.SugarRecord.save(SugarRecord.java:416)

which then performs a database operation by calling

android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1469)

In my experiments, the execution of that function on the main thread may be the main cause of the eye-detectable delays (i.e., hang-bugs) experienced with lens-launcher .

As the developers guide of Android suggests, moving work off the main thread leads to higher responsiveness of the app. It is actually possible to move that operation off the main thread using background threads.

Therefore, do you think that the smoothness of the app would improve by executing the com.orm.SugarRecord.save API off the main thread?

Thanks for any information,
I hope I can help improve lens-launcher.

[enhancement] Allow launch by shortcut

If a shortcut to the launcher view of lens-launcher was added to the system-wide shortcuts list, it could be used as the app drawer view for an arbitrary launcher. For example:

arbitrary launcher settings -> drawer settings -> use custom drawer -> shortcut -> lens-launcher-shortcut

Is there any config require to run this source code?

Dear devs,
I import project to Android Studio, no issue but when I run. Force close occur immediately. Here are the log:
FATAL EXCEPTION: main Process: nickrout.lenslauncher, PID: 10440 android.database.sqlite.SQLiteException: no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1
Error Code : 1 (SQLITE_ERROR)Caused By : SQL(query) error or missing database. (no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1)
...
at nickrout.lenslauncher.model.AppPersistent.getAppVisibility(AppPersistent.java:129)
at nickrout.lenslauncher.adapter.AppRecyclerAdapter$AppViewHolder.setAppElement(AppRecyclerAdapter.java:108)
at nickrout.lenslauncher.adapter.AppRecyclerAdapter.onBindViewHolder(AppRecyclerAdapter.java:74)

Navigation Bar

After update s8+ to Pie home screen make some problem,
navi bar is black (was transparent) and make some frame between navi bar and icons.
Its any chance to update Lens?
Thanks a lot.
home
zoom

Amazing and why comment sort by open count options?

This is amazing!I'm using and adjusting it since I found it.Now I add a little function for me to find app by name:
lens-launcher2016062801
I want to ask why comment sort by open count options?I think it's a useful fuction.
Thank you for share this app!

names out screen area

sometimes cant see the name out screen area, possible try android:maxLines=2 or 3 ?

[enhancement] - ability to hold and delete an app

Right now the only way to delete an app (using lens launcher) would be to go into Settings -> Apps -> and delete the app you want to. It would be nice to be able to delete the app straight from the grid

Feature request: add the possibility to use lens launcher as assist app

I use kiss launcher as my default home screen (so I can have widgets and search bar) and lens launcher as app drawer (to access quickly to all my installed apps). I think that could be very handy to have the possibility to launch lens launcher as an assistant app so swiping from the bottom of the screen I can go to the default home screen and swiping from the bottom corner I can use immediately the lens launcher

[enhancement] custom sort order

the sort order "most used" is sometimes confusing because apps will move around.

A custom sort order would let me place my favorite apps near the top of the screen so i can easily find them.

Also this will leave apps at the same place, they wont move around and confuse me.

the tap "apps" could have a reorder icon on each list item to allow this

[enhancement] app info on the launcher screen

if you hover on an app for a long time it would be fun to open a menu list of actions for that app.

such as

  1. hide from the launcher home screen
  2. open
  3. app info
  4. uninstall

basically is does what the tab "apps" does.

crash issue

I faced issue when run code
Could you help to check

02-18 15:31:03.190 27242-27242/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: nickrout.lenslauncher, PID: 27242
android.database.sqlite.SQLiteException: no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1)
#################################################################
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1058)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:623)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:59)
at android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1454)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1301)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1172)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1378)
at com.orm.SugarRecord.find(SugarRecord.java:201)
at com.orm.query.Select.first(Select.java:154)
at nickrout.lenslauncher.model.AppPersistent.getAppVisibility(AppPersistent.java:129)
at nickrout.lenslauncher.adapter.AppRecyclerAdapter$AppViewHolder.setAppElement(AppRecyclerAdapter.java:108)
at nickrout.lenslauncher.adapter.AppRecyclerAdapter.onBindViewHolder(AppRecyclerAdapter.java:74)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6308)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6341)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5287)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5550)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5392)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5388)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2149)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1496)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:593)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3535)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3264)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3796)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5814)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5814)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1795)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5814)
at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1375)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:870)
at an
02-18 15:31:55.790 29018-29018/nickrout.lenslauncher E/AndroidRuntime: FATAL EXCEPTION: main
Process: nickrout.lenslauncher, PID: 29018
java.lang.RuntimeException: Unable to start receiver nickrout.lenslauncher.background.BroadcastReceivers$AppsLoadedReceiver: android.database.sqlite.SQLiteException: no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1)
#################################################################
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3641)
at android.app.ActivityThread.access$2000(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1876)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: android.database.sqlite.SQLiteException: no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1)
#################################################################
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1058)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:623)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:59)
at android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1454)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1301)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1172)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1378)
at com.orm.SugarRecord.find(SugarRecord.java:201)
at com.orm.query.Select.first(Select.java:154)
at nickrout.lenslauncher.model.AppPersistent.getAppVisibility(AppPersistent.java:129)
at nickrout.lenslauncher.ui.HomeActivity.removeHiddenApps(HomeActivity.java:106)
at nickrout.lenslauncher.ui.HomeActivity.assignApps(HomeActivity.java:100)
at nickrout.lenslauncher.ui.HomeActivity.update(HomeActivity.java:129)
at java.util.Observable.notifyObservers(Observable.java:138)
at nickrout.lenslauncher.background.LoadedObservable.updateValue(LoadedObservable.java:21)
at nickrout.lenslauncher.background.LoadedObservable.update(LoadedObservable.java:26)
at nickrout.lenslauncher.background.BroadcastReceivers$AppsLoadedReceiver.onReceive(BroadcastReceivers.java:36)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:3634)
... 8 more
02-18 15:34:30.090 31958-31958/com.fast.textoverlay.network E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.fast.textoverlay.network, PID: 31958
java.lang.RuntimeException: Unable to create service saschpe.textoverlay.service.TextOverlayService: java.lang.SecurityException: com.fast.textoverlay.network from uid 10408 not allowed to perform SYSTEM_ALERT_WINDOW
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3817)
at android.app.ActivityThread.access$2100(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1882)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.SecurityException: com.fast.textoverlay.network from uid 10408 not allowed to perform SYSTEM_ALERT_WINDOW
at android.os.Parcel.readException(Parcel.java:1620)
at android.os.Parcel.readException(Parcel.java:1573)
at android.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:791)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:813)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:337)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at saschpe.textoverlay.service.TextOverlayService.onCreate(Unknown Source)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3807)
at android.app.ActivityThread.access$2100(ActivityThread.java:221) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1882) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:158) 
at android.app.ActivityThread.main(ActivityThread.java:7224) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
02-18 15:34:35.675 32141-32141/com.fast.textoverlay.network E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.fast.textoverlay.network, PID: 32141
java.lang.RuntimeException: Unable to create service saschpe.textoverlay.service.TextOverlayService: java.lang.SecurityException: com.fast.textoverlay.network from uid 10408 not allowed to perform SYSTEM_ALERT_WINDOW
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3817)
at android.app.ActivityThread.access$2100(ActivityThread.java:221)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1882)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by: java.lang.SecurityException: com.fast.textoverlay.network from uid 10408 not allowed to perform SYSTEM_ALERT_WINDOW
at android.os.Parcel.readException(Parcel.java:1620)
at android.os.Parcel.readException(Parcel.java:1573)
at android.view.IWindowSession$Stub$Proxy.addToDisplay(IWindowSession.java:791)
at android.view.ViewRootImpl.setView(ViewRootImpl.java:813)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:337)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at saschpe.textoverlay.service.TextOverlayService.onCreate(Unknown Source)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:3807)
at android.app.ActivityThread.access$2100(ActivityThread.java:221) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1882) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:158) 
at android.app.ActivityThread.main(ActivityThread.java:7224) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 
02-18 15:39:41.205 2420-2420/nickrout.lenslauncher E/AndroidRuntime: FATAL EXCEPTION: main
Process: nickrout.lenslauncher, PID: 2420
android.database.sqlite.SQLiteException: no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1)
#################################################################
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1058)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:623)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:59)
at android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1454)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1301)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1172)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1378)
at com.orm.SugarRecord.find(SugarRecord.java:201)
at com.orm.query.Select.first(Select.java:154)
at nickrout.lenslauncher.model.AppPersistent.getAppVisibility(AppPersistent.java:129)
at nickrout.lenslauncher.adapter.AppRecyclerAdapter$AppViewHolder.setAppElement(AppRecyclerAdapter.java:108)
at nickrout.lenslauncher.adapter.AppRecyclerAdapter.onBindViewHolder(AppRecyclerAdapter.java:74)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6308)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6341)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5287)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5550)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5392)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5388)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2149)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1496)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:593)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3535)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3264)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3796)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5814)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5814)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1795)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5814)
at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1375)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:870)
at and
02-18 15:43:01.790 5174-5174/nickrout.lenslauncher E/AndroidRuntime: FATAL EXCEPTION: main
Process: nickrout.lenslauncher, PID: 5174
android.database.sqlite.SQLiteException: no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1
#################################################################
Error Code : 1 (SQLITE_ERROR)
Caused By : SQL(query) error or missing database.
(no such table: APP_PERSISTENT (code 1): , while compiling: SELECT * FROM APP_PERSISTENT WHERE (M_IDENTIFIER = ? ) LIMIT 1)
#################################################################
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1058)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:623)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:59)
at android.database.sqlite.SQLiteQuery.(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1454)
at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1301)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1172)
at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1378)
at com.orm.SugarRecord.find(SugarRecord.java:201)
at com.orm.query.Select.first(Select.java:154)
at nickrout.lenslauncher.model.AppPersistent.getAppVisibility(AppPersistent.java:129)
at nickrout.lenslauncher.adapter.AppRecyclerAdapter$AppViewHolder.setAppElement(AppRecyclerAdapter.java:108)
at nickrout.lenslauncher.adapter.AppRecyclerAdapter.onBindViewHolder(AppRecyclerAdapter.java:74)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6308)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6341)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5287)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5550)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5392)
at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5388)
at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2149)
at android.support.v7.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:556)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1496)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:593)
at android.support.v7.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3535)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3264)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3796)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5814)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:344)
at android.widget.FrameLayout.onLayout(FrameLayout.java:281)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5814)
at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1795)
at android.view.View.layout(View.java:17938)
at android.view.ViewGroup.layout(ViewGroup.java:5814)
at android.support.design.widget.HeaderScrollingViewBehavior.layoutChild(HeaderScrollingViewBehavior.java:131)
at android.support.design.widget.ViewOffsetBehavior.onLayoutChild(ViewOffsetBehavior.java:42)
at android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onLayoutChild(AppBarLayout.java:1375)
at android.support.design.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:870)
at and

[enhancement] Rename apps

I would like to see the possibility to rename apps in the settings.

I use alphabetical sorting and I use a gallery app that's named Q******* which I nonetheless want to be sorted as "Gallery."

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.