Android 13 移除下拉栏中的设置入口

介绍

因为当前项目的设置已被加密,客户不希望通过下拉窗口的设置图标进入设置,决定去掉该图标。

效果展示

分析

这里首先想到在SystemUI寻找这个图标的资源文件,找到资源文件后寻找对应控件调用的地方,根据id寻找控件代码即可。

修改

首先找到了对应的资源文件

路径:vendor/mediatek/proprietary/packages/apps/SystemUI/res/drawable/ic_settings.xml

通过搜索我们发现是在如下路径调用,这里我按钮是在容器中的,我们直接搜索容器ID的绑定代码。

路径:vendor/mediatek/proprietary/packages/apps/SystemUI/res-keyguard/layout/footer_actions.xml

        <com.android.systemui.statusbar.AlphaOptimizedFrameLayout
            android:id="@+id/settings_button_container"
            android:layout_width="@dimen/qs_footer_action_button_size"
            android:layout_height="@dimen/qs_footer_action_button_size"
            android:background="@drawable/qs_footer_action_circle"
            android:clipChildren="false"
            android:clipToPadding="false">

            <com.android.systemui.statusbar.phone.SettingsButton
                android:id="@+id/settings_button"
                android:layout_width="@dimen/qs_footer_icon_size"
                android:layout_height="@dimen/qs_footer_icon_size"
                android:layout_gravity="center"
                android:background="@android:color/transparent"
                android:focusable="false"
                android:clickable="false"
                android:importantForAccessibility="yes"
                android:contentDescription="@string/accessibility_quick_settings_settings"
                android:scaleType="centerInside"
                android:src="@drawable/ic_settings"
                android:tint="?android:attr/textColorPrimary" />

        </com.android.systemui.statusbar.AlphaOptimizedFrameLayout>

控件是在onFinishInflate中完成绑定的,接着往下看,在updateVisibilities中更新了控件的显示状态,那只需在最后设置显示状态为GONE即可,代码如下

路径:vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/qs/FooterActionsView.kt

    override fun onFinishInflate() {
        super.onFinishInflate()
        settingsContainer = findViewById(R.id.settings_button_container)
        multiUserSwitch = findViewById(R.id.multi_user_switch)
        multiUserAvatar = multiUserSwitch.findViewById(R.id.multi_user_avatar)

        // RenderThread is doing more harm than good when touching the header (to expand quick
        // settings), so disable it for this view
        if (settingsContainer.background is RippleDrawable) {
            (settingsContainer.background as RippleDrawable).setForceSoftware(true)
        }
        importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_YES
    }


    private fun updateVisibilities(
        multiUserEnabled: Boolean
    ) {
        settingsContainer.visibility = if (qsDisabled) GONE else VISIBLE
        multiUserSwitch.visibility = if (multiUserEnabled) VISIBLE else GONE
        val isDemo = UserManager.isDeviceInDemoMode(context)
        //*/soda water.20240109 Remove the drop-down Settings entry
        settingsContainer.visibility = GONE
        /*
        settingsContainer.visibility = if (isDemo) INVISIBLE else VISIBLE
        */
    }

相关推荐

  1. Android隐藏标题标题

    2024-01-10 23:44:02       31 阅读
  2. Android10.0 SystemUI 通知去掉左右滑动菜单

    2024-01-10 23:44:02       58 阅读
  3. 高通Android 12/13添加/不被清理后台应用

    2024-01-10 23:44:02       30 阅读
  4. 、混淆静态库多余符号(待续)

    2024-01-10 23:44:02       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-10 23:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-10 23:44:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-10 23:44:02       82 阅读
  4. Python语言-面向对象

    2024-01-10 23:44:02       91 阅读

热门阅读

  1. C++处方管理系统架构——设计模式应用场景分析

    2024-01-10 23:44:02       54 阅读
  2. Redis面试题7

    2024-01-10 23:44:02       50 阅读
  3. 将一个独立的磁盘添加到已有的 `/` 分区

    2024-01-10 23:44:02       53 阅读
  4. python深度学习搭环境技巧

    2024-01-10 23:44:02       53 阅读
  5. Python写冒泡

    2024-01-10 23:44:02       49 阅读
  6. 未来-中国要不要有自己的编程语言

    2024-01-10 23:44:02       58 阅读
  7. Hive之set参数大全-4

    2024-01-10 23:44:02       42 阅读
  8. Hive之set参数大全-5

    2024-01-10 23:44:02       47 阅读
  9. 前端国际化之痛点(三):上线后修改翻译内容

    2024-01-10 23:44:02       59 阅读
  10. 前端算法之堆 -- 计数排序

    2024-01-10 23:44:02       57 阅读