version:2.0.8
bugfixes: update:更滑图标,增加获取系统设置
This commit is contained in:
@@ -16,8 +16,8 @@ android {
|
|||||||
minSdkVersion 24
|
minSdkVersion 24
|
||||||
targetSdkVersion 29
|
targetSdkVersion 29
|
||||||
|
|
||||||
versionCode 94
|
versionCode 99
|
||||||
versionName "2.0.3"
|
versionName "2.0.8"
|
||||||
|
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
vectorDrawables.useSupportLibrary = true
|
vectorDrawables.useSupportLibrary = true
|
||||||
|
|||||||
@@ -157,7 +157,7 @@
|
|||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask"
|
||||||
android:screenOrientation="landscape" />
|
android:screenOrientation="landscape" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".activity.ServiceActivity"
|
android:name=".activity.service.ServiceActivity"
|
||||||
android:launchMode="singleTask"
|
android:launchMode="singleTask"
|
||||||
android:screenOrientation="landscape"
|
android:screenOrientation="landscape"
|
||||||
android:theme="@style/DialogCloseOnTouchOutside" />
|
android:theme="@style/DialogCloseOnTouchOutside" />
|
||||||
|
|||||||
@@ -13,16 +13,26 @@ interface IGetInfoInterface {
|
|||||||
|
|
||||||
//获取sn
|
//获取sn
|
||||||
String getSerial();
|
String getSerial();
|
||||||
//获取定位结果
|
|
||||||
String getMapResult();
|
|
||||||
//获取mac作为sn
|
//获取mac作为sn
|
||||||
String getPushMac();
|
String getPushMac();
|
||||||
//是否激活
|
//是否激活
|
||||||
boolean SnIsActivation();
|
boolean SnIsActivation();
|
||||||
|
//获取激活码
|
||||||
|
String getActivationCode();
|
||||||
//设置为默认桌面
|
//设置为默认桌面
|
||||||
void setDefaultLauncher(String pkg);
|
void setDefaultLauncher(String pkg);
|
||||||
|
//退出桌面
|
||||||
|
void exitDesktop();
|
||||||
|
//能否退出桌面
|
||||||
|
boolean isReturnAndroid();
|
||||||
|
//模拟返回键
|
||||||
|
void keyBack();
|
||||||
|
//获取定位结果
|
||||||
|
String getMapResult();
|
||||||
//获取应用使用时长
|
//获取应用使用时长
|
||||||
String getAppUsedStatistics();
|
String getAppUsedStatistics();
|
||||||
|
//使用第三方应用
|
||||||
|
boolean showThirdApp();
|
||||||
//获取应用市场app
|
//获取应用市场app
|
||||||
List<String> getAdminApp();
|
List<String> getAdminApp();
|
||||||
//写入系统数据
|
//写入系统数据
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
package com.uiui.zyos.activity;
|
|
||||||
|
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
|
|
||||||
import com.uiui.zyos.R;
|
|
||||||
import com.uiui.zyos.base.BaseDataBindingActivity;
|
|
||||||
import com.uiui.zyos.base.mvp.BaseMvpActivity;
|
|
||||||
|
|
||||||
public class ServiceActivity extends BaseDataBindingActivity {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void initDataBinding() {
|
|
||||||
DataBindingUtil.setContentView(this, R.layout.activity_wechat);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void initView() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void initData() {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -16,10 +16,12 @@ import android.view.KeyEvent;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.animation.Animation;
|
import android.view.animation.Animation;
|
||||||
import android.view.animation.TranslateAnimation;
|
import android.view.animation.TranslateAnimation;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
|
import androidx.lifecycle.Observer;
|
||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
|
|
||||||
import com.hjq.permissions.OnPermissionCallback;
|
import com.hjq.permissions.OnPermissionCallback;
|
||||||
@@ -33,8 +35,10 @@ import com.uiui.zyos.activity.ExitActivity;
|
|||||||
import com.uiui.zyos.activity.permission.PermissionActivity;
|
import com.uiui.zyos.activity.permission.PermissionActivity;
|
||||||
import com.uiui.zyos.base.mvvm.BaseMvvmActivity;
|
import com.uiui.zyos.base.mvvm.BaseMvvmActivity;
|
||||||
import com.uiui.zyos.bean.AppUpdateInfo;
|
import com.uiui.zyos.bean.AppUpdateInfo;
|
||||||
|
import com.uiui.zyos.bean.SystemSettings;
|
||||||
import com.uiui.zyos.config.CommonConfig;
|
import com.uiui.zyos.config.CommonConfig;
|
||||||
import com.uiui.zyos.databinding.ActivityMainBinding;
|
import com.uiui.zyos.databinding.ActivityMainBinding;
|
||||||
|
import com.uiui.zyos.dialog.PermissionsDialog;
|
||||||
import com.uiui.zyos.dialog.PrivacyPolicyDialog;
|
import com.uiui.zyos.dialog.PrivacyPolicyDialog;
|
||||||
import com.uiui.zyos.fragment.subject.SubjectFragment;
|
import com.uiui.zyos.fragment.subject.SubjectFragment;
|
||||||
import com.uiui.zyos.fragment.user.UserFragment;
|
import com.uiui.zyos.fragment.user.UserFragment;
|
||||||
@@ -73,6 +77,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
@Override
|
@Override
|
||||||
public void onRemoteConnected() {
|
public void onRemoteConnected() {
|
||||||
Log.e(TAG, "onConnected: ");
|
Log.e(TAG, "onConnected: ");
|
||||||
|
mViewModel.getSystemSettings();
|
||||||
setDefaultDesktop();
|
setDefaultDesktop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,7 +98,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
public void initView() {
|
public void initView() {
|
||||||
Log.e(TAG, "initView: ");
|
Log.e(TAG, "initView: ");
|
||||||
|
|
||||||
mViewDataBinding.ivIcon2.setImageDrawable(ApkUtils.getAppDrawable(MainActivity.this, "com.uiui.zy", R.drawable.com_uiui_sn));
|
// mViewDataBinding.ivIcon2.setImageDrawable(ApkUtils.getAppDrawable(MainActivity.this, "com.uiui.zy", R.drawable.com_uiui_sn));
|
||||||
mViewDataBinding.tvAppname2.setText(ApkUtils.getAppName(MainActivity.this, "com.uiui.zy", "设备守护"));
|
mViewDataBinding.tvAppname2.setText(ApkUtils.getAppName(MainActivity.this, "com.uiui.zy", "设备守护"));
|
||||||
|
|
||||||
// OpenApkUtils.getInstance().openWordLecture();
|
// OpenApkUtils.getInstance().openWordLecture();
|
||||||
@@ -229,6 +234,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
public void initData() {
|
public void initData() {
|
||||||
registmNewAppReceiver();
|
registmNewAppReceiver();
|
||||||
registmUpdateAddressReceiver();
|
registmUpdateAddressReceiver();
|
||||||
|
registVoiceAssistantReceiver();
|
||||||
// mViewModel.mAppUpdateInfoData.observe(this, new Observer<AppUpdateInfo>() {
|
// mViewModel.mAppUpdateInfoData.observe(this, new Observer<AppUpdateInfo>() {
|
||||||
// @Override
|
// @Override
|
||||||
// public void onChanged(AppUpdateInfo appUpdateInfo) {
|
// public void onChanged(AppUpdateInfo appUpdateInfo) {
|
||||||
@@ -249,6 +255,14 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
// });
|
// });
|
||||||
// mViewModel.checkUpdate();
|
// mViewModel.checkUpdate();
|
||||||
mViewModel.getSnInfo();
|
mViewModel.getSnInfo();
|
||||||
|
|
||||||
|
mViewModel.mSystemSettingsMutableLiveData.observe(this, new Observer<SystemSettings>() {
|
||||||
|
@Override
|
||||||
|
public void onChanged(SystemSettings systemSettings) {
|
||||||
|
int voice_assistant = systemSettings.getVoice_assistant();
|
||||||
|
mViewDataBinding.ivRobot.setVisibility(voice_assistant == 1 ? View.VISIBLE : View.GONE);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void hideSystemUI() {
|
private void hideSystemUI() {
|
||||||
@@ -266,11 +280,11 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setDefaultDesktop() {
|
private void setDefaultDesktop() {
|
||||||
int is_activation = Settings.Global.getInt(getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
|
||||||
if (is_activation == 0) {
|
if (is_activation) {
|
||||||
RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
|
|
||||||
} else {
|
|
||||||
RemoteManager.getInstance().setDefaultDesktop(BuildConfig.APPLICATION_ID);
|
RemoteManager.getInstance().setDefaultDesktop(BuildConfig.APPLICATION_ID);
|
||||||
|
} else {
|
||||||
|
// RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -353,7 +367,8 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
if (checkPermission()) {
|
if (checkPermission()) {
|
||||||
Log.e(TAG, "onResume: all permission granted");
|
Log.e(TAG, "onResume: all permission granted");
|
||||||
} else {
|
} else {
|
||||||
startActivity(new Intent(MainActivity.this, PermissionActivity.class));
|
// startActivity(new Intent(MainActivity.this, PermissionActivity.class));
|
||||||
|
getPermissions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
setDefaultDesktop();
|
setDefaultDesktop();
|
||||||
@@ -391,6 +406,9 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
if (mUpdateAddressReceiver != null) {
|
if (mUpdateAddressReceiver != null) {
|
||||||
unregisterReceiver(mUpdateAddressReceiver);
|
unregisterReceiver(mUpdateAddressReceiver);
|
||||||
}
|
}
|
||||||
|
if (mVoiceAssistantReceiver != null) {
|
||||||
|
unregisterReceiver(mVoiceAssistantReceiver);
|
||||||
|
}
|
||||||
|
|
||||||
RemoteManager.removeListener(this);
|
RemoteManager.removeListener(this);
|
||||||
}
|
}
|
||||||
@@ -423,6 +441,60 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
view.setVisibility(View.VISIBLE);
|
view.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private PermissionsDialog mPermissionsDialog;
|
||||||
|
|
||||||
|
public void getPermissions() {
|
||||||
|
Log.e(TAG, "getPermissions: ");
|
||||||
|
if (XXPermissions.isGranted(MainActivity.this, PermissionActivity.PERMISSION_CHECK)) {
|
||||||
|
Log.e(TAG, "getPermissions: 获取录音权限成功");
|
||||||
|
} else {
|
||||||
|
if (mPermissionsDialog != null) {
|
||||||
|
mPermissionsDialog.dismiss();
|
||||||
|
mPermissionsDialog = null;
|
||||||
|
}
|
||||||
|
mPermissionsDialog = new PermissionsDialog(MainActivity.this);
|
||||||
|
mPermissionsDialog.setPermissionsCallback(new PermissionsDialog.PermissionsCallback() {
|
||||||
|
@Override
|
||||||
|
public void onGranted() {
|
||||||
|
mPermissionsDialog.dismiss();
|
||||||
|
XXPermissions.with(MainActivity.this)
|
||||||
|
.permission(PermissionActivity.PERMISSION_CHECK)
|
||||||
|
.request(new OnPermissionCallback() {
|
||||||
|
@Override
|
||||||
|
public void onGranted(@androidx.annotation.NonNull List<String> permissions, boolean allGranted) {
|
||||||
|
Log.e(TAG, "onGranted: permissions = " + permissions + " allGranted = " + allGranted);
|
||||||
|
if (!allGranted) {
|
||||||
|
Toast.makeText(MainActivity.this, "存储权限未正常授予", Toast.LENGTH_SHORT).show();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Log.e(TAG, "onGranted: 获取存储权限成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDenied(@androidx.annotation.NonNull List<String> permissions, boolean doNotAskAgain) {
|
||||||
|
Log.e(TAG, "onDenied: permissions = " + permissions + " doNotAskAgain = " + doNotAskAgain);
|
||||||
|
if (doNotAskAgain) {
|
||||||
|
Toast.makeText(MainActivity.this, "被永久拒绝授权,请手动授予存储权限", Toast.LENGTH_SHORT).show();
|
||||||
|
// 如果是被永久拒绝就跳转到应用权限系统设置页面
|
||||||
|
XXPermissions.startPermissionActivity(MainActivity.this, permissions);
|
||||||
|
} else {
|
||||||
|
Log.e(TAG, "onGranted: 获取存储权限失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDenied() {
|
||||||
|
mPermissionsDialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
mPermissionsDialog.setContent("桌面需要获取存储权限保存作业,获取定位提供给小程序查看,请授予后使用");
|
||||||
|
mPermissionsDialog.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private boolean checkPermission() {
|
private boolean checkPermission() {
|
||||||
return XXPermissions.isGranted(this, PermissionActivity.PERMISSION_CHECK);
|
return XXPermissions.isGranted(this, PermissionActivity.PERMISSION_CHECK);
|
||||||
}
|
}
|
||||||
@@ -566,7 +638,8 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
if (checkPermission()) {
|
if (checkPermission()) {
|
||||||
Log.e(TAG, "onConfirm: all permission granted");
|
Log.e(TAG, "onConfirm: all permission granted");
|
||||||
} else {
|
} else {
|
||||||
startActivity(new Intent(MainActivity.this, PermissionActivity.class));
|
// startActivity(new Intent(MainActivity.this, PermissionActivity.class));
|
||||||
|
getPermissions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -683,6 +756,28 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final String VOICE_ASSISTANT_REFRESH_KEY = "voice_assistant_refresh";
|
||||||
|
|
||||||
|
private VoiceAssistantReceiver mVoiceAssistantReceiver;
|
||||||
|
|
||||||
|
private void registVoiceAssistantReceiver() {
|
||||||
|
mVoiceAssistantReceiver = new VoiceAssistantReceiver();
|
||||||
|
IntentFilter filter = new IntentFilter();
|
||||||
|
filter.addAction(VOICE_ASSISTANT_REFRESH_KEY);
|
||||||
|
registerReceiver(mVoiceAssistantReceiver, filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
class VoiceAssistantReceiver extends BroadcastReceiver {
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
String action = intent.getAction();
|
||||||
|
Log.e(TAG, "onReceive: " + action);
|
||||||
|
if (VOICE_ASSISTANT_REFRESH_KEY.equals(action)) {
|
||||||
|
int voice_assistant = intent.getIntExtra("voice_assistant", 0);
|
||||||
|
mViewDataBinding.ivRobot.setVisibility(voice_assistant == 1 ? View.VISIBLE : View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public class BtnClick {
|
public class BtnClick {
|
||||||
public void openRobot(View view) {
|
public void openRobot(View view) {
|
||||||
@@ -700,7 +795,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
|
|
||||||
public void open2(View view) {
|
public void open2(View view) {
|
||||||
// OpenApkUtils.getInstance().openApp("com.android.documentsui");
|
// OpenApkUtils.getInstance().openApp("com.android.documentsui");
|
||||||
OpenApkUtils.getInstance().openApp("com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
|
OpenApkUtils.getInstance().openZySn();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void open3(View view) {
|
public void open3(View view) {
|
||||||
@@ -749,8 +844,8 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
|||||||
intent.setPackage("com.uiui.zy");
|
intent.setPackage("com.uiui.zy");
|
||||||
sendBroadcast(intent);
|
sendBroadcast(intent);
|
||||||
|
|
||||||
int is_activation = Settings.Global.getInt(getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
|
||||||
if (is_activation == 1) {
|
if (is_activation) {
|
||||||
startActivity(new Intent(MainActivity.this, ExitActivity.class));
|
startActivity(new Intent(MainActivity.this, ExitActivity.class));
|
||||||
} else {
|
} else {
|
||||||
Utils.exitDesktop(MainActivity.this);
|
Utils.exitDesktop(MainActivity.this);
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import com.uiui.zyos.base.mvvm.BaseViewModel;
|
|||||||
import com.uiui.zyos.bean.AppUpdateInfo;
|
import com.uiui.zyos.bean.AppUpdateInfo;
|
||||||
import com.uiui.zyos.bean.BaseResponse;
|
import com.uiui.zyos.bean.BaseResponse;
|
||||||
import com.uiui.zyos.bean.SnInfo;
|
import com.uiui.zyos.bean.SnInfo;
|
||||||
|
import com.uiui.zyos.bean.SystemSettings;
|
||||||
import com.uiui.zyos.config.CommonConfig;
|
import com.uiui.zyos.config.CommonConfig;
|
||||||
import com.uiui.zyos.databinding.ActivityMainBinding;
|
import com.uiui.zyos.databinding.ActivityMainBinding;
|
||||||
import com.uiui.zyos.manager.RemoteManager;
|
import com.uiui.zyos.manager.RemoteManager;
|
||||||
@@ -85,10 +86,41 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
|||||||
Log.e("getSnInfo", "onComplete: ");
|
Log.e("getSnInfo", "onComplete: ");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public MutableLiveData<SystemSettings> mSystemSettingsMutableLiveData = new MutableLiveData<>();
|
||||||
|
|
||||||
|
public void getSystemSettings() {
|
||||||
|
NetInterfaceManager.getInstance().getsettingControl()
|
||||||
|
.subscribe(new Observer<BaseResponse<SystemSettings>>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
Log.e("getSystemSettings", "onSubscribe: ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NonNull BaseResponse<SystemSettings> systemSettingsBaseResponse) {
|
||||||
|
Log.e("getSystemSettings", "onNext: " + systemSettingsBaseResponse);
|
||||||
|
if (systemSettingsBaseResponse.code == 200) {
|
||||||
|
SystemSettings systemSettings = systemSettingsBaseResponse.data;
|
||||||
|
mSystemSettingsMutableLiveData.setValue(systemSettings);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
Log.e("getSystemSettings", "onError: " + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
Log.e("getSystemSettings", "onComplete: ");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public MutableLiveData<AppUpdateInfo> mAppUpdateInfoData = new MutableLiveData<>();
|
public MutableLiveData<AppUpdateInfo> mAppUpdateInfoData = new MutableLiveData<>();
|
||||||
|
|
||||||
public void checkUpdate() {
|
public void checkUpdate() {
|
||||||
|
|||||||
@@ -32,9 +32,9 @@ public class PermissionActivity extends BaseMvvmActivity<PermissionViewModel, Ac
|
|||||||
|
|
||||||
public static final String[] PERMISSION_CHECK = new String[]{
|
public static final String[] PERMISSION_CHECK = new String[]{
|
||||||
Permission.WRITE_EXTERNAL_STORAGE,
|
Permission.WRITE_EXTERNAL_STORAGE,
|
||||||
Permission.READ_PHONE_STATE,
|
// Permission.READ_PHONE_STATE,
|
||||||
// Permission.WRITE_SETTINGS,
|
Permission.WRITE_SETTINGS,
|
||||||
Permission.ACCESS_COARSE_LOCATION,
|
// Permission.ACCESS_COARSE_LOCATION,
|
||||||
Permission.ACCESS_FINE_LOCATION,
|
Permission.ACCESS_FINE_LOCATION,
|
||||||
// Permission.ACCESS_BACKGROUND_LOCATION,
|
// Permission.ACCESS_BACKGROUND_LOCATION,
|
||||||
};
|
};
|
||||||
@@ -87,9 +87,9 @@ public class PermissionActivity extends BaseMvvmActivity<PermissionViewModel, Ac
|
|||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
if (XXPermissions.isGranted(this, PermissionActivity.PERMISSION_CHECK)) {
|
// if (XXPermissions.isGranted(this, PermissionActivity.PERMISSION_CHECK)) {
|
||||||
finish();
|
// finish();
|
||||||
}
|
// }
|
||||||
if (XXPermissions.isGranted(this, Permission.WRITE_EXTERNAL_STORAGE)) {
|
if (XXPermissions.isGranted(this, Permission.WRITE_EXTERNAL_STORAGE)) {
|
||||||
mViewDataBinding.tvAuth0.setText("已授权");
|
mViewDataBinding.tvAuth0.setText("已授权");
|
||||||
mViewDataBinding.tvAuth0.setEnabled(false);
|
mViewDataBinding.tvAuth0.setEnabled(false);
|
||||||
@@ -126,7 +126,12 @@ public class PermissionActivity extends BaseMvvmActivity<PermissionViewModel, Ac
|
|||||||
} else {
|
} else {
|
||||||
mViewDataBinding.tvAuth5.setText("去授权");
|
mViewDataBinding.tvAuth5.setText("去授权");
|
||||||
}
|
}
|
||||||
|
if (XXPermissions.isGranted(this, Permission.NOTIFICATION_SERVICE)) {
|
||||||
|
mViewDataBinding.tvAuth6.setText("已授权");
|
||||||
|
mViewDataBinding.tvAuth6.setEnabled(false);
|
||||||
|
} else {
|
||||||
|
mViewDataBinding.tvAuth6.setText("去授权");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getPermission(String... permissions) {
|
private void getPermission(String... permissions) {
|
||||||
@@ -189,5 +194,8 @@ public class PermissionActivity extends BaseMvvmActivity<PermissionViewModel, Ac
|
|||||||
getPermission(Permission.ACCESS_BACKGROUND_LOCATION);
|
getPermission(Permission.ACCESS_BACKGROUND_LOCATION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void open_notification(View view) {
|
||||||
|
getPermission(Permission.NOTIFICATION_SERVICE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
package com.uiui.zyos.activity.service;
|
||||||
|
|
||||||
|
import android.view.View;
|
||||||
|
|
||||||
|
import androidx.lifecycle.Observer;
|
||||||
|
|
||||||
|
import com.uiui.zyos.R;
|
||||||
|
import com.uiui.zyos.base.mvvm.BaseMvvmActivity;
|
||||||
|
import com.uiui.zyos.bean.GuideBean;
|
||||||
|
import com.uiui.zyos.databinding.ActivityServiceBinding;
|
||||||
|
import com.uiui.zyos.utils.GlideLoadUtils;
|
||||||
|
|
||||||
|
public class ServiceActivity extends BaseMvvmActivity <ServiceViewModel, ActivityServiceBinding>{
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected int getLayoutId() {
|
||||||
|
return R.layout.activity_service;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void initDataBinding() {
|
||||||
|
mViewModel.setCtx(this);
|
||||||
|
mViewModel.setLifecycle(getLifecycleSubject());
|
||||||
|
mViewModel.setVDBinding(mViewDataBinding);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initView() {
|
||||||
|
hideNavigationBar();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initData() {
|
||||||
|
mViewModel.getGuideBeanData().observe(this, new Observer<GuideBean>() {
|
||||||
|
@Override
|
||||||
|
public void onChanged(GuideBean guideBean) {
|
||||||
|
GlideLoadUtils.getInstance().glideLoad(ServiceActivity.this, guideBean.getFile(), mViewDataBinding.ivQrcode, R.drawable.wechat_service);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
mViewModel.getQrCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 隐藏导航栏
|
||||||
|
private void hideNavigationBar() {
|
||||||
|
View decorView = getWindow().getDecorView();
|
||||||
|
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
|
||||||
|
// | View.SYSTEM_UI_FLAG_FULLSCREEN
|
||||||
|
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
||||||
|
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
|
||||||
|
decorView.setSystemUiVisibility(uiOptions);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,66 @@
|
|||||||
|
package com.uiui.zyos.activity.service;
|
||||||
|
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
|
import com.trello.rxlifecycle4.RxLifecycle;
|
||||||
|
import com.trello.rxlifecycle4.android.ActivityEvent;
|
||||||
|
import com.uiui.zyos.base.mvvm.BaseViewModel;
|
||||||
|
import com.uiui.zyos.bean.BaseResponse;
|
||||||
|
import com.uiui.zyos.bean.GuideBean;
|
||||||
|
import com.uiui.zyos.databinding.ActivityServiceBinding;
|
||||||
|
import com.uiui.zyos.network.NetInterfaceManager;
|
||||||
|
|
||||||
|
import io.reactivex.rxjava3.annotations.NonNull;
|
||||||
|
import io.reactivex.rxjava3.core.Observer;
|
||||||
|
import io.reactivex.rxjava3.disposables.Disposable;
|
||||||
|
|
||||||
|
public class ServiceViewModel extends BaseViewModel<ActivityServiceBinding, ActivityEvent> {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ActivityServiceBinding getVDBinding() {
|
||||||
|
return binding;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private MutableLiveData<GuideBean> mGuideBeanData = new MutableLiveData<>();
|
||||||
|
|
||||||
|
public MutableLiveData<GuideBean> getGuideBeanData() {
|
||||||
|
return mGuideBeanData;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getQrCode() {
|
||||||
|
NetInterfaceManager.getInstance().getFilesObservable(9)
|
||||||
|
.compose(RxLifecycle.bindUntilEvent(getLifecycle(), ActivityEvent.DESTROY))
|
||||||
|
.subscribe(new Observer<BaseResponse<GuideBean>>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
Log.e("getQrCode", "onSubscribe: ");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NonNull BaseResponse<GuideBean> guideBeanBaseResponse) {
|
||||||
|
Log.e("getQrCode", "onNext: " + guideBeanBaseResponse);
|
||||||
|
if (guideBeanBaseResponse.code == 200) {
|
||||||
|
GuideBean guideBean = guideBeanBaseResponse.data;
|
||||||
|
mGuideBeanData.setValue(guideBean);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
Log.e("getQrCode", "onError: " + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
Log.e("getQrCode", "onComplete: ");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -20,6 +20,7 @@ import com.tencent.mmkv.MMKV;
|
|||||||
import com.uiui.zyos.BuildConfig;
|
import com.uiui.zyos.BuildConfig;
|
||||||
import com.uiui.zyos.R;
|
import com.uiui.zyos.R;
|
||||||
import com.uiui.zyos.activity.edit.EditActivity;
|
import com.uiui.zyos.activity.edit.EditActivity;
|
||||||
|
import com.uiui.zyos.activity.permission.PermissionActivity;
|
||||||
import com.uiui.zyos.activity.update.UpdateActivity;
|
import com.uiui.zyos.activity.update.UpdateActivity;
|
||||||
import com.uiui.zyos.base.mvvm.BaseMvvmActivity;
|
import com.uiui.zyos.base.mvvm.BaseMvvmActivity;
|
||||||
import com.uiui.zyos.bean.AppUpdateInfo;
|
import com.uiui.zyos.bean.AppUpdateInfo;
|
||||||
@@ -274,5 +275,9 @@ public class UserActivity extends BaseMvvmActivity<UserViewModel, ActivityUserBi
|
|||||||
public void selectPic(View v) {
|
public void selectPic(View v) {
|
||||||
selectPicture();
|
selectPicture();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void checkPermission(View view) {
|
||||||
|
startActivity(new Intent(UserActivity.this, PermissionActivity.class));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,6 @@ package com.uiui.zyos.adapter;
|
|||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.drawable.Drawable;
|
|
||||||
import android.provider.Settings;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -20,17 +18,15 @@ import com.hjq.toast.Toaster;
|
|||||||
import com.uiui.zyos.R;
|
import com.uiui.zyos.R;
|
||||||
import com.uiui.zyos.activity.ManualActivity;
|
import com.uiui.zyos.activity.ManualActivity;
|
||||||
import com.uiui.zyos.activity.PasswordActivity;
|
import com.uiui.zyos.activity.PasswordActivity;
|
||||||
import com.uiui.zyos.activity.ServiceActivity;
|
import com.uiui.zyos.activity.service.ServiceActivity;
|
||||||
import com.uiui.zyos.bean.DesktopIcon;
|
import com.uiui.zyos.bean.DesktopIcon;
|
||||||
import com.uiui.zyos.config.CommonConfig;
|
|
||||||
import com.uiui.zyos.manager.AppManager;
|
import com.uiui.zyos.manager.AppManager;
|
||||||
|
import com.uiui.zyos.manager.RemoteManager;
|
||||||
import com.uiui.zyos.utils.ApkUtils;
|
import com.uiui.zyos.utils.ApkUtils;
|
||||||
import com.uiui.zyos.utils.AppUsedTimeUtils;
|
|
||||||
import com.uiui.zyos.utils.BitmapUtils;
|
import com.uiui.zyos.utils.BitmapUtils;
|
||||||
import com.uiui.zyos.utils.IconUtils;
|
import com.uiui.zyos.utils.IconUtils;
|
||||||
import com.uiui.zyos.utils.OpenApkUtils;
|
import com.uiui.zyos.utils.OpenApkUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
|
public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
|
||||||
@@ -107,8 +103,8 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
|
|||||||
OpenApkUtils.getInstance().openARHuiben();
|
OpenApkUtils.getInstance().openARHuiben();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
int settingOtherAppInstaller = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
|
boolean settingOtherAppInstaller = RemoteManager.getInstance().showThirdApp();
|
||||||
if (settingOtherAppInstaller == 0 && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
|
if (!settingOtherAppInstaller && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
|
||||||
Toaster.show("已禁止应用打开");
|
Toaster.show("已禁止应用打开");
|
||||||
} else {
|
} else {
|
||||||
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
|
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ package com.uiui.zyos.adapter;
|
|||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.provider.Settings;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@@ -19,10 +18,10 @@ import com.hjq.toast.Toaster;
|
|||||||
import com.uiui.zyos.R;
|
import com.uiui.zyos.R;
|
||||||
import com.uiui.zyos.activity.ManualActivity;
|
import com.uiui.zyos.activity.ManualActivity;
|
||||||
import com.uiui.zyos.activity.PasswordActivity;
|
import com.uiui.zyos.activity.PasswordActivity;
|
||||||
import com.uiui.zyos.activity.ServiceActivity;
|
import com.uiui.zyos.activity.service.ServiceActivity;
|
||||||
import com.uiui.zyos.bean.DesktopIcon;
|
import com.uiui.zyos.bean.DesktopIcon;
|
||||||
import com.uiui.zyos.config.CommonConfig;
|
|
||||||
import com.uiui.zyos.manager.AppManager;
|
import com.uiui.zyos.manager.AppManager;
|
||||||
|
import com.uiui.zyos.manager.RemoteManager;
|
||||||
import com.uiui.zyos.utils.ApkUtils;
|
import com.uiui.zyos.utils.ApkUtils;
|
||||||
import com.uiui.zyos.utils.BitmapUtils;
|
import com.uiui.zyos.utils.BitmapUtils;
|
||||||
import com.uiui.zyos.utils.IconUtils;
|
import com.uiui.zyos.utils.IconUtils;
|
||||||
@@ -98,8 +97,8 @@ public class FileAdapter extends RecyclerView.Adapter<FileAdapter.AppHolder> {
|
|||||||
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
|
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
int settingOtherAppInstaller = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
|
boolean settingOtherAppInstaller = RemoteManager.getInstance().showThirdApp();
|
||||||
if (settingOtherAppInstaller == 0 && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
|
if (!settingOtherAppInstaller && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
|
||||||
Toaster.show("已禁止应用打开");
|
Toaster.show("已禁止应用打开");
|
||||||
} else {
|
} else {
|
||||||
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
|
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ package com.uiui.zyos.bean;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class SystemSettings implements Serializable {
|
public class SystemSettings implements Serializable {
|
||||||
|
|
||||||
@@ -37,7 +38,7 @@ public class SystemSettings implements Serializable {
|
|||||||
int qch_restore;
|
int qch_restore;
|
||||||
int setting_browserInput;
|
int setting_browserInput;
|
||||||
int dev_mode;
|
int dev_mode;
|
||||||
List<Contact> setting_sos;
|
String setting_sos;
|
||||||
String setting_volume;
|
String setting_volume;
|
||||||
String setting_luminance;
|
String setting_luminance;
|
||||||
String setting_typeface;
|
String setting_typeface;
|
||||||
@@ -55,11 +56,21 @@ public class SystemSettings implements Serializable {
|
|||||||
int setting_location;
|
int setting_location;
|
||||||
int setting_charge;
|
int setting_charge;
|
||||||
int setting_other_appInstaller;
|
int setting_other_appInstaller;
|
||||||
|
int is_quickapp;
|
||||||
|
String quickapp;
|
||||||
|
int is_storeinstall;
|
||||||
|
int is_timecontrol;
|
||||||
|
String timecontrol_start;
|
||||||
|
String timecontrol_end;
|
||||||
|
int is_return_android;
|
||||||
|
|
||||||
int is_health;
|
int is_bluetooth_share;
|
||||||
int is_shopping;
|
int is_developer_mode;
|
||||||
int is_info;
|
int is_device_recover;
|
||||||
|
int is_top_notify;
|
||||||
|
int is_bottom_bar;
|
||||||
|
int is_notify_bar_show;
|
||||||
|
int voice_assistant;
|
||||||
|
|
||||||
public int getQch_restore() {
|
public int getQch_restore() {
|
||||||
return qch_restore;
|
return qch_restore;
|
||||||
@@ -262,11 +273,11 @@ public class SystemSettings implements Serializable {
|
|||||||
this.setting_hotspot = setting_hotspot;
|
this.setting_hotspot = setting_hotspot;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Contact> getSetting_sos() {
|
public String getSetting_sos() {
|
||||||
return setting_sos;
|
return setting_sos;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setSetting_sos(List<Contact> setting_sos) {
|
public void setSetting_sos(String setting_sos) {
|
||||||
this.setting_sos = setting_sos;
|
this.setting_sos = setting_sos;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,30 +409,119 @@ public class SystemSettings implements Serializable {
|
|||||||
this.setting_other_appInstaller = setting_other_appInstaller;
|
this.setting_other_appInstaller = setting_other_appInstaller;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getIs_health() {
|
public int getIs_quickapp() {
|
||||||
return is_health;
|
return is_quickapp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIs_health(int is_health) {
|
public void setIs_quickapp(int is_quickapp) {
|
||||||
this.is_health = is_health;
|
this.is_quickapp = is_quickapp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getIs_shopping() {
|
public String getQuickapp() {
|
||||||
return is_shopping;
|
return quickapp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIs_shopping(int is_shopping) {
|
public void setQuickapp(String quickapp) {
|
||||||
this.is_shopping = is_shopping;
|
this.quickapp = quickapp;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getIs_info() {
|
public int getIs_storeinstall() {
|
||||||
return is_info;
|
return is_storeinstall;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIs_info(int is_info) {
|
public void setIs_storeinstall(int is_storeinstall) {
|
||||||
this.is_info = is_info;
|
this.is_storeinstall = is_storeinstall;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getIs_timecontrol() {
|
||||||
|
return is_timecontrol;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIs_timecontrol(int is_timecontrol) {
|
||||||
|
this.is_timecontrol = is_timecontrol;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTimecontrol_start() {
|
||||||
|
return timecontrol_start;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTimecontrol_start(String timecontrol_start) {
|
||||||
|
this.timecontrol_start = timecontrol_start;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTimecontrol_end() {
|
||||||
|
return timecontrol_end;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTimecontrol_end(String timecontrol_end) {
|
||||||
|
this.timecontrol_end = timecontrol_end;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIs_return_android() {
|
||||||
|
return is_return_android;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIs_return_android(int is_return_android) {
|
||||||
|
this.is_return_android = is_return_android;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIs_bluetooth_share() {
|
||||||
|
return is_bluetooth_share;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIs_bluetooth_share(int is_bluetooth_share) {
|
||||||
|
this.is_bluetooth_share = is_bluetooth_share;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIs_developer_mode() {
|
||||||
|
return is_developer_mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIs_developer_mode(int is_developer_mode) {
|
||||||
|
this.is_developer_mode = is_developer_mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIs_device_recover() {
|
||||||
|
return is_device_recover;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIs_device_recover(int is_device_recover) {
|
||||||
|
this.is_device_recover = is_device_recover;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIs_top_notify() {
|
||||||
|
return is_top_notify;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIs_top_notify(int is_top_notify) {
|
||||||
|
this.is_top_notify = is_top_notify;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIs_bottom_bar() {
|
||||||
|
return is_bottom_bar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIs_bottom_bar(int is_bottom_bar) {
|
||||||
|
this.is_bottom_bar = is_bottom_bar;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getIs_notify_bar_show() {
|
||||||
|
return is_notify_bar_show;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIs_notify_bar_show(int is_notify_bar_show) {
|
||||||
|
this.is_notify_bar_show = is_notify_bar_show;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getVoice_assistant() {
|
||||||
|
return voice_assistant;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVoice_assistant(int voice_assistant) {
|
||||||
|
this.voice_assistant = voice_assistant;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();
|
return JsonParser.parseString(new Gson().toJson(this)).getAsJsonObject().toString();
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ public class CommonConfig {
|
|||||||
/*是否激活接口请求缓存*/
|
/*是否激活接口请求缓存*/
|
||||||
public static final String ACTIVATIONBEAN_KEY = "IFLYTEK_UIUI_ACTIVATIONBEAN_KEY";
|
public static final String ACTIVATIONBEAN_KEY = "IFLYTEK_UIUI_ACTIVATIONBEAN_KEY";
|
||||||
/*是否激活*/
|
/*是否激活*/
|
||||||
|
@Deprecated
|
||||||
public static final String UIUI_ACTIVATION_KEY = "iflytek_uiui_activation";
|
public static final String UIUI_ACTIVATION_KEY = "iflytek_uiui_activation";
|
||||||
/*激活码类型*/
|
/*激活码类型*/
|
||||||
public static final String UIUI_CODE_TYPE_KEY = "iflytek_uiui_code_type";
|
public static final String UIUI_CODE_TYPE_KEY = "iflytek_uiui_code_type";
|
||||||
|
|||||||
121
app/src/main/java/com/uiui/zyos/dialog/PermissionsDialog.java
Normal file
121
app/src/main/java/com/uiui/zyos/dialog/PermissionsDialog.java
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
package com.uiui.zyos.dialog;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.text.TextUtils;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
|
||||||
|
import com.uiui.zyos.R;
|
||||||
|
|
||||||
|
public class PermissionsDialog extends AlertDialog {
|
||||||
|
private Context mContext;
|
||||||
|
|
||||||
|
private TextView tv_title;
|
||||||
|
private TextView tv_content;
|
||||||
|
private TextView tv_cancel;
|
||||||
|
private TextView tv_confirm;
|
||||||
|
|
||||||
|
private String mTitle;
|
||||||
|
private String mContent;
|
||||||
|
private String mDeniedtext;
|
||||||
|
private String mGrantedtext;
|
||||||
|
|
||||||
|
public void setTitle(String title) {
|
||||||
|
mTitle = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContent(String content) {
|
||||||
|
mContent = content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeniedtext(String deniedtext) {
|
||||||
|
mDeniedtext = deniedtext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGrantedtext(String grantedtext) {
|
||||||
|
mGrantedtext = grantedtext;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PermissionsDialog(@NonNull Context context) {
|
||||||
|
super(context, R.style.CustomDialog);
|
||||||
|
this.mContext = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PermissionsDialog(@NonNull Context context, int themeResId) {
|
||||||
|
super(context, themeResId);
|
||||||
|
this.mContext = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PermissionsDialog(@NonNull Context context, boolean cancelable, @Nullable OnCancelListener cancelListener) {
|
||||||
|
super(context, cancelable, cancelListener);
|
||||||
|
this.mContext = context;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPermissionsCallback(PermissionsCallback callback) {
|
||||||
|
this.mPermissionsCallback = callback;
|
||||||
|
}
|
||||||
|
|
||||||
|
private PermissionsCallback mPermissionsCallback;
|
||||||
|
|
||||||
|
public interface PermissionsCallback {
|
||||||
|
void onGranted();
|
||||||
|
|
||||||
|
void onDenied();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.dialog_permissions);
|
||||||
|
setCanceledOnTouchOutside(false);
|
||||||
|
tv_title = findViewById(R.id.tv_title);
|
||||||
|
tv_content = findViewById(R.id.tv_content);
|
||||||
|
tv_cancel = findViewById(R.id.tv_cancel);
|
||||||
|
tv_confirm = findViewById(R.id.tv_confirm);
|
||||||
|
|
||||||
|
tv_cancel.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if (mPermissionsCallback != null) {
|
||||||
|
mPermissionsCallback.onDenied();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
tv_confirm.setOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
if (mPermissionsCallback != null) {
|
||||||
|
mPermissionsCallback.onGranted();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
setText();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void show() {
|
||||||
|
super.show();
|
||||||
|
setText();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setText() {
|
||||||
|
if (!TextUtils.isEmpty(mTitle)) {
|
||||||
|
tv_title.setText(mTitle);
|
||||||
|
}
|
||||||
|
if (!TextUtils.isEmpty(mContent)) {
|
||||||
|
tv_content.setText(mContent);
|
||||||
|
}
|
||||||
|
if (!TextUtils.isEmpty(mDeniedtext)) {
|
||||||
|
tv_cancel.setText(mDeniedtext);
|
||||||
|
}
|
||||||
|
if (!TextUtils.isEmpty(mGrantedtext)) {
|
||||||
|
tv_confirm.setText(mGrantedtext);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
package com.uiui.zyos.fragment.app;
|
package com.uiui.zyos.fragment.app;
|
||||||
|
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
|
|
||||||
import androidx.lifecycle.MutableLiveData;
|
import androidx.lifecycle.MutableLiveData;
|
||||||
|
|
||||||
import com.trello.rxlifecycle4.android.FragmentEvent;
|
import com.trello.rxlifecycle4.android.FragmentEvent;
|
||||||
@@ -33,7 +35,14 @@ public class AppViewModel extends BaseViewModel<FragmentAppBinding, FragmentEven
|
|||||||
appstoreDesktopIcon.setLable(ApkUtils.getAppName(getCtx(), "com.uiui.zyappstore"));
|
appstoreDesktopIcon.setLable(ApkUtils.getAppName(getCtx(), "com.uiui.zyappstore"));
|
||||||
appstoreDesktopIcon.setPackageName(AppManager.APPSTORE_PACKAGE_NAME);
|
appstoreDesktopIcon.setPackageName(AppManager.APPSTORE_PACKAGE_NAME);
|
||||||
appstoreDesktopIcon.setClassName(AppManager.APPSTORE_CLASS_NAME);
|
appstoreDesktopIcon.setClassName(AppManager.APPSTORE_CLASS_NAME);
|
||||||
appstoreDesktopIcon.setIcon(ApkUtils.getAppDrawable(getCtx(), "com.uiui.zyappstore"));
|
appstoreDesktopIcon.setLable("应用市场");
|
||||||
|
Drawable appstoreDrawable;
|
||||||
|
if (ApkUtils.isAvailable(getCtx(), AppManager.APPSTORE_PACKAGE_NAME)) {
|
||||||
|
appstoreDrawable = ApkUtils.getAppDrawable(getCtx(), "com.uiui.zyappstore");
|
||||||
|
} else {
|
||||||
|
appstoreDrawable = getCtx().getDrawable(R.drawable.com_android_appstore);
|
||||||
|
}
|
||||||
|
appstoreDesktopIcon.setIcon(appstoreDrawable);
|
||||||
desktopIcons.add(desktopIcons.size(), appstoreDesktopIcon);
|
desktopIcons.add(desktopIcons.size(), appstoreDesktopIcon);
|
||||||
|
|
||||||
DesktopIcon updateDesktopIcon = new DesktopIcon();
|
DesktopIcon updateDesktopIcon = new DesktopIcon();
|
||||||
|
|||||||
@@ -45,13 +45,11 @@ import com.uiui.zyos.bean.StudyStatBean;
|
|||||||
import com.uiui.zyos.config.CommonConfig;
|
import com.uiui.zyos.config.CommonConfig;
|
||||||
import com.uiui.zyos.databinding.FragmentUserBinding;
|
import com.uiui.zyos.databinding.FragmentUserBinding;
|
||||||
import com.uiui.zyos.jxw.JxwPackageConfig;
|
import com.uiui.zyos.jxw.JxwPackageConfig;
|
||||||
|
import com.uiui.zyos.manager.RemoteManager;
|
||||||
import com.uiui.zyos.utils.ApkUtils;
|
import com.uiui.zyos.utils.ApkUtils;
|
||||||
import com.uiui.zyos.utils.OpenApkUtils;
|
import com.uiui.zyos.utils.OpenApkUtils;
|
||||||
import com.uiui.zyos.utils.ScreenUtils;
|
|
||||||
import com.uiui.zyos.utils.TimeUtils;
|
import com.uiui.zyos.utils.TimeUtils;
|
||||||
import com.uiui.zyos.utils.Utils;
|
import com.uiui.zyos.utils.Utils;
|
||||||
import com.uiui.zyos.view.EquallyDividedItemDecoration;
|
|
||||||
import com.uiui.zyos.view.HorizontalDecorationWithoutFirst;
|
|
||||||
import com.uiui.zyos.view.RecyclerViewSpacesItemDecoration;
|
import com.uiui.zyos.view.RecyclerViewSpacesItemDecoration;
|
||||||
import com.uiui.zyos.view.VerticalDecorationWithoutFirst;
|
import com.uiui.zyos.view.VerticalDecorationWithoutFirst;
|
||||||
|
|
||||||
@@ -323,24 +321,24 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void setButtonVisibility() {
|
private void setButtonVisibility() {
|
||||||
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
|
||||||
Log.e(TAG, "setButtonVisibility: " + is_activation);
|
Log.e(TAG, "setButtonVisibility: " + is_activation);
|
||||||
if (is_activation != 1) {
|
if (is_activation) {
|
||||||
// tvExit.setVisibility(View.VISIBLE);
|
boolean isReturnAndroid = RemoteManager.getInstance().isReturnAndroid();
|
||||||
|
if (isReturnAndroid) {
|
||||||
|
// mViewDataBinding.tvExit.setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
// mViewDataBinding.tvExit.setVisibility(View.INVISIBLE);
|
||||||
|
}
|
||||||
|
mViewDataBinding.ivActivation.setVisibility(View.GONE);
|
||||||
|
mViewDataBinding.clStudyTime.setVisibility(View.VISIBLE);
|
||||||
|
} else {
|
||||||
|
// mViewDataBinding.tvExit.setVisibility(View.VISIBLE);
|
||||||
mViewDataBinding.ivActivation.setVisibility(View.VISIBLE);
|
mViewDataBinding.ivActivation.setVisibility(View.VISIBLE);
|
||||||
mViewDataBinding.clStudyTime.setVisibility(View.GONE);
|
mViewDataBinding.clStudyTime.setVisibility(View.GONE);
|
||||||
Glide.with(mViewDataBinding.ivAvatar).load(mMMKV.decodeString(CommonConfig.UIUI_USER_AVATAR_KEY)).error(R.drawable.default_avatar).into(mViewDataBinding.ivAvatar);
|
Glide.with(mViewDataBinding.ivAvatar).load(mMMKV.decodeString(CommonConfig.UIUI_USER_AVATAR_KEY)).error(R.drawable.default_avatar).into(mViewDataBinding.ivAvatar);
|
||||||
mViewDataBinding.tvName.setText(mMMKV.decodeString(CommonConfig.UIUI_USER_NAME_KEY, getString(R.string.default_nickname)));
|
mViewDataBinding.tvName.setText(mMMKV.decodeString(CommonConfig.UIUI_USER_NAME_KEY, getString(R.string.default_nickname)));
|
||||||
mViewDataBinding.tvGrade.setText(mMMKV.decodeString(CommonConfig.UIUI_USER_GRADE_KEY, getString(R.string.default_grade)));
|
mViewDataBinding.tvGrade.setText(mMMKV.decodeString(CommonConfig.UIUI_USER_GRADE_KEY, getString(R.string.default_grade)));
|
||||||
} else {
|
|
||||||
int isReturnAndroid = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_RETURN_ANDROID_KEY, 1);
|
|
||||||
if (isReturnAndroid == 0) {
|
|
||||||
// tvExit.setVisibility(View.INVISIBLE);
|
|
||||||
} else {
|
|
||||||
// tvExit.setVisibility(View.VISIBLE);
|
|
||||||
}
|
|
||||||
mViewDataBinding.ivActivation.setVisibility(View.GONE);
|
|
||||||
mViewDataBinding.clStudyTime.setVisibility(View.VISIBLE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -440,12 +438,16 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static final String ACTION_REFRESH_BINDING_STATUS = "RefreshBindingStatus";
|
public static final String ACTION_REFRESH_BINDING_STATUS = "RefreshBindingStatus";
|
||||||
|
public static final String ACTION_REFRESH_LOVE_ENCOURAGEMENT = "RefreshLoveEncouragement";
|
||||||
|
public static final String ACTION_REFRESH_HOMEWORK_REMINDERS = "RefreshHomeworkReminders";
|
||||||
|
|
||||||
private void registerRefreshReceiver() {
|
private void registerRefreshReceiver() {
|
||||||
if (mRefreshReceiver == null) {
|
if (mRefreshReceiver == null) {
|
||||||
mRefreshReceiver = new RefreshReceiver();
|
mRefreshReceiver = new RefreshReceiver();
|
||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.addAction(ACTION_REFRESH_BINDING_STATUS);
|
filter.addAction(ACTION_REFRESH_BINDING_STATUS);
|
||||||
|
filter.addAction(ACTION_REFRESH_LOVE_ENCOURAGEMENT);
|
||||||
|
filter.addAction(ACTION_REFRESH_HOMEWORK_REMINDERS);
|
||||||
mContext.registerReceiver(mRefreshReceiver, filter);
|
mContext.registerReceiver(mRefreshReceiver, filter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -457,9 +459,18 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
|||||||
public void onReceive(Context context, Intent intent) {
|
public void onReceive(Context context, Intent intent) {
|
||||||
String action = intent.getAction();
|
String action = intent.getAction();
|
||||||
Log.e("RefreshReceiver", "onReceive: " + action);
|
Log.e("RefreshReceiver", "onReceive: " + action);
|
||||||
if (ACTION_REFRESH_BINDING_STATUS.equals(action)) {
|
switch (action) {
|
||||||
|
case ACTION_REFRESH_BINDING_STATUS:
|
||||||
mViewModel.getSnInfo();
|
mViewModel.getSnInfo();
|
||||||
setButtonVisibility();
|
setButtonVisibility();
|
||||||
|
break;
|
||||||
|
case ACTION_REFRESH_LOVE_ENCOURAGEMENT:
|
||||||
|
mViewModel.getPhrase();
|
||||||
|
break;
|
||||||
|
case ACTION_REFRESH_HOMEWORK_REMINDERS:
|
||||||
|
mViewModel.getHomework();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -532,6 +543,7 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
|||||||
mWiFiStatuReceiver = new WiFiStatuReceiver();
|
mWiFiStatuReceiver = new WiFiStatuReceiver();
|
||||||
IntentFilter filter = new IntentFilter();
|
IntentFilter filter = new IntentFilter();
|
||||||
filter.addAction(NETWORK_STATE_CHANGE);
|
filter.addAction(NETWORK_STATE_CHANGE);
|
||||||
|
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
|
||||||
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
|
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
|
||||||
filter.addAction(WifiManager.RSSI_CHANGED_ACTION);
|
filter.addAction(WifiManager.RSSI_CHANGED_ACTION);
|
||||||
mContext.registerReceiver(mWiFiStatuReceiver, filter);
|
mContext.registerReceiver(mWiFiStatuReceiver, filter);
|
||||||
@@ -625,9 +637,9 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
|||||||
status == BatteryManager.BATTERY_STATUS_FULL;
|
status == BatteryManager.BATTERY_STATUS_FULL;
|
||||||
|
|
||||||
//当前剩余电量
|
//当前剩余电量
|
||||||
int level = intent.getIntExtra("level", 0);
|
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
|
||||||
//电量最大值
|
//电量最大值
|
||||||
int scale = intent.getIntExtra("scale", 100);
|
int scale = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
|
||||||
|
|
||||||
//电量百分比
|
//电量百分比
|
||||||
int batteryPer = (int) (level / (float) scale * 100);
|
int batteryPer = (int) (level / (float) scale * 100);
|
||||||
@@ -646,8 +658,8 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
|||||||
intent.setPackage("com.uiui.zy");
|
intent.setPackage("com.uiui.zy");
|
||||||
mContext.sendBroadcast(intent);
|
mContext.sendBroadcast(intent);
|
||||||
|
|
||||||
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
|
||||||
if (is_activation == 1) {
|
if (is_activation) {
|
||||||
startActivity(new Intent(mContext, ExitActivity.class));
|
startActivity(new Intent(mContext, ExitActivity.class));
|
||||||
} else {
|
} else {
|
||||||
Utils.exitDesktop(mContext);
|
Utils.exitDesktop(mContext);
|
||||||
@@ -655,7 +667,7 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void openSn(View view) {
|
public void openSn(View view) {
|
||||||
ApkUtils.openPackage(mContext, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
|
OpenApkUtils.getInstance().openZySn();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void openUser(View view) {
|
public void openUser(View view) {
|
||||||
@@ -678,7 +690,7 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
|||||||
mViewModel.getHomework();
|
mViewModel.getHomework();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void toWifi(View view){
|
public void toWifi(View view) {
|
||||||
mContext.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
|
mContext.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import android.os.Bundle;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import com.uiui.zyos.R;
|
import com.uiui.zyos.R;
|
||||||
import com.uiui.zyos.activity.ServiceActivity;
|
import com.uiui.zyos.activity.service.ServiceActivity;
|
||||||
import com.uiui.zyos.base.mvvm.fragment.BaseMvvmFragment;
|
import com.uiui.zyos.base.mvvm.fragment.BaseMvvmFragment;
|
||||||
import com.uiui.zyos.databinding.FragmentDeviceBinding;
|
import com.uiui.zyos.databinding.FragmentDeviceBinding;
|
||||||
import com.uiui.zyos.manager.RemoteManager;
|
import com.uiui.zyos.manager.RemoteManager;
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ public class ParentsFragment extends BaseMvvmFragment<ParentsViewModel, Fragment
|
|||||||
|
|
||||||
public class BtnClick {
|
public class BtnClick {
|
||||||
public void openSn(View view) {
|
public void openSn(View view) {
|
||||||
OpenApkUtils.getInstance().openApp("com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
|
OpenApkUtils.getInstance().openZySn();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,12 @@ public class AmapManager {
|
|||||||
Gson gson = new Gson();
|
Gson gson = new Gson();
|
||||||
Type type = new TypeToken<MapBean>() {
|
Type type = new TypeToken<MapBean>() {
|
||||||
}.getType();
|
}.getType();
|
||||||
|
try {
|
||||||
mMapBean = gson.fromJson(jsonString, type);
|
mMapBean = gson.fromJson(jsonString, type);
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, "initAmap: ");
|
||||||
|
mMMKV.remove(CommonConfig.MAP_LOCATION_JSON_KEY);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
Log.e(TAG, "initAmap: jsonString is empty");
|
Log.e(TAG, "initAmap: jsonString is empty");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ import com.tencent.bugly.crashreport.CrashReport;
|
|||||||
import com.tencent.mmkv.MMKV;
|
import com.tencent.mmkv.MMKV;
|
||||||
import com.uiui.zy.IGetInfoInterface;
|
import com.uiui.zy.IGetInfoInterface;
|
||||||
import com.uiui.zyos.config.CommonConfig;
|
import com.uiui.zyos.config.CommonConfig;
|
||||||
|
import com.uiui.zyos.utils.ActivationUtil;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -72,6 +73,14 @@ public class RemoteManager {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
boolean actitvation = mGetInfoInterface.SnIsActivation();
|
||||||
|
Log.e(TAG, "onServiceConnected: SnIsActivation = " + actitvation);
|
||||||
|
mMMKV.encode(CommonConfig.UIUI_ACTIVATION_KEY, actitvation ? ActivationUtil.ACTIVATED_KEY : ActivationUtil.INACTIVATED_KEY);
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.e(TAG, "onServiceConnected: SnIsActivation" + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
Log.e(TAG, "onServiceConnected: " + getSerial());
|
Log.e(TAG, "onServiceConnected: " + getSerial());
|
||||||
aliyunPushInit();
|
aliyunPushInit();
|
||||||
}
|
}
|
||||||
@@ -207,17 +216,21 @@ public class RemoteManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean getSnIsActivation() {
|
public boolean getSnIsActivation() {
|
||||||
|
if (mGetInfoInterface != null) {
|
||||||
try {
|
try {
|
||||||
return mGetInfoInterface.SnIsActivation();
|
return mGetInfoInterface.SnIsActivation();
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
Log.e(TAG, "getSnIsActivation: " + e.getMessage());
|
Log.e(TAG, "getSnIsActivation: " + e.getMessage());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
||||||
return is_activation == 1;
|
return is_activation == 1;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void setDefaultDesktop(String pkg) {
|
public void setDefaultDesktop(String pkg) {
|
||||||
|
Log.e(TAG, "setDefaultDesktop: " + pkg);
|
||||||
if (mGetInfoInterface != null) {
|
if (mGetInfoInterface != null) {
|
||||||
try {
|
try {
|
||||||
mGetInfoInterface.setDefaultLauncher(pkg);
|
mGetInfoInterface.setDefaultLauncher(pkg);
|
||||||
@@ -228,6 +241,42 @@ public class RemoteManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void exitDesktop() {
|
||||||
|
Log.e(TAG, "exitDesktop: ");
|
||||||
|
if (mGetInfoInterface != null) {
|
||||||
|
try {
|
||||||
|
mGetInfoInterface.exitDesktop();
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Log.e(TAG, "exitDesktop: " + e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isReturnAndroid() {
|
||||||
|
if (mGetInfoInterface != null) {
|
||||||
|
try {
|
||||||
|
return mGetInfoInterface.isReturnAndroid();
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Log.e(TAG, "isReturnAndroid: " + e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean showThirdApp() {
|
||||||
|
if (mGetInfoInterface != null) {
|
||||||
|
try {
|
||||||
|
return mGetInfoInterface.showThirdApp();
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Log.e(TAG, "showThirdApp: " + e.getMessage());
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public List<String> getAdminApp() {
|
public List<String> getAdminApp() {
|
||||||
if (mGetInfoInterface != null) {
|
if (mGetInfoInterface != null) {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import com.uiui.zyos.bean.LessonSetting;
|
|||||||
import com.uiui.zyos.bean.PhraseContent;
|
import com.uiui.zyos.bean.PhraseContent;
|
||||||
import com.uiui.zyos.bean.SnInfo;
|
import com.uiui.zyos.bean.SnInfo;
|
||||||
import com.uiui.zyos.bean.StudyStatBean;
|
import com.uiui.zyos.bean.StudyStatBean;
|
||||||
|
import com.uiui.zyos.bean.SystemSettings;
|
||||||
import com.uiui.zyos.bean.UserAvatarInfo;
|
import com.uiui.zyos.bean.UserAvatarInfo;
|
||||||
import com.uiui.zyos.config.CommonConfig;
|
import com.uiui.zyos.config.CommonConfig;
|
||||||
import com.uiui.zyos.disklrucache.CacheHelper;
|
import com.uiui.zyos.disklrucache.CacheHelper;
|
||||||
@@ -39,6 +40,7 @@ import com.uiui.zyos.network.api.HomeworkUpdateApi;
|
|||||||
import com.uiui.zyos.network.api.PhraseApi;
|
import com.uiui.zyos.network.api.PhraseApi;
|
||||||
import com.uiui.zyos.network.api.RunNewApp;
|
import com.uiui.zyos.network.api.RunNewApp;
|
||||||
import com.uiui.zyos.network.api.SNInfoApi;
|
import com.uiui.zyos.network.api.SNInfoApi;
|
||||||
|
import com.uiui.zyos.network.api.SettingApi;
|
||||||
import com.uiui.zyos.network.api.StudyStatApi;
|
import com.uiui.zyos.network.api.StudyStatApi;
|
||||||
import com.uiui.zyos.network.api.UpdateAddressApi;
|
import com.uiui.zyos.network.api.UpdateAddressApi;
|
||||||
import com.uiui.zyos.network.api.UpdateAlarmClockApi;
|
import com.uiui.zyos.network.api.UpdateAlarmClockApi;
|
||||||
@@ -362,7 +364,12 @@ public class NetInterfaceManager {
|
|||||||
.observeOn(AndroidSchedulers.mainThread());
|
.observeOn(AndroidSchedulers.mainThread());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Observable<BaseResponse<SystemSettings>> getsettingControl() {
|
||||||
|
return mRetrofit.create(SettingApi.class)
|
||||||
|
.getSetting(RemoteManager.getInstance().getSerial())
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread());
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ public class UrlAddress {
|
|||||||
public final static String GET_CLOUD_LESSON = "Control/getCloudLessonSetting";
|
public final static String GET_CLOUD_LESSON = "Control/getCloudLessonSetting";
|
||||||
public final static String GET_CLOUD_LESSON_APP = "Control/getCloudLessonApp";
|
public final static String GET_CLOUD_LESSON_APP = "Control/getCloudLessonApp";
|
||||||
|
|
||||||
|
/*获取系统设置*/
|
||||||
|
public final static String GET_SETTINGS = "control/getSetting";
|
||||||
|
|
||||||
public static final String UIUIOS_ROOT_URL = "https://map.uiuios.com/android/";
|
public static final String UIUIOS_ROOT_URL = "https://map.uiuios.com/android/";
|
||||||
/*获取应用更新*/
|
/*获取应用更新*/
|
||||||
|
|||||||
16
app/src/main/java/com/uiui/zyos/network/api/SettingApi.java
Normal file
16
app/src/main/java/com/uiui/zyos/network/api/SettingApi.java
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package com.uiui.zyos.network.api;
|
||||||
|
|
||||||
|
import com.uiui.zyos.bean.BaseResponse;
|
||||||
|
import com.uiui.zyos.bean.SystemSettings;
|
||||||
|
import com.uiui.zyos.network.UrlAddress;
|
||||||
|
|
||||||
|
import io.reactivex.rxjava3.core.Observable;
|
||||||
|
import retrofit2.http.GET;
|
||||||
|
import retrofit2.http.Query;
|
||||||
|
|
||||||
|
public interface SettingApi {
|
||||||
|
@GET(UrlAddress.GET_SETTINGS)
|
||||||
|
Observable<BaseResponse<SystemSettings>> getSetting(
|
||||||
|
@Query("sn") String sn
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
|
||||||
import com.uiui.zyos.disklrucache.CacheHelper;
|
import com.uiui.zyos.disklrucache.CacheHelper;
|
||||||
|
import com.uiui.zyos.fragment.user.UserFragment;
|
||||||
import com.uiui.zyos.network.NetInterfaceManager;
|
import com.uiui.zyos.network.NetInterfaceManager;
|
||||||
import com.hjq.toast.Toaster;
|
import com.hjq.toast.Toaster;
|
||||||
|
|
||||||
@@ -47,22 +48,46 @@ public class PushManager {
|
|||||||
private static final String JIGUANG_ALARM_CLOCK = "57";
|
private static final String JIGUANG_ALARM_CLOCK = "57";
|
||||||
/*网课模式*/
|
/*网课模式*/
|
||||||
private static final String ONLINE_COURSE_MODE = "71";
|
private static final String ONLINE_COURSE_MODE = "71";
|
||||||
|
/*作业提醒*/
|
||||||
|
private static final String HOMEWORK_REMINDERS = "115";
|
||||||
|
/*爱的鼓励*/
|
||||||
|
private static final String LOVE_ENCOURAGEMENT = "121";
|
||||||
|
|
||||||
|
|
||||||
public void setPushContent(String title, String extras) {
|
public void setPushContent(String title, String extras) {
|
||||||
switch (title) {
|
switch (title) {
|
||||||
case JIGUANG_ALARM_CLOCK:
|
case JIGUANG_ALARM_CLOCK:
|
||||||
Toaster.debugShow("收到推送消息: 设置闹钟");
|
Toaster.debugShow("收到推送消息: 设置闹钟");
|
||||||
NetInterfaceManager.getInstance().getAlarmClock();
|
sendAlarmClock(extras);
|
||||||
Intent intent = new Intent(SET_ALARMCLOCK);
|
|
||||||
mContext.sendBroadcast(intent);
|
|
||||||
break;
|
break;
|
||||||
case ONLINE_COURSE_MODE:
|
case ONLINE_COURSE_MODE:
|
||||||
Toaster.debugShow("收到推送消息: 网课模式");
|
Toaster.debugShow("收到推送消息: 网课模式");
|
||||||
NetInterfaceManager.getInstance().getCloudLessonSettings();
|
NetInterfaceManager.getInstance().getCloudLessonSettings();
|
||||||
break;
|
break;
|
||||||
|
case HOMEWORK_REMINDERS:
|
||||||
|
sendHomework(extras);
|
||||||
|
break;
|
||||||
|
case LOVE_ENCOURAGEMENT:
|
||||||
|
Toaster.debugShow("收到推送消息: 爱的鼓励");
|
||||||
|
sendEncouragement(extras);
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void sendAlarmClock(String extras) {
|
||||||
|
NetInterfaceManager.getInstance().getAlarmClock();
|
||||||
|
Intent intent = new Intent(SET_ALARMCLOCK);
|
||||||
|
mContext.sendBroadcast(intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendHomework(String extras) {
|
||||||
|
Intent intent = new Intent(UserFragment.ACTION_REFRESH_HOMEWORK_REMINDERS);
|
||||||
|
mContext.sendBroadcast(intent);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void sendEncouragement(String extras) {
|
||||||
|
Intent intent = new Intent(UserFragment.ACTION_REFRESH_LOVE_ENCOURAGEMENT);
|
||||||
|
mContext.sendBroadcast(intent);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,9 +22,11 @@ import androidx.core.app.NotificationManagerCompat;
|
|||||||
|
|
||||||
import com.blankj.utilcode.util.NetworkUtils;
|
import com.blankj.utilcode.util.NetworkUtils;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
import com.tencent.mmkv.MMKV;
|
||||||
import com.uiui.zyos.BuildConfig;
|
import com.uiui.zyos.BuildConfig;
|
||||||
import com.uiui.zyos.R;
|
import com.uiui.zyos.R;
|
||||||
import com.uiui.zyos.activity.main.MainActivity;
|
import com.uiui.zyos.activity.main.MainActivity;
|
||||||
|
import com.uiui.zyos.config.CommonConfig;
|
||||||
import com.uiui.zyos.manager.RemoteManager;
|
import com.uiui.zyos.manager.RemoteManager;
|
||||||
import com.uiui.zyos.utils.ActivationUtil;
|
import com.uiui.zyos.utils.ActivationUtil;
|
||||||
import com.uiui.zyos.utils.ServiceAliveUtils;
|
import com.uiui.zyos.utils.ServiceAliveUtils;
|
||||||
@@ -59,6 +61,8 @@ import io.reactivex.rxjava3.functions.Consumer;
|
|||||||
public class SocketService extends Service implements NetworkUtils.OnNetworkStatusChangedListener {
|
public class SocketService extends Service implements NetworkUtils.OnNetworkStatusChangedListener {
|
||||||
private static final String TAG = "JWebSocketClientService";
|
private static final String TAG = "JWebSocketClientService";
|
||||||
|
|
||||||
|
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||||
|
|
||||||
public JWebSocketClient mJWebSocketClient;
|
public JWebSocketClient mJWebSocketClient;
|
||||||
// private SocketServiceBinder mBinder = new SocketServiceBinder();
|
// private SocketServiceBinder mBinder = new SocketServiceBinder();
|
||||||
|
|
||||||
@@ -112,6 +116,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat
|
|||||||
Log.e(TAG, "onCreate: ");
|
Log.e(TAG, "onCreate: ");
|
||||||
NetworkUtils.registerNetworkStatusChangedListener(this);
|
NetworkUtils.registerNetworkStatusChangedListener(this);
|
||||||
registerScreenLockReceiver();
|
registerScreenLockReceiver();
|
||||||
|
registerJxwRegisterRefreshReceiver();
|
||||||
|
|
||||||
if (ActivationUtil.isActivation()) {
|
if (ActivationUtil.isActivation()) {
|
||||||
//初始化websocket
|
//初始化websocket
|
||||||
@@ -120,6 +125,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat
|
|||||||
} else {
|
} else {
|
||||||
Log.e(TAG, "onCreate: 未激活不连接");
|
Log.e(TAG, "onCreate: 未激活不连接");
|
||||||
}
|
}
|
||||||
|
|
||||||
// boolean isServiceRunning = ServiceAliveUtils.isServiceAlive(this, MainService.class.getName());
|
// boolean isServiceRunning = ServiceAliveUtils.isServiceAlive(this, MainService.class.getName());
|
||||||
// Log.e(TAG, "onCreate: isServiceRunning = " + isServiceRunning);
|
// Log.e(TAG, "onCreate: isServiceRunning = " + isServiceRunning);
|
||||||
// if (!isServiceRunning) {
|
// if (!isServiceRunning) {
|
||||||
@@ -148,6 +154,9 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat
|
|||||||
if (mScreenLockReceiver != null) {
|
if (mScreenLockReceiver != null) {
|
||||||
unregisterReceiver(mScreenLockReceiver);
|
unregisterReceiver(mScreenLockReceiver);
|
||||||
}
|
}
|
||||||
|
if (mJxwRegisterReceiver != null) {
|
||||||
|
unregisterReceiver(mJxwRegisterReceiver);
|
||||||
|
}
|
||||||
// unbindService(mServiceConnection);
|
// unbindService(mServiceConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -223,6 +232,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat
|
|||||||
switch (action) {
|
switch (action) {
|
||||||
case Intent.ACTION_BOOT_COMPLETED:
|
case Intent.ACTION_BOOT_COMPLETED:
|
||||||
case Intent.ACTION_USER_PRESENT:
|
case Intent.ACTION_USER_PRESENT:
|
||||||
|
|
||||||
case Intent.ACTION_SCREEN_ON:
|
case Intent.ACTION_SCREEN_ON:
|
||||||
sendMsgScreen();
|
sendMsgScreen();
|
||||||
break;
|
break;
|
||||||
@@ -238,6 +248,33 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static final String JXW_REGISTER_SUCCESS = "com.zzj.regist_success";
|
||||||
|
|
||||||
|
private JxwRegisterReceiver mJxwRegisterReceiver;
|
||||||
|
|
||||||
|
private void registerJxwRegisterRefreshReceiver() {
|
||||||
|
if (mJxwRegisterReceiver == null) {
|
||||||
|
mJxwRegisterReceiver = new JxwRegisterReceiver();
|
||||||
|
}
|
||||||
|
IntentFilter filter = new IntentFilter();
|
||||||
|
filter.addAction(JXW_REGISTER_SUCCESS);
|
||||||
|
registerReceiver(mJxwRegisterReceiver, filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
public class JxwRegisterReceiver extends BroadcastReceiver {
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
String action = intent.getAction();
|
||||||
|
Log.e("JxwRegisterReceiver", "onReceive: " + action);
|
||||||
|
if (JXW_REGISTER_SUCCESS.equals(action)) {
|
||||||
|
mMMKV.encode(JXW_REGISTER_SUCCESS, true);
|
||||||
|
mMMKV.encode(CommonConfig.UIUI_ACTIVATION_KEY, ActivationUtil.ACTIVATED_KEY);
|
||||||
|
initSocketClient();
|
||||||
|
startLoop();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Disposable mDisposable;
|
private Disposable mDisposable;
|
||||||
|
|
||||||
private void dispose() {
|
private void dispose() {
|
||||||
|
|||||||
@@ -1,19 +1,21 @@
|
|||||||
package com.uiui.zyos.utils;
|
package com.uiui.zyos.utils;
|
||||||
|
|
||||||
import android.provider.Settings;
|
import com.tencent.mmkv.MMKV;
|
||||||
|
|
||||||
import com.uiui.zyos.base.BaseApplication;
|
import com.uiui.zyos.base.BaseApplication;
|
||||||
import com.uiui.zyos.config.CommonConfig;
|
import com.uiui.zyos.config.CommonConfig;
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public class ActivationUtil {
|
public class ActivationUtil {
|
||||||
|
|
||||||
|
private static MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||||
|
|
||||||
/*写入1为激活*/
|
/*写入1为激活*/
|
||||||
private static final int ACTIVATED_KEY = 1;
|
public static final int ACTIVATED_KEY = 1;
|
||||||
private static final int INACTIVATED_KEY = 0;
|
public static final int INACTIVATED_KEY = 0;
|
||||||
/*默认激活码类型*/
|
/*默认激活码类型*/
|
||||||
private static final int DEFAULT_CODE_TYPE = -1;
|
public static final int DEFAULT_CODE_TYPE = -1;
|
||||||
/*默认过期时间*/
|
/*默认过期时间*/
|
||||||
private static final int DEFAULT_EXPIRE_TIME = -1;
|
public static final int DEFAULT_EXPIRE_TIME = -1;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -22,7 +24,7 @@ public class ActivationUtil {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static int getActivationStateCode() {
|
public static int getActivationStateCode() {
|
||||||
int activation = Settings.Global.getInt(BaseApplication.getContext().getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, INACTIVATED_KEY);
|
int activation = mMMKV.decodeInt(CommonConfig.UIUI_ACTIVATION_KEY, INACTIVATED_KEY);
|
||||||
return activation;
|
return activation;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -41,7 +43,7 @@ public class ActivationUtil {
|
|||||||
* @param code
|
* @param code
|
||||||
*/
|
*/
|
||||||
public static void setActivation(int code) {
|
public static void setActivation(int code) {
|
||||||
Settings.Global.putInt(BaseApplication.getContext().getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, code);
|
mMMKV.encode(CommonConfig.UIUI_ACTIVATION_KEY, code);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -50,7 +52,7 @@ public class ActivationUtil {
|
|||||||
* @param code
|
* @param code
|
||||||
*/
|
*/
|
||||||
public static void setActivationCodeType(int code) {
|
public static void setActivationCodeType(int code) {
|
||||||
Settings.Global.putInt(BaseApplication.getContext().getContentResolver(), CommonConfig.UIUI_CODE_TYPE_KEY, code);
|
mMMKV.encode(CommonConfig.UIUI_CODE_TYPE_KEY, code);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -59,7 +61,7 @@ public class ActivationUtil {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static int getActivationCodeType() {
|
public static int getActivationCodeType() {
|
||||||
return Settings.Global.getInt(BaseApplication.getContext().getContentResolver(), CommonConfig.UIUI_CODE_TYPE_KEY, DEFAULT_CODE_TYPE);
|
return mMMKV.decodeInt(CommonConfig.UIUI_CODE_TYPE_KEY, DEFAULT_CODE_TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -68,7 +70,7 @@ public class ActivationUtil {
|
|||||||
* @param expireTime
|
* @param expireTime
|
||||||
*/
|
*/
|
||||||
public static void setActivationExpireTime(long expireTime) {
|
public static void setActivationExpireTime(long expireTime) {
|
||||||
Settings.Global.putLong(BaseApplication.getContext().getContentResolver(), CommonConfig.UIUI_EXPIRE_TIME_KEY, expireTime);
|
mMMKV.encode(CommonConfig.UIUI_EXPIRE_TIME_KEY, expireTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -77,7 +79,7 @@ public class ActivationUtil {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static long getActivationExpireTime() {
|
public static long getActivationExpireTime() {
|
||||||
return Settings.Global.getLong(BaseApplication.getContext().getContentResolver(), CommonConfig.UIUI_EXPIRE_TIME_KEY, DEFAULT_EXPIRE_TIME);
|
return mMMKV.decodeLong(CommonConfig.UIUI_EXPIRE_TIME_KEY, DEFAULT_EXPIRE_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -284,7 +284,7 @@ public class ApkUtils {
|
|||||||
// infoIcon.setIcon(context.getDrawable(R.drawable.com_uiui_sn));
|
// infoIcon.setIcon(context.getDrawable(R.drawable.com_uiui_sn));
|
||||||
// infoIcon.setLable("我的设备");
|
// infoIcon.setLable("我的设备");
|
||||||
// infoIcon.setPackageName("com.uiui.zy");
|
// infoIcon.setPackageName("com.uiui.zy");
|
||||||
// infoIcon.setClassName("com.uiui.zy.activity.main.MainActivity");
|
// infoIcon.setClassName("com.uiui.zy.activity.splash.SplashActivity");
|
||||||
// infoIcon.setPosition(0);
|
// infoIcon.setPosition(0);
|
||||||
// desktopIcons.add(0, infoIcon);
|
// desktopIcons.add(0, infoIcon);
|
||||||
return desktopIcons;
|
return desktopIcons;
|
||||||
@@ -746,9 +746,11 @@ public class ApkUtils {
|
|||||||
Log.e(TAG, "getAppDrawable: ");
|
Log.e(TAG, "getAppDrawable: ");
|
||||||
}
|
}
|
||||||
if (packageInfo != null) {
|
if (packageInfo != null) {
|
||||||
return packageInfo.applicationInfo.loadIcon(pm);
|
Drawable drawable = packageInfo.applicationInfo.loadIcon(pm);
|
||||||
|
return drawable;
|
||||||
} else {
|
} else {
|
||||||
return context.getDrawable(resId);
|
Drawable drawable = context.getDrawable(resId);
|
||||||
|
return drawable;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -128,7 +128,12 @@ public class GlideLoadUtils {
|
|||||||
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
|
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
|
||||||
public void glideLoad(Activity activity, String url, ImageView imageView, int default_image) {
|
public void glideLoad(Activity activity, String url, ImageView imageView, int default_image) {
|
||||||
if (!activity.isDestroyed()) {
|
if (!activity.isDestroyed()) {
|
||||||
Glide.with(activity).load(url).centerCrop().error(default_image).into(imageView);
|
Glide.with(activity).load(url).into(new SimpleTarget<Drawable>() {
|
||||||
|
@Override
|
||||||
|
public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
|
||||||
|
imageView.setImageDrawable(resource);
|
||||||
|
}
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
Log.i(TAG, "Picture loading failed,activity is Destroyed");
|
Log.i(TAG, "Picture loading failed,activity is Destroyed");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import android.content.Context;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.os.Build;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
@@ -18,6 +19,7 @@ import com.tencent.mmkv.MMKV;
|
|||||||
import com.uiui.zyos.bean.LessonJson;
|
import com.uiui.zyos.bean.LessonJson;
|
||||||
import com.uiui.zyos.config.CommonConfig;
|
import com.uiui.zyos.config.CommonConfig;
|
||||||
import com.uiui.zyos.jxw.JxwPackageConfig;
|
import com.uiui.zyos.jxw.JxwPackageConfig;
|
||||||
|
import com.uiui.zyos.manager.RemoteManager;
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@@ -64,12 +66,12 @@ public class OpenApkUtils {
|
|||||||
if (!ApkUtils.isAvailable(mContext, "com.uiui.zy")) {
|
if (!ApkUtils.isAvailable(mContext, "com.uiui.zy")) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
|
||||||
if (is_activation != 1) {
|
if (!is_activation) {
|
||||||
ApkUtils.openPackage(mContext, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
|
OpenApkUtils.getInstance().openZySn();
|
||||||
Toaster.show("请激活设备后使用");
|
Toaster.show("请激活设备后使用");
|
||||||
}
|
}
|
||||||
return is_activation == 1;
|
return is_activation;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean openPackageWithArgs(String packageName, String className, String name, String args) {
|
public boolean openPackageWithArgs(String packageName, String className, String name, String args) {
|
||||||
@@ -607,4 +609,30 @@ public class OpenApkUtils {
|
|||||||
mContext.startActivity(intent);
|
mContext.startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean openZySn() {
|
||||||
|
if (!ApkUtils.isAvailable(mContext, "com.uiui.zy")) {
|
||||||
|
Toaster.show("应用未安装");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
PackageManager pm = mContext.getPackageManager();
|
||||||
|
PackageInfo packageInfo = pm.getPackageInfo("com.uiui.zy", 0);
|
||||||
|
long appVersionCode;
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
|
||||||
|
appVersionCode = packageInfo.getLongVersionCode();
|
||||||
|
} else {
|
||||||
|
appVersionCode = packageInfo.versionCode;
|
||||||
|
}
|
||||||
|
if (appVersionCode <= 95) {
|
||||||
|
openApp("com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
|
||||||
|
} else {
|
||||||
|
openApp("com.uiui.zy", "com.uiui.zy.activity.splash.SplashActivity");
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} catch (PackageManager.NameNotFoundException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
Log.e(TAG, "onCreate: " + e.getMessage());
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -121,11 +121,11 @@ public class Utils {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
synchronized public static int getBatteryLevel(Context mContext) {
|
synchronized public static int getBatteryLevel(Context mContext) {
|
||||||
if (Build.VERSION.SDK_INT >= 21) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||||
return ((BatteryManager) mContext.getSystemService(Context.BATTERY_SERVICE)).getIntProperty(4);
|
return ((BatteryManager) mContext.getSystemService(Context.BATTERY_SERVICE)).getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
|
||||||
} else {
|
} else {
|
||||||
Intent intent = (new ContextWrapper(mContext)).registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED"));
|
Intent intent = (new ContextWrapper(mContext)).registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
|
||||||
return intent.getIntExtra("level", -1) * 100 / intent.getIntExtra("scale", -1);
|
return intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0) * 100 / intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -248,10 +248,14 @@ public class Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void exitDesktop(Activity context) {
|
public static void exitDesktop(Activity context) {
|
||||||
|
if ("HONOR".equalsIgnoreCase(Build.BRAND)) {
|
||||||
|
RemoteManager.getInstance().exitDesktop();
|
||||||
|
// RemoteManager.getInstance().setDefaultDesktop("com.hihonor.android.launcher");
|
||||||
|
} else {
|
||||||
if ("U807".equals(BuildConfig.platform) && ApkUtils.isAvailable(context, "com.uiuipad.os")) {
|
if ("U807".equals(BuildConfig.platform) && ApkUtils.isAvailable(context, "com.uiuipad.os")) {
|
||||||
RemoteManager.getInstance().setDefaultDesktop("com.uiuipad.os");
|
RemoteManager.getInstance().setDefaultDesktop("com.uiuipad.os");
|
||||||
} else {
|
} else {
|
||||||
RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
|
// RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {
|
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {
|
||||||
@@ -269,6 +273,7 @@ public class Utils {
|
|||||||
ApkUtils.gotoLauncher(context);
|
ApkUtils.gotoLauncher(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
context.finish();
|
context.finish();
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 139 KiB |
9
app/src/main/res/drawable/icon_selected.xml
Normal file
9
app/src/main/res/drawable/icon_selected.xml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="80dp"
|
||||||
|
android:height="80dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M512,12C235.9,12 12,235.9 12,512s223.9,500 500,500 500,-223.9 500,-500S788.1,12 512,12zM785.8,367.5 L455.7,697.7c-1.1,1.6 -1.8,3.4 -3.2,4.8 -6.6,6.6 -15.2,9.6 -23.8,9.4 -8.6,0.2 -17.3,-2.8 -23.8,-9.4 -1.4,-1.4 -2.1,-3.2 -3.2,-4.8l-163.5,-163.5c-12.7,-12.7 -12.7,-33.3 0,-46 12.7,-12.7 33.3,-12.7 46,0l144.5,144.5 311.1,-311.1c12.7,-12.7 33.3,-12.7 46,0C798.5,334.2 798.5,354.8 785.8,367.5z"
|
||||||
|
android:fillColor="#0362ff" />
|
||||||
|
</vector>
|
||||||
9
app/src/main/res/drawable/icon_unselect.xml
Normal file
9
app/src/main/res/drawable/icon_unselect.xml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="80dp"
|
||||||
|
android:height="80dp"
|
||||||
|
android:viewportWidth="1024"
|
||||||
|
android:viewportHeight="1024">
|
||||||
|
<path
|
||||||
|
android:pathData="M512,12C235.9,12 12,235.9 12,512s223.9,500 500,500 500,-223.9 500,-500S788.1,12 512,12zM785.8,367.5 L455.7,697.7c-1.1,1.6 -1.8,3.4 -3.2,4.8 -6.6,6.6 -15.2,9.6 -23.8,9.4 -8.6,0.2 -17.3,-2.8 -23.8,-9.4 -1.4,-1.4 -2.1,-3.2 -3.2,-4.8l-163.5,-163.5c-12.7,-12.7 -12.7,-33.3 0,-46 12.7,-12.7 33.3,-12.7 46,0l144.5,144.5 311.1,-311.1c12.7,-12.7 33.3,-12.7 46,0C798.5,334.2 798.5,354.8 785.8,367.5z"
|
||||||
|
android:fillColor="#B4CBF3" />
|
||||||
|
</vector>
|
||||||
@@ -45,7 +45,9 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_64"
|
android:layout_height="@dimen/dp_64"
|
||||||
android:layout_margin="@dimen/dp_8"
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
|
android:layout_marginTop="@dimen/dp_8"
|
||||||
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
android:background="@drawable/permission_card_background">
|
android:background="@drawable/permission_card_background">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
@@ -55,6 +57,7 @@
|
|||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:src="@drawable/icon_permissions_storage"
|
android:src="@drawable/icon_permissions_storage"
|
||||||
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -62,6 +65,7 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
android:layout_marginEnd="@dimen/dp_8"
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/tv_auth0"
|
app:layout_constraintEnd_toStartOf="@+id/tv_auth0"
|
||||||
@@ -114,7 +118,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_64"
|
android:layout_height="@dimen/dp_64"
|
||||||
android:layout_margin="@dimen/dp_8"
|
android:layout_margin="@dimen/dp_8"
|
||||||
android:background="@drawable/permission_card_background">
|
android:background="@drawable/permission_card_background"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_icon_1"
|
android:id="@+id/iv_icon_1"
|
||||||
@@ -181,7 +186,9 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_64"
|
android:layout_height="@dimen/dp_64"
|
||||||
android:layout_margin="@dimen/dp_8"
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
|
android:layout_marginTop="@dimen/dp_8"
|
||||||
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
android:background="@drawable/permission_card_background">
|
android:background="@drawable/permission_card_background">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
@@ -191,6 +198,7 @@
|
|||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:src="@drawable/icon_permissions_system"
|
android:src="@drawable/icon_permissions_system"
|
||||||
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -198,6 +206,7 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
android:layout_marginEnd="@dimen/dp_8"
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/tv_auth2"
|
app:layout_constraintEnd_toStartOf="@+id/tv_auth2"
|
||||||
@@ -250,7 +259,8 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_64"
|
android:layout_height="@dimen/dp_64"
|
||||||
android:layout_margin="@dimen/dp_8"
|
android:layout_margin="@dimen/dp_8"
|
||||||
android:background="@drawable/permission_card_background">
|
android:background="@drawable/permission_card_background"
|
||||||
|
android:visibility="gone">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/iv_icon_3"
|
android:id="@+id/iv_icon_3"
|
||||||
@@ -317,7 +327,9 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_64"
|
android:layout_height="@dimen/dp_64"
|
||||||
android:layout_margin="@dimen/dp_8"
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
|
android:layout_marginTop="@dimen/dp_8"
|
||||||
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
android:background="@drawable/permission_card_background">
|
android:background="@drawable/permission_card_background">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
@@ -327,6 +339,7 @@
|
|||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:src="@drawable/icon_permissions_location"
|
android:src="@drawable/icon_permissions_location"
|
||||||
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -334,6 +347,7 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
android:layout_marginEnd="@dimen/dp_8"
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/tv_auth4"
|
app:layout_constraintEnd_toStartOf="@+id/tv_auth4"
|
||||||
@@ -385,7 +399,9 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/dp_64"
|
android:layout_height="@dimen/dp_64"
|
||||||
android:layout_margin="@dimen/dp_8"
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
|
android:layout_marginTop="@dimen/dp_8"
|
||||||
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
android:background="@drawable/permission_card_background">
|
android:background="@drawable/permission_card_background">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
@@ -395,6 +411,7 @@
|
|||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:src="@drawable/icon_permissions_location"
|
android:src="@drawable/icon_permissions_location"
|
||||||
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -402,6 +419,7 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
android:layout_marginEnd="@dimen/dp_8"
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toStartOf="@+id/tv_auth5"
|
app:layout_constraintEnd_toStartOf="@+id/tv_auth5"
|
||||||
@@ -450,6 +468,78 @@
|
|||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/dp_64"
|
||||||
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
|
android:layout_marginTop="@dimen/dp_8"
|
||||||
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
|
android:background="@drawable/permission_card_background">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/iv_icon_6"
|
||||||
|
android:layout_width="@dimen/dp_48"
|
||||||
|
android:layout_height="@dimen/dp_48"
|
||||||
|
android:adjustViewBounds="true"
|
||||||
|
android:scaleType="centerCrop"
|
||||||
|
android:src="@drawable/icon_permissions_location"
|
||||||
|
android:visibility="gone"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/tv_auth6"
|
||||||
|
app:layout_constraintStart_toEndOf="@+id/iv_icon_6"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_name6"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:text="通知权限"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="@dimen/sp_14"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_directions6"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/dp_4"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:text="查看设备位置"
|
||||||
|
android:textColor="@color/contact_text_color"
|
||||||
|
android:textSize="@dimen/sp_12"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/tv_name6" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_auth6"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
|
android:background="@drawable/permission_auth_selector"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:onClick="@{click::open_notification}"
|
||||||
|
android:text="去授权"
|
||||||
|
android:textColor="@drawable/tv_permission"
|
||||||
|
android:textSize="@dimen/sp_13"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context=".activity.ServiceActivity">
|
tools:context=".activity.service.ServiceActivity">
|
||||||
|
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
@@ -13,8 +13,9 @@
|
|||||||
android:layout_height="wrap_content">
|
android:layout_height="wrap_content">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:layout_width="@dimen/dp_320"
|
android:id="@+id/iv_qrcode"
|
||||||
android:layout_height="@dimen/dp_200"
|
android:layout_width="@dimen/dp_200"
|
||||||
|
android:layout_height="@dimen/dp_314"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:src="@drawable/wechat_service"
|
android:src="@drawable/wechat_service"
|
||||||
@@ -32,6 +32,7 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent">
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
android:id="@+id/imageView25"
|
||||||
android:layout_width="@dimen/dp_24"
|
android:layout_width="@dimen/dp_24"
|
||||||
android:layout_height="@dimen/dp_24"
|
android:layout_height="@dimen/dp_24"
|
||||||
android:layout_marginStart="@dimen/dp_8"
|
android:layout_marginStart="@dimen/dp_8"
|
||||||
@@ -57,6 +58,23 @@
|
|||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
android:id="@+id/tv_version"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginEnd="@dimen/dp_16"
|
||||||
|
android:gravity="center"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:singleLine="true"
|
||||||
|
android:text="版本"
|
||||||
|
android:onClick="@{click::checkUpdate}"
|
||||||
|
android:textColor="@color/title_gray"
|
||||||
|
android:textSize="@dimen/sp_9"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toStartOf="@+id/textView"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/textView"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="@dimen/dp_8"
|
android:layout_marginEnd="@dimen/dp_8"
|
||||||
@@ -66,6 +84,7 @@
|
|||||||
android:text="检查更新"
|
android:text="检查更新"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="@dimen/sp_10"
|
android:textSize="@dimen/sp_10"
|
||||||
|
android:visibility="gone"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent" />
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
@@ -135,8 +154,8 @@
|
|||||||
android:layout_marginTop="@dimen/dp_8"
|
android:layout_marginTop="@dimen/dp_8"
|
||||||
android:layout_marginBottom="@dimen/dp_8"
|
android:layout_marginBottom="@dimen/dp_8"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:maxLines="1"
|
|
||||||
android:maxLength="8"
|
android:maxLength="8"
|
||||||
|
android:maxLines="1"
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:text="@{TextUtils.isEmpty(userAvatarInfo.sn_name)?@string/default_nickname:userAvatarInfo.sn_name}"
|
android:text="@{TextUtils.isEmpty(userAvatarInfo.sn_name)?@string/default_nickname:userAvatarInfo.sn_name}"
|
||||||
android:textColor="@color/black"
|
android:textColor="@color/black"
|
||||||
@@ -151,7 +170,7 @@
|
|||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="0dp"
|
android:layout_height="0dp"
|
||||||
app:layout_constraintBottom_toTopOf="@+id/tv_version"
|
app:layout_constraintBottom_toTopOf="@+id/tv_permission"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/cl_avatar">
|
app:layout_constraintTop_toBottomOf="@+id/cl_avatar">
|
||||||
|
|
||||||
<RadioGroup
|
<RadioGroup
|
||||||
@@ -211,17 +230,20 @@
|
|||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_version"
|
android:id="@+id/tv_permission"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginBottom="@dimen/dp_12"
|
android:layout_marginBottom="@dimen/dp_8"
|
||||||
android:gravity="center"
|
android:background="@drawable/bt_checkupdate_bg"
|
||||||
android:maxLines="1"
|
android:maxLines="1"
|
||||||
android:singleLine="true"
|
android:onClick="@{click::checkPermission}"
|
||||||
android:text="版本"
|
android:text="权限设置"
|
||||||
android:textColor="@color/title_gray"
|
android:textColor="@color/white"
|
||||||
android:textSize="@dimen/sp_8"
|
android:textSize="@dimen/sp_10"
|
||||||
app:layout_constraintBottom_toBottomOf="parent" />
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
|||||||
88
app/src/main/res/layout/dialog_permissions.xml
Normal file
88
app/src/main/res/layout/dialog_permissions.xml
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
<?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">
|
||||||
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
android:layout_width="300dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="@drawable/background_add"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_title"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="16dp"
|
||||||
|
android:text="权限申请说明"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="20sp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
|
|
||||||
|
<ScrollView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="16dp"
|
||||||
|
android:layout_marginTop="32dp"
|
||||||
|
android:layout_marginEnd="16dp"
|
||||||
|
android:layout_marginBottom="32dp"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/linearLayout5"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/tv_title">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_content"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:gravity="center"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="18sp"
|
||||||
|
tools:text="内容文本" />
|
||||||
|
</ScrollView>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/linearLayout5"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginBottom="16dp"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_cancel"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="拒绝"
|
||||||
|
android:textColor="@color/black"
|
||||||
|
android:textSize="19sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/tv_content" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_confirm"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:gravity="center"
|
||||||
|
android:text="同意"
|
||||||
|
android:textColor="@color/default_blue"
|
||||||
|
android:textSize="19sp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="@+id/tv_content"
|
||||||
|
app:layout_constraintTop_toBottomOf="@+id/tv_content" />
|
||||||
|
</LinearLayout>
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
@@ -33,11 +33,13 @@
|
|||||||
android:id="@+id/iv_select"
|
android:id="@+id/iv_select"
|
||||||
android:layout_width="@dimen/dp_12"
|
android:layout_width="@dimen/dp_12"
|
||||||
android:layout_height="@dimen/dp_12"
|
android:layout_height="@dimen/dp_12"
|
||||||
|
android:layout_marginStart="@dimen/dp_26"
|
||||||
|
android:layout_marginTop="@dimen/dp_26"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:scaleType="centerCrop"
|
android:scaleType="centerCrop"
|
||||||
android:src="@drawable/icon_unselect"
|
android:src="@drawable/icon_unselect"
|
||||||
app:layout_constraintBottom_toBottomOf="@+id/iv_icon"
|
app:layout_constraintStart_toStartOf="@+id/iv_icon"
|
||||||
app:layout_constraintEnd_toEndOf="@+id/iv_icon" />
|
app:layout_constraintTop_toTopOf="@+id/iv_icon" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_appname"
|
android:id="@+id/tv_appname"
|
||||||
|
|||||||
Reference in New Issue
Block a user