update:2020.12.30
fix:发版 add:
This commit is contained in:
@@ -13,11 +13,8 @@ import android.provider.Settings;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.appstore.uiui.jpush.Logger;
|
||||
import com.appstore.uiui.network.OKGO;
|
||||
import com.appstore.uiui.receiver.AppManagerReceiver;
|
||||
import com.appstore.uiui.utils.ApkUtils;
|
||||
import com.appstore.uiui.utils.LogUtils;
|
||||
import com.appstore.uiui.utils.SPUtils;
|
||||
import com.appstore.uiui.utils.ToastUtil;
|
||||
import com.arialyy.aria.core.Aria;
|
||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
@@ -32,8 +29,6 @@ import com.scwang.smartrefresh.layout.header.ClassicsHeader;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import cn.jpush.android.api.CustomMessage;
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
|
||||
|
||||
@@ -15,8 +15,6 @@ import com.appstore.uiui.adapter.AppAdapter;
|
||||
import com.appstore.uiui.base.BaseActivity;
|
||||
import com.appstore.uiui.base.RefreshManager;
|
||||
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.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
||||
|
||||
@@ -30,17 +30,17 @@ import com.appstore.uiui.bean.AppInfo;
|
||||
import com.appstore.uiui.bean.BaseResponse;
|
||||
import com.appstore.uiui.bean.UserInfo;
|
||||
import com.appstore.uiui.fragment.FeaturedFragment;
|
||||
import com.appstore.uiui.fragment.KindFragment;
|
||||
import com.appstore.uiui.fragment.ManageFragment;
|
||||
import com.appstore.uiui.jpush.ExampleUtil;
|
||||
import com.appstore.uiui.jpush.LocalBroadcastManager;
|
||||
import com.appstore.uiui.jpush.TagAliasOperatorHelper;
|
||||
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.SNInfo;
|
||||
import com.appstore.uiui.service.GuardService;
|
||||
import com.appstore.uiui.service.InitJpushServer;
|
||||
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.SPUtils;
|
||||
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);
|
||||
startService(new Intent(MainActivity.this, MyDownloadService.class));
|
||||
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
|
||||
|
||||
@@ -15,8 +15,6 @@ import com.appstore.uiui.R;
|
||||
import com.appstore.uiui.adapter.AppAdapter;
|
||||
import com.appstore.uiui.base.BaseActivity;
|
||||
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 java.util.ArrayList;
|
||||
|
||||
@@ -27,10 +27,8 @@ import com.appstore.uiui.bean.AppInfos;
|
||||
import com.appstore.uiui.bean.BaseResponse;
|
||||
import com.appstore.uiui.bean.ImageUrl;
|
||||
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.QueryAllApp;
|
||||
import com.appstore.uiui.utils.ApkUtils;
|
||||
import com.appstore.uiui.utils.LogUtils;
|
||||
import com.appstore.uiui.utils.Utils;
|
||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
@@ -44,7 +42,6 @@ import com.zhpan.bannerview.utils.BannerUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
|
||||
@@ -19,7 +19,6 @@ import com.appstore.uiui.adapter.KindAdapter;
|
||||
import com.appstore.uiui.base.BaseFragment;
|
||||
import com.appstore.uiui.base.RefreshManager;
|
||||
import com.appstore.uiui.bean.Kind;
|
||||
import com.appstore.uiui.network.OKGO;
|
||||
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
|
||||
|
||||
@@ -26,7 +26,6 @@ import com.appstore.uiui.base.LazyLoadFragment;
|
||||
import com.appstore.uiui.bean.AppInfo;
|
||||
import com.appstore.uiui.bean.LocalApp;
|
||||
import com.appstore.uiui.bean.UpdateAppInfo;
|
||||
import com.appstore.uiui.network.OKGO;
|
||||
import com.appstore.uiui.utils.ApkUtils;
|
||||
import com.appstore.uiui.utils.ToastUtil;
|
||||
|
||||
|
||||
@@ -16,8 +16,6 @@ import com.appstore.uiui.adapter.AppAdapter;
|
||||
import com.appstore.uiui.base.LazyLoadFragment;
|
||||
import com.appstore.uiui.base.RefreshManager;
|
||||
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.scwang.smartrefresh.layout.SmartRefreshLayout;
|
||||
import com.scwang.smartrefresh.layout.api.RefreshLayout;
|
||||
|
||||
@@ -1,19 +1,24 @@
|
||||
package com.appstore.uiui.network;
|
||||
|
||||
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.Message;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.appstore.uiui.BuildConfig;
|
||||
import com.appstore.uiui.TextCode.MessageWhat;
|
||||
import com.appstore.uiui.bean.AppInfo;
|
||||
import com.appstore.uiui.bean.BaseResponse;
|
||||
import com.appstore.uiui.bean.bannerImage;
|
||||
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.utils.FileUtils;
|
||||
import com.appstore.uiui.utils.LogUtils;
|
||||
import com.appstore.uiui.utils.SPUtils;
|
||||
import com.appstore.uiui.utils.ToastUtil;
|
||||
@@ -25,15 +30,83 @@ import java.util.List;
|
||||
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
|
||||
public class OKGO {
|
||||
public class HTTPInterface {
|
||||
private static final int GET_ALL_APPINFO = 0;
|
||||
private static final int GET_USERINFO = 1;
|
||||
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() {
|
||||
// @Override
|
||||
// public void handleMessage(@NonNull Message msg) {
|
||||
@@ -5,6 +5,7 @@ import android.os.Environment;
|
||||
import com.appstore.uiui.network.URLs.UrlAddress;
|
||||
import com.appstore.uiui.network.api.BannerImage;
|
||||
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.SNInfo;
|
||||
|
||||
@@ -46,6 +47,7 @@ public class NetWorkManager {
|
||||
private static QueryAllApp queryAllAppControl;
|
||||
private static BannerImage bannerImageControl;
|
||||
private static DownloadApp downloadAppControl;
|
||||
private static NewestAppUpdate newestAppUpdateControl;
|
||||
|
||||
|
||||
public static SNInfo getuserInfoControl() {
|
||||
@@ -100,4 +102,17 @@ public class NetWorkManager {
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -27,4 +27,6 @@ public class UrlAddress {
|
||||
//获取应用分类
|
||||
public final static String SEND_DOWNLOADAPP = ROOT_URL + "app/downloadApp";
|
||||
|
||||
public final static String GET_NEWESTAPPUPDATE = ROOT_URL + "app/newestAppUpdate";
|
||||
//根据包名获取更新
|
||||
}
|
||||
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
@@ -5,7 +5,6 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
import com.appstore.uiui.network.OKGO;
|
||||
import com.appstore.uiui.utils.ApkUtils;
|
||||
import com.appstore.uiui.utils.LogUtils;
|
||||
import com.appstore.uiui.utils.SPUtils;
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
|
||||
import com.appstore.uiui.network.OKGO;
|
||||
import com.appstore.uiui.service.GuardService;
|
||||
import com.appstore.uiui.service.InitJpushServer;
|
||||
import com.appstore.uiui.service.StepService;
|
||||
|
||||
@@ -4,6 +4,9 @@ import android.app.Service;
|
||||
import android.content.Intent;
|
||||
import android.os.IBinder;
|
||||
|
||||
import com.appstore.uiui.KeepAliveConnection;
|
||||
import com.appstore.uiui.network.HTTPInterface;
|
||||
|
||||
public class InitJpushServer extends Service {
|
||||
public InitJpushServer() {
|
||||
}
|
||||
@@ -11,6 +14,15 @@ public class InitJpushServer extends Service {
|
||||
@Override
|
||||
public IBinder onBind(Intent intent) {
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user