From 1fe741f07fcd1ccbf1c5a9799f48b45c4f1016d3 Mon Sep 17 00:00:00 2001 From: HelloChenJinJun <1981367757@qq.com> Date: Thu, 3 Jan 2019 16:24:52 +0800 Subject: [PATCH 1/7] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 015df6e..e41f15d 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,9 @@ https://juejin.im/entry/5a1cca70f265da432652923f http://www.jianshu.com/p/e6eb9c8d120f -## 本次更新内容: +https://juejin.im/post/5c2d8fe46fb9a049c30b5d4b + +## 本次更新内容(2019-1-3): #### 1.内部更新编译SDK版本到28.0.0,google的support库迁移到androidx; #### 2.在线下载皮肤插件,无需重启更新全局。 #### 3.基类库集成字体库、友盟页面数据统计、bugly(bug监控、升级和热修复)等功能。 From 328df0f66f4dea65f23fc7c7e56a5bcfaa2835e6 Mon Sep 17 00:00:00 2001 From: lixiaoxiao Date: Fri, 4 Jan 2019 09:55:29 +0800 Subject: [PATCH 2/7] =?UTF-8?q?[fix]=E4=BF=AE=E5=A4=8Dvip=E7=94=B5?= =?UTF-8?q?=E5=BD=B1=E6=92=AD=E6=94=BEbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commonlibrary/manager/video/DefaultVideoPlayer.java | 2 +- commonlibrary/src/main/res/values/colors.xml | 2 +- .../snew/video/mvp/qq/detail/QQVideoDetailPresenter.java | 8 ++------ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/commonlibrary/src/main/java/com/example/commonlibrary/manager/video/DefaultVideoPlayer.java b/commonlibrary/src/main/java/com/example/commonlibrary/manager/video/DefaultVideoPlayer.java index c756992..9825c3b 100644 --- a/commonlibrary/src/main/java/com/example/commonlibrary/manager/video/DefaultVideoPlayer.java +++ b/commonlibrary/src/main/java/com/example/commonlibrary/manager/video/DefaultVideoPlayer.java @@ -338,7 +338,7 @@ public void reset() { } mState = PLAY_STATE_IDLE; mVideoController.onPlayStateChanged(mState); - mMediaPlayer = null; + } @Override diff --git a/commonlibrary/src/main/res/values/colors.xml b/commonlibrary/src/main/res/values/colors.xml index e8d2f6e..486fa02 100644 --- a/commonlibrary/src/main/res/values/colors.xml +++ b/commonlibrary/src/main/res/values/colors.xml @@ -25,7 +25,7 @@ - #FFF6F8FA + #F0F5F8 #ffffffff #ffffffff @color/black diff --git a/video/src/main/java/com/snew/video/mvp/qq/detail/QQVideoDetailPresenter.java b/video/src/main/java/com/snew/video/mvp/qq/detail/QQVideoDetailPresenter.java index a3a2ad7..881f3bd 100644 --- a/video/src/main/java/com/snew/video/mvp/qq/detail/QQVideoDetailPresenter.java +++ b/video/src/main/java/com/snew/video/mvp/qq/detail/QQVideoDetailPresenter.java @@ -176,7 +176,7 @@ public void onComplete() { private Observable getDetailDataForOne(String url) { RequestBody requestBody = RequestBody.create(MediaType.parse("application/x-www-form-urlencoded; charset=UTF-8"), "url=" + url); return baseModel.getRepositoryManager().getApi(VideoApi.class) - .postUrlInfo("http://api.bbbbbb.me/zy/api.php", requestBody).subscribeOn(Schedulers.io()) + .postUrlInfo("http://api.bbbbbb.me/zy/sigu.php", requestBody).subscribeOn(Schedulers.io()) .flatMap((Function>) qqVideoDetailBean -> { if (qqVideoDetailBean.getCode() == 0) { String tempUrl = null; @@ -189,11 +189,9 @@ private Observable getDetailDataForOne(String url) { Uri uri; String key; String type; - String cid; uri = Uri.parse(tempUrl); key = uri.getQueryParameter("url"); type = uri.getQueryParameter("type"); - cid = uri.getQueryParameter("cid"); CommonLogger.e("url:" + uri.toString()); if (key != null && (key.contains(".mp4") || key.contains(".m3u8"))) { return Observable.just(key); @@ -204,9 +202,7 @@ private Observable getDetailDataForOne(String url) { if (tempUrl.contains("jiexi/")) { return getDetailDataForThree(url); } else if (tempUrl.contains("yunjxs") || tempUrl.contains("qqmtv")) { - if (tempUrl.contains("qqmtv")) { - md5 = VideoUtil.getSignedValue(md5); - } + md5 = VideoUtil.getSignedValue(md5); body.append("id=").append(key).append("&type=").append(TextUtils.isEmpty(type) ? "auto" : type).append("&siteuser=&md5=").append(md5) .append("&hd=&lg="); } else if (tempUrl.contains("anlehe")) { From 6677a91fbb03a3f7ba23a72bc2074729f4ad78c2 Mon Sep 17 00:00:00 2001 From: lixiaoxiao Date: Fri, 4 Jan 2019 10:04:19 +0800 Subject: [PATCH 3/7] [fix]updateREADME --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e41f15d..6ff84b6 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ https://juejin.im/post/5c2d8fe46fb9a049c30b5d4b #### 21....太多了,列举不了这么多,具体效果请看app。 ## app下载地址: -http://bmob-cdn-17771.b0.upaiyun.com/2019/01/03/cb2acab44035b7de80fc2e814f77eaf8.apk +http://bmob-cdn-17771.b0.upaiyun.com/2019/01/04/e97fd73e40819993806c379e2a6bc79f.apk #### 由于该项目是本人一个人独立开发的,所以我这边不仅仅考虑技术上的问题,还得考虑UI设计等方面,由于我用的三方bmob后台,所以不需要考虑后台的开发,但任务还是挺繁重的,接下去要做的事情还有很多,主要有如下: From de7546f356cb4415003ce19122d281543baee703 Mon Sep 17 00:00:00 2001 From: lixiaoxiao Date: Fri, 4 Jan 2019 11:21:08 +0800 Subject: [PATCH 4/7] =?UTF-8?q?[fix]=E4=BF=AE=E5=A4=8D=E6=BC=94=E5=91=98?= =?UTF-8?q?=E7=BB=86=E8=8A=82=E7=95=8C=E9=9D=A2=E6=95=B0=E6=8D=AE=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat/mvp/UserInfoTask/UserInfoActivity.java | 4 ++-- .../video/mvp/actor/ActorDetailInfoPresenter.java | 13 +++++++++++++ .../video/mvp/qq/detail/QQVideoDetailPresenter.java | 3 ++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/chat/src/main/java/com/example/chat/mvp/UserInfoTask/UserInfoActivity.java b/chat/src/main/java/com/example/chat/mvp/UserInfoTask/UserInfoActivity.java index 918aed1..847c611 100644 --- a/chat/src/main/java/com/example/chat/mvp/UserInfoTask/UserInfoActivity.java +++ b/chat/src/main/java/com/example/chat/mvp/UserInfoTask/UserInfoActivity.java @@ -18,7 +18,6 @@ import com.example.chat.base.ChatBaseActivity; import com.example.chat.base.ConstantUtil; import com.example.chat.bean.ChatMessage; -import com.example.chat.listener.AddBlackCallBackListener; import com.example.chat.listener.CancelBlackCallBlackListener; import com.example.chat.listener.OnSendTagMessageListener; import com.example.chat.manager.MsgManager; @@ -232,7 +231,8 @@ public void onClick(View v) { } else if (i == R.id.riv_user_info_avatar) { UserDetailActivity.start(this,userEntity.getUid(), ActivityOptionsCompat.makeSceneTransitionAnimation(this, Pair.create(avatar, "avatar") , Pair.create(name, "name") - , Pair.create(sex, "sex"))); + , Pair.create(sex, "sex") + ,Pair.create(signature,"signature"))); } } diff --git a/video/src/main/java/com/snew/video/mvp/actor/ActorDetailInfoPresenter.java b/video/src/main/java/com/snew/video/mvp/actor/ActorDetailInfoPresenter.java index 17eb063..cd498d0 100644 --- a/video/src/main/java/com/snew/video/mvp/actor/ActorDetailInfoPresenter.java +++ b/video/src/main/java/com/snew/video/mvp/actor/ActorDetailInfoPresenter.java @@ -52,6 +52,17 @@ public void getData(boolean isRefresh, String url) { } actorDetailInfoBean.setName(img.attr("alt")); Elements videoList = document.select(".figure_list._content_list"); + if (videoList.size() == 0) { + + // 之前的:http://v.qq.com/x/star/76698 + // http://v.qq.com/doki/star?dataonly=1&id=133698&fantuanid=14555 + StringBuilder stringBuilder = new StringBuilder("http://v.qq.com/doki/star?dataonly=1&fantuanid=14555&tabid=1"); + stringBuilder.append("&id=").append(url.substring(url.lastIndexOf("/") + 1, url.length())); + document = Jsoup.connect(stringBuilder.toString().trim()).get(); + videoList = document.select(".figure_list._content_list"); + } + + if (videoList.size() > 0) { List wrappedDetailBeans = new ArrayList<>(); for (Element item : @@ -76,6 +87,8 @@ public void getData(boolean isRefresh, String url) { } } actorDetailInfoBean.setActorVideoWrappedDetailBeanList(wrappedDetailBeans); + } else { + } return actorDetailInfoBean; }).observeOn(AndroidSchedulers.mainThread()) diff --git a/video/src/main/java/com/snew/video/mvp/qq/detail/QQVideoDetailPresenter.java b/video/src/main/java/com/snew/video/mvp/qq/detail/QQVideoDetailPresenter.java index 881f3bd..62c7629 100644 --- a/video/src/main/java/com/snew/video/mvp/qq/detail/QQVideoDetailPresenter.java +++ b/video/src/main/java/com/snew/video/mvp/qq/detail/QQVideoDetailPresenter.java @@ -212,7 +212,8 @@ private Observable getDetailDataForOne(String url) { return baseModel.getRepositoryManager().getApi(VideoApi.class) .postUrlInfo(tempUrl.substring(0, tempUrl.indexOf("?")) + "api.php", requestBody1) .map(qqVideoDetailBean1 -> qqVideoDetailBean1.getUrl()).subscribeOn(Schedulers.io()); - } else if (qqVideoDetailBean.getPlay().equals("normal")) { + } else if (qqVideoDetailBean.getPlay().equals("normal") + ||qqVideoDetailBean.getPlay().equals("hls")) { return Observable.just(qqVideoDetailBean.getUrl()); } } From 1355614e9c2a3708d65875785ad31f16cb62f124 Mon Sep 17 00:00:00 2001 From: lixiaoxiao Date: Fri, 4 Jan 2019 14:23:26 +0800 Subject: [PATCH 5/7] =?UTF-8?q?[feature]=E6=90=9C=E7=B4=A2=E7=83=AD?= =?UTF-8?q?=E6=A6=9C=E6=B7=BB=E5=8A=A0=E6=98=8E=E6=98=9F=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mvp/actor/ActorDetailInfoActivity.java | 6 ++++- .../video/mvp/search/SearchVideoActivity.java | 27 ++++++++++--------- .../mvp/search/hot/HotVideoListFragment.java | 17 +++++++----- .../java/com/snew/video/util/VideoUtil.java | 4 +++ 4 files changed, 34 insertions(+), 20 deletions(-) diff --git a/video/src/main/java/com/snew/video/mvp/actor/ActorDetailInfoActivity.java b/video/src/main/java/com/snew/video/mvp/actor/ActorDetailInfoActivity.java index f1bcde0..b776358 100644 --- a/video/src/main/java/com/snew/video/mvp/actor/ActorDetailInfoActivity.java +++ b/video/src/main/java/com/snew/video/mvp/actor/ActorDetailInfoActivity.java @@ -71,7 +71,11 @@ public static void start(Activity activity, String data) { public static void start(Activity activity, String data, ActivityOptionsCompat activityOptionsCompat) { Intent intent = new Intent(activity, ActorDetailInfoActivity.class); intent.putExtra(VideoUtil.DATA, data); - activity.startActivity(intent, activityOptionsCompat.toBundle()); + if (activityOptionsCompat != null) { + activity.startActivity(intent, activityOptionsCompat.toBundle()); + } else { + activity.startActivity(intent); + } } diff --git a/video/src/main/java/com/snew/video/mvp/search/SearchVideoActivity.java b/video/src/main/java/com/snew/video/mvp/search/SearchVideoActivity.java index a8a9426..2669d0e 100644 --- a/video/src/main/java/com/snew/video/mvp/search/SearchVideoActivity.java +++ b/video/src/main/java/com/snew/video/mvp/search/SearchVideoActivity.java @@ -367,19 +367,20 @@ private void updateView(HotVideoBean hotVideoBean) { // fragmentList.add(HotVideoListFragment.newInstance(list)); // // - // // 556 - // titleList.add(hotVideoBean.getData().getMapResult().get_$556().getChannelTitle()); - // list = new ArrayList<>(); - // for (HotVideoBean.DataBean.MapResultBean._$556Bean.ListInfoBeanXXXXXXXXXX item : - // hotVideoBean.getData().getMapResult().get_$556().getListInfo()) { - // HotVideoItemBean hotVideoItemBean = new HotVideoItemBean(); - // hotVideoItemBean.setId(item.getId()); - // hotVideoItemBean.setTitle(item.getTitle()); - // hotVideoItemBean.setVideoType(item.getDataType()); - // hotVideoItemBean.setUrl(VideoUtil.getParseUrl(item.getId(), VideoUtil.VIDEO_URL_TYPE_QQ)); - // list.add(hotVideoItemBean); - // } - // fragmentList.add(HotVideoListFragment.newInstance(list)); + // 556 + titleList.add(hotVideoBean.getData().getMapResult().get_$556().getChannelTitle()); + list = new ArrayList<>(); + for (HotVideoBean.DataBean.MapResultBean._$556Bean.ListInfoBeanXXXXXXXXXX item : + hotVideoBean.getData().getMapResult().get_$556().getListInfo()) { + HotVideoItemBean hotVideoItemBean = new HotVideoItemBean(); + hotVideoItemBean.setId(item.getId()); + hotVideoItemBean.setTitle(item.getTitle()); + hotVideoItemBean.setVideoType(item.getDataType()); + // http://v.qq.com/x/star/72862 + hotVideoItemBean.setUrl(("http://v.qq.com/x/star/" + item.getId()).trim()); + list.add(hotVideoItemBean); + } + fragmentList.add(HotVideoListFragment.newInstance(list)); // // // // 10001 diff --git a/video/src/main/java/com/snew/video/mvp/search/hot/HotVideoListFragment.java b/video/src/main/java/com/snew/video/mvp/search/hot/HotVideoListFragment.java index 6fae446..2ec52a8 100644 --- a/video/src/main/java/com/snew/video/mvp/search/hot/HotVideoListFragment.java +++ b/video/src/main/java/com/snew/video/mvp/search/hot/HotVideoListFragment.java @@ -12,6 +12,7 @@ import com.snew.video.base.VideoBaseFragment; import com.snew.video.bean.CommonVideoBean; import com.snew.video.bean.HotVideoItemBean; +import com.snew.video.mvp.actor.ActorDetailInfoActivity; import com.snew.video.mvp.qq.detail.QQVideoDetailActivity; import com.snew.video.util.VideoUtil; @@ -73,12 +74,16 @@ protected void initData() { @Override public void onItemClick(int position, View view) { HotVideoItemBean hotVideoItemBean = mHotVideoAdapter.getData(position); - CommonVideoBean commonVideoBean = new CommonVideoBean(); - commonVideoBean.setId(hotVideoItemBean.getId()); - commonVideoBean.setVideoType(hotVideoItemBean.getVideoType()); - commonVideoBean.setTitle(hotVideoItemBean.getTitle()); - commonVideoBean.setUrl(hotVideoItemBean.getUrl()); - QQVideoDetailActivity.start(getActivity(), commonVideoBean); + if (hotVideoItemBean.getVideoType()!=VideoUtil.VIDEO_TYPE_QQ_STAR) { + CommonVideoBean commonVideoBean = new CommonVideoBean(); + commonVideoBean.setId(hotVideoItemBean.getId()); + commonVideoBean.setVideoType(hotVideoItemBean.getVideoType()); + commonVideoBean.setTitle(hotVideoItemBean.getTitle()); + commonVideoBean.setUrl(hotVideoItemBean.getUrl()); + QQVideoDetailActivity.start(getActivity(), commonVideoBean); + }else { + ActorDetailInfoActivity.start(getActivity(),hotVideoItemBean.getUrl(),null); + } } }); } diff --git a/video/src/main/java/com/snew/video/util/VideoUtil.java b/video/src/main/java/com/snew/video/util/VideoUtil.java index 670e12a..b45a2d0 100644 --- a/video/src/main/java/com/snew/video/util/VideoUtil.java +++ b/video/src/main/java/com/snew/video/util/VideoUtil.java @@ -45,6 +45,10 @@ public class VideoUtil { public static final int VIDEO_TYPE_QQ_MV = 11; +// 明星 + public static final int VIDEO_TYPE_QQ_STAR=17; + + public static String getSignedValue(String md5) { JSEngine jsEngine = new JSEngine("vip.js"); return jsEngine.runScript(md5, "sign"); From 97be9961dc717f8d8ea41a417b93f8c161748028 Mon Sep 17 00:00:00 2001 From: lixiaoxiao Date: Mon, 7 Jan 2019 14:52:32 +0800 Subject: [PATCH 6/7] =?UTF-8?q?[fix]=E4=BF=AE=E5=A4=8D=E8=AE=A1=E6=AD=A5bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/music/mvp/main/MainActivity.java | 26 ++++++++++- .../com/example/chat/base/ConstantUtil.java | 1 + .../chat/mvp/step/RecordStepActivity.java | 26 +++++------ .../example/chat/mvp/step/StepDetector.java | 45 ++++++++++++++++--- .../com/example/chat/service/PollService.java | 15 ++----- .../main/res/layout/item_fragment_friends.xml | 2 +- commonlibrary/build.gradle | 5 +++ .../commonlibrary/BaseApplication.java | 7 +++ .../keeplive/service/JobSchedulerManager.java | 16 +++---- .../commonlibrary/utils/PermissionUtil.java | 7 +-- config.gradle | 4 +- .../mvp/main/ListenerFragment.java | 1 + 12 files changed, 107 insertions(+), 48 deletions(-) diff --git a/app/src/main/java/com/example/music/mvp/main/MainActivity.java b/app/src/main/java/com/example/music/mvp/main/MainActivity.java index 8a1eb3d..c1f8915 100644 --- a/app/src/main/java/com/example/music/mvp/main/MainActivity.java +++ b/app/src/main/java/com/example/music/mvp/main/MainActivity.java @@ -58,6 +58,8 @@ import com.example.commonlibrary.rxbus.RxBusManager; import com.example.commonlibrary.skin.SkinManager; import com.example.commonlibrary.utils.CommonLogger; +import com.example.commonlibrary.utils.PermissionPageUtils; +import com.example.commonlibrary.utils.PermissionUtil; import com.example.commonlibrary.utils.ToastUtils; import com.example.music.R; import com.example.music.mvp.center.CenterFragment; @@ -464,7 +466,29 @@ public void onOpenMenu() { public void onClick(View v) { int id = v.getId(); if (id == R.id.ll_menu_bottom_container) { - WeatherInfoActivity.start(this, mWeatherInfoBean); + + PermissionUtil.requestLocation(new PermissionUtil.RequestPermissionCallBack() { + @Override + public void onRequestPermissionSuccess() { + WeatherInfoActivity.start(MainActivity.this, mWeatherInfoBean); + CommonLogger.e("onRequestPermissionSuccess"); + ToastUtils.showShortToast("授权成功"); + } + + @Override + public void onRequestPermissionFailure() { + CommonLogger.e("onRequestPermissionFailure"); + ToastUtils.showShortToast("授权失败"); + showBaseDialog("权限跳转", "是否需要跳转到界面开启权限", "取消", "跳转" + , null, new View.OnClickListener() { + @Override + public void onClick(View v) { + PermissionPageUtils.jumpPermissionPage(MainActivity.this); + } + } + ); + } + }, this); } else if (id == R.id.rl_menu_head_layout) { UserDetailActivity.start(this, UserManager.getInstance().getCurrentUserObjectId(), ActivityOptionsCompat.makeSceneTransitionAnimation(this, Pair.create(avatar, "avatar") , Pair.create(signature, "signature"), Pair.create(nick, "name") diff --git a/chat/src/main/java/com/example/chat/base/ConstantUtil.java b/chat/src/main/java/com/example/chat/base/ConstantUtil.java index ede5044..3778c25 100644 --- a/chat/src/main/java/com/example/chat/base/ConstantUtil.java +++ b/chat/src/main/java/com/example/chat/base/ConstantUtil.java @@ -85,6 +85,7 @@ public class ConstantUtil { public static final int BASE_TYPE_SEND_VERIFY_CODE = 1; public static final int BASE_TYPE_PHONE_LOGIN = 2; public static final String NAME = "name"; + public static final String STEP = "step"; /** * 外部缓存数据的目录 */ diff --git a/chat/src/main/java/com/example/chat/mvp/step/RecordStepActivity.java b/chat/src/main/java/com/example/chat/mvp/step/RecordStepActivity.java index ee85b97..d68c2bb 100644 --- a/chat/src/main/java/com/example/chat/mvp/step/RecordStepActivity.java +++ b/chat/src/main/java/com/example/chat/mvp/step/RecordStepActivity.java @@ -5,12 +5,11 @@ import com.example.chat.R; import com.example.chat.base.ChatBaseActivity; +import com.example.chat.base.ConstantUtil; import com.example.chat.events.StepEvent; import com.example.chat.manager.MsgManager; -import com.example.chat.manager.UserDBManager; -import com.example.chat.util.TimeUtil; import com.example.chat.view.StepArcView; -import com.example.commonlibrary.bean.chat.StepData; +import com.example.commonlibrary.BaseApplication; import com.example.commonlibrary.customview.ToolBarOption; import com.example.commonlibrary.rxbus.RxBusManager; @@ -54,16 +53,13 @@ protected void initView() { @Override protected void initData() { - addDisposable(RxBusManager.getInstance().registerEvent(StepEvent.class - , stepEvent -> stepArcView.setCurrentCount(10000,stepEvent.getStepCount()))); - StepData stepData= UserDBManager.getInstance().getStepData(TimeUtil - .getTime(System.currentTimeMillis(),"yyyy-MM-dd")); - if (stepData != null) { - stepArcView.setCurrentCount(10000,stepData.getStepCount()); - }else { - stepArcView.setCurrentCount(10000,0); - } - ToolBarOption toolBarOption=new ToolBarOption(); + addDisposable(RxBusManager.getInstance().registerEvent(StepEvent.class + , stepEvent -> stepArcView.setCurrentCount(10000, stepEvent.getStepCount()))); + // StepData stepData= UserDBManager.getInstance().getStepData(TimeUtil + // .getTime(System.currentTimeMillis(),"yyyy-MM-dd")); + stepArcView.setCurrentCount(10000, BaseApplication.getAppComponent() + .getSharedPreferences().getInt(ConstantUtil.STEP, 0)); + ToolBarOption toolBarOption = new ToolBarOption(); toolBarOption.setTitle("计步器"); toolBarOption.setNeedNavigation(true); setToolBar(toolBarOption); @@ -76,8 +72,8 @@ protected void onStop() { MsgManager.getInstance().saveCurrentStep(stepArcView.getStepNumber()); } - public static void start(Activity activity){ - Intent intent=new Intent(activity,RecordStepActivity.class); + public static void start(Activity activity) { + Intent intent = new Intent(activity, RecordStepActivity.class); activity.startActivity(intent); } } diff --git a/chat/src/main/java/com/example/chat/mvp/step/StepDetector.java b/chat/src/main/java/com/example/chat/mvp/step/StepDetector.java index 360497e..4aae09a 100644 --- a/chat/src/main/java/com/example/chat/mvp/step/StepDetector.java +++ b/chat/src/main/java/com/example/chat/mvp/step/StepDetector.java @@ -1,8 +1,15 @@ package com.example.chat.mvp.step; +import android.content.SharedPreferences; import android.hardware.Sensor; import android.hardware.SensorEvent; +import com.example.chat.base.ConstantUtil; +import com.example.chat.manager.UserManager; +import com.example.commonlibrary.BaseApplication; +import com.example.commonlibrary.bean.chat.StepData; +import com.example.commonlibrary.utils.TimeUtil; + public class StepDetector { @@ -43,13 +50,37 @@ public class StepDetector { private CallBack callBack; - public StepDetector(int stepCount, CallBack callBack) { - this.callBack = callBack; - this.stepCount = stepCount; + public StepDetector(CallBack callBack) { + this.callBack = new CallBack() { + @Override + public void countStep(int stepCount) { + SharedPreferences sharedPreferences = BaseApplication.getAppComponent().getSharedPreferences(); + String day = TimeUtil.getTime(System.currentTimeMillis(), "yyyy-MM-dd"); + SharedPreferences.Editor editor = sharedPreferences.edit(); + if (sharedPreferences.getBoolean(day, true)) { + editor.putBoolean(day, false).putInt(ConstantUtil.STEP, 0).apply(); + StepData stepData = new StepData(); + stepData.setTime(TimeUtil.getTime(System.currentTimeMillis() - 24 * 60 * 60 * 1000L, "yyyy-MM-dd")); + stepData.setUid(UserManager.getInstance().getCurrentUserObjectId()); + stepData.setStepCount(StepDetector.this.stepCount); + BaseApplication.getAppComponent().getDaoSession().getStepDataDao().insertOrReplace(stepData); + StepDetector.this.stepCount = 0; + StepDetector.this.systemStepCount = 0; + StepDetector.this.tempStep = 0; + stepCount = 0; + } else { + editor.putInt(ConstantUtil.STEP, stepCount).apply(); + } + if (callBack != null) { + callBack.countStep(stepCount); + } + } + }; + this.stepCount = BaseApplication.getAppComponent().getSharedPreferences().getInt(ConstantUtil.STEP, 0); } - private int stepCount = 0; + private int stepCount; public void setStepCount(int stepCount) { @@ -63,6 +94,8 @@ public int getStepCount() { } private int systemStepCount; + private int tempStep = 0; + public void dealSensorEvent(SensorEvent sensorEvent) { if (sensorEvent.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { @@ -72,7 +105,9 @@ public void dealSensorEvent(SensorEvent sensorEvent) { if (systemStepCount == 0) { systemStepCount = step; } else { - stepCount = step - systemStepCount; + int add = step - systemStepCount - tempStep; + stepCount += add; + tempStep = step - systemStepCount; callBack.countStep(stepCount); } } else if (sensorEvent.sensor.getType() == Sensor.TYPE_STEP_DETECTOR) { diff --git a/chat/src/main/java/com/example/chat/service/PollService.java b/chat/src/main/java/com/example/chat/service/PollService.java index 62958ed..a0a85b7 100644 --- a/chat/src/main/java/com/example/chat/service/PollService.java +++ b/chat/src/main/java/com/example/chat/service/PollService.java @@ -160,16 +160,7 @@ private void dealStep() { if (sensor == null) { sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); } - StepData stepData = null; - if (UserManager.getInstance().getCurrentUserObjectId() != null) { - stepData = UserDBManager.getInstance() - .getStepData(TimeUtil.getTime(System.currentTimeMillis(), "yyyy-MM-dd")); - } - int count = 0; - if (stepData != null) { - count = stepData.getStepCount(); - } - stepDetector = new StepDetector(count, stepCount -> { + stepDetector = new StepDetector(stepCount -> { CommonLogger.e("step:" + stepCount); RxBusManager.getInstance().post(new StepEvent(stepCount)); }); @@ -253,7 +244,7 @@ private void dealWork() { if (UserManager.getInstance().getCurrentUserObjectId() == null) { return; } - LogUtil.e("拉取单聊消息"); + CommonLogger.e("拉取单聊消息"); BmobQuery query = new BmobQuery<>(); query.addWhereEqualTo(ConstantUtil.TAG_TO_ID, UserManager.getInstance().getCurrentUserObjectId()); query.addWhereEqualTo(ConstantUtil.TAG_MESSAGE_SEND_STATUS, ConstantUtil.SEND_STATUS_SUCCESS); @@ -265,7 +256,7 @@ private void dealWork() { @Override public void done(List list, BmobException e) { if (e == null) { - LogUtil.e("1拉取单聊消息成功"); + LogUtil.e("拉取单聊消息成功"); if (list != null && list.size() > 0) { for (ChatMessage item : list) { diff --git a/chat/src/main/res/layout/item_fragment_friends.xml b/chat/src/main/res/layout/item_fragment_friends.xml index acbb26c..de73837 100644 --- a/chat/src/main/res/layout/item_fragment_friends.xml +++ b/chat/src/main/res/layout/item_fragment_friends.xml @@ -32,7 +32,7 @@ android:id="@+id/iv_item_fragment_friends_avatar" android:layout_width="50dp" android:layout_height="50dp" - android:src="@drawable/head"/> + android:background="@drawable/custom_drawable_place_holder"/> = 24) { - builder.setMinimumLatency(JobInfo.DEFAULT_INITIAL_BACKOFF_MILLIS); //执行的最小延迟时间 - builder.setOverrideDeadline(JobInfo.DEFAULT_INITIAL_BACKOFF_MILLIS); //执行的最长延时时间 - builder.setMinimumLatency(JobInfo.DEFAULT_INITIAL_BACKOFF_MILLIS); - builder.setBackoffCriteria(JobInfo.DEFAULT_INITIAL_BACKOFF_MILLIS, JobInfo.BACKOFF_POLICY_LINEAR);//线性重试方案 - } else { - builder.setPeriodic(JobInfo.DEFAULT_INITIAL_BACKOFF_MILLIS); - } builder.setPersisted(true); // 设置设备重启时,执行该任务 builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY); builder.setRequiresCharging(true); // 当插入充电器,执行该任务 @@ -75,7 +68,12 @@ public void startJobScheduler(String className) { builder.setExtras(persistableBundle); JobInfo info = builder.build(); //开始定时执行该系统任务 - jobScheduleer.schedule(info); + int result = jobScheduleer.schedule(info); + if (result == JobScheduler.RESULT_FAILURE) { + CommonLogger.e("jobService启动失败"); + } else { + CommonLogger.e("jobService启动成功"); + } } @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) diff --git a/commonlibrary/src/main/java/com/example/commonlibrary/utils/PermissionUtil.java b/commonlibrary/src/main/java/com/example/commonlibrary/utils/PermissionUtil.java index 299632c..12f65b9 100644 --- a/commonlibrary/src/main/java/com/example/commonlibrary/utils/PermissionUtil.java +++ b/commonlibrary/src/main/java/com/example/commonlibrary/utils/PermissionUtil.java @@ -2,13 +2,14 @@ import android.Manifest; import android.annotation.SuppressLint; -import android.app.Activity; import com.tbruyelle.rxpermissions2.RxPermissions; import java.util.ArrayList; import java.util.List; +import androidx.fragment.app.FragmentActivity; + /** * Created by COOTEK on 2017/8/4. @@ -22,7 +23,7 @@ public class PermissionUtil { private PermissionUtil() { } - public static void requestTakePhoto(Activity activity, RequestPermissionCallBack callBack) { + public static void requestTakePhoto(FragmentActivity activity, RequestPermissionCallBack callBack) { requestPermission(callBack,new RxPermissions(activity),Manifest.permission.CAMERA); } @@ -76,7 +77,7 @@ public static void externalStorage(RequestPermissionCallBack requestPermission, } - public static void requestLocation(RequestPermissionCallBack requestPermissionCallBack, Activity activity){ + public static void requestLocation(RequestPermissionCallBack requestPermissionCallBack, FragmentActivity activity){ RxPermissions rxPermissions=new RxPermissions(activity); requestPermission(requestPermissionCallBack, rxPermissions, Manifest.permission.ACCESS_FINE_LOCATION ,Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS diff --git a/config.gradle b/config.gradle index ca138d5..d685652 100644 --- a/config.gradle +++ b/config.gradle @@ -37,7 +37,7 @@ ext { rxjava_adapter = "2.3.0", gson_converter = "2.3.0", scalars_converter = "2.3.0", - rxpermission = "0.9.4", + rxpermission = "0.10.2", eventbus = "3.0.0", support_v4 = "25.4.0", okhttp3 = "3.3.1", @@ -68,7 +68,7 @@ ext { retrofit_adapter_rxjava2 : "com.squareup.retrofit2:adapter-rxjava2:$rootProject.rxjava_adapter", retrofit_converter_gson : "com.squareup.retrofit2:converter-gson:$rootProject.gson_converter", retrofit_converter_scalars: "com.squareup.retrofit2:converter-scalars:$rootProject.scalars_converter", - rxpermission : "com.tbruyelle.rxpermissions2:rxpermissions:$rootProject.rxpermission@aar", + rxpermission : "com.github.tbruyelle:rxpermissions:$rootProject.rxpermission", rxjava2 : "io.reactivex.rxjava2:rxjava:$rootProject.rxjava", rxjava2_android : "io.reactivex.rxjava2:rxandroid:$rootProject.rxjava_android", rxlifecycle2 : "com.trello.rxlifecycle3:rxlifecycle:$rootProject.rxlifecycle", diff --git a/music/src/main/java/com/example/cootek/newfastframe/mvp/main/ListenerFragment.java b/music/src/main/java/com/example/cootek/newfastframe/mvp/main/ListenerFragment.java index 0b5cfe8..3cf02bc 100644 --- a/music/src/main/java/com/example/cootek/newfastframe/mvp/main/ListenerFragment.java +++ b/music/src/main/java/com/example/cootek/newfastframe/mvp/main/ListenerFragment.java @@ -63,6 +63,7 @@ public void onClick(View v) { addBackStackFragment(RecentPlayListFragment.newInstance(MusicUtil.FROM_LOCAL)); } else if (id == R.id.tv_fragment_music_repository) { // addBackStackFragment(RecommendFragment.newInstance()); +// addBackStackFragment(SingerListFragment.newInstance(null)); ToastUtils.showShortToast("推荐界面后期开发"); } else if (id == R.id.tv_fragment_listener_recent) { From b8d2afd0829d9d8acfb38d9fd4204ba59af4ed64 Mon Sep 17 00:00:00 2001 From: HelloChenJinJun <1981367757@qq.com> Date: Wed, 6 Jan 2021 16:43:19 +0800 Subject: [PATCH 7/7] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 6ff84b6..086e6ef 100644 --- a/README.md +++ b/README.md @@ -263,8 +263,6 @@ https://github.com/youlookwhat/CloudReader ## 以上的vip电影、音乐和新闻模块上的资源都是从网上收集过来的,只用于提供学习交流,切勿商用!!!如有侵权,请联系作者将其删除。 - QQ:1981367757 - WX:chen17771420070