Android系统apps之Setting选项的隐藏(基于android4.2.2)

Settings\src\com\android\settings\Setting.java


private void updateHeaderList(List<Header> target) {
        final boolean showDev = mDevelopmentPreferences.getBoolean(
                DevelopmentSettings.PREF_SHOW,
                android.os.Build.TYPE.equals("eng"));
        int i = 0;

        mHeaderIndexMap.clear();
        while (i < target.size()) {
            Header header = target.get(i);
            // Ids are integers, so downcasting
            int id = (int) header.id;
            if (id == R.id.operator_settings || id == R.id.manufacturer_settings) {
                Utils.updateHeaderToSpecificActivityFromMetaDataOrRemove(this, target, header);
            } 
			else if (id == R.id.wifi_settings) {
                // Remove WiFi Settings if WiFi service is not available.
		// 把if判断去掉隐藏WiFi 
                //if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI)) {
                    target.remove(i);
                //}
            }
			else if (id == R.id.bluetooth_settings) {
		//把if判断去掉隐藏蓝牙
                // Remove Bluetooth Settings if Bluetooth service is not available.
				//if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) {
                    target.remove(i);
                //}
            } 
			else if (id == R.id.data_usage_settings) {
                // Remove data usage when kernel module not enabled
                //把if判断去掉隐藏流量使用情况(内核模块未启用也会remove)
                //final INetworkManagementService netManager = INetworkManagementService.Stub
                //        .asInterface(ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
                //try {
                //    if (!netManager.isBandwidthControlEnabled()) {
                        target.remove(i);
                //   }
                //} catch (RemoteException e) {
                    // ignored
                //}
            } else if (id == R.id.account_settings) {
                int headerIndex = i + 1;
                i = insertAccountsHeaders(target, headerIndex);
            } else if (id == R.id.user_settings) {
                if (!UserHandle.MU_ENABLED
                        || !UserManager.supportsMultipleUsers()
                        || Utils.isMonkeyRunning()) {
                    target.remove(i);
                }
            }
			else if (id == R.id.development_settings) {
                if (!showDev) {
                    target.remove(i);
                }
            }
			
            if (target.get(i) == header
                    && UserHandle.MU_ENABLED && UserHandle.myUserId() != 0
                    && !ArrayUtils.contains(SETTINGS_FOR_RESTRICTED, id)) {
                target.remove(i);
            }

            // Increment if the current one wasn't removed by the Utils code.
            if (target.get(i) == header) {
                // Hold on to the first header, when we need to reset to the top-level
                if (mFirstHeader == null &&
                        HeaderAdapter.getHeaderType(header) != HeaderAdapter.HEADER_TYPE_CATEGORY) {
                    mFirstHeader = header;
                }
                mHeaderIndexMap.put(id, i);
                i++;
            }
        }
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值