Android Open Source - wiki-contacts-android Country Code Service Impl






From Project

Back to project page wiki-contacts-android.

License

The source code is released under:

Apache License

If you think the Android project wiki-contacts-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.kahkong.wikicontacts.service;
//from   w  ww . j ava 2s.c  o  m
import java.io.IOException;
import java.io.InputStream;
import java.util.List;

import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;

import com.kahkong.wikicontacts.callback.OnCompleteListener;
import com.kahkong.wikicontacts.modal.CountryCode;
import com.kahkong.wikicontacts.modal.CountryCodesWithSelect;

/**
 * 
 * @author Poh Kah Kong
 *
 */
public class CountryCodeServiceImpl implements CountryCodeService {
  private static CountryCodeService instance;

  private WebService webService = WebServiceImpl.getInstance();

  private CountryCodeServiceImpl() {  
  }

  public synchronized static CountryCodeService getInstance() {
    if (instance==null) {
      instance = new CountryCodeServiceImpl();
    }
    return instance;
  }
  
  public void listCountryCodes(final OnCompleteListener onCompleteListener) {
    webService.listCountryCodes(new OnCompleteListener() {
      @Override
      public void onComplete(Object[] objects) {                    
        try {
          InputStream inputStream = (InputStream) objects[0];  
          if (inputStream==null || inputStream.available()==0) {
            onCompleteListener.onComplete(new Object[] {null});
            return;
          }
          ObjectMapper objectMapper = new ObjectMapper();
          List<CountryCode> countryCodes = objectMapper.readValue(inputStream, new TypeReference<List<CountryCode>>(){});
          onCompleteListener.onComplete(new Object[] {countryCodes});                  
        } catch (JsonParseException e) {
          e.printStackTrace();          
        } catch (JsonMappingException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }      
    });    
  }  
  
  public void listAndSelectCountryCodes(final OnCompleteListener onCompleteListener) {
    webService.listAndSelectCountryCodes(new OnCompleteListener() {
      @Override
      public void onComplete(Object[] objects) {                    
        try {
          InputStream inputStream = (InputStream) objects[0];  
          if (inputStream==null || inputStream.available()==0) {
            onCompleteListener.onComplete(new Object[] {null});
            return;
          }
          ObjectMapper objectMapper = new ObjectMapper();
          CountryCodesWithSelect countryCodesWithSelect = objectMapper.readValue(inputStream, CountryCodesWithSelect.class);          
          onCompleteListener.onComplete(new Object[] {countryCodesWithSelect.getCountryCodes(), countryCodesWithSelect.getSelect()});                  
        } catch (JsonParseException e) {
          e.printStackTrace();          
        } catch (JsonMappingException e) {
          e.printStackTrace();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }      
    });    
  }
}




Java Source Code List

com.kahkong.wikicontacts.callback.OnChangeListener.java
com.kahkong.wikicontacts.callback.OnClickListener.java
com.kahkong.wikicontacts.callback.OnCompleteListener.java
com.kahkong.wikicontacts.callback.OnEventListener.java
com.kahkong.wikicontacts.callback.OnTimeOutListener.java
com.kahkong.wikicontacts.callback.Validator.java
com.kahkong.wikicontacts.controller.AddEditContactActivity.java
com.kahkong.wikicontacts.controller.CallDetectService.java
com.kahkong.wikicontacts.controller.EditContactActivity.java
com.kahkong.wikicontacts.controller.SearchActivity.java
com.kahkong.wikicontacts.controller.TestActivity.java
com.kahkong.wikicontacts.controller.UpdateEditContactActivity.java
com.kahkong.wikicontacts.form.EditTextForm.java
com.kahkong.wikicontacts.form.ImageUploadForm.java
com.kahkong.wikicontacts.form.MultiEditTextForm.java
com.kahkong.wikicontacts.form.OptionsForm.java
com.kahkong.wikicontacts.form.RadioGroupForm.java
com.kahkong.wikicontacts.form.SpinnerForm.java
com.kahkong.wikicontacts.form.TagsForm.java
com.kahkong.wikicontacts.link.EmailLink.java
com.kahkong.wikicontacts.link.Link.java
com.kahkong.wikicontacts.link.NumberLink.java
com.kahkong.wikicontacts.link.TagLink.java
com.kahkong.wikicontacts.link.UrlLink.java
com.kahkong.wikicontacts.modal.ContactAndImage.java
com.kahkong.wikicontacts.modal.Contact.java
com.kahkong.wikicontacts.modal.CountryCode.java
com.kahkong.wikicontacts.modal.CountryCodesWithSelect.java
com.kahkong.wikicontacts.service.ContactServiceImpl.java
com.kahkong.wikicontacts.service.ContactService.java
com.kahkong.wikicontacts.service.CountryCodeServiceImpl.java
com.kahkong.wikicontacts.service.CountryCodeService.java
com.kahkong.wikicontacts.service.ImageServiceImpl.java
com.kahkong.wikicontacts.service.ImageService.java
com.kahkong.wikicontacts.service.IntentServiceImpl.java
com.kahkong.wikicontacts.service.IntentService.java
com.kahkong.wikicontacts.service.NotificationServiceImpl.java
com.kahkong.wikicontacts.service.NotificationService.java
com.kahkong.wikicontacts.service.PhoneBookServiceImpl.java
com.kahkong.wikicontacts.service.PhoneBookService.java
com.kahkong.wikicontacts.service.PreferencesServiceImpl.java
com.kahkong.wikicontacts.service.PreferencesService.java
com.kahkong.wikicontacts.service.ResourceServiceImpl.java
com.kahkong.wikicontacts.service.ResourceService.java
com.kahkong.wikicontacts.service.ValidationServiceImpl.java
com.kahkong.wikicontacts.service.ValidationService.java
com.kahkong.wikicontacts.service.WebServiceImpl.java
com.kahkong.wikicontacts.service.WebService.java
com.kahkong.wikicontacts.subcontroller.CallStateListener.java
com.kahkong.wikicontacts.subcontroller.FlowLayout.java
com.kahkong.wikicontacts.subcontroller.IncomingContactLayout.java
com.kahkong.wikicontacts.subcontroller.InfoDialog.java
com.kahkong.wikicontacts.subcontroller.LoadingDialog.java
com.kahkong.wikicontacts.subcontroller.ResultAdaptor.java
com.kahkong.wikicontacts.subcontroller.ViewContactDialog.java
com.kahkong.wikicontacts.subcontroller.ViewFormatter.java