自定义中将“电话”下的“所有联系人”不勾选,但是Contacts列表还是显示PHONE联系人。

SELECT _id, display_name, agg_presence.mode AS contact_presence, contacts_status_updates.status AS contact_status, photo_id, photo_thumb_uri, lookup, is_user_profile, account_type, account_name
FROM view_contacts LEFT OUTER JOIN agg_presence ON (_id = agg_presence.presence_contact_id) LEFT OUTER JOIN status_updates contacts_status_updates ON (status_update_id=contacts_status_updates.status_update_data_id)
WHERE ((1)) AND (in_visible_group=1) ORDER BY phonebook_bucket, sort_key
---------------------------------------
“要显示的联系人” 选择 “自定义” 后,根据 in_visible_group=1 来查询判断。in_visible_group又是查询visible_contacts表而来
***************************************
CAST(EXISTS (SELECT _id FROM visible_contacts WHERE contacts._id=visible_contacts._id) AS INTEGER) AS in_visible_group,
**************************************
所以关键是看visible_contacts是怎么更新的。选择 “自定义” 后,代码中看到的是settings表更新,可能是settings表触发visible_contacts更新,有待进一步研究
------------------------------------------
CREATE VIEW view_contacts
AS SELECT contacts._id AS _id,contacts.custom_ringtone AS custom_ringtone,
name_raw_contact.display_name_source AS display_name_source,
name_raw_contact.display_name AS display_name, name_raw_contact.display_name_alt AS display_name_alt,
name_raw_contact.phonetic_name AS phonetic_name, name_raw_contact.phonetic_name_style AS phonetic_name_style,
name_raw_contact.sort_key AS sort_key, name_raw_contact.phonebook_label AS phonebook_label,
name_raw_contact.phonebook_bucket AS phonebook_bucket, name_raw_contact.sort_key_alt AS sort_key_alt,
name_raw_contact.phonebook_label_alt AS phonebook_label_alt,
name_raw_contact.phonebook_bucket_alt AS phonebook_bucket_alt,
has_phone_number, name_raw_contact_id, lookup, photo_id, photo_file_id,
------------------------------------------------------------------------------
CAST(EXISTS (SELECT _id FROM visible_contacts WHERE contacts._id=visible_contacts._id) AS INTEGER) AS in_visible_group,
------------------------------------------------------------------------------
status_update_id, contacts.contact_last_updated_timestamp,
contacts.last_time_contacted AS last_time_contacted, contacts.send_to_voicemail AS send_to_voicemail,
contacts.starred AS starred, contacts.pinned AS pinned, contacts.times_contacted AS times_contacted,
account_name, account_type,
(CASE WHEN photo_file_id IS NULL
THEN (CASE WHEN photo_id IS NULL OR photo_id=0
THEN NULL ELSE 'content://com.android.contacts/contacts/'||contacts._id|| '/photo' END)
ELSE 'content://com.android.contacts/display_photo/'||photo_file_id END) AS photo_uri,
(CASE WHEN photo_id IS NULL OR photo_id=0
THEN NULL
ELSE 'content://com.android.contacts/contacts/'||contacts._id|| '/photo' END) AS photo_thumb_uri,
0 AS is_user_profile
FROM contacts JOIN raw_contacts AS name_raw_contact ON(name_raw_contact_id=name_raw_contact._id)
JOIN accounts AS name_accounts ON(name_raw_contact.account_id=name_accounts._id);

  

