Android Open Source - Music-Share-Android Http Quest Handler






From Project

Back to project page Music-Share-Android.

License

The source code is released under:

GNU General Public License

If you think the Android project Music-Share-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.paperairplane.music.share.utils;
/*from  w  ww  .  j  a v a  2s.c o  m*/
import com.paperairplane.music.share.Consts;
import com.paperairplane.music.share.FeedbackMessage;
import com.paperairplane.music.share.Main;
import android.content.Context;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Message;
/**
 * ????????
 * 
 * @author Harry Chen (<a href="mailto:chenshengqi1@gmail.com">Harry Chen</a>)
 * @author Xavier Yao (<a href="mailto:xavieryao@me.com">Xavier Yao</a>)
 * @see <a
 *      href="http://www.github.com/PaperAirPlane-Dev-Team/Music-Share-Android">Our
 *      GitHub</a>
 */
public class HttpQuestHandler extends Handler{
  
  private static Handler mHandlerUi;
  private static HttpQuestHandler mHttpQuestHandler ;
  private static HandlerThread mHandlerThread = new HandlerThread("HttpQuest");
  
  /**
   * ???????
   * @param looper
   */
  private HttpQuestHandler(Looper looper){
    super(looper);
  }
  
  /**
   * @deprecated ??????????????
   */
  private HttpQuestHandler() throws Exception{
    throw new Exception("What the hell");
  }
  
  @Override
  public void handleMessage(final Message m){
    final Object obj = m.obj;
    switch(m.what){
    case Consts.NetAccessIntent.SEND_FEEDBACK:
      Runnable rnFeedback = new Runnable(){
        @Override 
        /**
         * ?????????
         */
        public void run(){
          FeedbackMessage fm = (FeedbackMessage) obj;
          String[] contents = fm.mFeedbackContents;
          int vc = fm.mVersionCode;
          int mean = fm.mFeedbackMean;
          Context ctx = fm.mContext;
          
          boolean result=Utilities.sendFeedback(contents, vc, mean, ctx, mHandlerUi);
          if (result&&mean==Consts.ShareMeans.OTHERS) {
            mHandlerUi.sendEmptyMessage(Consts.Status.FEEDBACK_SUCCEED);
          }
          else if(!result){
            Message msg=mHandlerUi.obtainMessage(Consts.Status.FEEDBACK_FAIL, contents);
            mHandlerUi.sendMessage(msg);
          }
        }
      };
      this.post(rnFeedback);
      break;
    case Consts.NetAccessIntent.CHECK_FOR_UPDATE:
      final Context ctx = (Context) obj;
      this.postDelayed(new Runnable() {
      @Override
      public void run() {
        Utilities.checkForUpdate(Main.sVersionCode, mHandlerUi,
            ctx,
            ctx.getResources().getConfiguration().locale);
      }
    },5000);
      break;
    case Consts.NetAccessIntent.QUERY_AND_SHARE_MUSIC_INFO:
      this.post((Runnable)obj);
      break;
    }
  }
  /**
   * ??????????????
   * @param uiHandler ?UI?????Handler
   * @return HttpQuestHandler?????
   */
  public static HttpQuestHandler getInstance(Handler uiHandler){
    mHandlerUi = uiHandler;
    
    if(mHttpQuestHandler == null){
      mHandlerThread.start();
      mHttpQuestHandler = new HttpQuestHandler(mHandlerThread.getLooper());
    }
    
    return mHttpQuestHandler;
  }
  
  public static HttpQuestHandler getInstance(){
    if(mHandlerUi == null){
      throw new IllegalStateException("UI Handler Is Not Defined!");
    }else{
      return mHttpQuestHandler;
    }
  }
  
  public boolean stop(){
    return mHandlerThread.quit();
  }
  
  

}




Java Source Code List

