【问题】

在没有账户的时候,不应该有添加联系人群组的选项。

我们要把这个选项干掉。

【相关log】
06-23 17:25:00.804: E/GroupEditorFragment(6030): No accounts were found.
//GroupEditorFragment.java (packages\apps\contacts\src\com\android\contacts\group)
//line 327 log

06-23 18:56:31.109: I/ActivityManager(1376): Start proc 12138:com.android.contacts/u0a4 for activity com.android.contacts/.activities.PeopleActivity

【相关代码】

//PeopleActivity.java (packages\apps\contacts\src\com\android\contacts\activities)
1278 MenuItem addGroupMenu = menu.findItem(R.id.menu_add_group);

1483 private void createNewGroup()
1374 @Override
public boolean onOptionsItemSelected(MenuItem item)
定义有各个按键对应的动作
if (isSearchMode) addGroipMenu.setVisible(false);

1366 private void makeMenuItemVisible(Menu menu, int itemId, boolean visible)
选择可视按键

1265 @Override
public boolean onPrepareOptionsMenu(Menu menu)
在这里设置按键是否可视。主要观察addGroupMenu.setVisible()方法
1337 注释掉addGroupMenu.setVisible(true);
在这句之前已进行了一个判断,来确定addGroupMenu是否可视

注释掉这行后,功能按钮消失。

/**
ActionBarAdapter.java (apps\contacts\src\com\android\contacts\activities)
*/
public interface TabState {
public static int FAVORITES = 0;
public static int ALL = 1;
public static int GROUPS = 2;

public static int COUNT = 3;
public static int DEFAULT = ALL;
}

/**
MenuItem.java (apps\tvsettings\settings\src\com\android\tv\settings)packages
PeopleActivity中调用的MenuItem是这个类的
*/

//GroupEditorActivity.java
//

06-23 17:30:09.238: V/WindowManager(1376): Adding window Window{50c5c54 u0 PopupWindow:2e73e0f2} at 6 of 12 (after Window{30373fd0 u0 com.android.contacts/com.android.contacts.activities.PeopleActivity})
///frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java
//line 952 log 添加窗口的时候都会调用,在这里没啥指导意义

【调试问题】
/*
~/workspace/AP/out/target/product/msm8909/system/priv-app/Contacts$ adb push Contacts.apk system/priv-app/Contacts
2412 KB/s (4819489 bytes in 1.951s)
liuyu@liuyu-OptiPlex-3020:~/workspace/AP/out/target/product/msm8909/system/priv-app/Contacts$ adb reboot
重启后,通讯录图标消失了
图标消失是因为出错。用fastboot重新烧录之后,通讯录正常。
修改源文件的错误,重新编译。push进去后,reboot,可以看到新打的log。
lsusb 18d1:d00d

*/

