version:4.0
fix:修复日志上传错误 update:正在运行的app显示奥乐云系列应用
This commit is contained in:
@@ -33,6 +33,7 @@ import com.aoleyun.sn.comm.PackageNames;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.aoleyun.sn.service.LogcatService;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
import com.aoleyun.sn.utils.ForegroundAppUtil;
|
||||
import com.aoleyun.sn.utils.JGYUtils;
|
||||
import com.aoleyun.sn.utils.SPUtils;
|
||||
import com.aoleyun.sn.utils.ServiceAliveUtils;
|
||||
@@ -85,6 +86,8 @@ public class SplashActivity extends AppCompatActivity {
|
||||
|
||||
private void initView() {
|
||||
if (BuildConfig.DEBUG) {
|
||||
// String jsonString = ApkUtils.getRunningAppInfo(this);
|
||||
// Log.e(TAG, "initView: " + jsonString);
|
||||
ApkUtils.showAllAPP(this);
|
||||
// JGYUtils.getInstance().cleanBackgroundMemory();
|
||||
// NetInterfaceManager.getInstance().uploadLogFile();
|
||||
|
||||
@@ -2,10 +2,14 @@ package com.aoleyun.sn.activity.main;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.AlertDialog;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.graphics.Bitmap;
|
||||
import android.os.SystemClock;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
@@ -22,6 +26,7 @@ import com.aoleyun.sn.activity.requestlog.RequestLogActivity;
|
||||
import com.aoleyun.sn.base.BaseActivity;
|
||||
import com.aoleyun.sn.bean.StudentsInfo;
|
||||
import com.aoleyun.sn.comm.CommonConfig;
|
||||
import com.aoleyun.sn.comm.JGYActions;
|
||||
import com.aoleyun.sn.service.main.MainService;
|
||||
import com.aoleyun.sn.utils.JGYUtils;
|
||||
import com.aoleyun.sn.utils.SPUtils;
|
||||
@@ -50,6 +55,8 @@ import io.reactivex.rxjava3.disposables.Disposable;
|
||||
public class MainActivity extends BaseActivity implements MainAContact.MainView, NetworkUtils.OnNetworkStatusChangedListener {
|
||||
private static final String TAG = MainActivity.class.getSimpleName();
|
||||
|
||||
public static final String UPDATE_LOCKED_STATUS = "UPDATE_LOCKED_STATUS";
|
||||
|
||||
@BindView(R.id.imageView)
|
||||
ImageView head;
|
||||
@BindView(R.id.tv_devsn)
|
||||
@@ -244,6 +251,7 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
|
||||
public void initData() {
|
||||
Log.e("getMacAddress", Utils.getAndroid10MAC(this));
|
||||
startService(new Intent(MainActivity.this, MainService.class));
|
||||
// registerUpdateReceiver();
|
||||
mMainAPresenter.getLockedState();
|
||||
}
|
||||
|
||||
@@ -406,6 +414,9 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
|
||||
JGYUtils.startServices(MainActivity.this);
|
||||
NetworkUtils.unregisterNetworkStatusChangedListener(this);
|
||||
mMainAPresenter.detachView();
|
||||
if (mUpdateReceiver != null) {
|
||||
unregisterReceiver(mUpdateReceiver);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -427,4 +438,37 @@ public class MainActivity extends BaseActivity implements MainAContact.MainView,
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
UpdateReceiver mUpdateReceiver;
|
||||
|
||||
private void registerUpdateReceiver() {
|
||||
if (mUpdateReceiver == null) {
|
||||
mUpdateReceiver = new UpdateReceiver();
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(UPDATE_LOCKED_STATUS);
|
||||
}
|
||||
}
|
||||
|
||||
class UpdateReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (UPDATE_LOCKED_STATUS.equals(intent.getAction())) {
|
||||
int locked = Settings.System.getInt(getContentResolver(), JGYActions.ACTION_QCH_UNLOCK_IPAD, JGYActions.FRAME_CODE_LOCKED);
|
||||
if (locked == JGYActions.FRAME_CODE_LOCKED) {
|
||||
iv_locked.setVisibility(View.VISIBLE);
|
||||
iv_locked.setImageDrawable(getDrawable(R.drawable.locked));
|
||||
SaveListUtils.getList();
|
||||
} else {
|
||||
iv_locked.setVisibility(View.VISIBLE);
|
||||
iv_locked.setImageDrawable(getDrawable(R.drawable.unlock));
|
||||
setNumberText("", View.GONE);
|
||||
setNameText("", View.GONE);
|
||||
setClassText("", View.GONE);
|
||||
setBatchText("", View.GONE);
|
||||
Glide.with(head).load(getDrawable(R.drawable.head)).into(head);
|
||||
SysSettingUtils.setEnableSetting(MainActivity.this);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ import java.io.Serializable;
|
||||
* 磁盘缓存帮助类
|
||||
*/
|
||||
public class CacheHelper {
|
||||
private static final String TAG = "DiskLruCacheHelper";
|
||||
private static final String TAG = CacheHelper.class.getSimpleName();
|
||||
|
||||
private MMKV mMMKV = MMKV.defaultMMKV();
|
||||
|
||||
|
||||
@@ -42,7 +42,6 @@ import com.aoleyun.sn.comm.CommonConfig;
|
||||
import com.aoleyun.sn.comm.JGYActions;
|
||||
import com.aoleyun.sn.comm.PackageNames;
|
||||
import com.aoleyun.sn.disklrucache.CacheHelper;
|
||||
import com.aoleyun.sn.disklrucache.DiskLruCacheHelper;
|
||||
import com.aoleyun.sn.manager.ConnectManager;
|
||||
import com.aoleyun.sn.manager.ConnectMode;
|
||||
import com.aoleyun.sn.network.api.get.CheckTestUpdateApi;
|
||||
@@ -127,11 +126,9 @@ import java.util.concurrent.TimeUnit;
|
||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.rxjava3.annotations.NonNull;
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
import io.reactivex.rxjava3.core.ObservableSource;
|
||||
import io.reactivex.rxjava3.core.Observer;
|
||||
import io.reactivex.rxjava3.disposables.Disposable;
|
||||
import io.reactivex.rxjava3.functions.BiFunction;
|
||||
import io.reactivex.rxjava3.functions.Function;
|
||||
import io.reactivex.rxjava3.functions.Function5;
|
||||
import io.reactivex.rxjava3.schedulers.Schedulers;
|
||||
import io.reactivex.rxjava3.subjects.BehaviorSubject;
|
||||
@@ -158,7 +155,6 @@ public class NetInterfaceManager {
|
||||
private Context mContext;
|
||||
private Retrofit mRetrofit;
|
||||
private OkHttpClient okHttpClient;
|
||||
private DiskLruCacheHelper mDiskLruCacheHelper;
|
||||
private MMKV mMMKV = MMKV.defaultMMKV();
|
||||
private CacheHelper cacheHelper;
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.aoleyun.sn.network.api.post;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.SnRunLog;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
package com.aoleyun.sn.network.api.post;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.SnRunLog;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import io.reactivex.rxjava3.core.Observable;
|
||||
import okhttp3.MultipartBody;
|
||||
import retrofit2.http.Field;
|
||||
import retrofit2.http.FormUrlEncoded;
|
||||
import retrofit2.http.Multipart;
|
||||
import retrofit2.http.POST;
|
||||
import retrofit2.http.Part;
|
||||
@@ -18,7 +15,7 @@ import retrofit2.http.QueryMap;
|
||||
public interface GetUploadLogApi {
|
||||
@Multipart
|
||||
@POST(UrlAddress.UPLOAD_LOG_FILE)
|
||||
Observable<BaseResponse<SnRunLog>> GetSnRunLog(
|
||||
Observable<BaseResponse> UploadLog(
|
||||
@QueryMap Map<String, String> params,
|
||||
@Part MultipartBody.Part body
|
||||
);
|
||||
|
||||
@@ -263,30 +263,29 @@ public class LogcatService extends Service {
|
||||
}
|
||||
Map<String, String> params = new HashMap<>();
|
||||
params.put("sn", Utils.getSerial());
|
||||
MediaType mediaType = MediaType.Companion.parse("text/plain");
|
||||
MediaType mediaType = MediaType.Companion.parse("text/html");
|
||||
RequestBody fileBody = RequestBody.Companion.create(file, mediaType);
|
||||
//设置一个file文件
|
||||
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), fileBody);
|
||||
|
||||
NetInterfaceManager.getInstance().getUploadLogApi()
|
||||
.GetSnRunLog(params, body)
|
||||
.UploadLog(params, body)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(new Observer<BaseResponse<SnRunLog>>() {
|
||||
.subscribe(new Observer<BaseResponse>() {
|
||||
@Override
|
||||
public void onSubscribe(Disposable d) {
|
||||
Log.e("uploadFile", "onSubscribe: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(BaseResponse<SnRunLog> snRunLogBaseResponse) {
|
||||
public void onNext(BaseResponse snRunLogBaseResponse) {
|
||||
Log.e("uploadFile", "onNext: " + snRunLogBaseResponse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(Throwable e) {
|
||||
Log.e("uploadFile", "onError: " + e.getMessage());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.aoleyun.sn.BuildConfig;
|
||||
import com.aoleyun.sn.R;
|
||||
import com.aoleyun.sn.activity.checknet.CheckNetActivity;
|
||||
import com.aoleyun.sn.activity.main.MainAPresenter;
|
||||
import com.aoleyun.sn.activity.main.MainActivity;
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.PoweroffBean;
|
||||
import com.aoleyun.sn.comm.CommonConfig;
|
||||
@@ -821,7 +822,10 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
} else {
|
||||
ToastUtil.betaShow("设备已解锁");
|
||||
SysSettingUtils.setEnableSetting(this);
|
||||
mPresenter.checkAoleyunUpdate();
|
||||
}
|
||||
Intent intent = new Intent(MainActivity.UPDATE_LOCKED_STATUS);
|
||||
sendBroadcast(intent);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -829,6 +833,7 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
if (noTag) {
|
||||
//没有批次就没有管控
|
||||
Log.e(TAG, "setTagsFinish: " + "not set tag");
|
||||
mPresenter.getStudesInfo(true);
|
||||
} else {
|
||||
mPresenter.getDeviceBatch();
|
||||
}
|
||||
@@ -1011,8 +1016,5 @@ public class MainService extends Service implements MainSContact.MainView, Netwo
|
||||
SPUtils.put(this, "is_screen_lock", false);
|
||||
SPUtils.put(this, "screen_tips", "");
|
||||
}
|
||||
mPresenter.getWiFiPasswd();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -48,6 +48,7 @@ import java.util.Arrays;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipFile;
|
||||
@@ -1134,20 +1135,42 @@ public class ApkUtils {
|
||||
Log.e("addShortcut", "putstring:" + qch_force_app);
|
||||
}
|
||||
|
||||
private static Set<String> AoleyunOSApp = new HashSet<String>() {{
|
||||
this.add("com.aoleyun.info");
|
||||
this.add("com.aoleyun.os");
|
||||
this.add("com.aoleyun.sn");
|
||||
this.add("com.aoleyun.browser");
|
||||
this.add("com.aoleyun.appstore");
|
||||
this.add("com.aoleyunos.dop1");
|
||||
this.add("com.aoleyunos.dop2");
|
||||
this.add("com.aoleyunos.dop3");
|
||||
this.add("com.jiepier.filemanager");
|
||||
this.add("com.calendar.uiui");
|
||||
this.add("com.notepad.uiui");
|
||||
this.add("com.calculator.uiui");
|
||||
this.add("com.alarmclock.uiui");
|
||||
this.add("com.uiui.speed");
|
||||
}};
|
||||
|
||||
public static String getRunningAppInfo(Context context) {
|
||||
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
|
||||
List<ActivityManager.RunningServiceInfo> infoList = activityManager.getRunningServices(Integer.MAX_VALUE);
|
||||
ArrayList<UploadAppInfo> appList = new ArrayList<UploadAppInfo>(); //用来存储获取的应用信息数据
|
||||
// ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
|
||||
// List<ActivityManager.RunningServiceInfo> infoList = activityManager.getRunningServices(Integer.MAX_VALUE);
|
||||
//用来存储获取的应用信息数据
|
||||
ArrayList<UploadAppInfo> appList = new ArrayList<>();
|
||||
List<PackageInfo> packages = context.getPackageManager().getInstalledPackages(0);
|
||||
String topPkg = ForegroundAppUtil.getForegroundPackageName(context);
|
||||
Log.e(TAG, "getRunningAppInfo: " + topPkg);
|
||||
for (PackageInfo packageInfo : packages) {
|
||||
String packageName = packageInfo.packageName;
|
||||
//排除桌面app和出厂自带app
|
||||
if (desktopAPP.contains(packageName) || factoryapp.contains(packageName) || aoleyunAPP.contains(packageName)) {
|
||||
if (desktopAPP.contains(packageName) || factoryapp.contains(packageName)) {
|
||||
continue;
|
||||
}
|
||||
//排除所有系统应用,不显示
|
||||
if (isSystemApp(context, packageName)) {
|
||||
continue;
|
||||
if (!AoleyunOSApp.contains(packageName)) {
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
//排除预装可以卸载的应用
|
||||
if (canremove_systemapp.contains(packageName)) {
|
||||
@@ -1156,19 +1179,22 @@ public class ApkUtils {
|
||||
}
|
||||
UploadAppInfo uploadAppInfo = new UploadAppInfo();
|
||||
uploadAppInfo.setApp_name(packageInfo.applicationInfo.loadLabel(context.getPackageManager()).toString());
|
||||
uploadAppInfo.setPackage_name(packageInfo.packageName);
|
||||
Log.e("getRunningAppInfo", "getRunningAppInfo:" + packageInfo.packageName);
|
||||
uploadAppInfo.setPackage_name(packageName);
|
||||
Log.e("getRunningAppInfo", "getRunningAppInfo:" + packageName);
|
||||
String firstInstallTime = TimeUtils.transferLongToDate(packageInfo.lastUpdateTime);
|
||||
uploadAppInfo.setInstall_time(firstInstallTime);
|
||||
uploadAppInfo.setVersionCode(String.valueOf(packageInfo.versionCode));
|
||||
uploadAppInfo.setState(0);
|
||||
uploadAppInfo.setApp_size(getPackageSize(context, packageInfo.applicationInfo.publicSourceDir));
|
||||
uploadAppInfo.setVersionName(packageInfo.versionName);
|
||||
for (ActivityManager.RunningServiceInfo info : infoList) {
|
||||
if (info.process.contains(packageInfo.packageName)) {
|
||||
uploadAppInfo.setState(1);
|
||||
Log.e("getRunningAppInfo", "getRunningAppInfo running: " + packageInfo.packageName);
|
||||
}
|
||||
// for (ActivityManager.RunningServiceInfo info : infoList) {
|
||||
// if (info.process.contains(packageName)) {
|
||||
// uploadAppInfo.setState(1);
|
||||
// Log.e("getRunningAppInfo", "getRunningAppInfo running: " + packageName);
|
||||
// }
|
||||
// }
|
||||
if (topPkg.equals(packageName)) {
|
||||
uploadAppInfo.setState(1);
|
||||
}
|
||||
appList.add(uploadAppInfo);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user