android.net.http.SslError.java
com.paperairplane.music.share.AtSuggestionActivity.java
com.paperairplane.music.share.Consts.java
com.paperairplane.music.share.FeedbackMessage.java
com.paperairplane.music.share.Main.java
com.paperairplane.music.share.MusicData.java
com.paperairplane.music.share.MusicListAdapter.java
com.paperairplane.music.share.QueryAndShareMusicInfo.java
com.paperairplane.music.share.Receiver.java
com.paperairplane.music.share.SnsHelper.java
com.paperairplane.music.share.cache.ImageLoader.java
com.paperairplane.music.share.cache.MemoryCache.java
com.paperairplane.music.share.dialogs.AboutDialogFragment.java
com.paperairplane.music.share.dialogs.AbsDialogFragment.java
com.paperairplane.music.share.dialogs.AuthManagerDialogFragment.java
com.paperairplane.music.share.dialogs.BackgroundChooserDialogFragment.java
com.paperairplane.music.share.dialogs.ChangeColorDialogFragment.java
com.paperairplane.music.share.dialogs.EmptyDialogFragment.java
com.paperairplane.music.share.dialogs.FeedbackDialogFragment.java
com.paperairplane.music.share.dialogs.SearchDialogFragment.java
com.paperairplane.music.share.dialogs.SendWeiboDialogFragment.java
com.paperairplane.music.share.dialogs.ThankDialogFragment.java
com.paperairplane.music.share.utils.CrashHandler.java
com.paperairplane.music.share.utils.HanziToPinyin.java
com.paperairplane.music.share.utils.HttpQuestHandler.java
com.paperairplane.music.share.utils.IntentResolver.java
com.paperairplane.music.share.utils.MyLogger.java
com.paperairplane.music.share.utils.ShakeDetector.java
com.paperairplane.music.share.utils.Utilities.java
com.paperairplane.music.share.utils.lastfm.Album.java
com.paperairplane.music.share.utils.lastfm.Artist.java
com.paperairplane.music.share.utils.lastfm.Caller.java
com.paperairplane.music.share.utils.lastfm.DomElement.java
com.paperairplane.music.share.utils.lastfm.ImageHolder.java
com.paperairplane.music.share.utils.lastfm.ImageSize.java
com.paperairplane.music.share.utils.lastfm.Image.java
com.paperairplane.music.share.utils.lastfm.ItemFactoryBuilder.java
com.paperairplane.music.share.utils.lastfm.ItemFactory.java
com.paperairplane.music.share.utils.lastfm.MapUtilities.java
com.paperairplane.music.share.utils.lastfm.MusicEntry.java
com.paperairplane.music.share.utils.lastfm.PaginatedResult.java
com.paperairplane.music.share.utils.lastfm.ResponseBuilder.java
com.paperairplane.music.share.utils.lastfm.Result.java
com.paperairplane.music.share.utils.lastfm.StringUtilities.java
com.paperairplane.music.share.utils.lastfm.Track.java
com.weibo.sdk.android.Oauth2AccessToken.java
com.weibo.sdk.android.WeiboAuthListener.java
com.weibo.sdk.android.WeiboDialogError.java
com.weibo.sdk.android.WeiboDialog.java
com.weibo.sdk.android.WeiboException.java
com.weibo.sdk.android.WeiboParameters.java
com.weibo.sdk.android.Weibo.java
com.weibo.sdk.android.api.AccountAPI.java
com.weibo.sdk.android.api.ActivityInvokeAPI.java
com.weibo.sdk.android.api.CommentsAPI.java
com.weibo.sdk.android.api.CommonAPI.java
com.weibo.sdk.android.api.FavoritesAPI.java
com.weibo.sdk.android.api.FriendshipsAPI.java
com.weibo.sdk.android.api.PlaceAPI.java
com.weibo.sdk.android.api.RegisterAPI.java
com.weibo.sdk.android.api.SearchAPI.java
com.weibo.sdk.android.api.ShortUrlAPI.java
com.weibo.sdk.android.api.StatusesAPI.java
com.weibo.sdk.android.api.SuggestionsAPI.java
com.weibo.sdk.android.api.TagsAPI.java
com.weibo.sdk.android.api.TrendsAPI.java
com.weibo.sdk.android.api.UsersAPI.java
com.weibo.sdk.android.api.WeiboAPI.java
com.weibo.sdk.android.net.AsyncWeiboRunner.java
com.weibo.sdk.android.net.HttpManager.java
com.weibo.sdk.android.net.NetStateManager.java
com.weibo.sdk.android.net.RequestListener.java
com.weibo.sdk.android.sso.SsoHandler.java
com.weibo.sdk.android.util.BitmapHelper.java
com.weibo.sdk.android.util.Utility.java