diff --git a/app/src/main/java/com/gh/common/util/QRCodeUtils.java b/app/src/main/java/com/gh/common/util/QRCodeUtils.java index 9a3eba8b7f..6fff104d01 100644 --- a/app/src/main/java/com/gh/common/util/QRCodeUtils.java +++ b/app/src/main/java/com/gh/common/util/QRCodeUtils.java @@ -2,6 +2,11 @@ package com.gh.common.util; import android.content.Context; import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.widget.ImageView; + +import com.gh.gamecenter.ShareCardActivity; +import com.gh.gamecenter.retrofit.Response; import com.google.zxing.*; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.QRCodeWriter; @@ -11,6 +16,11 @@ import java.io.*; import java.util.HashMap; import java.util.Map; +import rx.Observable; +import rx.Subscriber; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + /** * Created by khy on 2016/12/1. */ @@ -72,4 +82,29 @@ public class QRCodeUtils { return false; } + public static void setQRCode(final Context context, final String newsId, final ImageView mShareQrCodeDv) { + Observable + .create(new Observable.OnSubscribe() { + @Override + public void call(Subscriber subscriber) { + String filePath = context.getExternalCacheDir().getPath() + "/ShareImg/ShareQRCode.jpg"; + boolean success = QRCodeUtils.createQRImage("http://www.ghzhushou.com/article/" + newsId + ".html?source=appshare200" + , 200, 200, filePath, context); + if (success) { + subscriber.onNext(filePath); + } + subscriber.onCompleted(); + } + }) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Response(){ + @Override + public void onResponse(String response) { + super.onResponse(response); + mShareQrCodeDv.setImageBitmap(BitmapFactory.decodeFile(response)); + } + }); + } + } diff --git a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java index adec900b1e..ffa798804c 100644 --- a/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CleanApkActivity.java @@ -144,17 +144,13 @@ public class CleanApkActivity extends BaseActivity implements CleanApkAdapter.On case R.id.reuse_nodata_skip_tv_btn: { Intent intent = MainActivity.getMainIntent(this); startActivity(intent); - new Thread() { + + mNodataSkipBtn.postDelayed(new Runnable() { @Override public void run() { - try { - sleep(300); - } catch (InterruptedException e) { - e.printStackTrace(); - } EventBus.getDefault().post(new EBSkip(MainActivity.EB_SKIP_GAMEFRAGMENT, 0)); } - }.start(); + }, 300); break; } } diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index a7bc2f6cc4..f7e314cf55 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -623,25 +623,20 @@ public class MainActivity extends BaseActivity implements OnClickListener { } }); } else { - new Thread() { - @Override - public void run() { - TokenUtils.getToken(MainActivity.this, true) - .flatMap(new Func1>>() { - @Override - public Observable> call(String token) { - return RetrofitManager.getUser().getConcern(token); - } - }).subscribeOn(Schedulers.io()) - .observeOn(Schedulers.io()) - .subscribe(new Response>() { - @Override - public void onResponse(List response) { - getConcernDigest(response); - } - }); - } - }.start(); + TokenUtils.getToken(MainActivity.this, true) + .flatMap(new Func1>>() { + @Override + public Observable> call(String token) { + return RetrofitManager.getUser().getConcern(token); + } + }).subscribeOn(Schedulers.io()) + .observeOn(Schedulers.io()) + .subscribe(new Response>() { + @Override + public void onResponse(List response) { + getConcernDigest(response); + } + }); } } diff --git a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java index 9c9cf11b2b..9f89d9fcf6 100644 --- a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java @@ -172,13 +172,14 @@ public class MessageDetailActivity extends BaseActivity implements MessageDetail //检查sp是否有用户信息 if (TextUtils.isEmpty(sp.getString("user_name", null))) { - new Thread(new Runnable() { - @Override - public void run() { - TokenUtils.getToken(MessageDetailActivity.this, true); - MessageDetailActivity.this.runOnUiThread(new Runnable() { + + TokenUtils.getToken(this, true) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Response(){ @Override - public void run() { + public void onResponse(String response) { + super.onResponse(response); String icon = sp.getString("user_icon", null); if (TextUtils.isEmpty(icon)) { mMessageDetailIconDv.setImageURI( @@ -189,8 +190,6 @@ public class MessageDetailActivity extends BaseActivity implements MessageDetail mMessageDetailUserNameTv.setText(sp.getString("user_name", "光环用户")); } }); - } - }).start(); } else { String icon = sp.getString("user_icon", null); if (TextUtils.isEmpty(icon)) { diff --git a/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java b/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java index 8abbf63188..22f017df16 100644 --- a/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java +++ b/app/src/main/java/com/gh/gamecenter/NewsSearchActivity.java @@ -91,12 +91,7 @@ public class NewsSearchActivity extends BaseActivity { et_search.setText(searchKey); - new Thread(new Runnable() { - @Override - public void run() { - loadNewsData(page); - } - }).start(); + loadNewsData(page); tv_search.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java b/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java index 898fadedb2..7fa2c676b0 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareCardActivity.java @@ -10,9 +10,15 @@ import android.text.Html; import android.text.TextUtils; import android.widget.*; import butterknife.BindView; +import rx.Observable; +import rx.Subscriber; +import rx.android.schedulers.AndroidSchedulers; +import rx.schedulers.Schedulers; + import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.BaseActivity; import com.gh.common.util.*; +import com.gh.gamecenter.retrofit.Response; import com.readystatesoftware.systembartint.SystemBarTintManager; import com.tencent.tauth.Tencent; @@ -100,7 +106,7 @@ public class ShareCardActivity extends BaseActivity { }, 200); if (!TextUtils.isEmpty(newsId)) { - createQrCode(); + QRCodeUtils.setQRCode(this, newsId, mShareQrCodeDv); } } @@ -110,25 +116,6 @@ public class ShareCardActivity extends BaseActivity { handler.removeCallbacksAndMessages(null); } - private void createQrCode() { - new Thread(new Runnable() { - @Override - public void run() { - final String filePath = getExternalCacheDir().getPath() + "/ShareImg/ShareQRCode.jpg"; - boolean success = QRCodeUtils.createQRImage("http://www.ghzhushou.com/article/" + newsId + ".html?source=appshare200" - , 200, 200, filePath, ShareCardActivity.this); - if (success) { - runOnUiThread(new Runnable() { - @Override - public void run() { - mShareQrCodeDv.setImageBitmap(BitmapFactory.decodeFile(filePath)); - } - }); - } - } - }).start(); - } - public void saveBitmap(Bitmap bm) { File file = new File(getExternalCacheDir().getPath() + "/ShareImg"); if (!file.isDirectory()) { diff --git a/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java b/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java index b6ee1d14b9..d820e58fae 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareCardPicActivity.java @@ -21,9 +21,15 @@ import com.facebook.imagepipeline.image.ImageInfo; import com.gh.base.BaseActivity; import com.gh.common.util.*; import com.gh.gamecenter.retrofit.ObservableUtil; +import com.gh.gamecenter.retrofit.Response; import com.readystatesoftware.systembartint.SystemBarTintManager; import com.tencent.tauth.Tencent; + +import rx.Observable; +import rx.Subscriber; +import rx.android.schedulers.AndroidSchedulers; import rx.functions.Action1; +import rx.schedulers.Schedulers; import java.io.File; import java.io.IOException; @@ -165,28 +171,34 @@ public class ShareCardPicActivity extends BaseActivity { } if (!TextUtils.isEmpty(newsId)) { - createQrCode(); + QRCodeUtils.setQRCode(this, newsId, mShareQrCodeDv); } } - private void createQrCode() { - new Thread(new Runnable() { - @Override - public void run() { - final String filePath = getExternalCacheDir().getPath() + "/ShareImg/ShareQRCode.jpg"; - boolean success = QRCodeUtils.createQRImage("http://www.ghzhushou.com/article/" + newsId + ".html?source=appshare200" - , 200, 200, filePath, ShareCardPicActivity.this); - if (success) { - runOnUiThread(new Runnable() { - @Override - public void run() { - mShareQrCodeDv.setImageBitmap(BitmapFactory.decodeFile(filePath)); - } - }); - } - } - }).start(); - } +// private void createQrCode() { +// Observable +// .create(new Observable.OnSubscribe() { +// @Override +// public void call(Subscriber subscriber) { +// String filePath = getExternalCacheDir().getPath() + "/ShareImg/ShareQRCode.jpg"; +// boolean success = QRCodeUtils.createQRImage("http://www.ghzhushou.com/article/" + newsId + ".html?source=appshare200" +// , 200, 200, filePath, ShareCardPicActivity.this); +// if (success) { +// subscriber.onNext(filePath); +// } +// subscriber.onCompleted(); +// } +// }) +// .subscribeOn(Schedulers.io()) +// .observeOn(AndroidSchedulers.mainThread()) +// .subscribe(new Response(){ +// @Override +// public void onResponse(String response) { +// super.onResponse(response); +// mShareQrCodeDv.setImageBitmap(BitmapFactory.decodeFile(response)); +// } +// }); +// } private void setContentImage(String url) { ControllerListener listener = new BaseControllerListener() { diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java index c731dbbc33..f21af53ae1 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailKaiFuAdapter.java @@ -245,6 +245,7 @@ public class GameDetailKaiFuAdapter extends BaseRecyclerAdapter { } subscriber.onNext(0); + subscriber.onCompleted(); } }) .subscribeOn(Schedulers.io())