version:2.0.8
bugfixes: update:更滑图标,增加获取系统设置
This commit is contained in:
@@ -16,8 +16,8 @@ android {
|
||||
minSdkVersion 24
|
||||
targetSdkVersion 29
|
||||
|
||||
versionCode 94
|
||||
versionName "2.0.3"
|
||||
versionCode 99
|
||||
versionName "2.0.8"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="landscape" />
|
||||
<activity
|
||||
android:name=".activity.ServiceActivity"
|
||||
android:name=".activity.service.ServiceActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="landscape"
|
||||
android:theme="@style/DialogCloseOnTouchOutside" />
|
||||
|
||||
@@ -13,16 +13,26 @@ interface IGetInfoInterface {
|
||||
|
||||
//获取sn
|
||||
String getSerial();
|
||||
//获取定位结果
|
||||
String getMapResult();
|
||||
//获取mac作为sn
|
||||
String getPushMac();
|
||||
//是否激活
|
||||
boolean SnIsActivation();
|
||||
//设置为默认桌面
|
||||
//获取激活码
|
||||
String getActivationCode();
|
||||
//设置为默认桌面
|
||||
void setDefaultLauncher(String pkg);
|
||||
//退出桌面
|
||||
void exitDesktop();
|
||||
//能否退出桌面
|
||||
boolean isReturnAndroid();
|
||||
//模拟返回键
|
||||
void keyBack();
|
||||
//获取定位结果
|
||||
String getMapResult();
|
||||
//获取应用使用时长
|
||||
String getAppUsedStatistics();
|
||||
//使用第三方应用
|
||||
boolean showThirdApp();
|
||||
//获取应用市场app
|
||||
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.animation.Animation;
|
||||
import android.view.animation.TranslateAnimation;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.lifecycle.Observer;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
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.base.mvvm.BaseMvvmActivity;
|
||||
import com.uiui.zyos.bean.AppUpdateInfo;
|
||||
import com.uiui.zyos.bean.SystemSettings;
|
||||
import com.uiui.zyos.config.CommonConfig;
|
||||
import com.uiui.zyos.databinding.ActivityMainBinding;
|
||||
import com.uiui.zyos.dialog.PermissionsDialog;
|
||||
import com.uiui.zyos.dialog.PrivacyPolicyDialog;
|
||||
import com.uiui.zyos.fragment.subject.SubjectFragment;
|
||||
import com.uiui.zyos.fragment.user.UserFragment;
|
||||
@@ -73,6 +77,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
@Override
|
||||
public void onRemoteConnected() {
|
||||
Log.e(TAG, "onConnected: ");
|
||||
mViewModel.getSystemSettings();
|
||||
setDefaultDesktop();
|
||||
}
|
||||
|
||||
@@ -93,7 +98,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
public void 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", "设备守护"));
|
||||
|
||||
// OpenApkUtils.getInstance().openWordLecture();
|
||||
@@ -229,6 +234,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
public void initData() {
|
||||
registmNewAppReceiver();
|
||||
registmUpdateAddressReceiver();
|
||||
registVoiceAssistantReceiver();
|
||||
// mViewModel.mAppUpdateInfoData.observe(this, new Observer<AppUpdateInfo>() {
|
||||
// @Override
|
||||
// public void onChanged(AppUpdateInfo appUpdateInfo) {
|
||||
@@ -249,6 +255,14 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
// });
|
||||
// mViewModel.checkUpdate();
|
||||
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() {
|
||||
@@ -266,11 +280,11 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
}
|
||||
|
||||
private void setDefaultDesktop() {
|
||||
int is_activation = Settings.Global.getInt(getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
||||
if (is_activation == 0) {
|
||||
RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
|
||||
} else {
|
||||
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
|
||||
if (is_activation) {
|
||||
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()) {
|
||||
Log.e(TAG, "onResume: all permission granted");
|
||||
} else {
|
||||
startActivity(new Intent(MainActivity.this, PermissionActivity.class));
|
||||
// startActivity(new Intent(MainActivity.this, PermissionActivity.class));
|
||||
getPermissions();
|
||||
}
|
||||
}
|
||||
setDefaultDesktop();
|
||||
@@ -391,6 +406,9 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
if (mUpdateAddressReceiver != null) {
|
||||
unregisterReceiver(mUpdateAddressReceiver);
|
||||
}
|
||||
if (mVoiceAssistantReceiver != null) {
|
||||
unregisterReceiver(mVoiceAssistantReceiver);
|
||||
}
|
||||
|
||||
RemoteManager.removeListener(this);
|
||||
}
|
||||
@@ -423,6 +441,60 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
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() {
|
||||
return XXPermissions.isGranted(this, PermissionActivity.PERMISSION_CHECK);
|
||||
}
|
||||
@@ -566,7 +638,8 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
if (checkPermission()) {
|
||||
Log.e(TAG, "onConfirm: all permission granted");
|
||||
} 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 void openRobot(View view) {
|
||||
@@ -700,7 +795,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
|
||||
public void open2(View view) {
|
||||
// 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) {
|
||||
@@ -749,8 +844,8 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
|
||||
intent.setPackage("com.uiui.zy");
|
||||
sendBroadcast(intent);
|
||||
|
||||
int is_activation = Settings.Global.getInt(getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
||||
if (is_activation == 1) {
|
||||
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
|
||||
if (is_activation) {
|
||||
startActivity(new Intent(MainActivity.this, ExitActivity.class));
|
||||
} else {
|
||||
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.BaseResponse;
|
||||
import com.uiui.zyos.bean.SnInfo;
|
||||
import com.uiui.zyos.bean.SystemSettings;
|
||||
import com.uiui.zyos.config.CommonConfig;
|
||||
import com.uiui.zyos.databinding.ActivityMainBinding;
|
||||
import com.uiui.zyos.manager.RemoteManager;
|
||||
@@ -85,10 +86,41 @@ public class MainViewModel extends BaseViewModel<ActivityMainBinding, ActivityEv
|
||||
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 void checkUpdate() {
|
||||
|
||||
@@ -32,9 +32,9 @@ public class PermissionActivity extends BaseMvvmActivity<PermissionViewModel, Ac
|
||||
|
||||
public static final String[] PERMISSION_CHECK = new String[]{
|
||||
Permission.WRITE_EXTERNAL_STORAGE,
|
||||
Permission.READ_PHONE_STATE,
|
||||
// Permission.WRITE_SETTINGS,
|
||||
Permission.ACCESS_COARSE_LOCATION,
|
||||
// Permission.READ_PHONE_STATE,
|
||||
Permission.WRITE_SETTINGS,
|
||||
// Permission.ACCESS_COARSE_LOCATION,
|
||||
Permission.ACCESS_FINE_LOCATION,
|
||||
// Permission.ACCESS_BACKGROUND_LOCATION,
|
||||
};
|
||||
@@ -87,9 +87,9 @@ public class PermissionActivity extends BaseMvvmActivity<PermissionViewModel, Ac
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
if (XXPermissions.isGranted(this, PermissionActivity.PERMISSION_CHECK)) {
|
||||
finish();
|
||||
}
|
||||
// if (XXPermissions.isGranted(this, PermissionActivity.PERMISSION_CHECK)) {
|
||||
// finish();
|
||||
// }
|
||||
if (XXPermissions.isGranted(this, Permission.WRITE_EXTERNAL_STORAGE)) {
|
||||
mViewDataBinding.tvAuth0.setText("已授权");
|
||||
mViewDataBinding.tvAuth0.setEnabled(false);
|
||||
@@ -126,7 +126,12 @@ public class PermissionActivity extends BaseMvvmActivity<PermissionViewModel, Ac
|
||||
} else {
|
||||
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) {
|
||||
@@ -189,5 +194,8 @@ public class PermissionActivity extends BaseMvvmActivity<PermissionViewModel, Ac
|
||||
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.R;
|
||||
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.base.mvvm.BaseMvvmActivity;
|
||||
import com.uiui.zyos.bean.AppUpdateInfo;
|
||||
@@ -274,5 +275,9 @@ public class UserActivity extends BaseMvvmActivity<UserViewModel, ActivityUserBi
|
||||
public void selectPic(View v) {
|
||||
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.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -20,17 +18,15 @@ import com.hjq.toast.Toaster;
|
||||
import com.uiui.zyos.R;
|
||||
import com.uiui.zyos.activity.ManualActivity;
|
||||
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.config.CommonConfig;
|
||||
import com.uiui.zyos.manager.AppManager;
|
||||
import com.uiui.zyos.manager.RemoteManager;
|
||||
import com.uiui.zyos.utils.ApkUtils;
|
||||
import com.uiui.zyos.utils.AppUsedTimeUtils;
|
||||
import com.uiui.zyos.utils.BitmapUtils;
|
||||
import com.uiui.zyos.utils.IconUtils;
|
||||
import com.uiui.zyos.utils.OpenApkUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
|
||||
@@ -107,8 +103,8 @@ public class AppAdapter extends RecyclerView.Adapter<AppAdapter.AppHolder> {
|
||||
OpenApkUtils.getInstance().openARHuiben();
|
||||
break;
|
||||
default:
|
||||
int settingOtherAppInstaller = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
|
||||
if (settingOtherAppInstaller == 0 && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
|
||||
boolean settingOtherAppInstaller = RemoteManager.getInstance().showThirdApp();
|
||||
if (!settingOtherAppInstaller && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
|
||||
Toaster.show("已禁止应用打开");
|
||||
} else {
|
||||
OpenApkUtils.getInstance().openApp(desktopIcon.getPackageName(), desktopIcon.getClassName());
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.uiui.zyos.adapter;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
@@ -19,10 +18,10 @@ import com.hjq.toast.Toaster;
|
||||
import com.uiui.zyos.R;
|
||||
import com.uiui.zyos.activity.ManualActivity;
|
||||
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.config.CommonConfig;
|
||||
import com.uiui.zyos.manager.AppManager;
|
||||
import com.uiui.zyos.manager.RemoteManager;
|
||||
import com.uiui.zyos.utils.ApkUtils;
|
||||
import com.uiui.zyos.utils.BitmapUtils;
|
||||
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());
|
||||
break;
|
||||
default:
|
||||
int settingOtherAppInstaller = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.SETTING_OTHER_APPINSTALLER_KEY, 1);
|
||||
if (settingOtherAppInstaller == 0 && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
|
||||
boolean settingOtherAppInstaller = RemoteManager.getInstance().showThirdApp();
|
||||
if (!settingOtherAppInstaller && !ApkUtils.isSystemApp(mContext, desktopIcon.getPackageName())) {
|
||||
Toaster.show("已禁止应用打开");
|
||||
} else {
|
||||
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.JsonParser;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
public class SystemSettings implements Serializable {
|
||||
|
||||
@@ -37,7 +38,7 @@ public class SystemSettings implements Serializable {
|
||||
int qch_restore;
|
||||
int setting_browserInput;
|
||||
int dev_mode;
|
||||
List<Contact> setting_sos;
|
||||
String setting_sos;
|
||||
String setting_volume;
|
||||
String setting_luminance;
|
||||
String setting_typeface;
|
||||
@@ -55,11 +56,21 @@ public class SystemSettings implements Serializable {
|
||||
int setting_location;
|
||||
int setting_charge;
|
||||
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_shopping;
|
||||
int is_info;
|
||||
|
||||
int is_bluetooth_share;
|
||||
int is_developer_mode;
|
||||
int is_device_recover;
|
||||
int is_top_notify;
|
||||
int is_bottom_bar;
|
||||
int is_notify_bar_show;
|
||||
int voice_assistant;
|
||||
|
||||
public int getQch_restore() {
|
||||
return qch_restore;
|
||||
@@ -262,11 +273,11 @@ public class SystemSettings implements Serializable {
|
||||
this.setting_hotspot = setting_hotspot;
|
||||
}
|
||||
|
||||
public List<Contact> getSetting_sos() {
|
||||
public String getSetting_sos() {
|
||||
return setting_sos;
|
||||
}
|
||||
|
||||
public void setSetting_sos(List<Contact> setting_sos) {
|
||||
public void setSetting_sos(String setting_sos) {
|
||||
this.setting_sos = setting_sos;
|
||||
}
|
||||
|
||||
@@ -398,30 +409,119 @@ public class SystemSettings implements Serializable {
|
||||
this.setting_other_appInstaller = setting_other_appInstaller;
|
||||
}
|
||||
|
||||
public int getIs_health() {
|
||||
return is_health;
|
||||
public int getIs_quickapp() {
|
||||
return is_quickapp;
|
||||
}
|
||||
|
||||
public void setIs_health(int is_health) {
|
||||
this.is_health = is_health;
|
||||
public void setIs_quickapp(int is_quickapp) {
|
||||
this.is_quickapp = is_quickapp;
|
||||
}
|
||||
|
||||
public int getIs_shopping() {
|
||||
return is_shopping;
|
||||
public String getQuickapp() {
|
||||
return quickapp;
|
||||
}
|
||||
|
||||
public void setIs_shopping(int is_shopping) {
|
||||
this.is_shopping = is_shopping;
|
||||
public void setQuickapp(String quickapp) {
|
||||
this.quickapp = quickapp;
|
||||
}
|
||||
|
||||
public int getIs_info() {
|
||||
return is_info;
|
||||
public int getIs_storeinstall() {
|
||||
return is_storeinstall;
|
||||
}
|
||||
|
||||
public void setIs_info(int is_info) {
|
||||
this.is_info = is_info;
|
||||
public void setIs_storeinstall(int is_storeinstall) {
|
||||
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
|
||||
public String 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";
|
||||
/*是否激活*/
|
||||
@Deprecated
|
||||
public static final String UIUI_ACTIVATION_KEY = "iflytek_uiui_activation";
|
||||
/*激活码类型*/
|
||||
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;
|
||||
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
import androidx.lifecycle.MutableLiveData;
|
||||
|
||||
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.setPackageName(AppManager.APPSTORE_PACKAGE_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);
|
||||
|
||||
DesktopIcon updateDesktopIcon = new DesktopIcon();
|
||||
|
||||
@@ -45,13 +45,11 @@ import com.uiui.zyos.bean.StudyStatBean;
|
||||
import com.uiui.zyos.config.CommonConfig;
|
||||
import com.uiui.zyos.databinding.FragmentUserBinding;
|
||||
import com.uiui.zyos.jxw.JxwPackageConfig;
|
||||
import com.uiui.zyos.manager.RemoteManager;
|
||||
import com.uiui.zyos.utils.ApkUtils;
|
||||
import com.uiui.zyos.utils.OpenApkUtils;
|
||||
import com.uiui.zyos.utils.ScreenUtils;
|
||||
import com.uiui.zyos.utils.TimeUtils;
|
||||
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.VerticalDecorationWithoutFirst;
|
||||
|
||||
@@ -323,24 +321,24 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
||||
}
|
||||
|
||||
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);
|
||||
if (is_activation != 1) {
|
||||
// tvExit.setVisibility(View.VISIBLE);
|
||||
if (is_activation) {
|
||||
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.clStudyTime.setVisibility(View.GONE);
|
||||
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.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_LOVE_ENCOURAGEMENT = "RefreshLoveEncouragement";
|
||||
public static final String ACTION_REFRESH_HOMEWORK_REMINDERS = "RefreshHomeworkReminders";
|
||||
|
||||
private void registerRefreshReceiver() {
|
||||
if (mRefreshReceiver == null) {
|
||||
mRefreshReceiver = new RefreshReceiver();
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(ACTION_REFRESH_BINDING_STATUS);
|
||||
filter.addAction(ACTION_REFRESH_LOVE_ENCOURAGEMENT);
|
||||
filter.addAction(ACTION_REFRESH_HOMEWORK_REMINDERS);
|
||||
mContext.registerReceiver(mRefreshReceiver, filter);
|
||||
}
|
||||
}
|
||||
@@ -457,9 +459,18 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String action = intent.getAction();
|
||||
Log.e("RefreshReceiver", "onReceive: " + action);
|
||||
if (ACTION_REFRESH_BINDING_STATUS.equals(action)) {
|
||||
mViewModel.getSnInfo();
|
||||
setButtonVisibility();
|
||||
switch (action) {
|
||||
case ACTION_REFRESH_BINDING_STATUS:
|
||||
mViewModel.getSnInfo();
|
||||
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();
|
||||
IntentFilter filter = new IntentFilter();
|
||||
filter.addAction(NETWORK_STATE_CHANGE);
|
||||
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
|
||||
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
|
||||
filter.addAction(WifiManager.RSSI_CHANGED_ACTION);
|
||||
mContext.registerReceiver(mWiFiStatuReceiver, filter);
|
||||
@@ -625,9 +637,9 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
||||
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);
|
||||
@@ -646,8 +658,8 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
||||
intent.setPackage("com.uiui.zy");
|
||||
mContext.sendBroadcast(intent);
|
||||
|
||||
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
||||
if (is_activation == 1) {
|
||||
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
|
||||
if (is_activation) {
|
||||
startActivity(new Intent(mContext, ExitActivity.class));
|
||||
} else {
|
||||
Utils.exitDesktop(mContext);
|
||||
@@ -655,7 +667,7 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
||||
}
|
||||
|
||||
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) {
|
||||
@@ -678,7 +690,7 @@ public class UserFragment extends BaseMvvmFragment<UserViewModel, FragmentUserBi
|
||||
mViewModel.getHomework();
|
||||
}
|
||||
|
||||
public void toWifi(View view){
|
||||
public void toWifi(View view) {
|
||||
mContext.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
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.databinding.FragmentDeviceBinding;
|
||||
import com.uiui.zyos.manager.RemoteManager;
|
||||
|
||||
@@ -51,7 +51,7 @@ public class ParentsFragment extends BaseMvvmFragment<ParentsViewModel, Fragment
|
||||
|
||||
public class BtnClick {
|
||||
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();
|
||||
Type type = new TypeToken<MapBean>() {
|
||||
}.getType();
|
||||
mMapBean = gson.fromJson(jsonString, type);
|
||||
try {
|
||||
mMapBean = gson.fromJson(jsonString, type);
|
||||
} catch (Exception e) {
|
||||
Log.e(TAG, "initAmap: ");
|
||||
mMMKV.remove(CommonConfig.MAP_LOCATION_JSON_KEY);
|
||||
}
|
||||
} else {
|
||||
Log.e(TAG, "initAmap: jsonString is empty");
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.tencent.bugly.crashreport.CrashReport;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.uiui.zy.IGetInfoInterface;
|
||||
import com.uiui.zyos.config.CommonConfig;
|
||||
import com.uiui.zyos.utils.ActivationUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
@@ -72,6 +73,14 @@ public class RemoteManager {
|
||||
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());
|
||||
aliyunPushInit();
|
||||
}
|
||||
@@ -207,17 +216,21 @@ public class RemoteManager {
|
||||
}
|
||||
|
||||
public boolean getSnIsActivation() {
|
||||
try {
|
||||
return mGetInfoInterface.SnIsActivation();
|
||||
} catch (RemoteException e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "getSnIsActivation: " + e.getMessage());
|
||||
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
||||
return is_activation == 1;
|
||||
if (mGetInfoInterface != null) {
|
||||
try {
|
||||
return mGetInfoInterface.SnIsActivation();
|
||||
} catch (RemoteException e) {
|
||||
e.printStackTrace();
|
||||
Log.e(TAG, "getSnIsActivation: " + e.getMessage());
|
||||
return false;
|
||||
}
|
||||
}
|
||||
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
||||
return is_activation == 1;
|
||||
}
|
||||
|
||||
public void setDefaultDesktop(String pkg) {
|
||||
Log.e(TAG, "setDefaultDesktop: " + pkg);
|
||||
if (mGetInfoInterface != null) {
|
||||
try {
|
||||
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() {
|
||||
if (mGetInfoInterface != null) {
|
||||
try {
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.uiui.zyos.bean.LessonSetting;
|
||||
import com.uiui.zyos.bean.PhraseContent;
|
||||
import com.uiui.zyos.bean.SnInfo;
|
||||
import com.uiui.zyos.bean.StudyStatBean;
|
||||
import com.uiui.zyos.bean.SystemSettings;
|
||||
import com.uiui.zyos.bean.UserAvatarInfo;
|
||||
import com.uiui.zyos.config.CommonConfig;
|
||||
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.RunNewApp;
|
||||
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.UpdateAddressApi;
|
||||
import com.uiui.zyos.network.api.UpdateAlarmClockApi;
|
||||
@@ -362,7 +364,12 @@ public class NetInterfaceManager {
|
||||
.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_APP = "Control/getCloudLessonApp";
|
||||
|
||||
/*获取系统设置*/
|
||||
public final static String GET_SETTINGS = "control/getSetting";
|
||||
|
||||
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 com.uiui.zyos.disklrucache.CacheHelper;
|
||||
import com.uiui.zyos.fragment.user.UserFragment;
|
||||
import com.uiui.zyos.network.NetInterfaceManager;
|
||||
import com.hjq.toast.Toaster;
|
||||
|
||||
@@ -47,22 +48,46 @@ public class PushManager {
|
||||
private static final String JIGUANG_ALARM_CLOCK = "57";
|
||||
/*网课模式*/
|
||||
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) {
|
||||
switch (title) {
|
||||
case JIGUANG_ALARM_CLOCK:
|
||||
Toaster.debugShow("收到推送消息: 设置闹钟");
|
||||
NetInterfaceManager.getInstance().getAlarmClock();
|
||||
Intent intent = new Intent(SET_ALARMCLOCK);
|
||||
mContext.sendBroadcast(intent);
|
||||
sendAlarmClock(extras);
|
||||
break;
|
||||
case ONLINE_COURSE_MODE:
|
||||
Toaster.debugShow("收到推送消息: 网课模式");
|
||||
NetInterfaceManager.getInstance().getCloudLessonSettings();
|
||||
break;
|
||||
case HOMEWORK_REMINDERS:
|
||||
sendHomework(extras);
|
||||
break;
|
||||
case LOVE_ENCOURAGEMENT:
|
||||
Toaster.debugShow("收到推送消息: 爱的鼓励");
|
||||
sendEncouragement(extras);
|
||||
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.google.gson.JsonObject;
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.uiui.zyos.BuildConfig;
|
||||
import com.uiui.zyos.R;
|
||||
import com.uiui.zyos.activity.main.MainActivity;
|
||||
import com.uiui.zyos.config.CommonConfig;
|
||||
import com.uiui.zyos.manager.RemoteManager;
|
||||
import com.uiui.zyos.utils.ActivationUtil;
|
||||
import com.uiui.zyos.utils.ServiceAliveUtils;
|
||||
@@ -59,6 +61,8 @@ import io.reactivex.rxjava3.functions.Consumer;
|
||||
public class SocketService extends Service implements NetworkUtils.OnNetworkStatusChangedListener {
|
||||
private static final String TAG = "JWebSocketClientService";
|
||||
|
||||
private MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
|
||||
public JWebSocketClient mJWebSocketClient;
|
||||
// private SocketServiceBinder mBinder = new SocketServiceBinder();
|
||||
|
||||
@@ -112,6 +116,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat
|
||||
Log.e(TAG, "onCreate: ");
|
||||
NetworkUtils.registerNetworkStatusChangedListener(this);
|
||||
registerScreenLockReceiver();
|
||||
registerJxwRegisterRefreshReceiver();
|
||||
|
||||
if (ActivationUtil.isActivation()) {
|
||||
//初始化websocket
|
||||
@@ -120,6 +125,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat
|
||||
} else {
|
||||
Log.e(TAG, "onCreate: 未激活不连接");
|
||||
}
|
||||
|
||||
// boolean isServiceRunning = ServiceAliveUtils.isServiceAlive(this, MainService.class.getName());
|
||||
// Log.e(TAG, "onCreate: isServiceRunning = " + isServiceRunning);
|
||||
// if (!isServiceRunning) {
|
||||
@@ -148,6 +154,9 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat
|
||||
if (mScreenLockReceiver != null) {
|
||||
unregisterReceiver(mScreenLockReceiver);
|
||||
}
|
||||
if (mJxwRegisterReceiver != null) {
|
||||
unregisterReceiver(mJxwRegisterReceiver);
|
||||
}
|
||||
// unbindService(mServiceConnection);
|
||||
}
|
||||
|
||||
@@ -223,6 +232,7 @@ public class SocketService extends Service implements NetworkUtils.OnNetworkStat
|
||||
switch (action) {
|
||||
case Intent.ACTION_BOOT_COMPLETED:
|
||||
case Intent.ACTION_USER_PRESENT:
|
||||
|
||||
case Intent.ACTION_SCREEN_ON:
|
||||
sendMsgScreen();
|
||||
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 void dispose() {
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
package com.uiui.zyos.utils;
|
||||
|
||||
import android.provider.Settings;
|
||||
|
||||
import com.tencent.mmkv.MMKV;
|
||||
import com.uiui.zyos.base.BaseApplication;
|
||||
import com.uiui.zyos.config.CommonConfig;
|
||||
|
||||
@Deprecated
|
||||
public class ActivationUtil {
|
||||
|
||||
private static MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
|
||||
|
||||
/*写入1为激活*/
|
||||
private static final int ACTIVATED_KEY = 1;
|
||||
private static final int INACTIVATED_KEY = 0;
|
||||
public static final int ACTIVATED_KEY = 1;
|
||||
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
|
||||
*/
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -41,7 +43,7 @@ public class ActivationUtil {
|
||||
* @param 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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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
|
||||
*/
|
||||
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.setLable("我的设备");
|
||||
// infoIcon.setPackageName("com.uiui.zy");
|
||||
// infoIcon.setClassName("com.uiui.zy.activity.main.MainActivity");
|
||||
// infoIcon.setClassName("com.uiui.zy.activity.splash.SplashActivity");
|
||||
// infoIcon.setPosition(0);
|
||||
// desktopIcons.add(0, infoIcon);
|
||||
return desktopIcons;
|
||||
@@ -746,9 +746,11 @@ public class ApkUtils {
|
||||
Log.e(TAG, "getAppDrawable: ");
|
||||
}
|
||||
if (packageInfo != null) {
|
||||
return packageInfo.applicationInfo.loadIcon(pm);
|
||||
Drawable drawable = packageInfo.applicationInfo.loadIcon(pm);
|
||||
return drawable;
|
||||
} 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)
|
||||
public void glideLoad(Activity activity, String url, ImageView imageView, int default_image) {
|
||||
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 {
|
||||
Log.i(TAG, "Picture loading failed,activity is Destroyed");
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.provider.Settings;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
@@ -18,6 +19,7 @@ import com.tencent.mmkv.MMKV;
|
||||
import com.uiui.zyos.bean.LessonJson;
|
||||
import com.uiui.zyos.config.CommonConfig;
|
||||
import com.uiui.zyos.jxw.JxwPackageConfig;
|
||||
import com.uiui.zyos.manager.RemoteManager;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.math.BigDecimal;
|
||||
@@ -64,12 +66,12 @@ public class OpenApkUtils {
|
||||
if (!ApkUtils.isAvailable(mContext, "com.uiui.zy")) {
|
||||
return true;
|
||||
}
|
||||
int is_activation = Settings.Global.getInt(mContext.getContentResolver(), CommonConfig.UIUI_ACTIVATION_KEY, 0);
|
||||
if (is_activation != 1) {
|
||||
ApkUtils.openPackage(mContext, "com.uiui.zy", "com.uiui.zy.activity.main.MainActivity");
|
||||
boolean is_activation = RemoteManager.getInstance().getSnIsActivation();
|
||||
if (!is_activation) {
|
||||
OpenApkUtils.getInstance().openZySn();
|
||||
Toaster.show("请激活设备后使用");
|
||||
}
|
||||
return is_activation == 1;
|
||||
return is_activation;
|
||||
}
|
||||
|
||||
public boolean openPackageWithArgs(String packageName, String className, String name, String args) {
|
||||
@@ -607,4 +609,30 @@ public class OpenApkUtils {
|
||||
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
|
||||
*/
|
||||
synchronized public static int getBatteryLevel(Context mContext) {
|
||||
if (Build.VERSION.SDK_INT >= 21) {
|
||||
return ((BatteryManager) mContext.getSystemService(Context.BATTERY_SERVICE)).getIntProperty(4);
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
||||
return ((BatteryManager) mContext.getSystemService(Context.BATTERY_SERVICE)).getIntProperty(BatteryManager.BATTERY_PROPERTY_CAPACITY);
|
||||
} else {
|
||||
Intent intent = (new ContextWrapper(mContext)).registerReceiver(null, new IntentFilter("android.intent.action.BATTERY_CHANGED"));
|
||||
return intent.getIntExtra("level", -1) * 100 / intent.getIntExtra("scale", -1);
|
||||
Intent intent = (new ContextWrapper(mContext)).registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
|
||||
return intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0) * 100 / intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -248,26 +248,31 @@ public class Utils {
|
||||
}
|
||||
|
||||
public static void exitDesktop(Activity context) {
|
||||
if ("U807".equals(BuildConfig.platform) && ApkUtils.isAvailable(context, "com.uiuipad.os")) {
|
||||
RemoteManager.getInstance().setDefaultDesktop("com.uiuipad.os");
|
||||
if ("HONOR".equalsIgnoreCase(Build.BRAND)) {
|
||||
RemoteManager.getInstance().exitDesktop();
|
||||
// RemoteManager.getInstance().setDefaultDesktop("com.hihonor.android.launcher");
|
||||
} else {
|
||||
RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {
|
||||
if ("U807".equals(BuildConfig.platform) && ApkUtils.isAvailable(context, "com.uiuipad.os")) {
|
||||
if (!ApkUtils.openPackage(context, "com.uiuipad.os", "com.uiuipad.os.Launcher")) {
|
||||
ApkUtils.gotoLauncher(context);
|
||||
RemoteManager.getInstance().setDefaultDesktop("com.uiuipad.os");
|
||||
} else {
|
||||
// RemoteManager.getInstance().setDefaultDesktop(ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME);
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.Q) {
|
||||
if ("U807".equals(BuildConfig.platform) && ApkUtils.isAvailable(context, "com.uiuipad.os")) {
|
||||
if (!ApkUtils.openPackage(context, "com.uiuipad.os", "com.uiuipad.os.Launcher")) {
|
||||
ApkUtils.gotoLauncher(context);
|
||||
}
|
||||
} else {
|
||||
if (!ApkUtils.openPackage(context, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME, ApkUtils.ANDROID_LAUNCHER3_Quickstep_CLASS_NAME)) {
|
||||
ApkUtils.gotoLauncher(context);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!ApkUtils.openPackage(context, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME, ApkUtils.ANDROID_LAUNCHER3_Quickstep_CLASS_NAME)) {
|
||||
if (!ApkUtils.openPackage(context, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME, ApkUtils.ANDROID_LAUNCHER3_CLASS_NAME)) {
|
||||
ApkUtils.gotoLauncher(context);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!ApkUtils.openPackage(context, ApkUtils.ANDROID_LAUNCHER3_PACKAGE_NAME, ApkUtils.ANDROID_LAUNCHER3_CLASS_NAME)) {
|
||||
ApkUtils.gotoLauncher(context);
|
||||
}
|
||||
}
|
||||
context.finish();
|
||||
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
|
||||
android:layout_width="match_parent"
|
||||
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">
|
||||
|
||||
<ImageView
|
||||
@@ -55,6 +57,7 @@
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/icon_permissions_storage"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -62,6 +65,7 @@
|
||||
<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_auth0"
|
||||
@@ -114,7 +118,8 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_64"
|
||||
android:layout_margin="@dimen/dp_8"
|
||||
android:background="@drawable/permission_card_background">
|
||||
android:background="@drawable/permission_card_background"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_icon_1"
|
||||
@@ -181,7 +186,9 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
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">
|
||||
|
||||
<ImageView
|
||||
@@ -191,6 +198,7 @@
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/icon_permissions_system"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -198,6 +206,7 @@
|
||||
<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_auth2"
|
||||
@@ -250,7 +259,8 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/dp_64"
|
||||
android:layout_margin="@dimen/dp_8"
|
||||
android:background="@drawable/permission_card_background">
|
||||
android:background="@drawable/permission_card_background"
|
||||
android:visibility="gone">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_icon_3"
|
||||
@@ -317,7 +327,9 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
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">
|
||||
|
||||
<ImageView
|
||||
@@ -327,6 +339,7 @@
|
||||
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" />
|
||||
@@ -334,6 +347,7 @@
|
||||
<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_auth4"
|
||||
@@ -385,7 +399,9 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
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">
|
||||
|
||||
<ImageView
|
||||
@@ -395,6 +411,7 @@
|
||||
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" />
|
||||
@@ -402,6 +419,7 @@
|
||||
<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_auth5"
|
||||
@@ -450,6 +468,78 @@
|
||||
|
||||
</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>
|
||||
|
||||
</ScrollView>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<layout 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"
|
||||
tools:context=".activity.ServiceActivity">
|
||||
tools:context=".activity.service.ServiceActivity">
|
||||
|
||||
<data>
|
||||
|
||||
@@ -13,8 +13,9 @@
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="@dimen/dp_320"
|
||||
android:layout_height="@dimen/dp_200"
|
||||
android:id="@+id/iv_qrcode"
|
||||
android:layout_width="@dimen/dp_200"
|
||||
android:layout_height="@dimen/dp_314"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/wechat_service"
|
||||
@@ -32,6 +32,7 @@
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView25"
|
||||
android:layout_width="@dimen/dp_24"
|
||||
android:layout_height="@dimen/dp_24"
|
||||
android:layout_marginStart="@dimen/dp_8"
|
||||
@@ -57,6 +58,23 @@
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<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_height="wrap_content"
|
||||
android:layout_marginEnd="@dimen/dp_8"
|
||||
@@ -66,6 +84,7 @@
|
||||
android:text="检查更新"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_10"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -135,8 +154,8 @@
|
||||
android:layout_marginTop="@dimen/dp_8"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:maxLength="8"
|
||||
android:maxLines="1"
|
||||
android:singleLine="true"
|
||||
android:text="@{TextUtils.isEmpty(userAvatarInfo.sn_name)?@string/default_nickname:userAvatarInfo.sn_name}"
|
||||
android:textColor="@color/black"
|
||||
@@ -151,7 +170,7 @@
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
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">
|
||||
|
||||
<RadioGroup
|
||||
@@ -211,17 +230,20 @@
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_version"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/tv_permission"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/dp_12"
|
||||
android:gravity="center"
|
||||
android:layout_marginBottom="@dimen/dp_8"
|
||||
android:background="@drawable/bt_checkupdate_bg"
|
||||
android:maxLines="1"
|
||||
android:singleLine="true"
|
||||
android:text="版本"
|
||||
android:textColor="@color/title_gray"
|
||||
android:textSize="@dimen/sp_8"
|
||||
app:layout_constraintBottom_toBottomOf="parent" />
|
||||
android:onClick="@{click::checkPermission}"
|
||||
android:text="权限设置"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/sp_10"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
|
||||
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:layout_width="@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:scaleType="centerCrop"
|
||||
android:src="@drawable/icon_unselect"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/iv_icon"
|
||||
app:layout_constraintEnd_toEndOf="@+id/iv_icon" />
|
||||
app:layout_constraintStart_toStartOf="@+id/iv_icon"
|
||||
app:layout_constraintTop_toTopOf="@+id/iv_icon" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_appname"
|
||||
|
||||
Reference in New Issue
Block a user