【源码剖析】Launcher 8.0 源码 (14) --- Launcher 启动流程 第六步之LoadWorkspace 第1小步(2)寻找布局xml的范围

本文深入剖析Android Launcher8.0的启动流程,特别是LoadWorkspace的第1小步,主要关注如何寻找并加载布局XML。内容涉及从数据库、特殊限制、自定义配置和第三方应用四个方面尝试获取布局,最后使用默认布局作为备选方案。
摘要由CSDN通过智能技术生成

Launcher8.0启动流程的第六步中loadworkspace的第1小步是获取数据库,首先完成第一个操作,判断有没有现成的数据库,如果没有现成数据库,则创建一个新的数据库,并且从手机中读取相应的布局。

也就是第1小步的第二个操作,寻找布局文件的范围。

loadDefaultFavoritesIfNecessary其源码如下:

synchronized private void loadDefaultFavoritesIfNecessary() {
    SharedPreferences sp = Utilities.getPrefs(getContext());
    if (sp.getBoolean(EMPTY_DATABASE_CREATED, false)) {
        Log.d(TAG, "loading default workspace");
        AppWidgetHost widgetHost = mOpenHelper.newLauncherWidgetHost();
        AutoInstallsLayout loader = createWorkspaceLoaderFromAppRestriction(widgetHost);

        if (loader == null) {
            loader = AutoInstallsLayout.get(getContext(),widgetHost, mOpenHelper);
        }

        if (loader == null) {
            final Partner partner = Partner.get(getContext().getPackageManager());
            if (partner != null && partner.hasDefaultLayout()) {
                final Resources partnerRes = partner.getResources();
                int workspaceResId = partnerRes.getIdentifier(Partner.RES_DEFAULT_LAYOUT,
                        "xml", partner.getPackageName());
                if (workspaceResId != 0) {
                    loader = new DefaultLayoutP

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值