update:2020.12.30

fix:发版
add:
This commit is contained in:
2020-12-30 10:27:00 +08:00
parent 80418ce5c3
commit 7ef514e07b
16 changed files with 138 additions and 27 deletions

View File

@@ -17,8 +17,8 @@ android {
applicationId "com.appstore.uiui" applicationId "com.appstore.uiui"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 29 targetSdkVersion 29
versionCode 24 versionCode 27
versionName "1.2.4" versionName "1.2.7"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
//极光 //极光
ndk { ndk {

View File

@@ -13,11 +13,8 @@ import android.provider.Settings;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import com.appstore.uiui.jpush.Logger; import com.appstore.uiui.jpush.Logger;
import com.appstore.uiui.network.OKGO;
import com.appstore.uiui.receiver.AppManagerReceiver; import com.appstore.uiui.receiver.AppManagerReceiver;
import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.LogUtils; import com.appstore.uiui.utils.LogUtils;
import com.appstore.uiui.utils.SPUtils;
import com.appstore.uiui.utils.ToastUtil; import com.appstore.uiui.utils.ToastUtil;
import com.arialyy.aria.core.Aria; import com.arialyy.aria.core.Aria;
import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.SmartRefreshLayout;
@@ -32,8 +29,6 @@ import com.scwang.smartrefresh.layout.header.ClassicsHeader;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import java.io.File;
import cn.jpush.android.api.CustomMessage; import cn.jpush.android.api.CustomMessage;
import cn.jpush.android.api.JPushInterface; import cn.jpush.android.api.JPushInterface;

View File

@@ -15,8 +15,6 @@ import com.appstore.uiui.adapter.AppAdapter;
import com.appstore.uiui.base.BaseActivity; import com.appstore.uiui.base.BaseActivity;
import com.appstore.uiui.base.RefreshManager; import com.appstore.uiui.base.RefreshManager;
import com.appstore.uiui.bean.AppInfo; import com.appstore.uiui.bean.AppInfo;
import com.appstore.uiui.network.OKGO;
import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.SPUtils; import com.appstore.uiui.utils.SPUtils;
import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout;

View File

@@ -30,17 +30,17 @@ import com.appstore.uiui.bean.AppInfo;
import com.appstore.uiui.bean.BaseResponse; import com.appstore.uiui.bean.BaseResponse;
import com.appstore.uiui.bean.UserInfo; import com.appstore.uiui.bean.UserInfo;
import com.appstore.uiui.fragment.FeaturedFragment; import com.appstore.uiui.fragment.FeaturedFragment;
import com.appstore.uiui.fragment.KindFragment;
import com.appstore.uiui.fragment.ManageFragment; import com.appstore.uiui.fragment.ManageFragment;
import com.appstore.uiui.jpush.ExampleUtil; import com.appstore.uiui.jpush.ExampleUtil;
import com.appstore.uiui.jpush.LocalBroadcastManager; import com.appstore.uiui.jpush.LocalBroadcastManager;
import com.appstore.uiui.jpush.TagAliasOperatorHelper; import com.appstore.uiui.jpush.TagAliasOperatorHelper;
import com.appstore.uiui.network.NetWorkManager; import com.appstore.uiui.network.NetWorkManager;
import com.appstore.uiui.network.OKGO;
import com.appstore.uiui.network.api.QueryAllApp; import com.appstore.uiui.network.api.QueryAllApp;
import com.appstore.uiui.network.api.SNInfo; import com.appstore.uiui.network.api.SNInfo;
import com.appstore.uiui.service.GuardService;
import com.appstore.uiui.service.InitJpushServer;
import com.appstore.uiui.service.MyDownloadService; import com.appstore.uiui.service.MyDownloadService;
import com.appstore.uiui.utils.ApkUtils; import com.appstore.uiui.service.StepService;
import com.appstore.uiui.utils.LogUtils; import com.appstore.uiui.utils.LogUtils;
import com.appstore.uiui.utils.SPUtils; import com.appstore.uiui.utils.SPUtils;
import com.appstore.uiui.utils.ToastUtil; import com.appstore.uiui.utils.ToastUtil;
@@ -101,6 +101,14 @@ public class MainActivity extends BaseActivity {
// pm.setApplicationEnabledSetting("com.tencent.qqmusic", PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0); // pm.setApplicationEnabledSetting("com.tencent.qqmusic", PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);
startService(new Intent(MainActivity.this, MyDownloadService.class)); startService(new Intent(MainActivity.this, MyDownloadService.class));
CheckUpdateBySNinfo(); CheckUpdateBySNinfo();
starService();
}
private void starService() {
startService(new Intent(this, GuardService.class));
startService(new Intent(this, StepService.class));
startService(new Intent(this, InitJpushServer.class));
startService(new Intent(this, MyDownloadService.class));
} }
@Override @Override

View File

@@ -15,8 +15,6 @@ import com.appstore.uiui.R;
import com.appstore.uiui.adapter.AppAdapter; import com.appstore.uiui.adapter.AppAdapter;
import com.appstore.uiui.base.BaseActivity; import com.appstore.uiui.base.BaseActivity;
import com.appstore.uiui.bean.AppInfo; import com.appstore.uiui.bean.AppInfo;
import com.appstore.uiui.network.OKGO;
import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.LogUtils; import com.appstore.uiui.utils.LogUtils;
import java.util.ArrayList; import java.util.ArrayList;

View File

@@ -27,10 +27,8 @@ import com.appstore.uiui.bean.AppInfos;
import com.appstore.uiui.bean.BaseResponse; import com.appstore.uiui.bean.BaseResponse;
import com.appstore.uiui.bean.ImageUrl; import com.appstore.uiui.bean.ImageUrl;
import com.appstore.uiui.network.NetWorkManager; import com.appstore.uiui.network.NetWorkManager;
import com.appstore.uiui.network.OKGO;
import com.appstore.uiui.network.api.BannerImage; import com.appstore.uiui.network.api.BannerImage;
import com.appstore.uiui.network.api.QueryAllApp; import com.appstore.uiui.network.api.QueryAllApp;
import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.LogUtils; import com.appstore.uiui.utils.LogUtils;
import com.appstore.uiui.utils.Utils; import com.appstore.uiui.utils.Utils;
import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.SmartRefreshLayout;
@@ -44,7 +42,6 @@ import com.zhpan.bannerview.utils.BannerUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;

View File

@@ -19,7 +19,6 @@ import com.appstore.uiui.adapter.KindAdapter;
import com.appstore.uiui.base.BaseFragment; import com.appstore.uiui.base.BaseFragment;
import com.appstore.uiui.base.RefreshManager; import com.appstore.uiui.base.RefreshManager;
import com.appstore.uiui.bean.Kind; import com.appstore.uiui.bean.Kind;
import com.appstore.uiui.network.OKGO;
import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener; import com.scwang.smartrefresh.layout.listener.OnRefreshListener;

View File

@@ -26,7 +26,6 @@ import com.appstore.uiui.base.LazyLoadFragment;
import com.appstore.uiui.bean.AppInfo; import com.appstore.uiui.bean.AppInfo;
import com.appstore.uiui.bean.LocalApp; import com.appstore.uiui.bean.LocalApp;
import com.appstore.uiui.bean.UpdateAppInfo; import com.appstore.uiui.bean.UpdateAppInfo;
import com.appstore.uiui.network.OKGO;
import com.appstore.uiui.utils.ApkUtils; import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.ToastUtil; import com.appstore.uiui.utils.ToastUtil;

View File

@@ -16,8 +16,6 @@ import com.appstore.uiui.adapter.AppAdapter;
import com.appstore.uiui.base.LazyLoadFragment; import com.appstore.uiui.base.LazyLoadFragment;
import com.appstore.uiui.base.RefreshManager; import com.appstore.uiui.base.RefreshManager;
import com.appstore.uiui.bean.AppInfo; import com.appstore.uiui.bean.AppInfo;
import com.appstore.uiui.network.OKGO;
import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.LogUtils; import com.appstore.uiui.utils.LogUtils;
import com.scwang.smartrefresh.layout.SmartRefreshLayout; import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.api.RefreshLayout;

View File

@@ -1,19 +1,24 @@
package com.appstore.uiui.network; package com.appstore.uiui.network;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Handler; import android.os.Handler;
import android.os.Message; import android.os.Message;
import android.util.Log; import android.util.Log;
import androidx.annotation.NonNull;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.appstore.uiui.BuildConfig;
import com.appstore.uiui.TextCode.MessageWhat; import com.appstore.uiui.TextCode.MessageWhat;
import com.appstore.uiui.bean.AppInfo; import com.appstore.uiui.bean.AppInfo;
import com.appstore.uiui.bean.BaseResponse;
import com.appstore.uiui.bean.bannerImage; import com.appstore.uiui.bean.bannerImage;
import com.appstore.uiui.network.URLs.UrlAddress; import com.appstore.uiui.network.URLs.UrlAddress;
import com.appstore.uiui.network.api.NewestAppUpdate;
import com.appstore.uiui.network.api.SNInfo; import com.appstore.uiui.network.api.SNInfo;
import com.appstore.uiui.utils.FileUtils;
import com.appstore.uiui.utils.LogUtils; import com.appstore.uiui.utils.LogUtils;
import com.appstore.uiui.utils.SPUtils; import com.appstore.uiui.utils.SPUtils;
import com.appstore.uiui.utils.ToastUtil; import com.appstore.uiui.utils.ToastUtil;
@@ -25,15 +30,83 @@ import java.util.List;
import io.reactivex.Observer; import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable; import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers; import io.reactivex.schedulers.Schedulers;
public class OKGO { public class HTTPInterface {
private static final int GET_ALL_APPINFO = 0; private static final int GET_ALL_APPINFO = 0;
private static final int GET_USERINFO = 1; private static final int GET_USERINFO = 1;
private static final int GET_SORTAPP = 2; private static final int GET_SORTAPP = 2;
public static void checkUpdate(final Context context, String packageName, String versionCode) {
NewestAppUpdate newestAppUpdate = NetWorkManager.getNewestAppUpdateControl();
newestAppUpdate.getAppUpdate(packageName, versionCode)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseResponse<AppInfo>>() {
@Override
public void onSubscribe(@io.reactivex.annotations.NonNull Disposable d) {
}
@Override
public void onNext(@io.reactivex.annotations.NonNull BaseResponse<AppInfo> appInfoBaseResponse) {
int code = appInfoBaseResponse.code;
if (code == 200) {
AppInfo appInfo = appInfoBaseResponse.data;
if (null != appInfo) {
JSONObject jsonObject = (JSONObject) JSON.toJSON(appInfo);
FileUtils.ariaDownload(context, appInfo.getApp_url(), jsonObject);
}
Log.e("checkUpdate", "update now");
} else {
Log.e("checkUpdate", "not find update");
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("checkUpdate", "onError: " + e.getMessage());
}
@Override
public void onComplete() {
}
});
}
public static void checkUpdate(Context context) {
String packageName = BuildConfig.APPLICATION_ID;
String versionCode = String.valueOf(BuildConfig.VERSION_CODE);
checkUpdate(context, packageName, versionCode);
}
public static void checkUpdate(Context context, String packageName) {
PackageManager pm = context.getPackageManager();
PackageInfo info = null;
try {
info = pm.getPackageInfo(packageName, 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if (null != info) {
long appVersionCode;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
appVersionCode = info.getLongVersionCode();
} else {
appVersionCode = info.versionCode;
}
checkUpdate(context, packageName, String.valueOf(appVersionCode));
} else {
checkUpdate(context, packageName, "0");
}
}
// private Handler mhandler = new Handler() { // private Handler mhandler = new Handler() {
// @Override // @Override
// public void handleMessage(@NonNull Message msg) { // public void handleMessage(@NonNull Message msg) {

View File

@@ -5,6 +5,7 @@ import android.os.Environment;
import com.appstore.uiui.network.URLs.UrlAddress; import com.appstore.uiui.network.URLs.UrlAddress;
import com.appstore.uiui.network.api.BannerImage; import com.appstore.uiui.network.api.BannerImage;
import com.appstore.uiui.network.api.DownloadApp; import com.appstore.uiui.network.api.DownloadApp;
import com.appstore.uiui.network.api.NewestAppUpdate;
import com.appstore.uiui.network.api.QueryAllApp; import com.appstore.uiui.network.api.QueryAllApp;
import com.appstore.uiui.network.api.SNInfo; import com.appstore.uiui.network.api.SNInfo;
@@ -46,6 +47,7 @@ public class NetWorkManager {
private static QueryAllApp queryAllAppControl; private static QueryAllApp queryAllAppControl;
private static BannerImage bannerImageControl; private static BannerImage bannerImageControl;
private static DownloadApp downloadAppControl; private static DownloadApp downloadAppControl;
private static NewestAppUpdate newestAppUpdateControl;
public static SNInfo getuserInfoControl() { public static SNInfo getuserInfoControl() {
@@ -100,4 +102,17 @@ public class NetWorkManager {
return downloadAppControl; return downloadAppControl;
} }
public static NewestAppUpdate getNewestAppUpdateControl() {
if (null == newestAppUpdateControl) {
Retrofit retrofit = new Retrofit.Builder()
.client(client)
.baseUrl(ROOT_URL)
.addConverterFactory(gsonConverterFactory)
.addCallAdapterFactory(rxJavaCallAdapterFactory)
.build();
newestAppUpdateControl = retrofit.create(NewestAppUpdate.class);
}
return newestAppUpdateControl;
}
} }

View File

@@ -27,4 +27,6 @@ public class UrlAddress {
//获取应用分类 //获取应用分类
public final static String SEND_DOWNLOADAPP = ROOT_URL + "app/downloadApp"; public final static String SEND_DOWNLOADAPP = ROOT_URL + "app/downloadApp";
public final static String GET_NEWESTAPPUPDATE = ROOT_URL + "app/newestAppUpdate";
//根据包名获取更新
} }

View File

@@ -0,0 +1,19 @@
package com.appstore.uiui.network.api;
import com.appstore.uiui.bean.AppInfo;
import com.appstore.uiui.bean.BaseResponse;
import com.appstore.uiui.network.URLs.UrlAddress;
import io.reactivex.Observable;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface NewestAppUpdate {
@GET(UrlAddress.GET_NEWESTAPPUPDATE)
Observable<BaseResponse<AppInfo>> getAppUpdate(
@Query("packageName") String packageName,
@Query("versionCode") String versionCode
);
}

View File

@@ -5,7 +5,6 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.util.Log; import android.util.Log;
import com.appstore.uiui.network.OKGO;
import com.appstore.uiui.utils.ApkUtils; import com.appstore.uiui.utils.ApkUtils;
import com.appstore.uiui.utils.LogUtils; import com.appstore.uiui.utils.LogUtils;
import com.appstore.uiui.utils.SPUtils; import com.appstore.uiui.utils.SPUtils;

View File

@@ -4,7 +4,6 @@ import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import com.appstore.uiui.network.OKGO;
import com.appstore.uiui.service.GuardService; import com.appstore.uiui.service.GuardService;
import com.appstore.uiui.service.InitJpushServer; import com.appstore.uiui.service.InitJpushServer;
import com.appstore.uiui.service.StepService; import com.appstore.uiui.service.StepService;

View File

@@ -4,6 +4,9 @@ import android.app.Service;
import android.content.Intent; import android.content.Intent;
import android.os.IBinder; import android.os.IBinder;
import com.appstore.uiui.KeepAliveConnection;
import com.appstore.uiui.network.HTTPInterface;
public class InitJpushServer extends Service { public class InitJpushServer extends Service {
public InitJpushServer() { public InitJpushServer() {
} }
@@ -11,6 +14,15 @@ public class InitJpushServer extends Service {
@Override @Override
public IBinder onBind(Intent intent) { public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service. // TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented"); // throw new UnsupportedOperationException("Not yet implemented");
return new KeepAliveConnection.Stub() {
};
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
HTTPInterface.checkUpdate(InitJpushServer.this);
HTTPInterface.checkUpdate(InitJpushServer.this, "com.info.sn");
return START_STICKY;
} }
} }