valkriaine / factor_launcher_reboot Goto Github PK
View Code? Open in Web Editor NEWA modern Android launcher inspired by Windows Phone 7
A modern Android launcher inspired by Windows Phone 7
BlurContainer:
Usage:
┬───
│ GC Root: System class
│
├─ android.view.inputmethod.InputMethodManager class
│ Leaking: NO (InputMethodManager↓ is not leaking and a class is never
│ leaking)
│ ↓ static InputMethodManager.sInstance
├─ android.view.inputmethod.InputMethodManager instance
│ Leaking: NO (DecorView↓ is not leaking and InputMethodManager is a
│ singleton)
│ ↓ InputMethodManager.mNextServedView
├─ com.android.internal.policy.DecorView instance
│ Leaking: NO (LinearLayout↓ is not leaking and View attached)
│ View is part of a window view hierarchy
│ View.mAttachInfo is not null (view attached)
│ View.mWindowAttachCount = 1
│ mContext instance of com.android.internal.policy.DecorContext, wrapping
│ activity com.factor.launcher.activities.HomeActivity with mDestroyed =
│ false
│ ↓ DecorView.mContentRoot
├─ android.widget.LinearLayout instance
│ Leaking: NO (HomeActivity↓ is not leaking and View attached)
│ View is part of a window view hierarchy
│ View.mAttachInfo is not null (view attached)
│ View.mWindowAttachCount = 1
│ mContext instance of com.factor.launcher.activities.HomeActivity with
│ mDestroyed = false
│ ↓ LinearLayout.mContext
├─ com.factor.launcher.activities.HomeActivity instance
│ Leaking: NO (HomeScreenFragment↓ is not leaking and Activity#mDestroyed is
│ false)
│ mApplication instance of com.factor.launcher.FactorApplication
│ mBase instance of androidx.appcompat.view.ContextThemeWrapper, not
│ wrapping known Android context
│ ↓ HomeActivity.mActivityResultRegistry
├─ androidx.activity.ComponentActivity$2 instance
│ Leaking: NO (HomeScreenFragment↓ is not leaking)
│ Anonymous subclass of androidx.activity.result.ActivityResultRegistry
│ this$0 instance of com.factor.launcher.activities.HomeActivity with
│ mDestroyed = false
│ ↓ ComponentActivity$2.mKeyToCallback
├─ java.util.HashMap instance
│ Leaking: NO (HomeScreenFragment↓ is not leaking)
│ ↓ HashMap.table
├─ java.util.HashMap$Node[] array
│ Leaking: NO (HomeScreenFragment↓ is not leaking)
│ ↓ HashMap$Node[].[5]
├─ java.util.HashMap$Node instance
│ Leaking: NO (HomeScreenFragment↓ is not leaking)
│ ↓ HashMap$Node.value
├─ androidx.activity.result.ActivityResultRegistry$CallbackAndContract instance
│ Leaking: NO (HomeScreenFragment↓ is not leaking)
│ ↓ ActivityResultRegistry$CallbackAndContract.mCallback
├─ androidx.fragment.app.FragmentManager$9 instance
│ Leaking: NO (HomeScreenFragment↓ is not leaking)
│ Anonymous class implementing androidx.activity.result.
│ ActivityResultCallback
│ ↓ FragmentManager$9.this$0
├─ androidx.fragment.app.FragmentManagerImpl instance
│ Leaking: NO (HomeScreenFragment↓ is not leaking)
│ ↓ FragmentManagerImpl.mParent
├─ com.factor.launcher.fragments.HomeScreenFragment instance
│ Leaking: NO (Fragment#mFragmentManager is not null)
│ context instance of com.factor.launcher.activities.HomeActivity with
│ mDestroyed = false
│ ↓ HomeScreenFragment.mAnimationInfo
│ ~~~~~~~~~~~~~~
├─ androidx.fragment.app.Fragment$AnimationInfo instance
│ Leaking: UNKNOWN
│ Retaining 29265963 bytes in 38324 objects
│ ↓ Fragment$AnimationInfo.mFocusedView
│ ~~~~~~~~~~~~
├─ androidx.appcompat.widget.SearchView$SearchAutoComplete instance
│ Leaking: UNKNOWN
│ Retaining 29265877 bytes in 38323 objects
│ View not part of a window view hierarchy
│ View.mAttachInfo is null (view detached)
│ View.mID = R.id.search_src_text
│ View.mWindowAttachCount = 1
│ mPopupContext instance of com.factor.launcher.activities.HomeActivity with
│ mDestroyed = false
│ mContext instance of com.factor.launcher.activities.HomeActivity with
│ mDestroyed = false
│ ↓ SearchView$SearchAutoComplete.mSearchView
│ ~~~~~~~~~~~
├─ androidx.appcompat.widget.SearchView instance
│ Leaking: UNKNOWN
│ Retaining 29235940 bytes in 37805 objects
│ View not part of a window view hierarchy
│ View.mAttachInfo is null (view detached)
│ View.mID = R.id.search_view
│ View.mWindowAttachCount = 1
│ mContext instance of com.factor.launcher.activities.HomeActivity with
│ mDestroyed = false
│ ↓ SearchView.mParent
│ ~~~~~~~
├─ androidx.constraintlayout.widget.ConstraintLayout instance
│ Leaking: UNKNOWN
│ Retaining 29214726 bytes in 37513 objects
│ View not part of a window view hierarchy
│ View.mAttachInfo is null (view detached)
│ View.mWindowAttachCount = 1
│ mContext instance of com.factor.launcher.activities.HomeActivity with
│ mDestroyed = false
│ ↓ ConstraintLayout.mParent
│ ~~~~~~~
├─ eightbitlab.com.blurview.BlurView instance
│ Leaking: UNKNOWN
│ Retaining 29213475 bytes in 37494 objects
│ View not part of a window view hierarchy
│ View.mAttachInfo is null (view detached)
│ View.mID = R.id.search_blur
│ View.mWindowAttachCount = 1
│ mContext instance of com.factor.launcher.activities.HomeActivity with
│ mDestroyed = false
│ ↓ BlurView.mParent
│ ~~~~~~~
├─ androidx.cardview.widget.CardView instance
│ Leaking: UNKNOWN
│ Retaining 1608 bytes in 26 objects
│ View not part of a window view hierarchy
│ View.mAttachInfo is null (view detached)
│ View.mID = R.id.search_base
│ View.mWindowAttachCount = 1
│ mContext instance of com.factor.launcher.activities.HomeActivity with
│ mDestroyed = false
│ ↓ CardView.mParent
│ ~~~~~~~
╰→ androidx.constraintlayout.widget.ConstraintLayout instance
Leaking: YES (ObjectWatcher was watching this because com.factor.launcher.
fragments.HomeScreenFragment received Fragment#onDestroyView() callback
(references to its views should be cleared to prevent leaks))
Retaining 2614 bytes in 64 objects
key = 41fb93c4-5a73-49df-83be-e551faf597c7
watchDurationMillis = 46294
retainedDurationMillis = 41292
View not part of a window view hierarchy
View.mAttachInfo is null (view detached)
View.mWindowAttachCount = 1
mContext instance of com.factor.launcher.activities.HomeActivity with
mDestroyed = false
METADATA
Build.VERSION.SDK_INT: 29
Build.MANUFACTURER: Sony
LeakCanary version: 2.5
App process name: com.factor.launcher
Stats: LruCache[maxSize=3000,hits=15548,misses=170334,hitRate=8%]
RandomAccess[bytes=10751814,reads=170334,travel=56240224871,range=25584673,size=
29970721]
Analysis duration: 5454 ms
如题
clear focus of fastscroller onKeyDown
custom notification shade, lock screen (maybe?)
Factor Apps and widgets
there is a small chance that the app may crash when returning from other apps in landscape mode.
Oxygen OS 10.3.7 app crashed after welcome screen
cleared notification counts are being re-displayed
When the user changes the system wallpaper whose aspect ratio is different from that of the screen, the blur effect may be wrongly scaled
StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V
at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
at java.lang.Class.getDeclaredMethodInternal(Native Method)
at java.lang.Class.getPublicMethodRecursive(Class.java:2075)
at java.lang.Class.getMethod(Class.java:2063)
at java.lang.Class.getMethod(Class.java:1690)
at b.b.q.b1.c(ViewUtils.java:1)
at b.b.k.k.z(AppCompatDelegateImpl.java:44)
at b.b.k.k.l(AppCompatDelegateImpl.java:1)
at b.b.k.h.setContentView(AppCompatActivity.java:1)
at com.factor.launcher.activities.WelcomeActivity.onCreate(WelcomeActivity.java:5)
at android.app.Activity.performCreate(Activity.java:7144)
at android.app.Activity.performCreate(Activity.java:7135)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at androidx.test.runner.MonitoringInstrumentation.callActivityOnCreate(MonitoringInstrumentation.java:2)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2931)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3086)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6718)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Full screen layout and system bar transparency work differently on Android 11
Todo: better implement icon drop shadows, possibly generate them during app list loading time
Currently tile CardViews are using the default elevation, which results in a black outline shadow if the user turns off blur and sets the tile color to semitransparent
Slow frames
94.95%
Frozen frames
0.51%
Implement generating crash report
instead of performing a simple scroll to recyclerview position, display a new fragment to include more detailed results
lags when returning to home screen by pressing the home button. (no lag with back button)
better animations when clicking an element, and when transitioning between activities/fragments.
Currently the search bar blur is stacking on top of the blurred wallpaper and is impacting performance
Add option to change how much space the tiles should take up
Blur is causing some lag
如题
May be an emulator issue
When renaming an app, currently if the app has a new name different from its original and when the user tries to change its name to the same as original (without using reset), it would not register
https://stackoverflow.com/a/64839467/12338956
Possible solution: raise minimum API level to 22
Context menu isn't the best for widget tiles.
In the app settings, add a message when the user attempts to turn on the blur toggle while the app has no permission to access storage
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.