
Launcher3
lmpt90
我要站在巨人的肩膀上,探索那些未知的世界。
展开
-
Launcher3拖拽流程分析
本文主要分析下Launcher3的拖拽流程。Launcher3的点击事件比较好分析,大都都是打开某个应用或者进入文件夹app界面。而拖拽流程就比较复杂,拖拽的触发是View的长按事件,而长按事件的处理是在Launcher3.java的onLongClick()方法中,我们一起来看下。 @Override public boolean onLongClick(View v) ...原创 2019-04-12 09:14:21 · 1804 阅读 · 1 评论 -
Launcher3应用的安装与卸载
本文我们来看下Launcher3应用的安装与卸载的处理流程。应用的安装与卸载是通过PackageManagerService来完成的,在成功安装或者卸载之后它是怎么通知Launcher3更新的呢?关于PackageManagerService那一块我们不作深入分析,我们知道LauncherModel是Launcher3的数据中心继承于BroadcastReceiver并且实现了LauncherAp...原创 2019-04-12 15:57:53 · 3178 阅读 · 0 评论 -
Launcher3有关的客制化工作
在工作当中对Launcher3的客制化还是比较多的,如客制化主界面,是否旋转,屏蔽掉应用列表界面等等。本文就对这些来一个总结吧。注意在本文针对高通7.1的Launcher3写的,其它平台的代码可能有所不一样。1.客制化主界面在前面的博客中讲到过,要客制化主界面我们需要修改partner_default_layout.xml(这个是谷歌GmsSampleLayout.apk里的文件)或者de...原创 2019-04-16 17:32:08 · 777 阅读 · 0 评论 -
Launcher3应用列表数据加载
本文我们详细看看应用列表的加载过程,代码是基于高通7.1。先前的文章我们分析过Launcher3数据的加载,知道应用列表数据加载的起点是在LauncherModel的loadAndBindAllApps()开始的,该方法会调用loadAllApps()。packages\apps\Launcher3\src\com\android\launcher3\LauncherModel.java ...原创 2019-04-16 17:14:18 · 1489 阅读 · 0 评论 -
Launcher3数据加载
这篇文章我们来一起分析下Launcher3数据的加载流程。Launcher3的数据分为桌面数据和应用列表数据,桌面数据有shortcuts,folder,widget,而应用列表里面的就只有shortcuts.本文着重分析workspace数据的流程.数据加载的起点是通过调用LauncherModel的startLoader方法,Launcher3的onCreate()中有如下代码:pa...原创 2019-04-10 17:20:31 · 1008 阅读 · 1 评论 -
Launcher3向上滑动显示应用列表分析
Android7.0的代码开始,Launcher3可以在Hotseat的区域通过向上滑动打开应用列表界面。本文我们就来详细分析下这个过程吧。一开始以为是Hotseat里面有onTouchEvent相关的逻辑处理,但是查看代码发现里面基本没有相关的事件处理逻辑,所以我们只能看下布局文件了,由事件分发的机制我们知道,如果子view不拦截处理事件,则它就会向下传递给父容器处理。Hotseat的父容器...原创 2019-04-15 20:31:19 · 4008 阅读 · 2 评论