diff --git a/app/build.gradle b/app/build.gradle index a6c29a1..7824082 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -17,8 +17,8 @@ android { minSdkVersion 23 targetSdkVersion 29 - versionCode 35 - versionName "1.3.4" + versionCode 36 + versionName "1.3.5" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" diff --git a/app/src/main/java/com/xwad/os/activity/home/HomeActivity.java b/app/src/main/java/com/xwad/os/activity/home/HomeActivity.java index 7b3078b..96b5b94 100644 --- a/app/src/main/java/com/xwad/os/activity/home/HomeActivity.java +++ b/app/src/main/java/com/xwad/os/activity/home/HomeActivity.java @@ -145,9 +145,21 @@ public class HomeActivity extends BaseMvvmActivity tabBeanLists = new ArrayList<>(); private List fragments = new ArrayList<>(); + private MineFragment mMineFragment; + private AiFragment mAiFragment; + private ChineseFragment mChineseFragment; + private MathFragment mMathFragment; + private EnglishFragment mEnglishFragment; + private ComplexFragment mComplexFragment; + private ReadFragment mReadFragment; + private SztzFragment mSztzFragment; + private AppFragment mAppFragment; + + private int defaultCurrent = 0; private TabAdapter tabAdapter; + private TabFragmentAdapter mTabFragmentAdapter; private static final int REQUEST_CODE_POST_NOTIFICATIONS = 100; @@ -192,6 +204,90 @@ public class HomeActivity extends BaseMvvmActivity() { + @Override + public void onChanged(UserExpireInfo userExpireInfo) { + if (userExpireInfo == null) { +// mViewDataBinding.tvExpireAt.setText(); + } else { + + } + } + }); + +// mViewModel.getUserExpireInfo(); } @Override diff --git a/app/src/main/java/com/xwad/os/activity/login/result/LoginSuccessfulViewModel.java b/app/src/main/java/com/xwad/os/activity/login/result/LoginSuccessfulViewModel.java index 09df47d..e7d2592 100644 --- a/app/src/main/java/com/xwad/os/activity/login/result/LoginSuccessfulViewModel.java +++ b/app/src/main/java/com/xwad/os/activity/login/result/LoginSuccessfulViewModel.java @@ -10,6 +10,7 @@ import com.trello.rxlifecycle4.android.ActivityEvent; import com.xwad.os.base.mvvm.BaseViewModel; import com.xwad.os.bean.AppInfo; import com.xwad.os.bean.BaseResponse; +import com.xwad.os.bean.UserExpireInfo; import com.xwad.os.config.CommonConfig; import com.xwad.os.databinding.ActivityLoginSuccessfulBinding; import com.xwad.os.jxw.JxwPackageConfig; @@ -41,6 +42,40 @@ public class LoginSuccessfulViewModel extends BaseViewModel mUserExpireInfoData = new MutableLiveData<>(); + + public void getUserExpireInfo() { + NetInterfaceManager.getInstance().getUserExpireInfoControl() + .compose(RxLifecycle.bindUntilEvent(getLifecycle(), ActivityEvent.DESTROY)) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + Log.e("getUserExpireInfo", "onSubscribe: "); + } + + @Override + public void onNext(@NonNull BaseResponse userInfoBaseResponse) { + Log.e("getUserExpireInfo", "onNext: " + userInfoBaseResponse); + if (userInfoBaseResponse.code == 200) { + UserExpireInfo userExpireInfo = userInfoBaseResponse.data; + mUserExpireInfoData.setValue(userExpireInfo); + } else { + mUserExpireInfoData.setValue(null); + } + } + + @Override + public void onError(@NonNull Throwable e) { + Log.e("getUserExpireInfo", "onError: " + e.getMessage()); + } + + @Override + public void onComplete() { + Log.e("getUserExpireInfo", "onComplete: "); + } + }); + } + public MutableLiveData mCompleteLiveData = new MutableLiveData<>(); public void getAdminAppDownload() { diff --git a/app/src/main/java/com/xwad/os/bean/UserExpireInfo.java b/app/src/main/java/com/xwad/os/bean/UserExpireInfo.java new file mode 100644 index 0000000..b7d7c4d --- /dev/null +++ b/app/src/main/java/com/xwad/os/bean/UserExpireInfo.java @@ -0,0 +1,26 @@ +package com.xwad.os.bean; + +import java.io.Serializable; + +public class UserExpireInfo implements Serializable { + private static final long serialVersionUID = 2733370887454572840L; + + String expire_at; + int year; + + public String getExpire_at() { + return expire_at; + } + + public void setExpire_at(String expire_at) { + this.expire_at = expire_at; + } + + public int getYear() { + return year; + } + + public void setYear(int year) { + this.year = year; + } +} diff --git a/app/src/main/java/com/xwad/os/network/NetInterfaceManager.java b/app/src/main/java/com/xwad/os/network/NetInterfaceManager.java index e5cb62f..ae123de 100644 --- a/app/src/main/java/com/xwad/os/network/NetInterfaceManager.java +++ b/app/src/main/java/com/xwad/os/network/NetInterfaceManager.java @@ -43,6 +43,7 @@ import com.xwad.os.bean.SnInfo; import com.xwad.os.bean.StudyStatBean; import com.xwad.os.bean.SystemSettings; import com.xwad.os.bean.UserAvatarInfo; +import com.xwad.os.bean.UserExpireInfo; import com.xwad.os.bean.UserInfo; import com.xwad.os.bean.VipInfo; import com.xwad.os.bean.WhoisBean; @@ -507,6 +508,13 @@ public class NetInterfaceManager { .observeOn(AndroidSchedulers.mainThread()); } + public Observable> getUserExpireInfoControl() { + return mRetrofit.create(UserApi.class) + .getUserExpireInfo(getToken()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()); + } + public Observable>> getVipListControl() { return mRetrofit.create(UserApi.class) .getVipList(getToken(), BuildConfig.APPLICATION_ID) diff --git a/app/src/main/java/com/xwad/os/network/UrlAddress.java b/app/src/main/java/com/xwad/os/network/UrlAddress.java index ffa68da..514a5fa 100644 --- a/app/src/main/java/com/xwad/os/network/UrlAddress.java +++ b/app/src/main/java/com/xwad/os/network/UrlAddress.java @@ -20,6 +20,8 @@ public class UrlAddress { /*用户会员信息(用于判断是否有VIP)*/ public static final String USER_INFO = "user/info"; + /*获取设备过期时间*/ + public static final String USER_expire_info = "user/expire-info"; /*套餐可选列表*/ public static final String VIP_LIST = "user/vip-list"; /*购买VIP下订单*/ diff --git a/app/src/main/java/com/xwad/os/network/api/UserApi.java b/app/src/main/java/com/xwad/os/network/api/UserApi.java index eb2bcdf..d4de4b2 100644 --- a/app/src/main/java/com/xwad/os/network/api/UserApi.java +++ b/app/src/main/java/com/xwad/os/network/api/UserApi.java @@ -4,6 +4,7 @@ import com.xwad.os.bean.BaseResponse; import com.xwad.os.bean.CodeBean; import com.xwad.os.bean.OrderInfo; import com.xwad.os.bean.PayInfo; +import com.xwad.os.bean.UserExpireInfo; import com.xwad.os.bean.UserInfo; import com.xwad.os.bean.VipInfo; import com.xwad.os.network.UrlAddress; @@ -24,6 +25,11 @@ public interface UserApi { @Header("token") String token ); + @GET(UrlAddress.USER_expire_info) + Observable> getUserExpireInfo( + @Header("token") String token + ); + @GET(UrlAddress.VIP_LIST) Observable>> getVipList( @Header("token") String token, diff --git a/app/src/main/res/drawable-nodpi/icon_wd_cr.png b/app/src/main/res/drawable-nodpi/icon_wd_cr.png index 4d83da4..71b0804 100644 Binary files a/app/src/main/res/drawable-nodpi/icon_wd_cr.png and b/app/src/main/res/drawable-nodpi/icon_wd_cr.png differ diff --git a/app/src/main/res/layout/activity_login_successful.xml b/app/src/main/res/layout/activity_login_successful.xml index 38c705e..459ac44 100644 --- a/app/src/main/res/layout/activity_login_successful.xml +++ b/app/src/main/res/layout/activity_login_successful.xml @@ -87,6 +87,7 @@ android:layout_weight="1"> 如果您的许可证从经销商手中获得,您可以在本页下方的对话框中输入许可证密钥,验证成功后,即可实现许可证的开通绑定,无需重复支付 注意:请妥善保管您的许可证密钥,切勿遗失;\n许可证属于数字化虚拟商品,暂不支持退换,感谢您的理解与支持 - 本机已激活成功,系统终身免费,谢谢您的使用。 + 本机已开通成功,欢迎使用,点击确定开启学习之旅! 有效期:%d年 二维码过期时间%s