1.5.0610
bugfixes:优化蓝牙开关,增加u1302平台,准备迁移到高版本AndroidStudio
This commit is contained in:
@@ -29,8 +29,8 @@ android {
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.aoleyun.sn"
|
||||
versionCode 178
|
||||
versionName "1.5.0513"
|
||||
versionCode 179
|
||||
versionName "1.5.0610"
|
||||
|
||||
//There are no CERT files because If the mini sdk version is 23+, the AGP will ignore the V1 scheme signature.
|
||||
minSdkVersion 24
|
||||
@@ -40,8 +40,8 @@ android {
|
||||
|
||||
ndk {
|
||||
//选择要添加的对应 cpu 类型的 .so 库。
|
||||
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86'
|
||||
// 还可以添加 'armeabi' , 'x86', 'x86_64', 'mips', 'mips64'
|
||||
abiFilters 'arm64-v8a'
|
||||
// 还可以添加 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64'
|
||||
}
|
||||
|
||||
buildConfigField "String", "ROOT_URL", '"https://led.aoleyun.cn/api/"'
|
||||
@@ -71,6 +71,10 @@ android {
|
||||
//测试版的图标
|
||||
// beta.res.srcDirs = ['src/beta/res']
|
||||
// newly.res.srcDirs = ['src/beta/res']
|
||||
|
||||
main {
|
||||
jniLibs.srcDir 'src/main/jniLibs'
|
||||
}
|
||||
}
|
||||
|
||||
// Disable release builds for now
|
||||
@@ -242,9 +246,32 @@ android {
|
||||
v1SigningEnabled true
|
||||
v2SigningEnabled true
|
||||
}
|
||||
|
||||
U1302 {
|
||||
storeFile file("keystore/U1302.jks")
|
||||
storePassword "123456"
|
||||
keyAlias "u1302"
|
||||
keyPassword "123456"
|
||||
v1SigningEnabled true
|
||||
v2SigningEnabled true
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
QZ15Debug.initWith(debug)
|
||||
QZ15Debug {
|
||||
buildConfigField "String", "platform", '"QZA15"'
|
||||
versionNameSuffix "-debug"
|
||||
debuggable true
|
||||
signingConfig signingConfigs.U1302
|
||||
}
|
||||
|
||||
QZ15Release.initWith(release)
|
||||
QZ15Release {
|
||||
buildConfigField "String", "platform", '"QZA15"'
|
||||
signingConfig signingConfigs.U1302
|
||||
}
|
||||
|
||||
iPlay50miniProDebug.initWith(debug)
|
||||
iPlay50miniProDebug {
|
||||
buildConfigField "String", "platform", '"miniG99"'
|
||||
@@ -259,16 +286,16 @@ android {
|
||||
signingConfig signingConfigs.iPlay50miniPro
|
||||
}
|
||||
|
||||
seewoDebug.initWith(debug)
|
||||
seewoDebug {
|
||||
seewoDebug.initWith(debug)
|
||||
seewoDebug {
|
||||
versionNameSuffix "-debug"
|
||||
debuggable true
|
||||
signingConfig signingConfigs.seewo
|
||||
buildConfigField "String", "platform", '"seewo"'
|
||||
}
|
||||
|
||||
seewoRelease.initWith(release)
|
||||
seewoRelease {
|
||||
seewoRelease.initWith(release)
|
||||
seewoRelease {
|
||||
signingConfig signingConfigs.seewo
|
||||
buildConfigField "String", "platform", '"seewo"'
|
||||
}
|
||||
@@ -613,6 +640,8 @@ dependencies {
|
||||
implementation files('libs/ebf_tools_v1.0.jar')
|
||||
implementation files('libs/vendor.mediatek.hardware.nvram-V1.0-java.jar')
|
||||
|
||||
implementation files('libs/BaiduTraceSDK_v3_1_10.jar')
|
||||
|
||||
implementation 'androidx.recyclerview:recyclerview:1.2.1'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
|
||||
BIN
app/keystore/U1302.jks
Normal file
BIN
app/keystore/U1302.jks
Normal file
Binary file not shown.
BIN
app/libs/BaiduTraceSDK_v3_1_10.jar
Normal file
BIN
app/libs/BaiduTraceSDK_v3_1_10.jar
Normal file
Binary file not shown.
@@ -35,7 +35,7 @@
|
||||
<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.SHUTDOWN" />
|
||||
<uses-permission android:name="android.permission.GET_TASKS" />
|
||||
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
|
||||
<uses-permission android:name="android.permission.SET_WALLPAPER" />
|
||||
|
||||
<uses-permission
|
||||
android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"
|
||||
@@ -81,7 +81,7 @@
|
||||
<!-- 允许访问振动设备 -->
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<!-- 允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失 -->
|
||||
<!-- <uses-permission android:name="android.permission.WAKE_LOCK" />-->
|
||||
<!-- <uses-permission android:name="android.permission.WAKE_LOCK" />-->
|
||||
<!-- 允许程序读取或写入系统设置 -->
|
||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||
<!-- android 9.0上使用前台服务,需要添加权限 -->
|
||||
@@ -92,17 +92,20 @@
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<!-- 获取模拟定位信息 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
|
||||
|
||||
<!-- 【必须】 移动推送 TPNS SDK 所需权限 -->
|
||||
<!-- <uses-permission android:name="android.permission.INTERNET" /> -->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> -->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> -->
|
||||
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
|
||||
|
||||
<!-- 【常用】 移动推送 TPNS SDK所需权限 -->
|
||||
<!-- <uses-permission android:name="android.permission.WAKE_LOCK" /> -->
|
||||
<!-- <uses-permission android:name="android.permission.VIBRATE" /> -->
|
||||
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
|
||||
<!-- <uses-permission android:name="android.permission.READ_PHONE_STATE" /> -->
|
||||
<!-- <uses-permission android:name="android.permission.GET_TASKS" /> -->
|
||||
|
||||
<!-- 高德地图 -->
|
||||
<!-- 用于进行网络定位 -->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> -->
|
||||
@@ -127,6 +130,35 @@
|
||||
<!-- 如果您的应用需要后台定位权限,且有可能运行在Android Q设备上,并且设置了target>28,必须增加这个权限声明 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
|
||||
|
||||
<!-- 以下是鹰眼SDK基础权限 -->
|
||||
<!-- 这个权限用于进行网络定位-->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />-->
|
||||
<!-- 这个权限用于访问卫星系统接口提供的卫星定位信息-->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />-->
|
||||
<!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />-->
|
||||
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />-->
|
||||
<!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
|
||||
<!-- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />-->
|
||||
<!-- 写入扩展存储,向扩展卡写入数据,用于写入对象存储BOS数据-->
|
||||
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />-->
|
||||
<!-- 访问网络,网络定位需要上网-->
|
||||
<!-- <uses-permission android:name="android.permission.INTERNET" />-->
|
||||
<!-- Android O之后开启前台服务需要申请该权限 -->
|
||||
<!-- <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />-->
|
||||
<!-- Android Q之后,后台定位需要申请该权限 -->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />-->
|
||||
|
||||
|
||||
<!-- 以下不是鹰眼SDK需要的基础权限,可选 -->
|
||||
|
||||
<!-- 用于加快首次卫星定位,可选权限,非必须-->
|
||||
<!-- <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />-->
|
||||
<!-- 用于Android M及以上系统,申请加入忽略电池优化白名单,可选权限,非必须-->
|
||||
<!-- <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />-->
|
||||
|
||||
|
||||
<application
|
||||
android:name=".base.BaseApplication"
|
||||
android:allowBackup="true"
|
||||
@@ -166,11 +198,11 @@
|
||||
android:label="一键加速"
|
||||
android:launchMode="singleInstance"
|
||||
android:theme="@style/activity_styles">
|
||||
<!-- <intent-filter>-->
|
||||
<!-- <action android:name="android.intent.action.MAIN" />-->
|
||||
<!-- <intent-filter>-->
|
||||
<!-- <action android:name="android.intent.action.MAIN" />-->
|
||||
|
||||
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
|
||||
<!-- </intent-filter>-->
|
||||
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
|
||||
<!-- </intent-filter>-->
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
@@ -322,7 +354,13 @@
|
||||
<service
|
||||
android:name="com.baidu.location.f"
|
||||
android:enabled="true"
|
||||
android:process=":remote" />
|
||||
android:process=":location" />
|
||||
|
||||
<!--鹰眼追踪service-->
|
||||
<service
|
||||
android:name="com.baidu.trace.LBSTraceService"
|
||||
android:enabled="true"
|
||||
android:process=":trace" />
|
||||
|
||||
<!-- 应用的其它配置 -->
|
||||
<uses-library
|
||||
@@ -363,7 +401,7 @@
|
||||
|
||||
<meta-data
|
||||
android:name="com.baidu.lbsapi.API_KEY"
|
||||
android:value="bQxx6zC6AvZ6O41UUPYq6X1LsQuC36dh" />
|
||||
android:value="CjFhFE1UP5G14tMBz1kWs7ca92bgHuLr" />
|
||||
|
||||
<!-- 请填写你自己的- appKey -->
|
||||
<meta-data
|
||||
|
||||
@@ -197,12 +197,12 @@ public class SplashActivity extends AppCompatActivity {
|
||||
//静音
|
||||
AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
|
||||
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
|
||||
int ringMax = audioManager.getStreamMinVolume(AudioManager.STREAM_RING);
|
||||
int musicMax = audioManager.getStreamMinVolumeInt(AudioManager.STREAM_MUSIC);
|
||||
int voiceMax = audioManager.getStreamMinVolumeInt(AudioManager.STREAM_VOICE_CALL);
|
||||
audioManager.setStreamVolume(AudioManager.STREAM_RING, ringMax, 0);
|
||||
audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, voiceMax, 0);
|
||||
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, musicMax, 0); //音乐音量
|
||||
// int ringMax = audioManager.getStreamMinVolume(AudioManager.STREAM_RING);
|
||||
// int musicMax = audioManager.getStreamMinVolumeInt(AudioManager.STREAM_MUSIC);
|
||||
// int voiceMax = audioManager.getStreamMinVolumeInt(AudioManager.STREAM_VOICE_CALL);
|
||||
// audioManager.setStreamVolume(AudioManager.STREAM_RING, ringMax, 0);
|
||||
// audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, voiceMax, 0);
|
||||
// audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, musicMax, 0); //音乐音量
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -241,7 +241,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
}
|
||||
|
||||
private void setObserve() {
|
||||
mViewModel.getLockedData().observe(this, new Observer<Boolean>() {
|
||||
mViewModel.mLockedData.observe(this, new Observer<Boolean>() {
|
||||
@Override
|
||||
public void onChanged(Boolean aBoolean) {
|
||||
Log.e(TAG, "setLockedState: " + aBoolean);
|
||||
@@ -257,7 +257,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
mViewModel.getEBagCode();
|
||||
}
|
||||
});
|
||||
mViewModel.getStudentsInfoData().observe(this, new Observer<StudentsInfo>() {
|
||||
mViewModel.mStudentsInfoData.observe(this, new Observer<StudentsInfo>() {
|
||||
@Override
|
||||
public void onChanged(StudentsInfo studentsInfo) {
|
||||
if (studentsInfo == null) {
|
||||
@@ -309,7 +309,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
SPUtils.put(MainActivity.this, CommonConfig.ADMIN_ID, studentsInfo.getAdmin_id());
|
||||
}
|
||||
});
|
||||
mViewModel.getEBagCodeData().observe(this, new Observer<Boolean>() {
|
||||
mViewModel.mEBagCodeData.observe(this, new Observer<Boolean>() {
|
||||
@Override
|
||||
public void onChanged(Boolean aBoolean) {
|
||||
if (aBoolean) {
|
||||
@@ -320,14 +320,14 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
}
|
||||
}
|
||||
});
|
||||
mViewModel.getUpdateInfoData().observe(this, new Observer<JsonObject>() {
|
||||
mViewModel.mUpdateInfoData.observe(this, new Observer<JsonObject>() {
|
||||
@Override
|
||||
public void onChanged(JsonObject jsonObject) {
|
||||
showUpdateDialog(jsonObject);
|
||||
}
|
||||
});
|
||||
|
||||
mViewModel.getQrCodeData().observe(this, new androidx.lifecycle.Observer<Bitmap>() {
|
||||
mViewModel.mQrCodeData.observe(this, new androidx.lifecycle.Observer<Bitmap>() {
|
||||
@Override
|
||||
public void onChanged(Bitmap bitmap) {
|
||||
mViewDataBinding.ivQrcode.setImageBitmap(bitmap);
|
||||
@@ -335,7 +335,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
}
|
||||
});
|
||||
|
||||
mViewModel.getShowPanel().observe(this, new Observer<Boolean>() {
|
||||
mViewModel.mShowPanel.observe(this, new Observer<Boolean>() {
|
||||
@Override
|
||||
public void onChanged(Boolean aBoolean) {
|
||||
if (aBoolean) {
|
||||
@@ -345,7 +345,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
}
|
||||
}
|
||||
});
|
||||
mViewModel.getAppSettingsData().observe(this, new Observer<AppSettings>() {
|
||||
mViewModel.mAppSettingsData.observe(this, new Observer<AppSettings>() {
|
||||
@Override
|
||||
public void onChanged(AppSettings appSettings) {
|
||||
mViewDataBinding.setAppSettings(appSettings);
|
||||
|
||||
@@ -60,11 +60,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
getDefaultApp();
|
||||
}
|
||||
|
||||
private MutableLiveData<Boolean> mLockedData = new MutableLiveData<>();
|
||||
|
||||
public MutableLiveData<Boolean> getLockedData() {
|
||||
return mLockedData;
|
||||
}
|
||||
public MutableLiveData<Boolean> mLockedData = new MutableLiveData<>();
|
||||
|
||||
public void getLockedState() {
|
||||
NetInterfaceManager.getInstance()
|
||||
@@ -79,11 +75,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
});
|
||||
}
|
||||
|
||||
private MutableLiveData<StudentsInfo> mStudentsInfoData = new MutableLiveData<>();
|
||||
|
||||
public MutableLiveData<StudentsInfo> getStudentsInfoData() {
|
||||
return mStudentsInfoData;
|
||||
}
|
||||
public MutableLiveData<StudentsInfo> mStudentsInfoData = new MutableLiveData<>();
|
||||
|
||||
/**
|
||||
* 通过sn获取用户信息
|
||||
@@ -102,11 +94,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
});
|
||||
}
|
||||
|
||||
private MutableLiveData<Boolean> mEBagCodeData = new MutableLiveData<>();
|
||||
|
||||
public MutableLiveData<Boolean> getEBagCodeData() {
|
||||
return mEBagCodeData;
|
||||
}
|
||||
public MutableLiveData<Boolean> mEBagCodeData = new MutableLiveData<>();
|
||||
|
||||
public void getEBagCode() {
|
||||
NetInterfaceManager.getInstance().getEBagCode(true, getLifecycle(), new NetInterfaceManager.onCompleteCallback() {
|
||||
@@ -150,11 +138,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
});
|
||||
}
|
||||
|
||||
private MutableLiveData<JsonObject> mUpdateInfoData = new MutableLiveData<>();
|
||||
|
||||
public MutableLiveData<JsonObject> getUpdateInfoData() {
|
||||
return mUpdateInfoData;
|
||||
}
|
||||
public MutableLiveData<JsonObject> mUpdateInfoData = new MutableLiveData<>();
|
||||
|
||||
public void checkUpdateInfo() {
|
||||
NetInterfaceManager.getInstance()
|
||||
@@ -259,11 +243,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
}
|
||||
|
||||
|
||||
private MutableLiveData<Bitmap> mQrCodeData = new MutableLiveData<>();
|
||||
|
||||
public MutableLiveData<Bitmap> getQrCodeData() {
|
||||
return mQrCodeData;
|
||||
}
|
||||
public MutableLiveData<Bitmap> mQrCodeData = new MutableLiveData<>();
|
||||
|
||||
public void getQrCode() {
|
||||
String encryptString = CXAESUtil.encrypt(CommonConfig.AES_KEY, Utils.getSerial(getCtx()));
|
||||
@@ -281,11 +261,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
});
|
||||
}
|
||||
|
||||
private MutableLiveData<Boolean> mShowPanel = new MutableLiveData<>();
|
||||
|
||||
public MutableLiveData<Boolean> getShowPanel() {
|
||||
return mShowPanel;
|
||||
}
|
||||
public MutableLiveData<Boolean> mShowPanel = new MutableLiveData<>();
|
||||
|
||||
public void setBindInfoPanel() {
|
||||
NetInterfaceManager.getInstance().getSystemSettingObservable()
|
||||
@@ -338,11 +314,7 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
});
|
||||
}
|
||||
|
||||
private MutableLiveData<AppSettings> mAppSettingsData = new MutableLiveData<>();
|
||||
|
||||
public MutableLiveData<AppSettings> getAppSettingsData() {
|
||||
return mAppSettingsData;
|
||||
}
|
||||
public MutableLiveData<AppSettings> mAppSettingsData = new MutableLiveData<>();
|
||||
|
||||
public void getAppSettings() {
|
||||
NetInterfaceManager.getInstance().getAppSettingObservable()
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.aoleyun.sn.base;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.os.Process;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
|
||||
@@ -19,6 +20,7 @@ import com.aoleyun.sn.network.NetInterfaceManager;
|
||||
import com.aoleyun.sn.push.PushManager;
|
||||
import com.aoleyun.sn.rlog.LogDBManager;
|
||||
import com.aoleyun.sn.utils.JgyUtils;
|
||||
import com.aoleyun.sn.utils.SystemUtils;
|
||||
import com.aoleyun.sn.utils.Utils;
|
||||
import com.aoleyun.sn.utils.WiFiUtils;
|
||||
import com.aoleyun.sn.utils.XAPKUtils;
|
||||
@@ -41,10 +43,12 @@ public class BaseApplication extends MultiDexApplication {
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
//非主进程不初始化
|
||||
// if (SystemUtils.isMainProcessName(this, Process.myPid())) {
|
||||
init();
|
||||
// }
|
||||
//非主进程不初始化
|
||||
if (SystemUtils.isMainProcessName(this, Process.myPid())) {
|
||||
MapManager.init(this);
|
||||
MapManager.getInstance().initMap();
|
||||
}
|
||||
}
|
||||
|
||||
private void init() {
|
||||
@@ -73,8 +77,7 @@ public class BaseApplication extends MultiDexApplication {
|
||||
LogDBManager.init(this);
|
||||
FileManager.init(this);
|
||||
ConnectManager.init(this);
|
||||
MapManager.init(this);
|
||||
MapManager.getInstance().initMap();
|
||||
|
||||
JgyUtils.getInstance().hookWebView();
|
||||
Aria.init(this);
|
||||
Aria.get(this).getDownloadConfig().setMaxTaskNum(1);
|
||||
@@ -281,7 +284,7 @@ public class BaseApplication extends MultiDexApplication {
|
||||
void onResult(String code);
|
||||
}
|
||||
|
||||
private static void initTagObservable() {
|
||||
private void initTagObservable() {
|
||||
Log.e(TAG, "initTagObservable: ");
|
||||
Observable.create(new ObservableOnSubscribe<String>() {
|
||||
@Override
|
||||
@@ -304,7 +307,13 @@ public class BaseApplication extends MultiDexApplication {
|
||||
@Override
|
||||
public void onNext(String code) {
|
||||
Log.e("initTagObservable", "onNext: " + code);
|
||||
NetInterfaceManager.getInstance().setPushTags();
|
||||
switch (code) {
|
||||
case "PUSH_20101":
|
||||
aliyunPushInit();
|
||||
break;
|
||||
default:
|
||||
NetInterfaceManager.getInstance().setPushTags();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,6 +10,24 @@ import com.baidu.location.BDAbstractLocationListener;
|
||||
import com.baidu.location.BDLocation;
|
||||
import com.baidu.location.LocationClient;
|
||||
import com.baidu.location.LocationClientOption;
|
||||
import com.baidu.trace.LBSTraceClient;
|
||||
import com.baidu.trace.Trace;
|
||||
import com.baidu.trace.api.fence.AddMonitoredPersonResponse;
|
||||
import com.baidu.trace.api.fence.CreateFenceRequest;
|
||||
import com.baidu.trace.api.fence.CreateFenceResponse;
|
||||
import com.baidu.trace.api.fence.DeleteFenceResponse;
|
||||
import com.baidu.trace.api.fence.DeleteMonitoredPersonResponse;
|
||||
import com.baidu.trace.api.fence.FenceListResponse;
|
||||
import com.baidu.trace.api.fence.HistoryAlarmResponse;
|
||||
import com.baidu.trace.api.fence.ListMonitoredPersonResponse;
|
||||
import com.baidu.trace.api.fence.MonitoredStatusByLocationResponse;
|
||||
import com.baidu.trace.api.fence.MonitoredStatusResponse;
|
||||
import com.baidu.trace.api.fence.OnFenceListener;
|
||||
import com.baidu.trace.api.fence.UpdateFenceResponse;
|
||||
import com.baidu.trace.model.CoordType;
|
||||
import com.baidu.trace.model.LatLng;
|
||||
import com.baidu.trace.model.OnTraceListener;
|
||||
import com.baidu.trace.model.PushMessage;
|
||||
|
||||
public class MapManager {
|
||||
private String TAG = "MapManager";
|
||||
@@ -19,9 +37,13 @@ public class MapManager {
|
||||
private Context mContext;
|
||||
private LocationClient mLocationClient = null;
|
||||
private LocationClientOption mOption;
|
||||
private LBSTraceClient mLBSTraceClient;
|
||||
|
||||
private MapManager(Context context) {
|
||||
this.mContext = context;
|
||||
//3.1.10以上
|
||||
// LBSTraceClient.setAgreePrivacy(mContext, true);
|
||||
// createClientFence();
|
||||
}
|
||||
|
||||
public static void init(Context context) {
|
||||
@@ -196,4 +218,211 @@ public class MapManager {
|
||||
// logMsg(sb.toString(), tag);
|
||||
}
|
||||
};
|
||||
|
||||
// 初始化围栏监听器
|
||||
OnFenceListener mFenceListener = new OnFenceListener() {
|
||||
// 创建围栏回调
|
||||
@Override
|
||||
public void onCreateFenceCallback(CreateFenceResponse response) {
|
||||
Log.e(TAG, "onCreateFenceCallback: " + response);
|
||||
}
|
||||
|
||||
// 更新围栏回调
|
||||
@Override
|
||||
public void onUpdateFenceCallback(UpdateFenceResponse response) {
|
||||
Log.e(TAG, "onUpdateFenceCallback: " + response);
|
||||
}
|
||||
|
||||
// 删除围栏回调
|
||||
@Override
|
||||
public void onDeleteFenceCallback(DeleteFenceResponse response) {
|
||||
Log.e(TAG, "onDeleteFenceCallback: " + response);
|
||||
}
|
||||
|
||||
// 围栏列表回调
|
||||
@Override
|
||||
public void onFenceListCallback(FenceListResponse response) {
|
||||
Log.e(TAG, "onFenceListCallback: " + response);
|
||||
}
|
||||
|
||||
// 监控状态回调
|
||||
@Override
|
||||
public void onMonitoredStatusCallback(MonitoredStatusResponse response) {
|
||||
Log.e(TAG, "onMonitoredStatusCallback: " + response);
|
||||
}
|
||||
|
||||
// 指定位置监控状态回调
|
||||
@Override
|
||||
public void onMonitoredStatusByLocationCallback(MonitoredStatusByLocationResponse response) {
|
||||
Log.e(TAG, "onMonitoredStatusByLocationCallback: " + response);
|
||||
}
|
||||
|
||||
// 历史报警回调
|
||||
@Override
|
||||
public void onHistoryAlarmCallback(HistoryAlarmResponse response) {
|
||||
Log.e(TAG, "onHistoryAlarmCallback: " + response);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAddMonitoredPersonCallback(AddMonitoredPersonResponse addMonitoredPersonResponse) {
|
||||
Log.e(TAG, "onAddMonitoredPersonCallback: " + addMonitoredPersonResponse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeleteMonitoredPersonCallback(DeleteMonitoredPersonResponse deleteMonitoredPersonResponse) {
|
||||
Log.e(TAG, "onDeleteMonitoredPersonCallback: " + deleteMonitoredPersonResponse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onListMonitoredPersonCallback(ListMonitoredPersonResponse listMonitoredPersonResponse) {
|
||||
Log.e(TAG, "onListMonitoredPersonCallback: " + listMonitoredPersonResponse);
|
||||
}
|
||||
};
|
||||
|
||||
// 初始化轨迹服务监听器
|
||||
private OnTraceListener mTraceListener = new OnTraceListener() {
|
||||
// 开启服务回调
|
||||
@Override
|
||||
public void onStartTraceCallback(int status, String message) {
|
||||
Log.e(TAG, "mTraceListener onStartTraceCallback: status = " + status + " message = " + message);
|
||||
//因为startTrace与startGather是异步执行,且startGather依赖startTrace执行开启服务成功,
|
||||
// 所以建议startGather在public void onStartTraceCallback(int errorNo, String message)回调返回错误码为0后,
|
||||
// 再进行调用执行,否则会出现服务开启失败12002的错误。
|
||||
switch (status){
|
||||
case 10001:
|
||||
case 10002:
|
||||
case 12002:
|
||||
break;
|
||||
case 0:
|
||||
// 开启采集
|
||||
mLBSTraceClient.startGather(mGatherTraceListener);
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
// 停止服务回调
|
||||
@Override
|
||||
public void onStopTraceCallback(int status, String message) {
|
||||
Log.e(TAG, "mTraceListener onStopTraceCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
|
||||
// 开启采集回调
|
||||
@Override
|
||||
public void onStartGatherCallback(int status, String message) {
|
||||
Log.e(TAG, "mTraceListener onStartGatherCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
|
||||
// 停止采集回调
|
||||
@Override
|
||||
public void onStopGatherCallback(int status, String message) {
|
||||
Log.e(TAG, "mTraceListener onStopGatherCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
|
||||
// 推送回调
|
||||
@Override
|
||||
public void onPushCallback(byte messageNo, PushMessage message) {
|
||||
Log.e(TAG, "mTraceListener onPushCallback: messageNo = " + messageNo + " PushMessage = " + message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindServiceCallback(int status, String message) {
|
||||
Log.e(TAG, "mTraceListener onBindServiceCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitBOSCallback(int status, String message) {
|
||||
Log.e(TAG, "mTraceListener onInitBOSCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
};
|
||||
|
||||
private OnTraceListener mGatherTraceListener = new OnTraceListener() {
|
||||
// 开启服务回调
|
||||
@Override
|
||||
public void onStartTraceCallback(int status, String message) {
|
||||
Log.e(TAG, "mGatherTraceListener onStartTraceCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
|
||||
// 停止服务回调
|
||||
@Override
|
||||
public void onStopTraceCallback(int status, String message) {
|
||||
Log.e(TAG, "mGatherTraceListener onStopTraceCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
|
||||
// 开启采集回调
|
||||
@Override
|
||||
public void onStartGatherCallback(int status, String message) {
|
||||
Log.e(TAG, "mGatherTraceListener onStartGatherCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
|
||||
// 停止采集回调
|
||||
@Override
|
||||
public void onStopGatherCallback(int status, String message) {
|
||||
Log.e(TAG, "mGatherTraceListener onStopGatherCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
|
||||
// 推送回调
|
||||
@Override
|
||||
public void onPushCallback(byte messageNo, PushMessage message) {
|
||||
Log.e(TAG, "mGatherTraceListener onPushCallback: messageNo = " + messageNo + " PushMessage = " + message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindServiceCallback(int status, String message) {
|
||||
Log.e(TAG, "mGatherTraceListener onBindServiceCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onInitBOSCallback(int status, String message) {
|
||||
Log.e(TAG, "mGatherTraceListener onInitBOSCallback: status = " + status + " message = " + message);
|
||||
}
|
||||
};
|
||||
|
||||
public void createClientFence() {
|
||||
// 轨迹服务ID
|
||||
long serviceId = 241868;
|
||||
// 设备标识
|
||||
String entityName = "myTrace";
|
||||
// 是否需要对象存储服务,默认为:false,关闭对象存储服务。注:鹰眼 Android SDK v3.0以上版本支持随轨迹上传图像等对象数据,若需使用此功能,该参数需设为 true,且需导入bos-android-sdk-1.0.2.jar。
|
||||
boolean isNeedObjectStorage = false;
|
||||
// 初始化轨迹服务
|
||||
Trace mTrace = new Trace(serviceId, entityName, isNeedObjectStorage);
|
||||
// 初始化轨迹服务客户端
|
||||
try {
|
||||
mLBSTraceClient = new LBSTraceClient(mContext);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "createClientFence: " + e.getMessage());
|
||||
}
|
||||
|
||||
// 请求标识
|
||||
int tag = 3;
|
||||
// 围栏名称
|
||||
String fenceName = "local_circle";
|
||||
// 监控对象
|
||||
String monitoredPerson = "myTrace";
|
||||
// 围栏圆心
|
||||
LatLng center = new LatLng(39.9151190000, 116.4039630000);
|
||||
// 围栏半径(单位 : 米)
|
||||
double radius = 2000;
|
||||
// 去噪精度
|
||||
int denoise = 200;
|
||||
// 坐标类型
|
||||
CoordType coordType = CoordType.bd09ll;
|
||||
// 创建本地圆形围栏请求实例
|
||||
CreateFenceRequest localCircleFenceRequest = CreateFenceRequest.buildLocalCircleRequest(tag, serviceId, fenceName, monitoredPerson, center, radius, denoise, coordType);
|
||||
|
||||
if (mLBSTraceClient != null) {
|
||||
// 创建本地圆形围栏
|
||||
mLBSTraceClient.createFence(localCircleFenceRequest, mFenceListener);
|
||||
|
||||
// 定位周期(单位:秒)
|
||||
int gatherInterval = 30;
|
||||
// 打包回传周期(单位:秒)
|
||||
int packInterval = 10;
|
||||
// 设置定位和打包周期
|
||||
mLBSTraceClient.setInterval(gatherInterval, packInterval);
|
||||
// 开启服务
|
||||
mLBSTraceClient.startTrace(mTrace, mTraceListener);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -592,6 +592,13 @@ public class NetInterfaceManager {
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<List<ForceDownloadData>>> getGroupForceDownloadObservable() {
|
||||
return mRetrofit.create(ForceDownloadApi.class)
|
||||
.getGroupForceDownloadApi(NetInterfaceManager.HTTP_KEY, Utils.getSerial(mContext))
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread());
|
||||
}
|
||||
|
||||
public Observable<BaseResponse<List<ForceDownloadData>>> getTestUpdateObservable() {
|
||||
return mRetrofit.create(CheckTestUpdateApi.class)
|
||||
.getTestUpdate(Utils.getSerial(mContext))
|
||||
@@ -2611,6 +2618,8 @@ public class NetInterfaceManager {
|
||||
tagSets.add(JgyUtils.P50Tag);
|
||||
} else if (platform == JgyUtils.seewoPlatform) {
|
||||
tagSets.add(JgyUtils.seewoTag);
|
||||
} else if (platform == JgyUtils.U1302Platform) {
|
||||
tagSets.add(JgyUtils.allwinner_U1302);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -38,7 +38,8 @@ public class UrlAddress {
|
||||
public static final String GET_ALL_APP = "recommend/index";
|
||||
/*强制安装应用*/
|
||||
public static final String GET_FORCE_INSTALL_LIST = "forceinstall/index";
|
||||
/**/
|
||||
/*分组应用强制安装*/
|
||||
public static final String GROUP_APP_INSTALL_LIST = "forceinstall/group-app";
|
||||
|
||||
/*通过固件名获取内置应用*/
|
||||
public static final String GET_ROM_APP = "And/getFirmwareApp";
|
||||
|
||||
@@ -18,4 +18,12 @@ public interface ForceDownloadApi {
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
|
||||
@FormUrlEncoded
|
||||
@POST(UrlAddress.GROUP_APP_INSTALL_LIST)
|
||||
Observable<BaseResponse<List<ForceDownloadData>>> getGroupForceDownloadApi(
|
||||
@Field("key") String key,
|
||||
@Field("sn") String sn
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
@@ -259,7 +259,13 @@ public class PushManager {
|
||||
/*应用市场应用安装*/
|
||||
private static final String APPSTORE_INSTALL = "76";
|
||||
/*设置壁纸*/
|
||||
private static final String wallpaper = "78";
|
||||
private static final String SET_WALLPAPER = "78";
|
||||
/*更换小组标签*/
|
||||
private static final String UPDATE_CHILD_BATCH = "79";
|
||||
/*分组应用分发*/
|
||||
private static final String GROUP_APP_INSTALL = "80";
|
||||
/*分组应用卸载*/
|
||||
private static final String GROUP_APP_UNINSTALL = "81";
|
||||
|
||||
public void setPushContent(String title, String extras) {
|
||||
switch (title) {
|
||||
@@ -672,9 +678,15 @@ public class PushManager {
|
||||
case APPSTORE_INSTALL:
|
||||
|
||||
break;
|
||||
case wallpaper:
|
||||
case SET_WALLPAPER:
|
||||
setWallpaper(extras);
|
||||
break;
|
||||
case UPDATE_CHILD_BATCH:
|
||||
break;
|
||||
case GROUP_APP_INSTALL:
|
||||
break;
|
||||
case GROUP_APP_UNINSTALL:
|
||||
break;
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,6 +156,7 @@ public class JgyUtils {
|
||||
public static final int G11JPlatform = 21;
|
||||
public static final int P50Platform = 23;
|
||||
public static final int seewoPlatform = 25;
|
||||
public static final int U1302Platform = 26;
|
||||
|
||||
|
||||
public static final String Other = "其他";
|
||||
@@ -178,6 +179,7 @@ public class JgyUtils {
|
||||
public static final String G11JTag = "aud8786";
|
||||
public static final String P50Tag = "P50TD";
|
||||
public static final String seewoTag = "seewo";
|
||||
public static final String allwinner_U1302 = "QZA15";
|
||||
|
||||
|
||||
private CacheHelper cacheHelper;
|
||||
@@ -320,6 +322,9 @@ public class JgyUtils {
|
||||
} else if (seewoTag.equalsIgnoreCase(platform)) {
|
||||
Log.i(TAG, "checkAppPlatform: " + "seewo");
|
||||
return seewoPlatform;
|
||||
} else if (allwinner_U1302.equalsIgnoreCase(platform)) {
|
||||
Log.i(TAG, "checkAppPlatform: " + "U1302");
|
||||
return U1302Platform;
|
||||
} else {
|
||||
Log.i(TAG, "checkAppPlatform: " + "没有数据");
|
||||
return UnknowPlatform;
|
||||
@@ -380,6 +385,8 @@ public class JgyUtils {
|
||||
getAppPlatformCallback.AppPlatform(P50Platform);
|
||||
} else if (seewoTag.equalsIgnoreCase(platform)) {
|
||||
getAppPlatformCallback.AppPlatform(seewoPlatform);
|
||||
} else if (allwinner_U1302.equalsIgnoreCase(platform)) {
|
||||
getAppPlatformCallback.AppPlatform(U1302Platform);
|
||||
} else {
|
||||
getAppPlatformCallback.AppPlatform(UnknowPlatform);
|
||||
}
|
||||
@@ -2042,21 +2049,24 @@ public class JgyUtils {
|
||||
* @param state 1打开 0关闭
|
||||
*/
|
||||
public void setDeveloperOptions(int state) {
|
||||
Log.e(TAG, "getDeveloper: state = " + state);
|
||||
|
||||
int oldStatu = Settings.System.getInt(crv, CommonConfig.AOLE_ACTION_DEVELOPER_OPTIONS, 0);
|
||||
if (oldStatu == state) {
|
||||
Log.e(TAG, "setDeveloperOptions: oldStatu = " + oldStatu + " no changed");
|
||||
}
|
||||
Log.e(TAG, "getDeveloper: state = " + state);
|
||||
//这个需要反着来
|
||||
Settings.System.putInt(crv, CommonConfig.AOLE_ACTION_DEVELOPER_OPTIONS, state);
|
||||
|
||||
Log.e(TAG, "setDeveloperOptions: DEVELOPMENT_SETTINGS_ENABLED = " + Settings.Global.getInt(crv, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0));
|
||||
Log.e(TAG, "setDeveloperOptions: ADB_ENABLED = " + Settings.Global.getInt(crv, Settings.Global.ADB_ENABLED, 0));
|
||||
|
||||
if (Settings.Global.getInt(crv, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != state) {
|
||||
Settings.Global.putInt(crv, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, state);
|
||||
}
|
||||
if (Settings.Global.getInt(crv, Settings.Global.ADB_ENABLED, 0) != state) {
|
||||
Settings.Global.putInt(crv, Settings.Global.ADB_ENABLED, state);
|
||||
if (!BuildConfig.DEBUG) {
|
||||
if (Settings.Global.getInt(crv, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) != state) {
|
||||
Settings.Global.putInt(crv, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, state);
|
||||
}
|
||||
if (Settings.Global.getInt(crv, Settings.Global.ADB_ENABLED, 0) != state) {
|
||||
Settings.Global.putInt(crv, Settings.Global.ADB_ENABLED, state);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -392,11 +392,11 @@ public class SysSettingUtils {
|
||||
}
|
||||
|
||||
|
||||
int old_setting_bht = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_BHT_FORBID_ON, 0);
|
||||
int old_setting_bht = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_BHT_FORBID_ON, 1);
|
||||
Log.e(TAG, "setBluetooth: old_setting_bht = " + old_setting_bht);
|
||||
int old_setting_bluetooth = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_BT_FORBID_ON, 0);
|
||||
int old_setting_bluetooth = Settings.System.getInt(context.getContentResolver(), CommonConfig.AOLE_ACTION_BT_FORBID_ON, 1);
|
||||
Log.e(TAG, "setBluetooth: old_setting_bluetooth = " + old_setting_bluetooth);
|
||||
int old_setting_bhtvideo = mmkv.decodeInt(CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, 0);
|
||||
int old_setting_bhtvideo = mmkv.decodeInt(CommonConfig.AOLE_ACTION_BHTVIDEO_FORBID_ON, 1);
|
||||
Log.e(TAG, "setBluetooth: old_setting_bhtvideo = " + old_setting_bhtvideo);
|
||||
|
||||
|
||||
|
||||
@@ -1819,6 +1819,7 @@ public class Utils {
|
||||
|| JgyUtils.getInstance().checkAppPlatform() == JgyUtils.G11JPlatform
|
||||
|| JgyUtils.getInstance().checkAppPlatform() == JgyUtils.P50Platform
|
||||
|| JgyUtils.getInstance().checkAppPlatform() == JgyUtils.seewoPlatform
|
||||
|| JgyUtils.getInstance().checkAppPlatform() == JgyUtils.U1302Platform
|
||||
) {
|
||||
return Utils.getProperty("ro.build.display.id", "获取失败");
|
||||
} else {
|
||||
|
||||
BIN
app/src/main/jniLibs/arm64-v8a/libBaiduTraceSDK_v3_1_10.so
Normal file
BIN
app/src/main/jniLibs/arm64-v8a/libBaiduTraceSDK_v3_1_10.so
Normal file
Binary file not shown.
Reference in New Issue
Block a user