本文整理汇总了Java中com.csipsimple.models.Filter类的典型用法代码示例。如果您正苦于以下问题:Java Filter类的具体用法?Java Filter怎么用?Java Filter使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
Filter类属于com.csipsimple.models包,在下文中一共展示了Filter类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: checkFormValidity
import com.csipsimple.models.Filter; //导入依赖的package包/类
private void checkFormValidity() {
boolean isValid = true;
int action = Filter.getActionForPosition(actionSpinner.getSelectedItemPosition());
if(TextUtils.isEmpty(matchesTextEditor.getText().toString()) &&
matcherNeedsText() ){
isValid = false;
}
if(action == Filter.ACTION_AUTO_ANSWER) {
if(!TextUtils.isEmpty(replaceTextEditor.getText().toString())) {
try{
Integer.parseInt(replaceTextEditor.getText().toString());
}catch(NumberFormatException e) {
isValid = false;
}
}
}
saveButton.setEnabled(isValid);
}
示例2: getDefaultFilters
import com.csipsimple.models.Filter; //导入依赖的package包/类
@Override
public List<Filter> getDefaultFilters(SipProfile acc) {
// For US and Canada resident, auto add 10 digits => prefix with 1 rewriting rule
String country = Locale.getDefault().getCountry();
if (Locale.CANADA.getCountry().equals(country) || Locale.US.getCountry().equals(country)) {
ArrayList<Filter> filters = new ArrayList<Filter>();
Filter f = new Filter();
f.account = (int) acc.id;
f.action = Filter.ACTION_REPLACE;
f.matchPattern = "^(\\d{10})$";
f.replacePattern = "1$0";
f.matchType = Filter.MATCHER_HAS_N_DIGIT;
filters.add(f);
return filters;
}
return null;
}
示例3: getDefaultFilters
import com.csipsimple.models.Filter; //导入依赖的package包/类
@Override
public List<Filter> getDefaultFilters(SipProfile acc) {
// For US and Canada resident, auto add 10 digits => prefix with 1 rewriting rule
if(Locale.CANADA.getCountry().equals(Locale.getDefault().getCountry()) || Locale.US.getCountry().equals(Locale.getDefault().getCountry())) {
ArrayList<Filter> filters = new ArrayList<Filter>();
Filter f = new Filter();
f.account = (int) acc.id;
f.action = Filter.ACTION_REPLACE;
f.matchPattern = "^(\\d{10})$";
f.replacePattern = "1$0";
f.matchType = Filter.MATCHER_HAS_N_DIGIT;
filters.add(f);
return filters;
}
return null;
}
示例4: convertToString
import com.csipsimple.models.Filter; //导入依赖的package包/类
@Override
public final CharSequence convertToString(Cursor cursor) {
CharSequence number = ContactsWrapper.getInstance().transformToSipUri(mContext, cursor);
boolean isExternalPhone = ContactsWrapper.getInstance().isExternalPhoneNumber(mContext, cursor);
if(!TextUtils.isEmpty(number) && isExternalPhone) {
String stripNbr = PhoneNumberUtils.stripSeparators(number.toString());
return Filter.rewritePhoneNumber(mContext, currentAccId, stripNbr);
}
return number;
}
示例5: rewriteNumber
import com.csipsimple.models.Filter; //导入依赖的package包/类
private String rewriteNumber(String number) {
SipProfile acc = accountChooserButton.getSelectedAccount();
if (acc == null) {
return number;
}
String numberRewrite = Filter.rewritePhoneNumber(getActivity(), acc.id, number);
if(TextUtils.isEmpty(numberRewrite)) {
return "";
}
ParsedSipContactInfos finalCallee = acc.formatCalleeNumber(numberRewrite);
if(!TextUtils.isEmpty(finalCallee.displayName)) {
return finalCallee.toString();
}
return finalCallee.getReadableSipUri();
}
示例6: rewriteNumber
import com.csipsimple.models.Filter; //导入依赖的package包/类
/**
* Rewrite a number for this calling entry
* @param number The number to rewrite
* @return Rewritten number.
*/
public String rewriteNumber(String number) {
if(ignoreRewritting) {
return number;
}else {
return Filter.rewritePhoneNumber(getContext(), account.id, number);
}
}
示例7: bindView
import com.csipsimple.models.Filter; //导入依赖的package包/类
@Override
public void bindView(View view, Context context, Cursor cursor) {
Filter filter = new Filter();
filter.createFromDb(cursor);
String filterDesc = filter.getRepresentation(context);
TextView tv = (TextView) view.findViewById(R.id.line1);
ImageView icon = (ImageView) view.findViewById(R.id.action_icon);
tv.setText(filterDesc);
icon.setContentDescription(filterDesc);
switch (filter.action) {
case Filter.ACTION_CAN_CALL:
icon.setImageResource(R.drawable.ic_menu_goto);
break;
case Filter.ACTION_CANT_CALL:
icon.setImageResource(R.drawable.ic_menu_blocked_user);
break;
case Filter.ACTION_REPLACE:
icon.setImageResource(android.R.drawable.ic_menu_edit);
break;
case Filter.ACTION_DIRECTLY_CALL:
icon.setImageResource(R.drawable.ic_menu_answer_call);
break;
case Filter.ACTION_AUTO_ANSWER:
icon.setImageResource(R.drawable.ic_menu_auto_answer);
break;
default:
break;
}
}
示例8: showDetails
import com.csipsimple.models.Filter; //导入依赖的package包/类
/**
* Helper function to show the details of a selected item, either by
* displaying a fragment in-place in the current UI, or starting a
* whole new activity in which it is displayed.
*/
private void showDetails(long filterId) {
//curCheckPosition = index;
/*
if (dualPane) {
// If we are not currently showing a fragment for the new
// position, we need to create and install a new one.
AccountEditFragment df = AccountEditFragment.newInstance(profileId);
//df.setOnQuitListener(this);
// Execute a transaction, replacing any existing fragment
// with this one inside the frame.
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.details, df, null);
// ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.setTransition(FragmentTransaction.TRANSIT_NONE);
//if(profileId != Profile.INVALID_ID) {
// ft.addToBackStack(null);
//}
ft.commit();
} else {
*/
// Otherwise we need to launch a new activity to display
// the dialog fragment with selected text.
Intent it = new Intent(getActivity(), EditFilter.class);
it.putExtra(Intent.EXTRA_UID, filterId);
it.putExtra(Filter.FIELD_ACCOUNT, accountId);
startActivity(it);
/*
}
*/
}
示例9: onCreateLoader
import com.csipsimple.models.Filter; //导入依赖的package包/类
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(getActivity(), SipManager.FILTER_URI, new String[] {
BaseColumns._ID,
Filter.FIELD_ACCOUNT,
Filter.FIELD_ACTION,
Filter.FIELD_MATCHES,
Filter.FIELD_PRIORITY,
Filter.FIELD_REPLACE
}, Filter.FIELD_ACCOUNT + "=?", new String[] {Long.toString(accountId)}, Filter.DEFAULT_ORDER);
}
示例10: saveFilter
import com.csipsimple.models.Filter; //导入依赖的package包/类
private void saveFilter() {
//Update filter object
filter.account = (int) accountId;
filter.action = Filter.getActionForPosition(actionSpinner.getSelectedItemPosition());
RegExpRepresentation repr = new RegExpRepresentation();
//Matcher
repr.type = Filter.getMatcherForPosition(matcherSpinner.getSelectedItemPosition());
repr.fieldContent = matchesTextEditor.getText().toString();
filter.setMatcherRepresentation(repr);
//Rewriter
if(filter.action == Filter.ACTION_REPLACE) {
repr.fieldContent = replaceTextEditor.getText().toString();
repr.type = Filter.getReplaceForPosition(replaceSpinner.getSelectedItemPosition());
filter.setReplaceRepresentation(repr);
}else if(filter.action == Filter.ACTION_AUTO_ANSWER){
filter.replacePattern = replaceTextEditor.getText().toString();
}else{
filter.replacePattern = "";
}
//Save
if(filterId < 0) {
Cursor currentCursor = getContentResolver().query(SipManager.FILTER_URI, new String[] {Filter._ID},
Filter.FIELD_ACCOUNT + "=?",
new String[] {
filter.account.toString()
}, null);
filter.priority = 0;
if(currentCursor != null) {
filter.priority = currentCursor.getCount();
currentCursor.close();
}
getContentResolver().insert(SipManager.FILTER_URI, filter.getDbContentValues());
}else {
getContentResolver().update(ContentUris.withAppendedId(SipManager.FILTER_ID_URI_BASE, filterId), filter.getDbContentValues(), null, null);
}
}
示例11: fillLayout
import com.csipsimple.models.Filter; //导入依赖的package包/类
private void fillLayout() {
//Set action
actionSpinner.setSelection(Filter.getPositionForAction(filter.action));
RegExpRepresentation repr = filter.getRepresentationForMatcher();
//Set matcher - selection must be done first since raise on item change listener
matcherSpinner.setSelection(Filter.getPositionForMatcher(repr.type));
matchesTextEditor.setText(repr.fieldContent);
//Set replace
repr = filter.getRepresentationForReplace();
replaceSpinner.setSelection(Filter.getPositionForReplace(repr.type));
replaceTextEditor.setText(repr.fieldContent);
}
示例12: onItemSelected
import com.csipsimple.models.Filter; //导入依赖的package包/类
@Override
public void onItemSelected(AdapterView<?> spinner, View arg1, int arg2, long arg3) {
int spinnerId = spinner.getId();
if (spinnerId == R.id.filter_action) {
int action = Filter.getActionForPosition(actionSpinner.getSelectedItemPosition()) ;
if(action == Filter.ACTION_REPLACE || action == Filter.ACTION_AUTO_ANSWER) {
replaceContainer.setVisibility(View.VISIBLE);
if(action == Filter.ACTION_REPLACE) {
replaceSpinner.setVisibility(View.VISIBLE);
replaceTextEditor.setHint("");
}else {
replaceSpinner.setVisibility(View.GONE);
replaceTextEditor.setHint(R.string.optional_sip_code);
}
}else {
replaceContainer.setVisibility(View.GONE);
}
} else if (spinnerId == R.id.matcher_type) {
if(initMatcherSpinner) {
matchesTextEditor.setText("");
}else {
initMatcherSpinner = true;
}
} else if (spinnerId == R.id.replace_type) {
if(initReplaceSpinner) {
replaceTextEditor.setText("");
}else {
initReplaceSpinner = true;
}
}
matchesTextEditor.setVisibility(matcherNeedsText() ? View.VISIBLE : View.GONE);
checkFormValidity();
}
示例13: applyNumbersToCSip
import com.csipsimple.models.Filter; //导入依赖的package包/类
private void applyNumbersToCSip(String groupName, int flag, String domain, long profileId) {
Log.d(THIS_FILE, "Apply numbers to csip " + groupName + " > " + domain);
ContactsWrapper cw = ContactsWrapper.getInstance();
Cursor c = cw.getContactsByGroup(mContext, groupName);
try {
while (c.moveToNext()) {
long contactId = c.getLong(c.getColumnIndex(Contacts._ID));
List<Phone> phones = cw.getPhoneNumbers(mContext, contactId, flag);
if(phones.size() > 0){
String nbr = phones.get(0).getNumber();
if(!nbr.contains("@")){
if(flag == ContactsWrapper.URI_NBR) {
// Apply rewriting rules
nbr = Filter.rewritePhoneNumber(mContext, profileId, nbr);
}
nbr += "@" + domain;
}
Log.d(THIS_FILE, "Apply number to " + contactId + " > " + nbr);
cw.insertOrUpdateCSipUri(mContext, contactId, nbr);
}
}
} catch (Exception e) {
Log.e(THIS_FILE, "Error while looping on contacts", e);
} finally {
c.close();
}
}
示例14: onItemClick
import com.csipsimple.models.Filter; //导入依赖的package包/类
@Override
public void onItemClick(AdapterView<?> ad, View view, int position, long arg3) {
String number = (String) view.getTag();
SipProfile account = accountChooserButtonText.getSelectedAccount();
String rewritten = Filter.rewritePhoneNumber(getContext(), account.id, number);
setTextValue(rewritten);
Log.d(THIS_FILE, "Clicked contact " + number);
}
示例15: restoreSipProfile
import com.csipsimple.models.Filter; //导入依赖的package包/类
private static boolean restoreSipProfile(JSONObject jsonObj, ContentResolver cr) {
// Restore accounts
Columns cols;
ContentValues cv;
cols = getSipProfileColumns(false);
cv = cols.jsonToContentValues(jsonObj);
long profileId = cv.getAsLong(SipProfile.FIELD_ID);
if(profileId >= 0) {
Uri insertedUri = cr.insert(SipProfile.ACCOUNT_URI, cv);
profileId = ContentUris.parseId(insertedUri);
}
// TODO : else restore call handler in private db
// Restore filters
cols = new Columns(Filter.FULL_PROJ, Filter.FULL_PROJ_TYPES);
try {
JSONArray filtersObj = jsonObj.getJSONArray(FILTER_KEY);
Log.d(THIS_FILE, "We have filters for " + profileId + " > " + filtersObj.length());
for (int i = 0; i < filtersObj.length(); i++) {
JSONObject filterObj = filtersObj.getJSONObject(i);
// Log.d(THIS_FILE, "restoring "+filterObj.toString(4));
cv = cols.jsonToContentValues(filterObj);
cv.put(Filter.FIELD_ACCOUNT, profileId);
cr.insert(SipManager.FILTER_URI, cv);
}
} catch (JSONException e) {
Log.e(THIS_FILE, "Error while restoring filters", e);
}
return false;
}