version:1.0
update:2021-10-16 18:50:25 fix:增减检查弹窗,修复第一次启动不能自动下载 add:切换到奥乐云平台
@@ -28,22 +28,18 @@
|
||||
<uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />
|
||||
<uses-permission android:name="android.permission.DELETE_CACHE_FILES" />
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<!-- 静默安装权限 -->
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 静默安装权限 -->
|
||||
<uses-permission
|
||||
android:name="android.permission.INSTALL_PACKAGES"
|
||||
tools:ignore="ProtectedPermissions" />
|
||||
<!-- 应用卸载权限 -->
|
||||
tools:ignore="ProtectedPermissions" /> <!-- 应用卸载权限 -->
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
<uses-permission
|
||||
android:name="android.permission.DELETE_PACKAGES"
|
||||
tools:ignore="ProtectedPermissions" />
|
||||
<!-- ##############################极光推送############################## -->
|
||||
tools:ignore="ProtectedPermissions" /> <!-- ##############################极光推送############################## -->
|
||||
<!-- Required -->
|
||||
<permission
|
||||
android:name="${JPUSH_PKGNAME}.permission.JPUSH_MESSAGE"
|
||||
android:protectionLevel="signature" />
|
||||
<!-- Required -->
|
||||
android:protectionLevel="signature" /> <!-- Required -->
|
||||
<uses-permission android:name="${JPUSH_PKGNAME}.permission.JPUSH_MESSAGE" />
|
||||
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
@@ -60,13 +56,10 @@
|
||||
android:maxSdkVersion="22" />
|
||||
<uses-permission
|
||||
android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"
|
||||
android:maxSdkVersion="23" />
|
||||
<!-- 高德地图 -->
|
||||
android:maxSdkVersion="23" /> <!-- 高德地图 -->
|
||||
<!-- 用于进行网络定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<!-- 用于访问GPS定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 用于访问GPS定位 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 -->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->
|
||||
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 -->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> -->
|
||||
@@ -79,17 +72,15 @@
|
||||
<!-- 用于写入缓存数据到扩展存储卡 -->
|
||||
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> -->
|
||||
<!-- 用于申请调用A-GPS模块 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
|
||||
<!-- 如果设置了target >= 28 如果需要启动后台定位则必须声明这个权限 -->
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<!-- 如果您的应用需要后台定位权限,且有可能运行在Android Q设备上,并且设置了target>28,必须增加这个权限声明 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <!-- 如果设置了target >= 28 如果需要启动后台定位则必须声明这个权限 -->
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- 如果您的应用需要后台定位权限,且有可能运行在Android Q设备上,并且设置了target>28,必须增加这个权限声明 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
|
||||
<uses-permission android:name="com.aoleyun.sn.permissions.INSTALL_APK" />
|
||||
|
||||
<permission android:name="com.aoleyun.sn.permissions.INSTALL_APK" />
|
||||
|
||||
<application
|
||||
android:name="com.aoleyun.sn.base.BaseApplication"
|
||||
android:name=".base.BaseApplication"
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
@@ -97,18 +88,7 @@
|
||||
android:requestLegacyExternalStorage="true"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme">
|
||||
<service
|
||||
android:name="com.aoleyun.sn.service.RemoteService"
|
||||
android:enabled="true"
|
||||
android:exported="true"
|
||||
android:process=":remote" />
|
||||
<service
|
||||
android:name="com.aoleyun.sn.service.LogcatService"
|
||||
android:enabled="true"
|
||||
android:exported="true" />
|
||||
|
||||
<activity android:name="com.aoleyun.sn.activity.TopActivity" />
|
||||
<activity android:name="com.aoleyun.sn.activity.HomeActivity">
|
||||
<activity android:name=".activity.HomeActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
@@ -116,21 +96,37 @@
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name="com.aoleyun.sn.activity.MainActivity"
|
||||
android:name=".activity.MainActivity"
|
||||
android:excludeFromRecents="true"
|
||||
android:launchMode="singleTop">
|
||||
|
||||
<!-- <intent-filter> -->
|
||||
<!-- <action android:name="android.intent.action.MAIN" /> -->
|
||||
|
||||
|
||||
<!-- <category android:name="android.intent.category.LAUNCHER" /> -->
|
||||
<!-- </intent-filter> -->
|
||||
</activity>
|
||||
<!-- <service android:name=".server.MyDownloadService" /> -->
|
||||
<service android:name="com.aoleyun.sn.service.GuardService" />
|
||||
<activity android:name=".activity.TopActivity" />
|
||||
<activity android:name=".activity.CheckNetActivity"
|
||||
android:theme="@style/activity_styles"/>
|
||||
<service
|
||||
android:name="com.aoleyun.sn.service.StepService"
|
||||
android:name=".service.MainService"
|
||||
android:enabled="true"
|
||||
android:exported="true">
|
||||
<intent-filter android:priority="1000">
|
||||
<action android:name="android.intent.action.USER_PRESENT" />
|
||||
<action android:name="android.intent.action.SCREEN_ON" />
|
||||
<action android:name="android.intent.action.SCREEN_OFF" />
|
||||
|
||||
<data android:scheme="package" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<service
|
||||
android:name=".service.RemoteService"
|
||||
android:enabled="true"
|
||||
android:exported="true"
|
||||
android:process=":remote" />
|
||||
<service
|
||||
android:name=".service.LogcatService"
|
||||
android:enabled="true"
|
||||
android:exported="true" />
|
||||
<service android:name=".service.GuardService" />
|
||||
<service
|
||||
android:name=".service.StepService"
|
||||
android:exported="true">
|
||||
<intent-filter android:priority="1000">
|
||||
<action android:name="android.intent.action.SCREEN_OFF" />
|
||||
@@ -144,25 +140,8 @@
|
||||
<data android:scheme="package" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<service
|
||||
android:name="com.aoleyun.sn.service.MainService"
|
||||
android:enabled="true"
|
||||
android:exported="true">
|
||||
<intent-filter android:priority="1000">
|
||||
<action android:name="android.intent.action.USER_PRESENT" />
|
||||
<action android:name="android.intent.action.SCREEN_ON" />
|
||||
<action android:name="android.intent.action.SCREEN_OFF" />
|
||||
|
||||
<data android:scheme="package" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<!-- <service -->
|
||||
<!-- android:name=".server.InitJpushServer" -->
|
||||
<!-- android:enabled="true" -->
|
||||
<!-- android:exported="true"> -->
|
||||
<!-- </service> -->
|
||||
<receiver
|
||||
android:name="com.aoleyun.sn.receiver.NewAppReceiver"
|
||||
android:name=".receiver.NewAppReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="true"
|
||||
android:permission="com.example.broadcast.permission">
|
||||
@@ -175,11 +154,11 @@
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name="com.aoleyun.sn.utils.InstallResultReceiver"
|
||||
android:name=".utils.InstallResultReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="true" />
|
||||
<receiver
|
||||
android:name="com.aoleyun.sn.receiver.BootReceiver"
|
||||
android:name=".receiver.BootReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="true">
|
||||
<intent-filter android:priority="1000">
|
||||
@@ -208,8 +187,7 @@
|
||||
<!-- 自定义广播 -->
|
||||
<action android:name="com.aoleyun.sn.intent.action.BOOT_COMPLETED" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<!-- <receiver android:name=".log.LogReceiver" -->
|
||||
</receiver> <!-- <receiver android:name=".log.LogReceiver" -->
|
||||
<!-- android:permission="android.permission.DUMP" > -->
|
||||
<!-- <intent-filter> -->
|
||||
<!-- <action android:name="android.intent.action.BOOT_COMPLETED" /> -->
|
||||
@@ -221,7 +199,7 @@
|
||||
<!-- </intent-filter> -->
|
||||
<!-- </receiver> -->
|
||||
<receiver
|
||||
android:name="com.aoleyun.sn.receiver.MyJPushReceiver"
|
||||
android:name=".receiver.MyJPushReceiver"
|
||||
android:enabled="true">
|
||||
<intent-filter>
|
||||
|
||||
@@ -238,8 +216,7 @@
|
||||
|
||||
<category android:name="${JPUSH_PKGNAME}" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<!-- Required. For publish channel feature -->
|
||||
</receiver> <!-- Required. For publish channel feature -->
|
||||
<!-- JPUSH_CHANNEL 是为了方便开发者统计APK分发渠道。 -->
|
||||
<!-- 例如: -->
|
||||
<!-- 发到 Google Play 的APK可以设置为 google-play; -->
|
||||
@@ -261,15 +238,13 @@
|
||||
<meta-data
|
||||
android:name="android.support.FILE_PROVIDER_PATHS"
|
||||
android:resource="@xml/file_paths" />
|
||||
</provider>
|
||||
<!-- ##############################极光推送############################## -->
|
||||
</provider> <!-- ##############################极光推送############################## -->
|
||||
<!-- Rich push 核心功能 since 2.0.6 -->
|
||||
<activity
|
||||
android:name="cn.jpush.android.ui.PopWinActivity"
|
||||
android:exported="false"
|
||||
android:theme="@style/MyDialogStyle"
|
||||
tools:replace="android:exported" />
|
||||
<!-- Required SDK核心功能 -->
|
||||
tools:replace="android:exported" /> <!-- Required SDK核心功能 -->
|
||||
<activity
|
||||
android:name="cn.jpush.android.ui.PushActivity"
|
||||
android:configChanges="orientation|keyboardHidden"
|
||||
@@ -282,8 +257,7 @@
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<category android:name="com.aoleyun.sn" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<!-- Required SDK 核心功能 -->
|
||||
</activity> <!-- Required SDK 核心功能 -->
|
||||
<!-- 可配置android:process参数将PushService放在其他进程中 -->
|
||||
<service
|
||||
android:name="cn.jpush.android.service.PushService"
|
||||
@@ -295,15 +269,13 @@
|
||||
<action android:name="cn.jpush.android.intent.PushService" />
|
||||
<action android:name="cn.jpush.android.intent.PUSH_TIME" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<!-- since 3.0.9 Required SDK 核心功能 -->
|
||||
</service> <!-- since 3.0.9 Required SDK 核心功能 -->
|
||||
<provider
|
||||
android:name="cn.jpush.android.service.DataProvider"
|
||||
android:authorities="com.aoleyun.sn.DataProvider"
|
||||
android:exported="false"
|
||||
android:process=":pushcore"
|
||||
tools:replace="android:authorities" />
|
||||
<!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
|
||||
tools:replace="android:authorities" /> <!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->
|
||||
<!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->
|
||||
<service
|
||||
android:name="cn.jpush.android.service.DaemonService"
|
||||
@@ -314,14 +286,12 @@
|
||||
|
||||
<category android:name="com.aoleyun.sn" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<!-- since 3.1.0 Required SDK 核心功能 -->
|
||||
</service> <!-- since 3.1.0 Required SDK 核心功能 -->
|
||||
<provider
|
||||
android:name="cn.jpush.android.service.DownloadProvider"
|
||||
android:authorities="com.aoleyun.sn.DownloadProvider"
|
||||
android:exported="true"
|
||||
tools:replace="android:authorities" />
|
||||
<!-- Required SDK核心功能 -->
|
||||
tools:replace="android:authorities" /> <!-- Required SDK核心功能 -->
|
||||
<receiver
|
||||
android:name="cn.jpush.android.service.PushReceiver"
|
||||
android:enabled="true"
|
||||
@@ -343,12 +313,10 @@
|
||||
|
||||
<data android:scheme="package" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<!-- Required SDK核心功能 -->
|
||||
</receiver> <!-- Required SDK核心功能 -->
|
||||
<receiver
|
||||
android:name="cn.jpush.android.service.AlarmReceiver"
|
||||
android:exported="false" />
|
||||
<!-- since 3.3.0 Required SDK核心功能 -->
|
||||
android:exported="false" /> <!-- since 3.3.0 Required SDK核心功能 -->
|
||||
<activity
|
||||
android:name="cn.jpush.android.service.JNotifyActivity"
|
||||
android:exported="true"
|
||||
@@ -359,19 +327,17 @@
|
||||
|
||||
<category android:name="com.aoleyun.sn" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<!-- Since JCore2.0.0 Required SDK核心功能 -->
|
||||
</activity> <!-- Since JCore2.0.0 Required SDK核心功能 -->
|
||||
<!-- 这个Service要继承JCommonService -->
|
||||
<service
|
||||
android:name="com.aoleyun.sn.jpush.PushService"
|
||||
android:name=".jpush.PushService"
|
||||
android:process=":pushcore">
|
||||
<intent-filter>
|
||||
<action android:name="cn.jiguang.user.service.action" />
|
||||
</intent-filter>
|
||||
</service>
|
||||
<!-- User defined. For test only 用户自定义的广播接收器 -->
|
||||
</service> <!-- User defined. For test only 用户自定义的广播接收器 -->
|
||||
<receiver
|
||||
android:name="com.aoleyun.sn.jpush.MyReceiver"
|
||||
android:name=".jpush.MyReceiver"
|
||||
android:enabled="true"
|
||||
android:exported="false">
|
||||
<intent-filter>
|
||||
@@ -387,9 +353,8 @@
|
||||
<!-- 接收网络变化 连接/断开 since 1.6.3 -->
|
||||
<category android:name="com.aoleyun.sn" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
<!-- User defined. For test only 用户自定义接收消息器,3.0.7开始支持,目前新tag/alias接口设置结果会在该广播接收器对应的方法中回调 -->
|
||||
<receiver android:name="com.aoleyun.sn.jpush.MyJPushMessageReceiver">
|
||||
</receiver> <!-- User defined. For test only 用户自定义接收消息器,3.0.7开始支持,目前新tag/alias接口设置结果会在该广播接收器对应的方法中回调 -->
|
||||
<receiver android:name=".jpush.MyJPushMessageReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />
|
||||
|
||||
@@ -399,17 +364,14 @@
|
||||
|
||||
<meta-data
|
||||
android:name="JPUSH_CHANNEL"
|
||||
android:value="developer-default" />
|
||||
<!-- Required. AppKey copied from Portal -->
|
||||
android:value="developer-default" /> <!-- Required. AppKey copied from Portal -->
|
||||
<meta-data
|
||||
android:name="JPUSH_APPKEY"
|
||||
android:value="${JPUSH_APPKEY}" />
|
||||
<!-- 高德地图 -->
|
||||
android:value="${JPUSH_APPKEY}" /> <!-- 高德地图 -->
|
||||
<!-- 设置key -->
|
||||
<meta-data
|
||||
android:name="com.amap.api.v2.apikey"
|
||||
android:value="${AMAP_KEY}" />
|
||||
<!-- 定位需要的服务 适配Android Q需要加上android:foregroundServiceType="location" -->
|
||||
android:value="${AMAP_KEY}" /> <!-- 定位需要的服务 适配Android Q需要加上android:foregroundServiceType="location" -->
|
||||
<service
|
||||
android:name="com.amap.api.location.APSService"
|
||||
android:foregroundServiceType="location" />
|
||||
|
||||
@@ -19,6 +19,7 @@ public class JGYActions {
|
||||
* */
|
||||
|
||||
//后台上传所有应用包名 将添加到桌面
|
||||
// TODO: 2021/10/13
|
||||
public final static String ACTION_JGY_SHORTCUTLIST = "only_jgy_shortcut_list";
|
||||
|
||||
|
||||
|
||||
529
app/src/main/java/com/aoleyun/sn/activity/CheckNetActivity.java
Normal file
@@ -0,0 +1,529 @@
|
||||
package com.aoleyun.sn.activity;
|
||||
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
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.Bundle;
|
||||
import android.os.SystemClock;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.aoleyun.sn.BuildConfig;
|
||||
import com.aoleyun.sn.R;
|
||||
import com.aoleyun.sn.base.BaseActivity;
|
||||
import com.aoleyun.sn.service.MainService;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
import com.aoleyun.sn.utils.ExampleUtil;
|
||||
import com.aoleyun.sn.utils.JGYUtils;
|
||||
import com.aoleyun.sn.utils.Logutils;
|
||||
import com.aoleyun.sn.utils.SaveListUtils;
|
||||
import com.aoleyun.sn.utils.SysSettingUtils;
|
||||
import com.aoleyun.sn.utils.ToastUtil;
|
||||
import com.aoleyun.sn.utils.Utils;
|
||||
import com.blankj.utilcode.util.NetworkUtils;
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
import cn.jpush.android.api.JPushInterface;
|
||||
import io.reactivex.Observable;
|
||||
import io.reactivex.ObservableEmitter;
|
||||
import io.reactivex.ObservableOnSubscribe;
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
|
||||
public class CheckNetActivity extends BaseActivity implements MainContact.MainView, NetworkUtils.OnNetworkStatusChangedListener {
|
||||
private static final String TAG = CheckNetActivity.class.getSimpleName();
|
||||
private MainPresenter mPresenter;
|
||||
|
||||
private boolean netWorkIsRunning = false;
|
||||
private boolean updateApp = false;
|
||||
|
||||
//jiguang
|
||||
public static boolean isForeground = false;
|
||||
//for receive customer msg from jpush server
|
||||
private CheckNetActivity.MessageReceiver mMessageReceiver;
|
||||
public static final String MESSAGE_RECEIVED_ACTION = "com.aoleyun.sn.MESSAGE_RECEIVED_ACTION";
|
||||
public static final String KEY_TITLE = "title";
|
||||
public static final String KEY_MESSAGE = "message";
|
||||
public static final String KEY_EXTRAS = "extras";
|
||||
|
||||
// @Override
|
||||
// protected void onCreate(Bundle savedInstanceState) {
|
||||
// super.onCreate(savedInstanceState);
|
||||
// setContentView(R.layout.activity_checknet);
|
||||
// }
|
||||
|
||||
@Override
|
||||
public int getLayoutId() {
|
||||
return R.layout.activity_checknet;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initView() {
|
||||
ButterKnife.bind(this);
|
||||
mPresenter = new MainPresenter(this);
|
||||
mPresenter.attachView(this);
|
||||
mPresenter.setProvider(this);
|
||||
JGYUtils.startServices(CheckNetActivity.this);
|
||||
Logutils.e(TAG, "initView: " + "start request");
|
||||
mPresenter.getFirstConnect();
|
||||
NetworkUtils.registerNetworkStatusChangedListener(this);
|
||||
getDevicesInfo();
|
||||
}
|
||||
|
||||
private void getDevicesInfo() {
|
||||
String sn = Utils.getSerial();
|
||||
checkSNError(sn);
|
||||
String macaddr = Utils.getAndroid10MAC(this);
|
||||
if (TextUtils.isEmpty(macaddr)) {
|
||||
} else {
|
||||
mPresenter.getQRImage(macaddr);
|
||||
}
|
||||
Logutils.e(TAG, "getDevicesInfo: CustomVersion: " + Utils.getCustomVersion());
|
||||
Logutils.e(TAG, "getDevicesInfo: RomVersion: " + Utils.getRomVersion());
|
||||
}
|
||||
|
||||
private void checkSNError(String sn) {
|
||||
//sn长度12位
|
||||
if (sn.length() != 12) {
|
||||
showSNErrorDialog("设备SN号码格式错误!");
|
||||
} else {
|
||||
Logutils.e(TAG, "checkSNError: " + sn);
|
||||
}
|
||||
//检查平台和sn是否对应
|
||||
if (JGYUtils.getInstance().checkSNPlatform(sn) != JGYUtils.getInstance().checkAppPlatform()) {
|
||||
showSNErrorDialog("SN数据与平台不符,请联系管理员!");
|
||||
}
|
||||
//设置极光推送标签
|
||||
JGYUtils.getInstance().getAppPlatform(platform -> mPresenter.setJpushPlatformTags(platform));
|
||||
}
|
||||
|
||||
private void showSNErrorDialog(String content) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setMessage(content);
|
||||
builder.setTitle("注意:");
|
||||
builder.setIcon(R.mipmap.ic_launcher);
|
||||
builder.setCancelable(true);
|
||||
//设置正面按钮
|
||||
builder.setPositiveButton("确定", (dialog, which) -> dialog.dismiss());
|
||||
AlertDialog dialog = builder.create(); //创建AlertDialog对象
|
||||
if (!this.isFinishing() && !dialog.isShowing()) {
|
||||
dialog.show();
|
||||
}
|
||||
}
|
||||
|
||||
//执行所有接口耗时
|
||||
long timeMillis;
|
||||
|
||||
@Override
|
||||
public void initData() {
|
||||
JPushInterface.init(this);
|
||||
registerMessageReceiver();
|
||||
Logutils.e("getMacAddress", Utils.getAndroid10MAC(this));
|
||||
timeMillis = SystemClock.elapsedRealtime();
|
||||
startService(new Intent(CheckNetActivity.this, MainService.class));
|
||||
mPresenter.getLockedState();
|
||||
mPresenter.getStudesInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQRImage(Bitmap qrImage) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBatchText(String text, int visibility) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setClassText(String text, int visibility) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNumberText(String text, int visibility) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setNameText(String text, int visibility) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param loocked 后台1是锁定,底层0是锁定
|
||||
*/
|
||||
@Override
|
||||
public void setLockedState(boolean loocked) {
|
||||
//发送设备mac地址和信息
|
||||
mPresenter.sendMACAddress();
|
||||
//设置极光推送别名
|
||||
mPresenter.setJpushAlias();
|
||||
if (loocked) {
|
||||
//上传APP信息
|
||||
ApkUtils.getAppInfo(this);
|
||||
if (netWorkIsRunning || MainService.netWorkIsRunning) {
|
||||
//如果正在执行,不执行
|
||||
return;
|
||||
}
|
||||
SaveListUtils.getList();
|
||||
//获取系统管控
|
||||
mPresenter.setJpushTags();
|
||||
netWorkIsRunning = true;
|
||||
} else {
|
||||
netWorkIsRunning = false;
|
||||
SysSettingUtils.setEnableSetting(this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 首次使用默认关闭所有功能
|
||||
*
|
||||
* @param state
|
||||
*/
|
||||
@Override
|
||||
public void setFirstConnect(boolean state) {
|
||||
Logutils.e(TAG, "isFirstConnect: " + "end request");
|
||||
if (state) {
|
||||
mPresenter.setDisableSetting();
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMACFinished() {
|
||||
mPresenter.updateDeviceInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateDeviceInfoFinished() {
|
||||
mPresenter.getSnTimeControl();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSnTimeControlFinished() {
|
||||
mPresenter.getEBagCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getEBagCodeFinished() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAliasFinished() {
|
||||
mPresenter.checkStoreUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setJpushPlatformTagsFinished() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkStoreUpdateFinished() {
|
||||
mPresenter.checkInfoUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkInfoUpdateFinished() {
|
||||
mPresenter.checkTestUpdate();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void checkTestUpdateFinished() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buttonCheckUpdateFinished(boolean update, JsonObject jsonObject) {
|
||||
this.updateApp = !update;
|
||||
if (update) {
|
||||
showDialog(jsonObject);
|
||||
} else {
|
||||
Observable.timer(5000, TimeUnit.MILLISECONDS)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe(aLong -> ToastUtil.show("已经是最新版本"));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param noTag 为空,没有,错误都返回true
|
||||
* 设备可以没有批次,但是没有批次相当于没有数据了,就不执行下面的请求了
|
||||
*/
|
||||
@Override
|
||||
public void setTagsFinished(boolean noTag) {
|
||||
if (noTag) {
|
||||
Log.e(TAG, "setTagsFinished: " + "not set tag");
|
||||
netWorkIsRunning = false;
|
||||
Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime() - timeMillis) + " ms");
|
||||
} else {
|
||||
mPresenter.getSystemSettingbegin();
|
||||
}
|
||||
}
|
||||
|
||||
private void showDialog(JsonObject jsonObject) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
builder.setTitle("更新:");
|
||||
builder.setMessage("检测到有新版本,是否更新?");
|
||||
builder.setIcon(R.mipmap.ic_launcher);
|
||||
builder.setCancelable(true);
|
||||
//设置正面按钮
|
||||
builder.setPositiveButton("更新", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
JGYUtils.getInstance().installAPK(jsonObject);
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
//设置反面按钮
|
||||
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
dialog.dismiss();
|
||||
}
|
||||
});
|
||||
builder.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSystemSettingbegin() {
|
||||
mPresenter.getAppLimit();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppLimitFinished(String packageList) {
|
||||
mPresenter.getDeviceBatch(packageList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDeviceBatchFinished() {
|
||||
mPresenter.getForceDownload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getForceDownloadFinished() {
|
||||
mPresenter.getBrowserList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBrowserListFinished(String whitelist) {
|
||||
mPresenter.getBrowserBookmarks(whitelist);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getBrowserBookmarksFinished() {
|
||||
mPresenter.getBrowserWhiteList();
|
||||
mPresenter.getDesktopIcon();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDesktopIconFinished() {
|
||||
mPresenter.getAppAutoStartUpdateAndNet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppAutoStartUpdateAndNetFinished() {
|
||||
mPresenter.getAppIDControl();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getAppIDControlFinished() {
|
||||
mPresenter.setAppinsideWeb();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAppinsideWebFinished() {
|
||||
mPresenter.setSystemSetting();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setSystemSettingFinished() {
|
||||
mPresenter.getDefaultApp();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDefaultAppFinished() {
|
||||
mPresenter.getROMApp();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getROMAppFinished() {
|
||||
mPresenter.getDeveloper();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDeveloperFinished() {
|
||||
mPresenter.setLogoImg();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setLogoImgFinished() {
|
||||
mPresenter.setTopApp();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTopAppFinished() {
|
||||
mPresenter.getDefaultDesktop();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getDefaultDesktopFinished() {
|
||||
netWorkIsRunning = false;
|
||||
Log.e(TAG, "SettingFinished: " + (SystemClock.elapsedRealtime() - timeMillis) + " ms");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setScreenLockStateFinished(boolean locked, String tips) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
isForeground = false;
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
isForeground = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
mPresenter.detachView();
|
||||
JGYUtils.startServices(CheckNetActivity.this);
|
||||
NetworkUtils.unregisterNetworkStatusChangedListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
|
||||
lazyExit();
|
||||
return true;
|
||||
}
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
|
||||
private long mPreClickTime;
|
||||
|
||||
private void lazyExit() {
|
||||
if (System.currentTimeMillis() - mPreClickTime > 3000) {
|
||||
ToastUtil.show("再按一次,退出");
|
||||
mPreClickTime = System.currentTimeMillis();
|
||||
} else {
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
private void setStoreUpdateListener(View view) {
|
||||
ObservableOnSubscribe<View> mObservableOnSubscribe = new ObservableOnSubscribe<View>() {
|
||||
@Override
|
||||
public void subscribe(@NonNull ObservableEmitter<View> emitter) throws Exception {
|
||||
view.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (updateApp) {
|
||||
ToastUtil.show("你已经检查过更新,请稍后再试");
|
||||
} else {
|
||||
emitter.onNext(view);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
Observer<View> mObserver = new Observer<View>() {
|
||||
@Override
|
||||
public void onSubscribe(@NonNull Disposable d) {
|
||||
Logutils.e("mObserver", "onSubscribe");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onNext(@NonNull View view) {
|
||||
Logutils.e("mObserver", "onNext");
|
||||
ToastUtil.show("正在检查更新");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(@NonNull Throwable e) {
|
||||
Logutils.e("mObserver", "onError");
|
||||
onComplete();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComplete() {
|
||||
Logutils.e("mObserver", "onComplete");
|
||||
}
|
||||
};
|
||||
|
||||
Observable.create(mObservableOnSubscribe)
|
||||
.throttleFirst(10, TimeUnit.SECONDS)
|
||||
//这句很关键,这是RxJava中的操作符,在规定时间内观察者不在接收被观察者发送的事件
|
||||
.subscribe(mObserver);
|
||||
}
|
||||
|
||||
//jiguang
|
||||
public void registerMessageReceiver() {
|
||||
mMessageReceiver = new CheckNetActivity.MessageReceiver();
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
|
||||
filter.addAction(MESSAGE_RECEIVED_ACTION);
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver, filter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisconnected() {
|
||||
Log.e("OnNetworkStatusChangedListener", "onDisconnected: ");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnected(NetworkUtils.NetworkType networkType) {
|
||||
Log.e("OnNetworkStatusChangedListener", "onConnected: ");
|
||||
timeMillis = SystemClock.elapsedRealtime();
|
||||
//直接获取数据
|
||||
mPresenter.getLockedState();
|
||||
}
|
||||
|
||||
public static class MessageReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
try {
|
||||
if (MESSAGE_RECEIVED_ACTION.equals(intent.getAction())) {
|
||||
String messge = intent.getStringExtra(KEY_MESSAGE);
|
||||
String extras = intent.getStringExtra(KEY_EXTRAS);
|
||||
StringBuilder showMsg = new StringBuilder();
|
||||
showMsg.append(KEY_MESSAGE + " : " + messge + "\n");
|
||||
if (!ExampleUtil.isEmpty(extras)) {
|
||||
showMsg.append(KEY_EXTRAS + " : " + extras + "\n");
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -55,7 +55,8 @@ public class HomeActivity extends AppCompatActivity {
|
||||
initView();
|
||||
debugTest();
|
||||
new Handler().postDelayed(() -> {
|
||||
startActivity(new Intent(HomeActivity.this, MainActivity.class));
|
||||
// startActivity(new Intent(HomeActivity.this, MainActivity.class));
|
||||
startActivity(new Intent(HomeActivity.this, CheckNetActivity.class));
|
||||
finish();
|
||||
}, 2000);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ import com.aoleyun.sn.bean.LogoImg;
|
||||
import com.aoleyun.sn.bean.NetAndLaunchBean;
|
||||
import com.aoleyun.sn.bean.StudentsInfo;
|
||||
import com.aoleyun.sn.jpush.TagAliasOperatorHelper;
|
||||
import com.aoleyun.sn.manager.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.HTTPInterface;
|
||||
import com.aoleyun.sn.service.MainService;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
|
||||
@@ -9,7 +9,6 @@ import android.util.Log;
|
||||
|
||||
import androidx.multidex.MultiDexApplication;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
@@ -19,9 +18,9 @@ import com.aoleyun.sn.BuildConfig;
|
||||
import com.aoleyun.sn.jpush.TagAliasOperatorHelper;
|
||||
import com.aoleyun.sn.manager.AmapManager;
|
||||
import com.aoleyun.sn.manager.FileManager;
|
||||
import com.aoleyun.sn.manager.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.HTTPInterface;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
import com.aoleyun.sn.statistics.AppInformation;
|
||||
import com.aoleyun.sn.statistics.StatisticsInfo;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
@@ -265,7 +264,7 @@ public class BaseApplication extends MultiDexApplication {
|
||||
//https://docs.jiguang.cn/jpush/server/push/rest_api_v3_device/#_5
|
||||
OkHttpClient client = new OkHttpClient();
|
||||
Request request = new Request.Builder()
|
||||
.url(URLAddress.DELETE_JPUSH_ALIAS + Utils.getSerial())
|
||||
.url(UrlAddress.DELETE_JPUSH_ALIAS + Utils.getSerial())
|
||||
.header("Authorization", JGYUtils.getAuthorization())
|
||||
.delete()
|
||||
.build();
|
||||
@@ -287,7 +286,7 @@ public class BaseApplication extends MultiDexApplication {
|
||||
synchronized public static void cleanJpushTag() {
|
||||
OkHttpClient client = new OkHttpClient();
|
||||
Request request = new Request.Builder()
|
||||
.url(URLAddress.DELETE_JPUSH_TAG + Utils.getSerial())
|
||||
.url(UrlAddress.DELETE_JPUSH_TAG + Utils.getSerial())
|
||||
.header("Authorization", JGYUtils.getAuthorization())
|
||||
.delete()
|
||||
.build();
|
||||
@@ -509,7 +508,6 @@ public class BaseApplication extends MultiDexApplication {
|
||||
totalTimes = statisticsInfo.getTotalTimes();//全部次数
|
||||
}
|
||||
|
||||
|
||||
synchronized public static void setAPPUsage(List<String> lists) {
|
||||
StatisticsInfo statisticsInfo = new StatisticsInfo(getAppContext());
|
||||
List<AppInformation> list = null;
|
||||
|
||||
@@ -6,8 +6,6 @@ import android.content.Intent;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
|
||||
@@ -34,18 +32,15 @@ import com.aoleyun.sn.bean.Appground;
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.NetAndLaunchBean;
|
||||
import com.aoleyun.sn.jpush.TagAliasOperatorHelper;
|
||||
import com.aoleyun.sn.manager.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.api.newapi.SnTimeControlApi;
|
||||
import com.aoleyun.sn.network.api.newapi.TopAppControlApi;
|
||||
import com.aoleyun.sn.network.api.newapi.UpdateDeviceInfoApi;
|
||||
import com.aoleyun.sn.service.MainService;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
import com.aoleyun.sn.utils.ForegroundAppUtil;
|
||||
import com.aoleyun.sn.utils.Logger;
|
||||
import com.aoleyun.sn.utils.SPUtils;
|
||||
import com.aoleyun.sn.utils.TimeUtils;
|
||||
import com.aoleyun.sn.utils.Utils;
|
||||
import com.trello.rxlifecycle2.android.ActivityEvent;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Type;
|
||||
@@ -59,8 +54,6 @@ import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
import io.reactivex.disposables.Disposable;
|
||||
import io.reactivex.schedulers.Schedulers;
|
||||
import okhttp3.Call;
|
||||
import okhttp3.Response;
|
||||
import okhttp3.ResponseBody;
|
||||
|
||||
import static com.aoleyun.sn.jpush.TagAliasOperatorHelper.ACTION_SET;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.aoleyun.sn.manager;
|
||||
package com.aoleyun.sn.network;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
@@ -75,15 +75,10 @@ public class NetInterfaceManager {
|
||||
private OkHttpClient okHttpClient;
|
||||
|
||||
//超时时间
|
||||
private int timeOut = 5;
|
||||
private static int timeOut = 5;
|
||||
// 缓存文件最大限制大小20M
|
||||
private long cacheSize = 1024 * 1024 * 64;
|
||||
private static long cacheSize = 1024 * 1024 * 64;
|
||||
|
||||
private Converter.Factory gsonConverterFactory = GsonConverterFactory.create();
|
||||
private CallAdapter.Factory rxJavaCallAdapterFactory = RxJava2CallAdapterFactory.create();
|
||||
|
||||
public static final String ROOT_URL = BuildConfig.ROOT_URL;
|
||||
public static final String WEBSOCKET_URL = BuildConfig.WebsocketURL;
|
||||
public static final String HTTP_KEY = "YTM3YTAxNTJmMmZmNzkyM2E2YzIwZjlhZTc0NzNmMGI=";
|
||||
|
||||
private NetInterfaceManager(Context context) {
|
||||
@@ -102,12 +97,12 @@ public class NetInterfaceManager {
|
||||
okHttpClient = builder.build();
|
||||
}
|
||||
|
||||
if (null == mRetrofit) {
|
||||
if (mRetrofit == null) {
|
||||
mRetrofit = new Retrofit.Builder()
|
||||
.client(okHttpClient)
|
||||
.baseUrl(ROOT_URL)
|
||||
.addConverterFactory(gsonConverterFactory)
|
||||
.addCallAdapterFactory(rxJavaCallAdapterFactory)
|
||||
.baseUrl(BuildConfig.ROOT_URL)
|
||||
.addConverterFactory(GsonConverterFactory.create())
|
||||
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
|
||||
.build();
|
||||
}
|
||||
}
|
||||
@@ -116,7 +111,6 @@ public class NetInterfaceManager {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new NetInterfaceManager(context);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static NetInterfaceManager getInstance() {
|
||||
@@ -7,7 +7,7 @@ import rxhttp.wrapper.annotation.DefaultDomain;
|
||||
/**
|
||||
* @author Administrator
|
||||
*/
|
||||
public class URLAddress {
|
||||
public class UrlAddress {
|
||||
//根网址
|
||||
@DefaultDomain
|
||||
public static final String HTTP_TAG_HEAD_NEW = BuildConfig.ROOT_URL;
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.aoleyun.sn.network.api;
|
||||
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface AppLimitApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_WHITE_PACKAGE_LIST)
|
||||
@POST(UrlAddress.SET_WHITE_PACKAGE_LIST)
|
||||
Observable<ResponseBody> getAppLimitApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api;
|
||||
|
||||
import com.aoleyun.sn.bean.ForceDownloadBean;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface ForceDownloadApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_FORCE_INSTALL_LIST)
|
||||
@POST(UrlAddress.GET_FORCE_INSTALL_LIST)
|
||||
Observable<ForceDownloadBean> getForceDownloadApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api;
|
||||
|
||||
import com.aoleyun.sn.bean.NetAndLaunchBean;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface NetAndLaunchApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.NET_AND_LAUNCH_API)
|
||||
@POST(UrlAddress.NET_AND_LAUNCH_API)
|
||||
Observable<NetAndLaunchBean> getNetAndLaunchApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.Appground;
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -14,7 +14,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface AppinsideWebApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_APPINSIDEWEB)
|
||||
@POST(UrlAddress.SET_APPINSIDEWEB)
|
||||
Observable<BaseResponse<List<Appground>>> getAppinsideWeb(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.BrowserBookmarks;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -11,7 +11,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface BrowserBookmarksApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_HOMEPAG_TAG)
|
||||
@POST(UrlAddress.SET_HOMEPAG_TAG)
|
||||
Observable<BaseResponse<BrowserBookmarks>> getBrowserBookmarks(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.BrowserData;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -11,7 +11,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface BrowserListApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_BROWSER_LIST)
|
||||
@POST(UrlAddress.SET_BROWSER_LIST)
|
||||
Observable<BaseResponse<BrowserData>> getBrowserList(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.ForceDownloadData;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -11,7 +11,7 @@ import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface CheckTestUpdateApi {
|
||||
@GET(URLAddress.GET_SN_APP_TEST)
|
||||
@GET(UrlAddress.GET_SN_APP_TEST)
|
||||
Observable<BaseResponse<List<ForceDownloadData>>> getTestUpdate(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface CheckUpdateApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.CHECK_UPDATE)
|
||||
@POST(UrlAddress.CHECK_UPDATE)
|
||||
//1MTK平台 2展锐平台
|
||||
Observable<BaseResponse> getUpdate(
|
||||
@Field("package") String packages,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface CustomROMAppApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_ROM_APP)
|
||||
@POST(UrlAddress.GET_ROM_APP)
|
||||
Observable<BaseResponse> getROMApp(
|
||||
@Field("key") String key,
|
||||
@Field("version_number") String version_number
|
||||
|
||||
@@ -2,14 +2,14 @@ package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.DefaultApp;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface DefaultAppApi {
|
||||
@GET(URLAddress.GET_DEFAULT_APP)
|
||||
@GET(UrlAddress.GET_DEFAULT_APP)
|
||||
Observable<BaseResponse<DefaultApp>> getDefaultApp(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface DesktopIconApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_HIDE_DESKTOPICON)
|
||||
@POST(UrlAddress.GET_HIDE_DESKTOPICON)
|
||||
Observable<BaseResponse> getDesktopIcon(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface DevicesLockedStateApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_DEVICES_LOCKED)
|
||||
@POST(UrlAddress.GET_DEVICES_LOCKED)
|
||||
Observable<BaseResponse> getLockedState(
|
||||
@Field("sn") String sn
|
||||
);
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.AppListInfo;
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -13,7 +13,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface GetAllAppApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_ALL_APP)
|
||||
@POST(UrlAddress.GET_ALL_APP)
|
||||
Observable<BaseResponse<List<AppListInfo>>> getAllAppList(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface GetAppLogApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_APP_LOG)
|
||||
@POST(UrlAddress.GET_APP_LOG)
|
||||
Observable<BaseResponse> getAppLog(
|
||||
@Field("sn") String sn,
|
||||
@Field("random") String random,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.ResponseBody;
|
||||
@@ -8,7 +8,7 @@ import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface GetDesktopApi {
|
||||
@GET(URLAddress.GET_DESKTOP)
|
||||
@GET(UrlAddress.GET_DESKTOP)
|
||||
Observable<ResponseBody> getDesktop(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface GetDeveloperApi {
|
||||
@GET(URLAddress.GET_DEVELOPER)
|
||||
@GET(UrlAddress.GET_DEVELOPER)
|
||||
Observable<BaseResponse> getDeveloperState(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface GetEBagCodeApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_EBAG_CODE)
|
||||
@POST(UrlAddress.GET_EBAG_CODE)
|
||||
Observable<BaseResponse> getEBagCode(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface GetJpushTagsApi {
|
||||
@GET(URLAddress.GET_DEVICES_TAGS)
|
||||
@GET(UrlAddress.GET_DEVICES_TAGS)
|
||||
Observable<BaseResponse> getJpushTags(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
|
||||
@@ -2,14 +2,14 @@ package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.LogoImg;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface LogoImgApi {
|
||||
@GET(URLAddress.GET_LOGO_IMG)
|
||||
@GET(UrlAddress.GET_LOGO_IMG)
|
||||
Observable<BaseResponse<LogoImg>> getLogoImg(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface MACAddressApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SEND_DEVICES)
|
||||
@POST(UrlAddress.SEND_DEVICES)
|
||||
Observable<BaseResponse> sendMACaddress(
|
||||
@Field("sn") String sn,
|
||||
@Field("mac") String mac,
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -11,7 +11,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface NewAppinsideWebApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SET_APPINSIDEWEB)
|
||||
@POST(UrlAddress.SET_APPINSIDEWEB)
|
||||
Observable<BaseResponse> getAppinsideWeb(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface ScreenLockStateApi {
|
||||
@GET(URLAddress.GET_LOCK_SCREEN_STATE)
|
||||
@GET(UrlAddress.GET_LOCK_SCREEN_STATE)
|
||||
Observable<BaseResponse> getScreenLockState(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface SendDownloadInfoApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SEND_DOWNLOAD_FILE_INFO)
|
||||
@POST(UrlAddress.SEND_DOWNLOAD_FILE_INFO)
|
||||
Observable<BaseResponse> sendDownloadTimes(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -10,7 +10,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface SendDownloadTimesApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.SEND_DOWNLOAD_TIMES)
|
||||
@POST(UrlAddress.SEND_DOWNLOAD_TIMES)
|
||||
Observable<BaseResponse> sendDownloadTimes(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import okhttp3.MultipartBody;
|
||||
@@ -12,7 +12,7 @@ import retrofit2.http.Part;
|
||||
|
||||
public interface SendScreenshotApi {
|
||||
@Multipart
|
||||
@POST(URLAddress.SEND_SCREENSHOT)
|
||||
@POST(UrlAddress.SEND_SCREENSHOT)
|
||||
Observable<BaseResponse> sendScreenshot(
|
||||
@Field("sn") String sn,
|
||||
@Field("createtime") long createtime,
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface SnTimeControlApi {
|
||||
@GET(URLAddress.GET_SN_TIME_CONTROL)
|
||||
@GET(UrlAddress.GET_SN_TIME_CONTROL)
|
||||
Observable<BaseResponse> getSnTimeControl(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.bean.StudentsInfo;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Field;
|
||||
@@ -11,7 +11,7 @@ import retrofit2.http.POST;
|
||||
|
||||
public interface StudentsInfosApi {
|
||||
@FormUrlEncoded
|
||||
@POST(URLAddress.GET_STUDENTS_INFO)
|
||||
@POST(UrlAddress.GET_STUDENTS_INFO)
|
||||
Observable<BaseResponse<StudentsInfo>> getStudentsInfo(
|
||||
@Field("sn") String sn
|
||||
);
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.aoleyun.sn.network.api.newapi;
|
||||
|
||||
import com.aoleyun.sn.bean.BaseResponse;
|
||||
import com.aoleyun.sn.network.URLAddress;
|
||||
import com.aoleyun.sn.network.UrlAddress;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.GET;
|
||||
import retrofit2.http.Query;
|
||||
|
||||
public interface TopAppControlApi {
|
||||
@GET(URLAddress.GET_TOP_APP_CONTROL)
|
||||
@GET(UrlAddress.GET_TOP_APP_CONTROL)
|
||||
Observable<BaseResponse> getSnAppControl(
|
||||
@Query("sn") String sn
|
||||
);
|
||||
|
||||
@@ -33,7 +33,7 @@ import com.aoleyun.sn.utils.JGYUtils;
|
||||
import com.aoleyun.sn.base.BaseApplication;
|
||||
import com.aoleyun.sn.comm.CommonDatas;
|
||||
import com.aoleyun.sn.manager.AmapManager;
|
||||
import com.aoleyun.sn.manager.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.HTTPInterface;
|
||||
import com.aoleyun.sn.service.MainService;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
|
||||
@@ -40,7 +40,7 @@ import com.aoleyun.sn.utils.SPUtils;
|
||||
import com.aoleyun.sn.utils.XAPKUtils;
|
||||
import com.aoleyun.sn.KeepAliveConnection;
|
||||
import com.aoleyun.sn.base.BaseApplication;
|
||||
import com.aoleyun.sn.manager.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.aoleyun.sn.utils.ApkUtils;
|
||||
import com.aoleyun.sn.utils.ServiceAliveUtils;
|
||||
import com.aoleyun.sn.utils.ToastUtil;
|
||||
@@ -136,6 +136,7 @@ public class GuardService extends Service {
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
// 8.0之后需要在
|
||||
registmNewAppReceiver();
|
||||
@@ -146,7 +147,6 @@ public class GuardService extends Service {
|
||||
Observable.create(subscribe)
|
||||
.throttleFirst(10, TimeUnit.MINUTES)
|
||||
.subscribe(timeObserver);
|
||||
super.onCreate();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -78,6 +78,7 @@ public class MainService extends Service implements MainContact.MainView, Networ
|
||||
runningTime = SystemClock.elapsedRealtime();
|
||||
//直接获取数据
|
||||
ToastUtil.betaShow("网络已连接");
|
||||
mPresenter.getLockedState();
|
||||
start.onstar(SystemClock.elapsedRealtime());
|
||||
}
|
||||
|
||||
@@ -147,6 +148,7 @@ public class MainService extends Service implements MainContact.MainView, Networ
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
lifecycleSubject.onNext(ActivityEvent.CREATE);
|
||||
mPresenter = new MainPresenter(this);
|
||||
mPresenter.attachView(this);
|
||||
@@ -171,7 +173,6 @@ public class MainService extends Service implements MainContact.MainView, Networ
|
||||
//发送设备mac地址和信息
|
||||
mPresenter.sendMACAddress();
|
||||
setFloatingWindow(this);
|
||||
super.onCreate();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,9 +17,10 @@ import android.util.Log;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aoleyun.sn.BuildConfig;
|
||||
import com.blankj.utilcode.util.NetworkUtils;
|
||||
import com.aoleyun.sn.KeepAliveConnection;
|
||||
import com.aoleyun.sn.manager.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.aoleyun.sn.utils.Logutils;
|
||||
import com.aoleyun.sn.utils.ServiceAliveUtils;
|
||||
import com.aoleyun.sn.utils.Utils;
|
||||
@@ -162,7 +163,7 @@ public class StepService extends Service implements NetworkUtils.OnNetworkStatus
|
||||
* 初始化websocket连接
|
||||
*/
|
||||
private void initSocketClient() {
|
||||
URI uri = URI.create(NetInterfaceManager.WEBSOCKET_URL);
|
||||
URI uri = URI.create(BuildConfig.WebsocketURL);
|
||||
// URI uri = URI.create("ws://echo.websocket.org");
|
||||
// URI uri = URI.create("ws://123.207.136.134:9010/ajaxchattest");
|
||||
client = new JWebSocketClient(uri) {
|
||||
|
||||
@@ -29,7 +29,6 @@ import android.widget.Toast;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.aoleyun.sn.action.JGYActions;
|
||||
import com.aoleyun.sn.comm.CommonDatas;
|
||||
import com.aoleyun.sn.comm.PackageNames;
|
||||
import com.arialyy.aria.core.Aria;
|
||||
import com.arialyy.aria.core.download.DownloadEntity;
|
||||
@@ -37,7 +36,7 @@ import com.google.gson.Gson;
|
||||
import com.aoleyun.sn.BuildConfig;
|
||||
import com.aoleyun.sn.R;
|
||||
import com.aoleyun.sn.bean.UploadAppInfo;
|
||||
import com.aoleyun.sn.manager.NetInterfaceManager;
|
||||
import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.DataOutputStream;
|
||||
|
||||
@@ -921,6 +921,7 @@ public class JGYUtils {
|
||||
this.add("com.uiuios.jgy1");
|
||||
this.add("com.uiuios.jgy2");
|
||||
this.add("com.tt.ttutils");
|
||||
this.add("com.android.uiuios");
|
||||
}};
|
||||
HashSet<String> pkgSet = new HashSet<>(Arrays.asList(packageList.split(",")));
|
||||
pkgSet.addAll(packages);
|
||||
|
||||
BIN
app/src/main/res/drawable-xxxhdpi/loading.gif
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
16
app/src/main/res/drawable/bg_checknet.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- 内部颜色 -->
|
||||
<solid android:color="@color/white" />
|
||||
<padding
|
||||
android:bottom="@dimen/dp_8"
|
||||
android:left="@dimen/dp_8"
|
||||
android:right="@dimen/dp_8"
|
||||
android:top="@dimen/dp_8" />
|
||||
<!-- 圆角的幅度 -->
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/dp_8"
|
||||
android:bottomRightRadius="@dimen/dp_8"
|
||||
android:topLeftRadius="@dimen/dp_8"
|
||||
android:topRightRadius="@dimen/dp_8" />
|
||||
</shape>
|
||||
16
app/src/main/res/drawable/bg_sure.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- 内部颜色 -->
|
||||
<solid android:color="@color/check_update_color" />
|
||||
<!-- <padding-->
|
||||
<!-- android:bottom="50dp"-->
|
||||
<!-- android:left="50dp"-->
|
||||
<!-- android:right="50dp"-->
|
||||
<!-- android:top="50dp" />-->
|
||||
<!-- 圆角的幅度 -->
|
||||
<corners
|
||||
android:bottomLeftRadius="@dimen/dp_32"
|
||||
android:bottomRightRadius="@dimen/dp_32"
|
||||
android:topLeftRadius="@dimen/dp_32"
|
||||
android:topRightRadius="@dimen/dp_32" />
|
||||
</shape>
|
||||
13
app/src/main/res/drawable/bt_sure_normnl.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- 内部颜色 -->
|
||||
<solid
|
||||
android:color="@color/check_update_color" />
|
||||
<!-- 圆角的幅度 -->
|
||||
<corners
|
||||
android:topLeftRadius="@dimen/dp_4"
|
||||
android:topRightRadius="@dimen/dp_4"
|
||||
android:bottomLeftRadius="@dimen/dp_4"
|
||||
android:bottomRightRadius="@dimen/dp_4" />
|
||||
</shape>
|
||||
13
app/src/main/res/drawable/bt_sure_pressed.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- 内部颜色 -->
|
||||
<solid
|
||||
android:color="@color/check_update_color_pressed" />
|
||||
<!-- 圆角的幅度 -->
|
||||
<corners
|
||||
android:topLeftRadius="@dimen/dp_4"
|
||||
android:topRightRadius="@dimen/dp_4"
|
||||
android:bottomLeftRadius="@dimen/dp_4"
|
||||
android:bottomRightRadius="@dimen/dp_4" />
|
||||
</shape>
|
||||
13
app/src/main/res/drawable/bt_sure_selector.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- 没有焦点时的背景颜色 -->
|
||||
<item android:drawable="@drawable/bt_sure_normnl" android:state_window_focused="false" />
|
||||
<!-- 非触摸模式下获得焦点并单击时的背景颜色 -->
|
||||
<item android:drawable="@drawable/bt_sure_normnl" android:state_focused="true" android:state_pressed="true" />
|
||||
<!-- 触摸模式下单击时的背景颜色 -->
|
||||
<item android:drawable="@drawable/bt_sure_pressed" android:state_focused="false" android:state_pressed="true" />
|
||||
<!-- 选中时的背景颜色 -->
|
||||
<item android:drawable="@drawable/bt_sure_normnl" android:state_selected="true" />
|
||||
<!-- 获得焦点时的背景 颜色 -->
|
||||
<item android:drawable="@drawable/bt_sure_normnl" android:state_focused="true" />
|
||||
</selector>
|
||||
132
app/src/main/res/layout-land/activity_checknet.xml
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".activity.CheckNetActivity">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl"
|
||||
android:layout_width="@dimen/dp_240"
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:background="@drawable/bg_checknet"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:text="初始化策略管控"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout"
|
||||
android:layout_width="@dimen/dp_160"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_24"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/textView5">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设备联网状态"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<pl.droidsonroids.gif.GifImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
android:background="@drawable/loading"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout2"
|
||||
android:layout_width="@dimen/dp_160"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayout">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设备连接服务器"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<pl.droidsonroids.gif.GifImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
android:background="@drawable/loading"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout3"
|
||||
android:layout_width="@dimen/dp_160"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayout2">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="获取最新管控策略"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<pl.droidsonroids.gif.GifImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
android:background="@drawable/loading"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<Button
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:background="@drawable/bg_sure"
|
||||
android:text="确 定"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
132
app/src/main/res/layout-port/activity_checknet.xml
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".activity.CheckNetActivity">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl"
|
||||
android:layout_width="@dimen/dp_240"
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:background="@drawable/bg_checknet"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/dp_4"
|
||||
android:layout_marginTop="@dimen/dp_4"
|
||||
android:text="初始化策略管控"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_12"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout"
|
||||
android:layout_width="@dimen/dp_160"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/dp_24"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/textView5">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设备联网状态"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<pl.droidsonroids.gif.GifImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
android:background="@drawable/loading"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout2"
|
||||
android:layout_width="@dimen/dp_160"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayout">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="设备连接服务器"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<pl.droidsonroids.gif.GifImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
android:background="@drawable/loading"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/constraintLayout3"
|
||||
android:layout_width="@dimen/dp_160"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/constraintLayout2">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="获取最新管控策略"
|
||||
android:textColor="@color/black"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<pl.droidsonroids.gif.GifImageView
|
||||
android:layout_width="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
android:background="@drawable/loading"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<Button
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:background="@drawable/bg_sure"
|
||||
android:text="确 定"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 8.3 KiB |
@@ -26,6 +26,24 @@
|
||||
<!-- 屏幕背景是否变暗 -->
|
||||
<item name="android:backgroundDimEnabled">true</item>
|
||||
</style>
|
||||
<style name="DefaultFont">
|
||||
|
||||
<style name="activity_styles" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||
<!-- <item name="android:windowFullscreen">true</item>-->
|
||||
<!--设置dialog的背景-->
|
||||
<item name="android:windowBackground">@android:color/transparent</item>
|
||||
<!--设置Dialog的windowFrame框为无-->
|
||||
<item name="android:windowFrame">@null</item>
|
||||
<!--设置无标题-->
|
||||
<item name="windowNoTitle">true</item>
|
||||
<!--是否浮现在activity之上-->
|
||||
<item name="android:windowIsFloating">false</item>
|
||||
<!--是否半透明-->
|
||||
<item name="android:windowIsTranslucent">true</item>
|
||||
<!--设置窗口内容不覆盖-->
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<!--设置动画,在这里使用让它继承系统的Animation.Dialog-->
|
||||
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
|
||||
<!--背景是否模糊显示-->
|
||||
<item name="android:backgroundDimEnabled">true</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
||||