Android5.1 - 通讯录建立群组的更多相关文章

  1. Linux学习-Linux的账号与群组

    使用者识别码: UID 与 GID Linux 主机并不会直接认识 你的"帐号名称"的,他仅认识 ID 啊 (ID 就是一组号码啦). 由于计算机仅认识 0 与 1,所 以主机对于 ...

  2. 第七章 手动部署Fisco Bcos 区块链并完成新增群组,在原有群组中新增机构

    鉴于笔者以前各大博客教程都有很多人提问,早期建立一个技术交流群,里面技术体系可能比较杂,想了解相关区块链开发,技术提问,请加QQ群:538327407 目标 1.新增群组搭建完整联盟链 2.根据群组新 ...

  3. linux命令之 用户和群组

    一.保存用户信息的文件 1 /etc/passwd root:x:::root:/root:/bin/bash pwftp:x::::/alidata/www/wwwroot/:/sbin/nolog ...

  4. #Linux学习笔记# Linux文件的所有者、群组和其他人

    1.关于所有者.群组和其他人 在Linux系统中,每个文件都具有User.Group和Others三种身份的权限配置.那这三种身份分别表示什么意思呢?配置这三种身份的权限有啥意义呢? (1)文件所有者 ...

  5. linux 学习-用户&群组&权限

    Linux用户&群组&权限  ⦁ Linux安全性模型   1)Linux使用User和Group控制使用者对文件的存取权限   2)用户使用账号和口令登录Linux   3) ...

  6. Linux学习之CentOS(四)----Linux文件属性、所有者、群组、其他组及文件权限操作简要总结

    Linux文件属性.所有者.群组.其他组及文件权限操作简要总结 首先介绍一个重要的知识点:文件属性控制权限 [root@www ~]# ls -al total 156 drwxr-x--- 4 ro ...

  7. [LeetCode] Group Anagrams 群组错位词

    Given an array of strings, group anagrams together. Example: Input: ["eat", "tea" ...

  8. Omad群组部署、依赖部署一键解决

    本文来自网易云社区 作者:李培斌 前言 基于omad部署平台实现一键部署的实践已有很多成功的经验,杭研QA的技术先锋们也在ks圈里有很多不同的文章去阐述关于这类需求的实现和思路,当然包括我们金融事业部 ...

  9. 开放群组架构TOGAF

    作于一个架构师尤其是企业架构师来说,丰富的理论知识可以帮助他在架构规划及管理过程中站在更高的角度去看待问题,历史发展原因有很多已成体系的架构理论,TOGAF是近年来比较接地气的,受到了政府和银行业的重 ...

随机推荐

  1. Java数据库连接错误集

    com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after co ...

  2. 网络编程应用:基于TCP协议【实现文件上传】--练习

    要求: 基于TCP协议实现一个向服务器端上传文件的功能 客户端代码: package Homework2; import java.io.File; import java.io.FileInputS ...

  3. .net、jquery、ajax、wcf实现数据库用户名检测局部刷新

    jquery代码 $(function() { $("#user_name").blur(function(){ var user_name=$("#user_name& ...

  4. go服务端----使用dotweb框架搭建简易服务

    使用dotweb框架搭建简易服务 go语言web框架挺多的,所谓琳琅满目,里面也有很多优秀的,比如echo.beego等,但体验下来,总是觉得哪里有点小疙瘩,后来才明白过来,echo太简单,很多日常使 ...

  5. 一键帮你复制多个文件到多个机器——PowerShell小脚本(内附PS远程执行命令问题解析)

    作为一个后台程序猿,经常需要把一堆程序集(DLL)或者应用程序(EXE)复制到多个服务器上,实现程序的代码逻辑更新,用以测试新的功能或改动逻辑.这里给大家介绍一个自己实现的PowerShell脚本,方 ...

  6. h5 + nginx + php 视频上传之突破文件大小受限的解决办法

    一.环境: CentOS 6.8 nginx 1.8.0 php 7.0.10 二.背景 基于 nginx + php 的 h5 项目,上传视频的时候,如果视频太大,会上传失败. 三.正文 一份视频传 ...

  7. GPUImage的filter 响应处理链 的理解笔记

    GPUImage的filter的textures处理链式结构 两个最重要的的地方: 最重要的一个类GPUImageOutput(所有的filter的父类,其他也有继承它的,如GPUImageUIEle ...

  8. 弹性盒模型 flex box

    弹性盒子模型 布局方案 传统的布局方案大多采用div+css+float+position+display来实现,但是随着css3中弹性盒子模型的推出,在前端布局方案中就又多出了一项彪悍的选项. 而因 ...

  9. 学习总结------Servlet控制器的简单运用

    前言: 今天将简单的模拟 MVC模式 对Servlet控制器运行 若有不好或不对的地方,欢迎各位大神进行指导! 1.MVC模式(图) MVC全名是Model View Controller,是模型(m ...

  10. druid参数配置说明

    配置 缺省值 说明 name   配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来.如果没有配置,将会生成一个名字,格式是:"DataSource-" ...