android 如何将电话簿SDN数字和其他普通的数字混合在一起?
最初的设计将默认SDN单独分出来,副标题"SDN"。
下面的变化可以通过例如实现SDN并安排普通相同数量在一起,按字母顺序排列。
DefaultContactListAdapter.java 的 configureSelection() 方法中
对 selection 为 IS_SDN_CONTACT + " < 1" 的例如以下语句注解掉(总共同拥有五处):
/**
* M: New Feature SDN <br>
* Origin code: <br>
* private void configureSelection(<br>
* @{
*/
protected void configureSelection(
CursorLoader loader, long directoryId, ContactListFilter filter) {
if (filter == null) {
return;
}
if (directoryId != Directory.DEFAULT) {
return;
}
StringBuilder selection = new StringBuilder();
List<String> selectionArgs = new ArrayList<String>();
switch (filter.filterType) {
case ContactListFilter.FILTER_TYPE_ALL_ACCOUNTS: {
// We have already added directory=0 to the URI, which takes care of this
// filter
/** M: New Feature SDN @{ */
// 1 selection.append(RawContacts.IS_SDN_CONTACT + " < 1");
selection.append(RawContacts.IS_SDN_CONTACT + " < 2");
/** @} */
break;
}
case ContactListFilter.FILTER_TYPE_SINGLE_CONTACT: {
// We have already added the lookup key to the URI, which takes care of this
// filter
break;
}
case ContactListFilter.FILTER_TYPE_STARRED: {
selection.append(Contacts.STARRED + "!=0");
break;
}
case ContactListFilter.FILTER_TYPE_WITH_PHONE_NUMBERS_ONLY: {
selection.append(Contacts.HAS_PHONE_NUMBER + "=1");
/** M: New Feature SDN @{ */
// 2 selection.append(" AND " + RawContacts.IS_SDN_CONTACT + " < 1");
/** @} */
break;
}
case ContactListFilter.FILTER_TYPE_CUSTOM: {
selection.append(Contacts.IN_VISIBLE_GROUP + "=1");
if (isCustomFilterForPhoneNumbersOnly()) {
selection.append(" AND " + Contacts.HAS_PHONE_NUMBER + "=1");
}
/** M: New Feature SDN @{ */
// 3 selection.append(" AND " + RawContacts.IS_SDN_CONTACT + " < 1");
/** @} */
break;
}
case ContactListFilter.FILTER_TYPE_ACCOUNT: {
// We use query parameters for account filter, so no selection to add here.
/** M: Change Feature: As Local Phone account contains null account and Phone
* Account, the Account Query Parameter could not meet this requirement. So,
* We should keep to query contacts with selection. @{ */
if (AccountType.ACCOUNT_TYPE_LOCAL_PHONE.equals(filter.accountType)) {
selection.append("EXISTS ("
+ "SELECT DISTINCT " + RawContacts.CONTACT_ID
+ " FROM view_raw_contacts"
+ " WHERE ( ");
// 4 selection.append(RawContacts.IS_SDN_CONTACT + " < 1 AND ");
selection.append(RawContacts.CONTACT_ID + " = " + "view_contacts."
+ Contacts._ID
+ " AND (" + RawContacts.ACCOUNT_TYPE + " IS NULL "
+ " AND " + RawContacts.ACCOUNT_NAME + " IS NULL "
+ " AND " + RawContacts.DATA_SET + " IS NULL "
+ " OR " + RawContacts.ACCOUNT_TYPE + "=? "
+ " AND " + RawContacts.ACCOUNT_NAME + "=?
");
} else {
selection.append("EXISTS ("
+ "SELECT DISTINCT " + RawContacts.CONTACT_ID
+ " FROM view_raw_contacts"
+ " WHERE ( ");
// 5 selection.append(RawContacts.IS_SDN_CONTACT + " < 1 AND ");
selection.append(RawContacts.CONTACT_ID + " = " + "view_contacts."
+ Contacts._ID
+ " AND (" + RawContacts.ACCOUNT_TYPE + "=?"
+ " AND " + RawContacts.ACCOUNT_NAME + "=?");
}
selectionArgs.add(filter.accountType);
selectionArgs.add(filter.accountName);
if (filter.dataSet != null) {
selection.append(" AND " + RawContacts.DATA_SET + "=? )");
selectionArgs.add(filter.dataSet);
} else {
selection.append(" AND " + RawContacts.DATA_SET + " IS NULL )");
}
selection.append("))");
/** @} */
break;
}
}
/// M: Log the selection string.
Log.d(TAG, "[configureSelection] selection: " + selection.toString());
loader.setSelection(selection.toString());
loader.setSelectionArgs(selectionArgs.toArray(new String[0]));
}
版权声明:本文博客原创文章。博客,未经同意,不得转载。
android 如何将电话簿SDN数字和其他普通的数字混合在一起?的更多相关文章
- 如何使用alt键+数字键盘上的数字键打出特殊符号
如何使用alt键+数字键盘上的数字键打出特殊符号 有时当我需要画示意图说明一个问题,但是苦于没有合适的符号,因此,这篇博文将简单介绍一些特殊的符号方便自己以及大家使用. 实现原理很简单:所有的字符(包 ...
- 写一个方法完成如下功能,判断从文本框textbox1输入的一个字符,如果是数字则求该数字的阶乘,如果是小写字条,则转换为大写,大写字符不变,结果在文本框textbox2中显示
窗体设计: 代码: using System; using System.Collections.Generic; using System.ComponentModel; using System. ...
- Swift语言指南(五)--数字字面量和数字类型转换
原文:Swift语言指南(五)--数字字面量和数字类型转换 数字字面量 整数字面量写法如下: · 十进制数,无前缀 · 二进制数,以 0b 为前缀 · 八进制数,以 0o 为前缀 · 十六进制数,以 ...
- iOS TextField输入限制(限制长度、只能输入数字,只能输入数字字母……)
项目中各个地方都会用到TextField,textField的输入也会有各种需求,各种限制,每次用到的时候要重写一遍这些限制,导致各种垃圾代码,各种重复,有一天,我终于看不下去了,于是把textFie ...
- php生成随机字符串可指定纯数字、纯字母或者混合的
php 生成随机字符串 可以指定是纯数字 还是纯字母 或者混合的. 可以指定长度的. function rand_zifu($what,$number){ $string=''; for($i = 1 ...
- PHP金额工具类之将阿利伯数字转换为大写中文数字
1.将阿拉伯数字转换为中文大写数字 <?php namespace core\components; class PriceHelper extends \yii\base\Component{ ...
- 随机总数字里面选取随机数字进行随机排序案例(JAVA实现)
随机总数字里面选取随机数字进行随机排序案例,案例如下: 代码code: package com.sec; import java.util.Arrays; import java.util.Scann ...
- js玩转数字----取整,四舍五入,数字字符串转换
取整: 向下取整Math.floor(),向上取整Math.ceil(),四舍五入Math.round()),保留有效数位n.toFixed(),产生大于等于0小于1的随机数Math.random() ...
- js 判断是不是数字||判断字符串是不是数字(正则表达式)
js使用正则表达式判断对象是不是数字,或者字符串是不是数字,或者是不是数字类型 //判断是不是一个数字 或者 一个字符串里全是数字 isNumber (value) { if (value === u ...
随机推荐
- Maven--403权限问题解决方式(求解决)
我的程序配置方案例如以下(大牛们相信你们不仅仅是一个传说): 目的:实现maven公布项目到tomcat以下.用eclipse一步到位调试. pom.xml配置: <plugin> < ...
- ECSHOP分类页面筛选功能(按分类下子分类和品牌筛选)
其实分类页面里面本来就有相关的品牌.属性.分类的筛选功能在category.php和模板加上相应的功能即可 1.读出当前分类的所有下级分类 $chlidren_category = $GLOBALS[ ...
- ubuntu server编译安装nginx
刚刚安装好了ubuntu server14.04,如今要安装一个webserver,纯静态就用nginx应用程序server吧,性能出众啊. 安装编译环境 我们这里採用源代码编译安装的方式,大家能够看 ...
- 主席树(可持久化线段树) 静态第k大
可持久化数据结构介绍 可持久化数据结构是保存数据结构修改的每一个历史版本,新版本与旧版本相比,修改了某个区域,但是大多数的区域是没有改变的, 所以可以将新版本相对于旧版本未修改的区域指向旧版本的该区域 ...
- 黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block
原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(四) Logging Application Block 企业库日志应用程序模块工作原理图: 从上图我们可以 ...
- Wind River Linux 6 Security Profile
2692407267@qq.com,很多其它内容请关注http://user.qzone.qq.com/2692407267 Wind River Linux 6 Security Profile
- [Windows]_[0基础]_[使用命令行工具dumpbin分析文件]
dumpbin(vs拥有) 1. 出口lib函数符号文件(symbols) dumpbin /exports zlib1.lib Microsoft (R) COFF/PE Dumper Versio ...
- ubuntu系统下给你的ipad充电(适用于所有ios设备)
用ipad的都知道,当我们的ipad插上电脑的usb端口默认是不能充电的.windows和ubuntu平台解决办法分别如下. windows平台: 安装软件 ai_charger http://eve ...
- Ubuntu 下一个 vim 建立python 周围环境 构造
于Windows通过使用各种现成的工具使用,去Linux下一个,没有一个关于线索--总之google有些人的经验,折腾来折腾,开发环境也算是一个好工作. 1. 安装完成vim # apt-get in ...
- Java Web整合开发(78) -- Struts 1
在Struts1.3中已经取消了<data-sources>标签,也就是说只能在1.2版中配置,因为Apache不推荐在 struts-config.xml中配置数据源.所以建议不要在st ...