diff --git a/app/src/debug/java/com/gh/gamecenter/DataUtils.java b/app/src/debug/java/com/gh/gamecenter/DataUtils.java index 0452e002fe..9ce852df24 100644 --- a/app/src/debug/java/com/gh/gamecenter/DataUtils.java +++ b/app/src/debug/java/com/gh/gamecenter/DataUtils.java @@ -3,11 +3,9 @@ package com.gh.gamecenter; import android.app.Activity; import android.app.Application; import android.content.Context; -import android.os.Debug; import com.gh.common.constant.Config; import com.gh.common.util.PackageUtils; -import com.tencent.bugly.Bugly; import com.tencent.bugly.crashreport.CrashReport; import com.tencent.mta.track.StatisticsDataAPI; import com.tencent.stat.MtaSDkException; @@ -42,7 +40,7 @@ public class DataUtils { //TalkingData try { - TCAgent.LOG_ON = DEBUG; + TCAgent.LOG_ON = false; TCAgent.init(context, Config.TALKINGDATA_APPID, channel); /** * @@ -111,6 +109,24 @@ public class DataUtils { e.printStackTrace(); } +// Logger.setLogger(context, new LoggerInterface() { +// +// @Override +// public void setTag(String tag) { +// CommonDebug.logMethodWithParams(this, tag); +// } +// +// @Override +// public void log(String content) { +// CommonDebug.logMethodWithParams(this, content); +// } +// +// @Override +// public void log(String content, Throwable t) { +// CommonDebug.logMethodWithParams(this, content, t); +// } +// }); + } public static void onEvent(Context var0, String var1, String var2) { diff --git a/app/src/main/java/com/gh/common/util/DialogUtils.java b/app/src/main/java/com/gh/common/util/DialogUtils.java index 17d696d4a1..ae09051c75 100644 --- a/app/src/main/java/com/gh/common/util/DialogUtils.java +++ b/app/src/main/java/com/gh/common/util/DialogUtils.java @@ -24,6 +24,7 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; +import com.gh.gamecenter.KcSelectGameActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.kuaichuan.WifiMgr; import com.halo.assistant.HaloApp; @@ -55,7 +56,7 @@ public class DialogUtils { // 快传成绩单 public static void showKuaiChuanResult(final Activity activity, Handler handler, int requestCode, final String picName) { - HaloApp.remove("FileInfo"); + HaloApp.remove(KcSelectGameActivity.KEY_FILE_INFO); List> mapList = (List>) HaloApp.get("sendData", true); if (mapList == null || mapList.size() == 0) return; diff --git a/app/src/main/java/com/gh/common/util/PlatformUtils.java b/app/src/main/java/com/gh/common/util/PlatformUtils.java index 9bea22c133..8059be54aa 100644 --- a/app/src/main/java/com/gh/common/util/PlatformUtils.java +++ b/app/src/main/java/com/gh/common/util/PlatformUtils.java @@ -7,14 +7,13 @@ import android.os.Handler; import android.support.v4.util.ArrayMap; import android.text.TextUtils; -import com.halo.assistant.HaloApp; -import com.lightgame.download.FileUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.PlatformEntity; import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; -import com.lightgame.utils.Utils; +import com.halo.assistant.HaloApp; +import com.lightgame.download.FileUtils; import org.greenrobot.eventbus.EventBus; @@ -153,7 +152,7 @@ public class PlatformUtils { } } if (urls.size() != 0) { - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { int success = 0; diff --git a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java index b550e001fa..d98ecbff1b 100644 --- a/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ChooseReceiverActivity.java @@ -151,7 +151,7 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick public void onBackPressed() { super.onBackPressed(); closeSocket(); - HaloApp.remove("FileInfo"); + HaloApp.remove(KcSelectGameActivity.KEY_FILE_INFO); } @Override @@ -374,11 +374,11 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick @OnClick(R.id.actionbar_rl_back) public void onBackListener() { closeSocket(); - HaloApp.remove("FileInfo"); + HaloApp.remove(KcSelectGameActivity.KEY_FILE_INFO); } //发送UDP通知信息到 文件接收方 开启ServerSocketRunnable private void createSendMsgToServerRunnable(final String ipAddress) { - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { try { @@ -503,7 +503,7 @@ public class ChooseReceiverActivity extends BaseActivity implements View.OnClick } private void sendFileInfoListToFileReceiverWithUdp(int serverPort, InetAddress ipAddress) { - List fileInfoList = (List) HaloApp.get("FileInfo", false); + List fileInfoList = (List) HaloApp.get(KcSelectGameActivity.KEY_FILE_INFO, false); if (fileInfoList == null) { return; } diff --git a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java index 2efe87081c..7bc2ffa53d 100644 --- a/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java +++ b/app/src/main/java/com/gh/gamecenter/FileReceiverActivity.java @@ -249,7 +249,7 @@ public class FileReceiverActivity extends BaseActivity implements OnReceiverCanc EventBus.getDefault().post(new EBDownloadStatus("download")); mReceiverServer.close(); -// HaloApp.remove("FileInfo"); +// HaloApp.remove(KcSelectGameActivity.KEY_FILE_INFO); mFileInfos.clear(); HaloApp.put("sendData", sendData); @@ -264,7 +264,7 @@ public class FileReceiverActivity extends BaseActivity implements OnReceiverCanc isDestroy = false; -// mFileInfos = (List) HaloApp.get("FileInfo", false); +// mFileInfos = (List) HaloApp.get(KcSelectGameActivity.KEY_FILE_INFO, false); sendData = new ArrayList<>(); @@ -321,9 +321,9 @@ public class FileReceiverActivity extends BaseActivity implements OnReceiverCanc */ private void initServer() { mReceiverServer = new ServerRunnable(Constant.DEFAULT_SERVER_PORT); - HaloApp.MAIN_EXECUTOR.execute(mReceiverServer); + HaloApp.getInstance().getMainExecutor().execute(mReceiverServer); - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { try { @@ -371,7 +371,7 @@ public class FileReceiverActivity extends BaseActivity implements OnReceiverCanc } private void sendMessageToSender(final String sendData) throws Exception { - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { try { @@ -394,12 +394,12 @@ public class FileReceiverActivity extends BaseActivity implements OnReceiverCanc * @param msg */ private void parseFileInfo(String msg) { -// mFileInfos = (List) HaloApp.get("FileInfo", false); // mFileInfos 数据异常 需要重新获取 +// mFileInfos = (List) HaloApp.get(KcSelectGameActivity.KEY_FILE_INFO, false); // mFileInfos 数据异常 需要重新获取 FileInfo fileInfo = FileInfo.toObject(msg); if (fileInfo != null && fileInfo.getFilePath() != null) { mFileInfos.add(fileInfo); Utils.log("FileReceiverActivity 添加一条数据::" + msg); -// HaloApp.put("FileInfo", mFileInfos); +// HaloApp.put(KcSelectGameActivity.KEY_FILE_INFO, mFileInfos); } } @@ -650,7 +650,7 @@ public class FileReceiverActivity extends BaseActivity implements OnReceiverCanc } }); - HaloApp.MAIN_EXECUTOR.execute(mFileReceiver); + HaloApp.getInstance().getMainExecutor().execute(mFileReceiver); } } catch (IOException e) { e.printStackTrace(); diff --git a/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java b/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java index c140220048..5f648d31de 100644 --- a/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java +++ b/app/src/main/java/com/gh/gamecenter/FileSenderActivity.java @@ -41,6 +41,8 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; import butterknife.BindView; import butterknife.OnClick; @@ -80,6 +82,9 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte private long mStartTime; + // 快传文件发送单线程 + private Executor SINGLE_EXECUTOR = Executors.newSingleThreadExecutor(); + private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { @@ -126,7 +131,7 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte if (resultCode == KC_REPEAT_RESULT && requestCode == KC_REPEAT_RESULT) { mSenderAdapter.notifyDataSetChanged(); initUserData(); - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { try { @@ -175,7 +180,7 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte super.onCreate(savedInstanceState); setNavigationTitle(getString(R.string.title_file_sender)); - mFileInfos = (List) HaloApp.get("FileInfo", false); + mFileInfos = (List) HaloApp.get(KcSelectGameActivity.KEY_FILE_INFO, false); isDestroy = false; @@ -327,12 +332,12 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte }); mFileSenderList.add(fileSender); - HaloApp.SINGLE_EXECUTOR.execute(fileSender); + SINGLE_EXECUTOR.execute(fileSender); } } private void startReceiver() { - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { try { @@ -352,7 +357,7 @@ public class FileSenderActivity extends BaseActivity implements FileSenderAdapte } stopAllFileSendingTask(); - HaloApp.remove("FileInfo"); + HaloApp.remove(KcSelectGameActivity.KEY_FILE_INFO); HaloApp.put("sendData", sendData); FileSenderActivity.this.finish(); diff --git a/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java b/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java index e92658b8ae..85a3a8f3f5 100644 --- a/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java +++ b/app/src/main/java/com/gh/gamecenter/KcSelectGameActivity.java @@ -36,6 +36,7 @@ import static com.gh.gamecenter.FileSenderActivity.KC_REPEAT_RESULT; */ public class KcSelectGameActivity extends BaseActivity { + public static final String KEY_FILE_INFO = KcSelectGameActivity.KEY_FILE_INFO; @BindView(R.id.select_game_rv) RecyclerView mSelectRv; @BindView(R.id.select_game_send) @@ -112,7 +113,7 @@ public class KcSelectGameActivity extends BaseActivity { } if (mIsConn) { - List oldInfo = (List) HaloApp.get("FileInfo", false); + List oldInfo = (List) HaloApp.get(KcSelectGameActivity.KEY_FILE_INFO, false); if (oldInfo == null) { oldInfo = new ArrayList<>(); } @@ -122,7 +123,7 @@ public class KcSelectGameActivity extends BaseActivity { setResult(KC_REPEAT_RESULT); finish(); } else { - HaloApp.put("FileInfo", selectData); + HaloApp.put(KcSelectGameActivity.KEY_FILE_INFO, selectData); startActivityForResult(ChooseReceiverActivity.getIntent(KcSelectGameActivity.this, false), SEND_OVER_REQUEST); } diff --git a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java index d03a0777b6..373720a267 100644 --- a/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/LibaoDetailActivity.java @@ -432,7 +432,7 @@ public class LibaoDetailActivity extends BaseActivity implements LibaoDetailAdap public void loadDone(Object obj) { // 在当前详情页领取获取淘号的数据 if (obj != null) { Intent data = new Intent(); - data.putExtra("UserDataLibaoEntity", (UserDataLibaoEntity) obj); + data.putExtra(UserDataLibaoEntity.TAG, (UserDataLibaoEntity) obj); setResult(NEWS2_LIBAO_REQUEST, data); } } diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 63047540d3..966a10e28e 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -479,7 +479,7 @@ public class MainActivity extends BaseActivity { * 更新安装列表数据 */ private void update() { - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { final List installed = new ArrayList<>(); diff --git a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java index 405b12fcf4..70889fa644 100644 --- a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java @@ -41,7 +41,6 @@ import com.gh.gamecenter.retrofit.OkHttpCache; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; import com.google.gson.Gson; -import com.halo.assistant.HaloApp; import com.lightgame.utils.Util_System_Keyboard; import com.lightgame.utils.Utils; @@ -135,17 +134,17 @@ public class MessageDetailActivity extends BaseActivity implements OnCommentCall // 评论回复 public static Intent getMessageDetailIntent(Context context, CommentEntity entity, String newsId) { - HaloApp.put("CommentEntity", entity); Intent intent = new Intent(context, MessageDetailActivity.class); intent.putExtra("commentNum", -1); intent.putExtra(EntranceUtils.KEY_NEWSID, newsId); intent.putExtra("openSoftInput", true); + intent.putExtra(CommentEntity.TAG, entity); return intent; } public static Intent getIntentByEntity(Context context, ConcernEntity concernEntity, String entrance) { - HaloApp.put("ConcernEntity", concernEntity); Intent intent = new Intent(context, MessageDetailActivity.class); + intent.putExtra(ConcernEntity.TAG, concernEntity); intent.putExtra(EntranceUtils.KEY_ENTRANCE, entrance); return intent; } @@ -159,11 +158,10 @@ public class MessageDetailActivity extends BaseActivity implements OnCommentCall return intent; } - @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); - HaloApp.put("ConcernEntity", adapter.getConcernEntity()); + outState.putParcelable(CommentEntity.TAG, adapter.getConcernEntity()); } @Override @@ -175,11 +173,10 @@ public class MessageDetailActivity extends BaseActivity implements OnCommentCall protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mConcernEntity = (ConcernEntity) HaloApp.get("ConcernEntity", true); - - mCommentEntity = (CommentEntity) HaloApp.get("CommentEntity", true); // 来自新闻详情-评论回复 - Intent intent = getIntent(); + mConcernEntity = intent.getParcelableExtra(ConcernEntity.TAG); + mCommentEntity = intent.getParcelableExtra(CommentEntity.TAG); + newsId = intent.getExtras().getString(EntranceUtils.KEY_NEWSID); commentNum = intent.getExtras().getInt("commentNum", -1); diff --git a/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java b/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java index 292395a06f..6c0d30afc8 100644 --- a/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ReceiverWaitingActivity.java @@ -177,7 +177,7 @@ public class ReceiverWaitingActivity extends BaseActivity { public void onWifiApEnabled() { if (!mIsInitialized) { mUdpServerRunnable = createSendMsgToFileSenderRunnable(); - HaloApp.MAIN_EXECUTOR.execute(mUdpServerRunnable); + HaloApp.getInstance().getMainExecutor().execute(mUdpServerRunnable); mIsInitialized = true; mWaitingConn.setVisibility(View.VISIBLE); @@ -327,7 +327,7 @@ public class ReceiverWaitingActivity extends BaseActivity { if (msg != null && msg.contains(Constant.MSG_FILE_RECEIVER_INIT)) { Utils.log("接收方初始化完毕准备进去传输页面 并回馈消息给发送者" + inetAddress); -// HaloApp.put("FileInfo", mFileInfos); //保存数据列表 启用改为Intent传输 +// HaloApp.put(KcSelectGameActivity.KEY_FILE_INFO, mFileInfos); //保存数据列表 启用改为Intent传输 // 反馈 文件发送方的消息 // sendData = Constant.MSG_FILE_RECEIVER_INIT_SUCCESS.getBytes(BaseTransfer.UTF_8); diff --git a/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java b/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java index c9403ae5dd..7dceea4f5a 100644 --- a/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ShareGhWfifActivity.java @@ -212,7 +212,7 @@ public class ShareGhWfifActivity extends BaseActivity { public void onWifiApEnabled() { if (!mIsInitialized) { Utils.log("===初始化热点成功"); - HaloApp.MAIN_EXECUTOR.execute(checkHotSpot()); + HaloApp.getInstance().getMainExecutor().execute(checkHotSpot()); mIsInitialized = true; // mHotSpotName.setText(mySsid); } @@ -279,7 +279,7 @@ public class ShareGhWfifActivity extends BaseActivity { } private void initMicroServer() { - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { try { diff --git a/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java b/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java index b106ccce91..5dabe18419 100644 --- a/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java +++ b/app/src/main/java/com/gh/gamecenter/ViewImageActivity.java @@ -225,7 +225,7 @@ public class ViewImageActivity extends Activity implements OnPageChangeListener private void checkUrl(final String url, final ZoomSimpleDraweeView imageView) { newUrls = new HashMap<>(); - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { try { diff --git a/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java index d743ec9e89..61dc0cbb2d 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/FileReceiverAdapter.java @@ -43,7 +43,7 @@ public class FileReceiverAdapter extends BaseRecyclerAdapter) AppController.get("FileInfo", false); +// mFileInfoList = (List) AppController.get(KcSelectGameActivity.KEY_FILE_INFO, false); notifyItemRangeChanged(0, getItemCount()); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java index f9a97aeadc..067889df94 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java @@ -29,6 +29,7 @@ import com.gh.common.view.SwipeLayout; import com.gh.download.DownloadManager; import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.InstallActivity; +import com.gh.gamecenter.KcSelectGameActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.GameNormalSwipeViewHolder; @@ -106,7 +107,7 @@ public class InstallFragmentAdapter extends BaseRecyclerAdapter { if (runnableGame.isEmpty()) { mActivity.loadEmpty(); } else { - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { init(); @@ -511,7 +512,7 @@ public class InstallFragmentAdapter extends BaseRecyclerAdapter { List fileInfos = new ArrayList<>(); fileInfos.add(fileInfo); - HaloApp.put(HaloApp.KEY_FILE_INFO, fileInfos); + HaloApp.put(KcSelectGameActivity.KEY_FILE_INFO, fileInfos); smoothListener.onOpen(); } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/KcSelectGameAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/KcSelectGameAdapter.java index 1bb9f49925..55b508a79c 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/KcSelectGameAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/KcSelectGameAdapter.java @@ -21,6 +21,7 @@ import android.widget.TextView; import com.gh.common.constant.ItemViewType; import com.gh.common.util.BitmapUtils; import com.gh.common.util.DisplayUtils; +import com.gh.gamecenter.KcSelectGameActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.adapter.viewholder.KcSelectGameViewHolder; @@ -77,7 +78,7 @@ public class KcSelectGameAdapter extends BaseRecyclerAdapter { mIsLoadApp = false; - sendOverList = (List) HaloApp.get("FileInfo", false); + sendOverList = (List) HaloApp.get(KcSelectGameActivity.KEY_FILE_INFO, false); InstallManager cManager = new InstallManager(mContext); List runnableGame = cManager.getAllInstall(); diff --git a/app/src/main/java/com/gh/gamecenter/entity/CommentEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/CommentEntity.kt index a7e15fe4d7..64cb1486aa 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/CommentEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/CommentEntity.kt @@ -1,18 +1,20 @@ package com.gh.gamecenter.entity +import android.os.Parcel +import android.os.Parcelable import com.google.gson.annotations.SerializedName /** * Created by khy on 2016/11/8. */ -class CommentEntity { +class CommentEntity() : Parcelable { @SerializedName("_id") var id: String? = null var user: UserEntity? = null - var parent: ParentEntity? = null + var parent: CommentParentEntity? = null var content: String? = null @@ -23,7 +25,44 @@ class CommentEntity { @SerializedName("user_data") var userData: UserDataEntity? = null - inner class ParentEntity { - var user: UserEntity? = null + constructor(parcel: Parcel) : this() { + id = parcel.readString() + user = parcel.readParcelable(UserEntity::class.java.classLoader) + parent = parcel.readParcelable(CommentParentEntity::class.java.classLoader) + content = parcel.readString() + vote = parcel.readInt() + time = parcel.readLong() + userData = parcel.readParcelable(UserDataEntity::class.java.classLoader) } + + override fun writeToParcel(parcel: Parcel, flags: Int) { + parcel.writeString(id) + parcel.writeParcelable(user, flags) + parcel.writeParcelable(parent, flags) + parcel.writeString(content) + parcel.writeInt(vote) + parcel.writeLong(time) + parcel.writeParcelable(userData, flags) + } + + override fun describeContents(): Int { + return 0 + } + + companion object { + + const val TAG = "CommentEntity" + + @JvmField + val CREATOR: Parcelable.Creator = object : Parcelable.Creator { + override fun createFromParcel(source: Parcel): CommentEntity { + return CommentEntity(source) + } + + override fun newArray(size: Int): Array { + return arrayOfNulls(size) + } + } + } + } diff --git a/app/src/main/java/com/gh/gamecenter/entity/CommentParentEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/CommentParentEntity.kt new file mode 100644 index 0000000000..61dd3e1ffe --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/entity/CommentParentEntity.kt @@ -0,0 +1,30 @@ +package com.gh.gamecenter.entity + +import android.os.Parcel +import android.os.Parcelable + +class CommentParentEntity() : Parcelable { + var user: UserEntity? = null + + constructor(parcel: Parcel) : this() { + user = parcel.readParcelable(UserEntity::class.java.classLoader) + } + + override fun writeToParcel(parcel: Parcel, flags: Int) { + parcel.writeParcelable(user, flags) + } + + override fun describeContents(): Int { + return 0 + } + + companion object CREATOR : Parcelable.Creator { + override fun createFromParcel(parcel: Parcel): CommentParentEntity { + return CommentParentEntity(parcel) + } + + override fun newArray(size: Int): Array { + return arrayOfNulls(size) + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/entity/ConcernEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/ConcernEntity.kt index 8437ab6b04..c70fe8a22b 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/ConcernEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/ConcernEntity.kt @@ -1,11 +1,13 @@ package com.gh.gamecenter.entity +import android.os.Parcel +import android.os.Parcelable import com.google.gson.annotations.SerializedName /** * Created by khy on 2016/8/17. */ -class ConcernEntity { +class ConcernEntity() :Parcelable { @SerializedName("_id") var id: String? = null @@ -43,4 +45,63 @@ class ConcernEntity { @SerializedName("user_data") var userData: UserDataEntity? = null + + constructor(parcel: Parcel) : this() { + id = parcel.readString() + gameName = parcel.readString() + gameIcon = parcel.readString() + title = parcel.readString() + content = parcel.readString() + time = parcel.readLong() + img = parcel.createStringArrayList() + link = parcel.readString() + brief = parcel.readString() + views = parcel.readInt() + commentnum = parcel.readInt() + type = parcel.readString() + gameId = parcel.readString() + platform = parcel.readString() + name = parcel.readString() + userData = parcel.readParcelable(UserDataEntity::class.java.classLoader) + } + + override fun writeToParcel(parcel: Parcel, flags: Int) { + parcel.writeString(id) + parcel.writeString(gameName) + parcel.writeString(gameIcon) + parcel.writeString(title) + parcel.writeString(content) + parcel.writeLong(time) + parcel.writeStringList(img) + parcel.writeString(link) + parcel.writeString(brief) + parcel.writeInt(views) + parcel.writeInt(commentnum) + parcel.writeString(type) + parcel.writeString(gameId) + parcel.writeString(platform) + parcel.writeString(name) + parcel.writeParcelable(userData, flags) + } + + override fun describeContents(): Int { + return 0 + } + + companion object { + + const val TAG = "ConcernEntity" + + @JvmField + val CREATOR: Parcelable.Creator = object : Parcelable.Creator { + override fun createFromParcel(source: Parcel): ConcernEntity { + return ConcernEntity(source) + } + + override fun newArray(size: Int): Array { + return arrayOfNulls(size) + } + } + } + } diff --git a/app/src/main/java/com/gh/gamecenter/entity/UserDataLibaoEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/UserDataLibaoEntity.kt index 45255b15d1..f4392ba0cd 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/UserDataLibaoEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/UserDataLibaoEntity.kt @@ -43,6 +43,8 @@ class UserDataLibaoEntity : Parcelable { companion object { + const val TAG = "UserDataLibaoEntity" + @JvmField val CREATOR: Parcelable.Creator = object : Parcelable.Creator { override fun createFromParcel(source: Parcel): UserDataLibaoEntity { return UserDataLibaoEntity(source) diff --git a/app/src/main/java/com/gh/gamecenter/entity/UserEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/UserEntity.kt index 9fbada3b12..155b051d44 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/UserEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/UserEntity.kt @@ -1,11 +1,13 @@ package com.gh.gamecenter.entity +import android.os.Parcel +import android.os.Parcelable import com.google.gson.annotations.SerializedName /** * Created by khy on 2016/11/8. */ -class UserEntity { +class UserEntity() : Parcelable { var icon: String? = null @@ -13,4 +15,30 @@ class UserEntity { @SerializedName("_id") var id: String? = null // 用于parent的user + + constructor(parcel: Parcel) : this() { + icon = parcel.readString() + name = parcel.readString() + id = parcel.readString() + } + + override fun writeToParcel(parcel: Parcel, flags: Int) { + parcel.writeString(icon) + parcel.writeString(name) + parcel.writeString(id) + } + + override fun describeContents(): Int { + return 0 + } + + companion object CREATOR : Parcelable.Creator { + override fun createFromParcel(parcel: Parcel): UserEntity { + return UserEntity(parcel) + } + + override fun newArray(size: Int): Array { + return arrayOfNulls(size) + } + } } diff --git a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuFragment.java b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuFragment.java index e032d0fc2d..dedac31b3c 100644 --- a/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuFragment.java +++ b/app/src/main/java/com/gh/gamecenter/kaifu/KaiFuFragment.java @@ -4,13 +4,9 @@ import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.view.ViewPager; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; import android.view.View; import android.widget.CheckedTextView; import android.widget.LinearLayout; -import android.widget.TextView; import com.gh.base.adapter.FragmentAdapter; import com.gh.base.fragment.BaseFragment; @@ -138,7 +134,7 @@ public class KaiFuFragment extends BaseFragment { } private void setPageScrollState(final int state) { - HaloApp.MAIN_EXECUTOR.execute(new Runnable() { + HaloApp.getInstance().getMainExecutor().execute(new Runnable() { @Override public void run() { for (Fragment fragment : mFragments) { diff --git a/app/src/main/java/com/gh/gamecenter/login/UserRepository.java b/app/src/main/java/com/gh/gamecenter/login/UserRepository.java index 13bff64797..756e3f1ce9 100644 --- a/app/src/main/java/com/gh/gamecenter/login/UserRepository.java +++ b/app/src/main/java/com/gh/gamecenter/login/UserRepository.java @@ -23,7 +23,6 @@ import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; import com.gh.gamecenter.retrofit.service.ApiService; import com.gh.gamecenter.retrofit.service.UserseaService; -import com.halo.assistant.HaloApp; import com.lightgame.config.CommonDebug; import com.lightgame.utils.Utils; @@ -33,6 +32,8 @@ import org.json.JSONObject; import java.util.HashMap; import java.util.Map; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; import okhttp3.MediaType; import okhttp3.RequestBody; @@ -50,6 +51,8 @@ class UserRepository { private static UserRepository mInstance; + private Executor SINGLE_EXECUTOR = Executors.newSingleThreadExecutor(); + private Context mContext; private UserseaService mUserseaService; @@ -417,7 +420,7 @@ class UserRepository { private void userInfoHandle(final UserInfoEntity userInfo, boolean isEditUserInfo) { - HaloApp.SINGLE_EXECUTOR.execute(new Runnable() { + SINGLE_EXECUTOR.execute(new Runnable() { @Override public void run() { if (mAppDatabase.userInfoDao().updateUserInfo(userInfo) <= 0) { @@ -431,7 +434,7 @@ class UserRepository { private void userTokenHandle(final LoginTokenEntity tokenEntity, LoginTag loginTag) { mCachedId = tokenEntity.getId(); - HaloApp.SINGLE_EXECUTOR.execute(new Runnable() { + SINGLE_EXECUTOR.execute(new Runnable() { @Override public void run() { if (mAppDatabase.loginTokenDao().updateToken(tokenEntity) <= 0) { diff --git a/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java b/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java index a29200a941..25659ab6c7 100644 --- a/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java +++ b/app/src/main/java/com/gh/gamecenter/manager/RefreshTokenManager.java @@ -16,13 +16,15 @@ import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; import com.gh.gamecenter.retrofit.service.ApiService; import com.gh.gamecenter.retrofit.service.UserseaService; -import com.halo.assistant.HaloApp; import com.lightgame.utils.Utils; import org.greenrobot.eventbus.EventBus; import org.json.JSONException; import org.json.JSONObject; +import java.util.concurrent.Executor; +import java.util.concurrent.Executors; + import okhttp3.MediaType; import okhttp3.RequestBody; import retrofit2.HttpException; @@ -34,7 +36,7 @@ import retrofit2.HttpException; public class RefreshTokenManager { private static RefreshTokenManager mInstance; - + private Executor SINGLE_EXECUTOR = Executors.newSingleThreadExecutor(); private AppDatabase mDatabase; private UserseaService mUserseaService; private ApiService mApiService; @@ -160,7 +162,7 @@ public class RefreshTokenManager { private void savaLoginToken(final LoginTokenEntity tokenEntity, final Context context) { UserManager.getInstance().setLoginTokenEntity(tokenEntity); - HaloApp.SINGLE_EXECUTOR.execute(new Runnable() { + SINGLE_EXECUTOR.execute(new Runnable() { @Override public void run() { if (mDatabase.loginTokenDao().updateToken(tokenEntity) <= 0) { @@ -174,7 +176,7 @@ public class RefreshTokenManager { private void saveUserInfo(final UserInfoEntity userInfo) { UserManager.getInstance().setUserInfoEntity(userInfo); - HaloApp.SINGLE_EXECUTOR.execute(new Runnable() { + SINGLE_EXECUTOR.execute(new Runnable() { @Override public void run() { if (mDatabase.userInfoDao().updateUserInfo(userInfo) <= 0) { diff --git a/app/src/main/java/com/gh/gamecenter/news/News2Fragment.java b/app/src/main/java/com/gh/gamecenter/news/News2Fragment.java index 5c7556ad05..b1fa6db9a7 100644 --- a/app/src/main/java/com/gh/gamecenter/news/News2Fragment.java +++ b/app/src/main/java/com/gh/gamecenter/news/News2Fragment.java @@ -21,11 +21,11 @@ import com.gh.common.util.ApkActiveUtils; import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.ConcernUtils; import com.gh.common.util.DataCollectionUtils; -import com.gh.gamecenter.DataUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.PackageUtils; import com.gh.common.util.StringUtils; import com.gh.common.view.VerticalItemDecoration; +import com.gh.gamecenter.DataUtils; import com.gh.gamecenter.LibaoDetailActivity; import com.gh.gamecenter.MessageDetailActivity; import com.gh.gamecenter.NewsDetailActivity; @@ -47,7 +47,6 @@ import com.gh.gamecenter.manager.InstallManager; import com.gh.gamecenter.retrofit.ObservableUtil; import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; -import com.halo.assistant.HaloApp; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -406,7 +405,7 @@ public class News2Fragment extends BaseFragment implements SwipeRefreshLayout.On adapter.notifyItemChanged(adapter.getSkipPosition()); adapter.setSkipPosition(-1); } else if (requestCode == NEWS2_LIBAO_REQUEST && resultCode == NEWS2_LIBAO_REQUEST && adapter.getSkipPosition() != -1) { - UserDataLibaoEntity resultUserLibaoData = data.getParcelableExtra("UserDataLibaoEntity"); + UserDataLibaoEntity resultUserLibaoData = data.getParcelableExtra(UserDataLibaoEntity.TAG); ConcernEntity skipEntity = adapter.getSkipEntity(); if (skipEntity != null) { // 插入礼包详情返回的礼包数据 UserDataEntity userData = skipEntity.getUserData(); @@ -554,7 +553,8 @@ public class News2Fragment extends BaseFragment implements SwipeRefreshLayout.On //统计阅读量 adapter.statNewsViews(concernEntity, position); - HaloApp.put("ConcernEntity", concernEntity); + //TODO ??? 这个有毛用?先注释了 +// HaloApp.put("ConcernEntity", concernEntity); adapter.setSkipPosition(position); if (concernEntity.getLink() != null) { intent = WebActivity.getIntentByNews(getContext(), concernEntity, diff --git a/app/src/main/java/com/gh/gamecenter/fragment/NewsFragment.java b/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java similarity index 95% rename from app/src/main/java/com/gh/gamecenter/fragment/NewsFragment.java rename to app/src/main/java/com/gh/gamecenter/news/NewsFragment.java index 77b5f6f257..f37c2c90fa 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/NewsFragment.java +++ b/app/src/main/java/com/gh/gamecenter/news/NewsFragment.java @@ -1,4 +1,4 @@ -package com.gh.gamecenter.fragment; +package com.gh.gamecenter.news; import android.os.Bundle; import android.support.annotation.Nullable; @@ -15,10 +15,6 @@ import com.gh.common.util.RandomUtils; import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.eventbus.EBUISwitch; -import com.gh.gamecenter.news.News1Fragment; -import com.gh.gamecenter.news.News2Fragment; -import com.gh.gamecenter.news.News3Fragment; -import com.gh.gamecenter.news.News4Fragment; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; diff --git a/app/src/main/java/com/gh/gamecenter/news/NewsWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/news/NewsWrapperFragment.java index 4466d0956d..eba2a66164 100644 --- a/app/src/main/java/com/gh/gamecenter/news/NewsWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/news/NewsWrapperFragment.java @@ -7,7 +7,6 @@ import android.view.View; import com.gh.base.SearchBarHint; import com.gh.base.fragment.BaseFragment; import com.gh.gamecenter.R; -import com.gh.gamecenter.fragment.NewsFragment; import com.gh.gamecenter.fragment.SearchToolbarFragment; import java.util.ArrayList; diff --git a/app/src/main/java/com/halo/assistant/HaloApp.java b/app/src/main/java/com/halo/assistant/HaloApp.java index 3e9e6af851..36bb11c1ad 100644 --- a/app/src/main/java/com/halo/assistant/HaloApp.java +++ b/app/src/main/java/com/halo/assistant/HaloApp.java @@ -10,21 +10,16 @@ import com.facebook.drawee.backends.pipeline.Fresco; import com.gh.base.GHActivityLifecycleCallbacksImpl; import com.gh.base.GHUmengNotificationClickHandler; import com.gh.common.constant.Config; -import com.gh.gamecenter.DataUtils; import com.gh.common.util.StringUtils; import com.gh.common.util.TokenUtils; -import com.gh.gamecenter.BuildConfig; +import com.gh.gamecenter.DataUtils; import com.gh.gamecenter.Injection; import com.leon.channel.helper.ChannelReaderUtil; -import com.lightgame.config.CommonDebug; import com.lightgame.utils.Utils; -import com.tencent.bugly.Bugly; import com.umeng.commonsdk.UMConfigure; import com.umeng.message.IUmengRegisterCallback; import com.umeng.message.PushAgent; import com.umeng.message.UTrack; -import com.xiaomi.channel.commonutils.logger.LoggerInterface; -import com.xiaomi.mipush.sdk.Logger; import org.android.agoo.huawei.HuaWeiRegister; import org.android.agoo.xiaomi.MiPushRegistar; @@ -38,30 +33,29 @@ public class HaloApp extends TinkerAppLike { super(application, tinkerFlags, tinkerLoadVerifyFlag, applicationStartElapsedTime, applicationStartMillisTime, tinkerResultIntent); } - public static final String KEY_FILE_INFO = "FileInfo"; - //快传文件发送单线程 - public static Executor SINGLE_EXECUTOR = Executors.newSingleThreadExecutor(); - //快传文件发送主要的线程池 - public static Executor MAIN_EXECUTOR = Executors.newCachedThreadPool(); + private Executor mMainExecutor = Executors.newCachedThreadPool(); private static HaloApp mInstance; - private static ArrayMap objectMap = new ArrayMap<>(); - + private static ArrayMap sObjectMap = new ArrayMap<>(); private String mChannel; + public Executor getMainExecutor() { + return mMainExecutor; + } + public static void put(String key, Object object) { - objectMap.put(key, object); + sObjectMap.put(key, object); } public static Object get(String key, boolean isRemove) { if (isRemove) { - return objectMap.remove(key); + return sObjectMap.remove(key); } else { - return objectMap.get(key); + return sObjectMap.get(key); } } public static void remove(String key) { - objectMap.remove(key); + sObjectMap.remove(key); } public static synchronized HaloApp getInstance() { @@ -98,27 +92,6 @@ public class HaloApp extends TinkerAppLike { //初始化Fresco Fresco.initialize(getApplication()); - if (BuildConfig.DEBUG) { - LoggerInterface newLogger = new LoggerInterface() { - - @Override - public void setTag(String tag) { - CommonDebug.logMethodWithParams(this, tag); - } - - @Override - public void log(String content) { - CommonDebug.logMethodWithParams(this, content); - } - - @Override - public void log(String content, Throwable t) { - CommonDebug.logMethodWithParams(this, content, t); - } - }; - Logger.setLogger(getApplication(), newLogger); - } - try { //初始化友盟推送 UMConfigure.init(getApplication(), diff --git a/app/src/main/java/com/halo/assistant/fragment/game/GameNewsSearchFragment.java b/app/src/main/java/com/halo/assistant/fragment/game/GameNewsSearchFragment.java index 41a58412fa..84034147e1 100644 --- a/app/src/main/java/com/halo/assistant/fragment/game/GameNewsSearchFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/game/GameNewsSearchFragment.java @@ -91,7 +91,7 @@ public class GameNewsSearchFragment extends BaseFragment { case R.id.menu_search: mGameNewsRv.scrollToPosition(0); mGameNewsTypeRv.setVisibility(View.GONE); - mMenuItemSearch.setVisible(false); + setMenuItemSearchVisibility(false); mGameNewsAdapter.openKeyBoard(); break; } @@ -137,10 +137,10 @@ public class GameNewsSearchFragment extends BaseFragment { if (mLayoutManager.findFirstVisibleItemPosition() >= 1) { mGameNewsTypeRv.setVisibility(View.VISIBLE); - mMenuItemSearch.setVisible(true); + setMenuItemSearchVisibility(true); } else { mGameNewsTypeRv.setVisibility(View.GONE); - mMenuItemSearch.setVisible(false); + setMenuItemSearchVisibility(false); } } @@ -169,6 +169,12 @@ public class GameNewsSearchFragment extends BaseFragment { } } + private void setMenuItemSearchVisibility(boolean visible) { + if (mMenuItemSearch != null) { + mMenuItemSearch.setVisible(visible); + } + } + private void getGameArticleType() { RetrofitManager.getInstance(getContext()).getApi() .getGameArticleType(mGameId) @@ -210,7 +216,7 @@ public class GameNewsSearchFragment extends BaseFragment { mGameNewsRv.setAdapter(mGameNewsAdapter); mGameNewsTypeRv.setVisibility(View.GONE); - mMenuItemSearch.setVisible(false); + setMenuItemSearchVisibility(false); mTypeListAdapter.setNewsType(change.getType(), change.getPosition()); } diff --git a/scripts/submodules_init.sh b/scripts/submodules_init.sh new file mode 100755 index 0000000000..5f61a616ed --- /dev/null +++ b/scripts/submodules_init.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# ***************************************************************************** +# @author CsHeng +# @2017.7.18 初始版本 +# +# 初始化git submodule +# +# ***************************************************************************** + +# get current shell absolute dir +CWD=$(cd "$(dirname "$0")"; pwd) + +git submodule init +git submodule update \ No newline at end of file diff --git a/scripts/init_submodules.sh b/scripts/submodules_update.sh similarity index 95% rename from scripts/init_submodules.sh rename to scripts/submodules_update.sh index 9c567aa0a0..2ef01737e5 100755 --- a/scripts/init_submodules.sh +++ b/scripts/submodules_update.sh @@ -10,7 +10,6 @@ # get current shell absolute dir CWD=$(cd "$(dirname "$0")"; pwd) -git submodule init git submodule sync git submodule foreach git checkout master git submodule foreach git pull \ No newline at end of file