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;
/ * f r o m w w w . j a v a 2 s . 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