要显示的联系人——>自定义-bug的更多相关文章

  1. 【Android Developers Training】 101. 显示快速联系人挂件(Quick Contact Badge)

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  2. 解决:People下面选择分享可见联系人,选择多个联系人后通过短信分享,短信中只显示一个联系人

    问题描述: [操作步骤]:People下导入导出中选择分享可见联系人,选择多个联系人后通过短信分享 [测试结果]:短信中只能显示一个联系人 [预期结果]:可以显示多个联系人 经过代码分析,从compo ...

  3. PyQt5在QWidget窗体中显示Qwidget的自定义类(补:完美解决)

    [概览] 1.显示原生Qwidget 1)不使用布局(绝对定位) 2)使用布局 2.显示Qwidget的自定义类 1)不使用布局(绝对定位)       2)使用布局 [知识点] 1.显示原生Qwid ...

  4. 微信小程序-显示外链图片 bug

    微信小程序-显示外链图片 bug 显示外链图片 bug 403 bug 禁止外链,未授权 https://httpstatuses.com/403 image component 图片.支持 JPG. ...

  5. [安卓] 16、ListView和GridView结合显示单元实现自定义列表显示效果

    List在各种手机应用中都有体现,是安卓UI设计的必修课. 本文将介绍在开发中如何利用ListView和GridView设计自定义列表. 下面分别是用ListView和GridView做的效果: 上面 ...

  6. Android学习小Demo一个显示行线的自定义EditText

    今天在处理一个EditText的时候,想着把EditText做成像一本作业本上的纸一样,每一行都可以由线条隔开,具体效果如下: 1)最开始的思路 一开始的想法是很简单的,找出每一行的高度,然后一行一行 ...

  7. Toast的用法(可以设置显示时间,自定义布局的,线程中的Toast)

           自定义的Toast类 布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLa ...

  8. duilib 修复CTreeViewUI控件动态添加子控件时,对是否显示判断不足的bug

    转载请说明出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/42264947 这个bug我在仿酷狗开发日志里提到过,不过后来发现修复的不够 ...

  9. (有趣)chrome不同浏览器版本对display:flex和溢出隐藏显示省略符号的bug

    项目中碰到一个十分有趣的情形: 布局要求是这样:右边创建新订单是固定宽度80px,左侧是自适应宽度,溢出隐藏.如下图. 这里布局不用说肯定使用display:flex的.左侧flex:1;右侧widt ...

随机推荐

  1. python全栈 字符串,整数,bool 数据类型运用

    python全栈 一.基本数据类型 1.int: 整数 2.str: 字符串, 一般不存放大量数据. 3.bool: 布尔值,用来判断. True  或者  False 4.list:  列表,用来存 ...

  2. Log4j2配置及使用

    Log4j2:一个日志管理工具.Log4j的升级版,需要Java6以上   一.安装log4j2依赖包 1.通过maven的pom.xml直接引入jar: log4j-api和log4j-core & ...

  3. vps vultr centos7 搭建 伟皮恩

    vultr 配置 64 bit OS   CentOS 7 ×64 20 GB SSD    1 CPU  512MB  Memory  500GB Bandwidth √ Enable IPv6 √ ...

  4. POJ-3126.PrimePath(欧拉筛素数打表 + BFS)

    给出一篇有关素数线性筛和区间筛的博客,有兴趣的读者可以自取. 本题大意: 给定两个四位的素数,没有前导零,每次变换其中的一位,最终使得两个素数相等,输出最小变换次数.要求变换过程中的数也都是素数. 本 ...

  5. mysql中创建event定时任务

    从网上借鉴大神的. use onlinexam; -- 查看event事件是否开启 show variables like '%sche%'; -- 开启event事件  (非常重要) set glo ...

  6. TZOJ 1210 The area(微积分)

    描述 Ignatius bought a land last week, but he didn't know the area of the land because the land is enc ...

  7. js replaceAll全部替换

    js不支持replaceAll,可以用函数new RegExp('要替换的内容','g')代替, 代码: str.replace(new RegExp('要替换的内容','g'),"替换内容 ...

  8. swift -2018 - 创建PCH文件

    第一种:简单方式 在swift文件 创建一个OC文件 1> command + n 2> 3> 此时 你会发现有提示 让你创建桥接文件 4>删除 OC文件 5> 直接复制 ...

  9. 操作符offset

    操作符offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址. assume cs:codesg codesg segment start: mov ax, offset star ...

  10. shell脚本实例总结

    1.判断文件夹是否存在 #!/bin/sh workspace="/home/web/mall" #如果文件夹不存在 if [ ! -d ${workspace} ]; then ...