public interface Callbacks {
        //如果Launcher在加载完成之前被强制暂停,那么需要通过这个回调方法通知
        //launcher,在它再次显示的时候重新执行加载过程
        public boolean setLoadOnResume();
        //获取当前用户所在的桌面页索引
        public int getCurrentWorkspaceScreen();
        //启动桌面组件绑定
        public void startBinding();
        /**
         *   批量绑定桌面组件
         * @param shortcuts 需要绑定的快捷方式列表
         * @param start 列表的开始位置
         * @param end 列表的结束位置
         * @param forceAnimateIcons  是否使用动画
         */
        public void bindItems(ArrayList<ItemInfo> shortcuts, int start, int end,
                              boolean forceAnimateIcons);
        /**
         *  批量绑定桌面页
         * @param orderedScreenIds 序列化后的桌面页列表
         */
        public void bindScreens(ArrayList<Long> orderedScreenIds);
        //同上
        public void bindAddScreens(ArrayList<Long> orderedScreenIds);
        /**
         *  批量绑定文件夹
         * @param folders 文件夹映射列表
         */
        public void bindFolders(LongArrayMap<FolderInfo> folders);
        //绑定任务完成
        public void finishBindingItems();
        /**
         *  往桌面上绑定小部件
         * @param info 需要绑定到桌面上的小部件信息
         */
        public void bindAppWidget(LauncherAppWidgetInfo info);
        /**
         *   绑定应用程序列表界面的应用程序信息
         * @param apps 需要绑定到应用程序列表中的应用程序列表
         */
        public void bindAllApplications(ArrayList<AppInfo> apps);
        /**
         *  批量添加组件
         * @param newScreens   添加的桌面页列表
         * @param addNotAnimated  无需动画添加组件
         * @param addAnimated    动画方式添加组件
         * @param addedApps    添加所有应用程序菜单
         */
        public void bindAppsAdded(ArrayList<Long> newScreens,
                                  ArrayList<ItemInfo> addNotAnimated,
                                  ArrayList<ItemInfo> addAnimated,
                                  ArrayList<AppInfo> addedApps);
        /**
         *  批量更新应用程序相关的快捷方式或者入口
         * @param apps 已经更新的应用程序信息
         */
        public void bindAppsUpdated(ArrayList<AppInfo> apps);
        /**
         *  从桌面移除一些组件,当应用程序被移除或者禁用的时候调用
         * @param packageNames 以包名指定的应用程序信息列表
         * @param appInfos   以应用程序信息指定的应用程序信息列表
         * @param user   当前用户信息
         * @param reason
         */
        public void bindComponentsRemoved(ArrayList<String> packageNames,
                        ArrayList<AppInfo> appInfos, UserHandleCompat user);
        public void bindAllPackages(WidgetsModel model);
        //全局搜索或者搜索属性更新
        public void bindSearchProviderChanged();
        /**
         *
         * @param rank 输入范围
         * @return  是否为应用程序菜单
         */
        public boolean isAllAppsButtonRank(int rank);
        /**
         * 指示正在绑定的页面
         * @param page  桌面页序号
         */
        public void onPageBoundSynchronously(int page);
        //输出当前Launcher信息到本地文件中
        public void dumpLogsToLocalData();

    }

LauncherModel.Callbacks接口的更多相关文章

  1. android M Launcher之LauncherModel (一)

    众所周知 LauncherModel在Launcher中所占的位置,它相当于Launcher的数据中心,Launcher的桌面以及应用程序菜单中所需的数据像 桌面小部件的信息.快捷方式信息.文件信息. ...

  2. 【Android】Android 4.0 Launcher2源码分析——启动过程分析

    Android的应用程序的入口定义在AndroidManifest.xml文件中可以找出:[html] <manifest xmlns:android="http://schemas. ...

  3. Android4.0 Launcher 源码分析2——Launcher内容加载绑定详细过程

    Launcher在应用启动的时候,需要加载AppWidget,shortcut等内容项,通过调用LauncherModel.startLoader(),开始加载的工作.launcherModel中加载 ...

  4. 【转】Android 4.0 Launcher2源码分析——启动过程分析

    Android的应用程序的入口定义在AndroidManifest.xml文件中可以找出:[html] <manifest xmlns:android="http://schemas. ...

  5. Fragment与Activity交互(使用接口)

    在Fragment中: 1. // 定义一个回调接口,该Fragment所在Activity需要实现该接口// 该Fragment将通过该接口与它所在的Activity交互 { public void ...

  6. 【凯子哥带你学Framework】Activity启动过程全解析

    It’s right time to learn Android’s Framework ! 前言 学习目标 写作方式 主要对象功能介绍 主要流程介绍 zygote是什么有什么作用 SystemSer ...

  7. 【Android】应用程序启动过程源码分析

    在Android系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细分析应用程序框架层的源代码,了解Android应用程 ...

  8. Android系统默认Home应用程序(Launcher)的启动过程源码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还须要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应 ...

  9. Android系统默认Home应用程序(Launcher)的启动过程源代码分析

    在前面一篇文章中,我们分析了Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个 Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home ...

随机推荐

  1. c++简单线程池实现

    线程池,简单来说就是有一堆已经创建好的线程(最大数目一定),初始时他们都处于空闲状态,当有新的任务进来,从线程池中取出一个空闲的线程处理任务,然后当任务处理完成之后,该线程被重新放回到线程池中,供其他 ...

  2. ES6关于Promise的用法

    Promise 对象用于一个异步操作的最终完成(或失败)及其结果值的表示.简单点说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作. 它的一般表示形 ...

  3. No mapping found for HTTP request with URI [/user/login.do] in DispatcherServlet with name 'dispatcher'错误

    1.警告的相关信息 七月 24, 2017 3:53:04 下午 org.springframework.web.servlet.DispatcherServlet noHandlerFound警告: ...

  4. [LeetCode] License Key Formatting 注册码格式化

    Now you are given a string S, which represents a software license key which we would like to format. ...

  5. ●BZOJ 4237 稻草人

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=4237 题解: CDQ分治,单调栈 把所有点先按x从小到大排序,然后去CDQ分治y坐标. 在分 ...

  6. 51 nod 1681 公共祖先 (主席树+dfs序)

    1681 公共祖先 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题   有一个庞大的家族,共n人.已知这n个人的祖辈关系正好形成树形结构(即父亲向儿子连边). 在另 ...

  7. 2015 多校联赛 ——HDU5302(矩阵快速幂)

    The Goddess Of The Moon Sample Input 2 10 50 12 1213 1212 1313231 12312413 12312 4123 1231 3 131 5 5 ...

  8. VK Cup 2017 - Квалификация 1

    CF上的VK Cup 2017资格赛1,好像很水,因为只有俄文所以语言是最大的障碍--不过之后正式赛貌似就有英文了.(比赛貌似只有开俄文模式才看的到--) 时长1天,不随时间扣分.FallDream ...

  9. poj 3904(莫比乌斯反演)

    POJ 3904 题意: 从n个数中选择4个数使他们的GCD = 1,求总共有多少种方法 Sample Input 4 2 3 4 5 4 2 4 6 8 7 2 3 4 5 7 6 8 Sample ...

  10. 2017ACM/ICPC广西邀请赛-重现赛 1010.Query on A Tree

    Problem Description Monkey A lives on a tree, he always plays on this tree. One day, monkey A learne ...